Contributing ============ 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. - Report issues ``__ - Review or make your own pull requests ``__ - Write documentation ``__ 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. - `Python Packaging User Guide `__ - `PyPA - Packaging & Distributing projects\* `__ - `setuptools `__ - `build `__ - `twine `__ Development Setup ----------------- 1. Create a virtual environment .. code:: sh git clone git@github.com:nackjicholson/aiosql.git 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. .. code:: sh pip install -r dev-requirements.txt 1. Run tests .. code:: sh pytest Alternatively, there is a `Makefile` to automate some of the above tasks: .. code:: sh make venv.dev # 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.