Metadata-Version: 2.4
Name: square_database
Version: 3.3.1
Summary: database layer for my personal server.
Home-page: https://github.com/thepmsquare/square_database
Author: Parth Mukesh Mangtani
Author-email: thepmsquare@gmail.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Database
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Framework :: FastAPI
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: sqlalchemy>=2.0.23
Requires-Dist: uvicorn>=0.24.0.post1
Requires-Dist: fastapi>=0.104.1
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: websockets>=12.0
Requires-Dist: httpx>=0.26.0
Requires-Dist: square_logger>=3.0.0
Requires-Dist: square_commons>=2.1.0
Requires-Dist: pydantic>=2.9.2
Provides-Extra: all
Requires-Dist: square_database_structure>=2.5.9; extra == "all"
Requires-Dist: pytest>=8.0.0; extra == "all"
Requires-Dist: pytest-cov>=6.2.1; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=6.2.1; extra == "dev"
Provides-Extra: square
Requires-Dist: square_database_structure>=2.6.0; extra == "square"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

# square_database

> 📌 versioning: see [CHANGELOG.md](./CHANGELOG.md).

## about

a database layer for my personal server. this service exposes database operations as a fastapi application, powered by
pluggable orm models (by default from square_database_structure, but you can swap in your own).

## goals

- centralized database api
- pluggable orm models
- simple crud operations
- stored procedure support
- realtime via websockets

## installation

```shell
pip install square_database[all]
```

## usage

### configuration

update the settings in `config.ini` and `config.testing.ini` to match your environment (database url, logging, etc).

### models

this service requires orm models from a pluggable module. the default is [
`square_database_structure`](https://github.com/thepmsquare/square_database_structure), but you can provide your own
module if needed.

### running the service

```shell
python square_database/main.py
```

## env

- python>=3.12.0

> feedback is appreciated. thank you!
