First, thank you for considering to make a contribution to this project. Spending your valuable time helping make this project better is deeply appreciated. All kinds of contributions are helpful and welcome.

Whether you have an idea for a feature improvement or have found a troubling bug, thank you for being here.

Packaging & Distribution

This aiosql repository uses the python standard packaging tools. Read about them in more detail at the following links.

Development Setup

  1. Create a virtual environment

git clone
cd aiosql
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip

All subsequent steps will assume you are using python within your activated virtual environment.

  1. Install your environment to the dependencies defined in dev-requirements.txt

Note: different versions of Python may install different versions of dependencies. As aiosql is more or less expected to work with all these module versions, the bare minimum version pinning is done in the requirements file.

pip install -r dev-requirements.txt
  1. Run tests


Alternatively, there is a Makefile to automate some of the above tasks:

make  # install dev virtualenv
source venv/bin/activate
make check  # run all checks: pytest, black, flake8, coverage…

Also, there is a working poetry setup in pyproject.toml.

Dependency Management

There is no dependency for using aiosql.

For development you need to test with various databases and even more drivers, see above for generating a working python environment.