Metadata-Version: 2.4
Name: saigon-py
Version: 0.12.8
Summary: Common components to build cloud backends
Project-URL: Source Code, https://github.com/abastidian/saigon
Project-URL: Documentation, https://saigon.readthedocs.io/en/latest/
Author: abastidian@gmail.com
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.13
Requires-Dist: httpx~=0.28.1
Requires-Dist: pydantic~=2.11.7
Requires-Dist: python-json-logger~=3.2.1
Requires-Dist: requests~=2.32.5
Provides-Extra: aws
Requires-Dist: aws-lambda-typing~=2.20.0; extra == 'aws'
Requires-Dist: boto3~=1.35.97; extra == 'aws'
Requires-Dist: mypy-boto3-cognito-identity~=1.35.93; extra == 'aws'
Requires-Dist: mypy-boto3-cognito-idp~=1.35.93; extra == 'aws'
Requires-Dist: mypy-boto3-s3~=1.35.93; extra == 'aws'
Requires-Dist: mypy-boto3-secretsmanager~=1.35.93; extra == 'aws'
Requires-Dist: mypy-boto3-sqs~=1.35.93; extra == 'aws'
Requires-Dist: mypy-boto3-ssm~=1.35.93; extra == 'aws'
Requires-Dist: pyjwt~=2.10.1; extra == 'aws'
Provides-Extra: backend
Requires-Dist: fastapi~=0.115.6; extra == 'backend'
Requires-Dist: sqlalchemy~=2.0.37; extra == 'backend'
Provides-Extra: dev
Requires-Dist: flake8~=7.1.1; extra == 'dev'
Requires-Dist: hatch==1.14.0; extra == 'dev'
Requires-Dist: httpx~=0.28.1; extra == 'dev'
Requires-Dist: prompt-toolkit~=3.0.51; extra == 'dev'
Requires-Dist: pytest-asyncio~=1.2.0; extra == 'dev'
Requires-Dist: pytest~=8.3.5; extra == 'dev'
Requires-Dist: python-dotenv~=1.0.1; extra == 'dev'
Requires-Dist: shellody~=0.14; extra == 'dev'
Requires-Dist: twine==6.1.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx-autodoc-typehints~=3.2.0; extra == 'docs'
Requires-Dist: sphinx-rtd-theme~=3.0.2; extra == 'docs'
Requires-Dist: sphinx~=8.2.3; extra == 'docs'
Provides-Extra: extras
Requires-Dist: paramiko~=3.5.1; extra == 'extras'
Provides-Extra: fastapi
Requires-Dist: fastapi~=0.115.6; extra == 'fastapi'
Provides-Extra: orm
Requires-Dist: sqlalchemy~=2.0.37; extra == 'orm'
Description-Content-Type: text/markdown

# Saigon

This repository contains common functionality to build cloud backends that is often necessary (
and repeated) in all projects.

Development for this repository follows the same process as the backend services. Please take a look
at the [development guide](./docs/dev_guide.md).

# Setup and build `saigon`

Code in this repo is a single Python package located in `src`. For both developing and creating
the installable package you will need first to create a virtual environment. You can do so under the 
parent directory:

```bash
$ python -m venv .venv
$ source .venv/bin/activate
```

Then proceed to install the development dependencies along with the package's:

```bash
(.venv) $ pip install ".[build]"
(.venv) $ hatch build
```

Note that the second command will also create the installable `saigon` package under `dist`.
You can re-run the second command as needed in order to regenerate the package bundle.