Development¶
The following details the tools needed to contribute to the development of Pyrseas. If you have any doubts or questions, please open an issue on GitHub (https://github.com/perseas/Pyrseas/issues). In addition, see Version Control below on how to set up a GitHub account to participate in development.
Requirements¶
- Git
- Python
- Postgres
- Psycopg3
- PyYAML
- Tox
Version Control¶
Pyrseas uses Git to control changes to its source code. As mentioned under Downloading, the master Git repository is located at GitHub.
To install Git, either download and install the latest stable release for your
platform or follow the Pro Git installation instructions. For
most Linux users, apt-get
or yum
(depending on Linux flavor)
will be the simplest means to install the git-core
package. For
Windows, downloading the installer and selecting Git Bash
gives
you not only Git but a Bash shell, which is handy if you’re coming
from a Linux/Unix background.
Once Git is installed, change to a suitable directory and clone the master repository:
git clone https://github.com/perseas/Pyrseas.git
To be able to create a fork on GitHub, open an issue or participate in Pyrseas development, you’ll first have to create a GitHub account.
Programming Language¶
To contribute to Pyrseas, you need a version of Python. You can develop using Python 3.7 or higher.
If Python is not already available on your machine, either download and install one or both of the production releases for your platform, follow the applicable installation instructions given in The Hitchhiker’s Guide to Python! or install it from your platform’s package management system.
Database Installation¶
To participate in Pyrseas development, you’ll also need one or more installations of Postgres, versions 13, 12, 11 or 10. If you only have limited space, it is preferable to install one of the latest two versions.
The versions can be obtained as binary packages or installers from the Postgres.org website. The site also includes instructions for installing from package management systems or building it from source.
To access Postgres from Python, you have to install the Psycopg version 3 adapter. You can either follow the instructions in Psycopg’s site, or install it from your package management system.
Other Libraries and Tools¶
The dbtoyaml
and yamltodb
utilities use the PyYAML library. You can install it from
the PyYAML site, or possibly from your package management system. For
Windows 64-bit, please read the note under Python Installer.
To easily run the Pyrseas tests against various Python/Postgres version combinations, you will need pytest and Tox. Please refer to Testing for more information.