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 download, 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 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.