Metadata-Version: 2.3
Name: square-database
Version: 3.3.4
Summary: database layer for my personal server.
Keywords: database,crud
Author: Parth Mukesh Mangtani
Author-email: Parth Mukesh Mangtani <thepmsquare@gmail.com>
License: GPLv3
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
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.1
Requires-Dist: square-commons>=2.1.0
Requires-Dist: pydantic>=2.9.2
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'
Requires-Dist: pytest>=8.0.0 ; extra == 'dev'
Requires-Dist: pytest-cov>=6.2.1 ; extra == 'dev'
Requires-Dist: square-database-structure>=2.6.0 ; extra == 'square'
Requires-Python: >=3.12
Project-URL: homepage, https://github.com/thepmsquare/square_database
Provides-Extra: all
Provides-Extra: dev
Provides-Extra: square
Description-Content-Type: text/markdown

# 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!
