├── .github └── workflows │ └── tests.yml ├── .gitignore ├── .readthedocs.yaml ├── CHANGES.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── docs ├── Makefile ├── _static │ └── css │ │ └── custom.css ├── api.rst ├── conf.py ├── howdoi.rst ├── index.rst ├── intro.rst ├── make.bat ├── requirements.txt └── usage.rst ├── examples ├── aio-users │ ├── README.md │ └── users.py ├── dataclass │ ├── README.md │ └── users.py ├── fastapi-multi-db │ ├── README.md │ └── app.py ├── fastapi-single-db │ ├── README.md │ └── app.py ├── flask-multi-db │ ├── README.md │ └── app.py ├── flask-single-db │ ├── README.md │ └── app.py ├── flaskr │ ├── .flaskenv │ ├── LICENSE │ ├── README.md │ ├── flaskr │ │ ├── __init__.py │ │ ├── auth.py │ │ ├── blog.py │ │ ├── models.py │ │ ├── static │ │ │ └── style.css │ │ └── templates │ │ │ ├── auth │ │ │ ├── login.html │ │ │ └── register.html │ │ │ ├── base.html │ │ │ └── blog │ │ │ ├── create.html │ │ │ ├── index.html │ │ │ └── update.html │ ├── requirements.txt │ └── tests │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_auth.py │ │ ├── test_blog.py │ │ └── test_init.py ├── multi-db │ ├── README.md │ └── users_and_groups.py └── users │ ├── README.md │ └── users.py ├── pyproject.toml ├── src └── alchemical │ ├── __init__.py │ ├── aio.py │ ├── alembic │ ├── __init__.py │ ├── cli.py │ ├── env.py │ └── templates │ │ └── generic │ │ ├── README │ │ ├── alembic.ini.mako │ │ ├── env.py │ │ └── script.py.mako │ ├── core.py │ └── flask.py ├── tests ├── aioapp1.py ├── aioapp2.py ├── app1.py ├── app2.py ├── test_aio.py ├── test_alembic.py ├── test_core.py └── test_flask.py └── tox.ini /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/.gitignore -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/CHANGES.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/README.md -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_static/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/_static/css/custom.css -------------------------------------------------------------------------------- /docs/api.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/api.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/howdoi.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/howdoi.rst -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/intro.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/intro.rst -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | # packages required to build the documentation 2 | flask 3 | -------------------------------------------------------------------------------- /docs/usage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/docs/usage.rst -------------------------------------------------------------------------------- /examples/aio-users/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/aio-users/README.md -------------------------------------------------------------------------------- /examples/aio-users/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/aio-users/users.py -------------------------------------------------------------------------------- /examples/dataclass/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/dataclass/README.md -------------------------------------------------------------------------------- /examples/dataclass/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/dataclass/users.py -------------------------------------------------------------------------------- /examples/fastapi-multi-db/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/fastapi-multi-db/README.md -------------------------------------------------------------------------------- /examples/fastapi-multi-db/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/fastapi-multi-db/app.py -------------------------------------------------------------------------------- /examples/fastapi-single-db/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/fastapi-single-db/README.md -------------------------------------------------------------------------------- /examples/fastapi-single-db/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/fastapi-single-db/app.py -------------------------------------------------------------------------------- /examples/flask-multi-db/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flask-multi-db/README.md -------------------------------------------------------------------------------- /examples/flask-multi-db/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flask-multi-db/app.py -------------------------------------------------------------------------------- /examples/flask-single-db/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flask-single-db/README.md -------------------------------------------------------------------------------- /examples/flask-single-db/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flask-single-db/app.py -------------------------------------------------------------------------------- /examples/flaskr/.flaskenv: -------------------------------------------------------------------------------- 1 | FLASK_APP=flaskr:create_app() 2 | -------------------------------------------------------------------------------- /examples/flaskr/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/LICENSE -------------------------------------------------------------------------------- /examples/flaskr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/README.md -------------------------------------------------------------------------------- /examples/flaskr/flaskr/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/__init__.py -------------------------------------------------------------------------------- /examples/flaskr/flaskr/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/auth.py -------------------------------------------------------------------------------- /examples/flaskr/flaskr/blog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/blog.py -------------------------------------------------------------------------------- /examples/flaskr/flaskr/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/models.py -------------------------------------------------------------------------------- /examples/flaskr/flaskr/static/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/static/style.css -------------------------------------------------------------------------------- /examples/flaskr/flaskr/templates/auth/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/templates/auth/login.html -------------------------------------------------------------------------------- /examples/flaskr/flaskr/templates/auth/register.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/templates/auth/register.html -------------------------------------------------------------------------------- /examples/flaskr/flaskr/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/templates/base.html -------------------------------------------------------------------------------- /examples/flaskr/flaskr/templates/blog/create.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/templates/blog/create.html -------------------------------------------------------------------------------- /examples/flaskr/flaskr/templates/blog/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/templates/blog/index.html -------------------------------------------------------------------------------- /examples/flaskr/flaskr/templates/blog/update.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/flaskr/templates/blog/update.html -------------------------------------------------------------------------------- /examples/flaskr/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/requirements.txt -------------------------------------------------------------------------------- /examples/flaskr/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/flaskr/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/tests/conftest.py -------------------------------------------------------------------------------- /examples/flaskr/tests/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/tests/test_auth.py -------------------------------------------------------------------------------- /examples/flaskr/tests/test_blog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/tests/test_blog.py -------------------------------------------------------------------------------- /examples/flaskr/tests/test_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/flaskr/tests/test_init.py -------------------------------------------------------------------------------- /examples/multi-db/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/multi-db/README.md -------------------------------------------------------------------------------- /examples/multi-db/users_and_groups.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/multi-db/users_and_groups.py -------------------------------------------------------------------------------- /examples/users/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/users/README.md -------------------------------------------------------------------------------- /examples/users/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/examples/users/users.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/alchemical/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/__init__.py -------------------------------------------------------------------------------- /src/alchemical/aio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/aio.py -------------------------------------------------------------------------------- /src/alchemical/alembic/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/alchemical/alembic/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/alembic/cli.py -------------------------------------------------------------------------------- /src/alchemical/alembic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/alembic/env.py -------------------------------------------------------------------------------- /src/alchemical/alembic/templates/generic/README: -------------------------------------------------------------------------------- 1 | Alembic configuration for Alchemical 2 | -------------------------------------------------------------------------------- /src/alchemical/alembic/templates/generic/alembic.ini.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/alembic/templates/generic/alembic.ini.mako -------------------------------------------------------------------------------- /src/alchemical/alembic/templates/generic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/alembic/templates/generic/env.py -------------------------------------------------------------------------------- /src/alchemical/alembic/templates/generic/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/alembic/templates/generic/script.py.mako -------------------------------------------------------------------------------- /src/alchemical/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/core.py -------------------------------------------------------------------------------- /src/alchemical/flask.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/src/alchemical/flask.py -------------------------------------------------------------------------------- /tests/aioapp1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/aioapp1.py -------------------------------------------------------------------------------- /tests/aioapp2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/aioapp2.py -------------------------------------------------------------------------------- /tests/app1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/app1.py -------------------------------------------------------------------------------- /tests/app2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/app2.py -------------------------------------------------------------------------------- /tests/test_aio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/test_aio.py -------------------------------------------------------------------------------- /tests/test_alembic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/test_alembic.py -------------------------------------------------------------------------------- /tests/test_core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/test_core.py -------------------------------------------------------------------------------- /tests/test_flask.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tests/test_flask.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/alchemical/HEAD/tox.ini --------------------------------------------------------------------------------