Metadata-Version: 2.1
Name: dropland
Version: 0.9.1
Summary: Mini-framework for building a backend servers for web-services using SQLAlchemy, Databases, Redis, RabbitMQ and APScheduler
Home-page: https://gitlab.com/thegamma/dropland
License: MIT
Keywords: orm,databases,sqlalchemy,rabbitmq,apscheduler,fastapi
Author: Max Plutonium
Author-email: plutonium.max@gmail.com
Maintainer: Max Plutonium
Maintainer-email: plutonium.max@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: db
Provides-Extra: elasticsearch
Provides-Extra: fastapi
Provides-Extra: mysql
Provides-Extra: pg
Provides-Extra: redis
Provides-Extra: rmq
Provides-Extra: scheduler
Provides-Extra: sqla
Provides-Extra: sqlite
Requires-Dist: APScheduler (>=3.7.0); extra == "scheduler"
Requires-Dist: SQLAlchemy-Utils (>=0.37.2,<0.38.0)
Requires-Dist: SQLAlchemy[asyncio,mypy] (>=1.4,<2.0); extra == "sqla"
Requires-Dist: aio-pika (>=8.2.0); extra == "rmq"
Requires-Dist: aiomysql (>=0.0.21); extra == "mysql"
Requires-Dist: aioredis[hiredis] (<=1.3.1); extra == "redis"
Requires-Dist: aiosqlite (>=0.17.0,<0.18.0); extra == "sqlite"
Requires-Dist: alembic (>=1.8.0,<2.0.0); extra == "sqla" or extra == "db"
Requires-Dist: asyncpg (>=0.22.0,<0.23.0); extra == "pg"
Requires-Dist: contextvars (>=2.4,<3.0)
Requires-Dist: databases (>=0.6.1); extra == "db"
Requires-Dist: dependency-injector[pydantic] (>=4.40.0)
Requires-Dist: elasticsearch[async] (>=7.17.7,<8.0.0); extra == "elasticsearch"
Requires-Dist: fastapi[all] (>=0.85.0); extra == "fastapi"
Requires-Dist: orjson (>=3.8.1,<4.0.0)
Requires-Dist: poetry-version (>=0.2.0,<0.3.0)
Requires-Dist: psycopg2 (>=2.8.6,<3.0.0); extra == "pg"
Requires-Dist: pydantic[email,dotenv] (>=1.8.2,<2.0.0)
Requires-Dist: pymysql[rsa] (>=0.9,<=0.9.3); extra == "mysql"
Requires-Dist: pytz (>=2021.3,<2022.0)
Requires-Dist: redis (>=4.1.0); extra == "redis"
Requires-Dist: rpyc (>=5.1.0); extra == "scheduler"
Requires-Dist: timeparse-plus (>=1.2.0,<2.0.0)
Requires-Dist: tomlkit (<0.6.0)
Project-URL: Repository, https://gitlab.com/thegamma/dropland
Description-Content-Type: text/markdown

Dropland
========

Mini-framework for building a backend servers for web-services using SQLAlchemy, Databases, Redis, RabbitMQ and APScheduler


How to build
------------

- Create a Python virtual environment.

    ``pyenv local 3.9.0``

    ``pip install --upgrade pip``

    ``poetry env use $(pyenv which python)``

    ``pip install poetry``


- Install the project

    ``poetry install --no-root --extras "extras"``


Where extras may be in: `sqla`, `db`, `redis`, `rmq`, `sqlite`, `pg`, `mysql`, `scheduler`, `fastapi`, `test`


- Start the docker environment for development

    ``docker-compose up -d``


- Run tests

    ``poetry run pytest``


- Stop the docker environment

    ``docker-compose down``


- Uninstall the project

    ``pip uninstall dropland -y``

