Contents
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
- Psycopg2
- PyYAML
- PgDbConn
- 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 git://github.com/perseas/Pyrseas.git
or:
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 at least one version of Python. You can develop using Python 3, but since we will continue supporting Python 2 until its end-of-life, you'll want to install Python 2.7 in addition to Python 3.6 or 3.5.
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 10, 9.6, 9.5, 9.4 or 9.3. 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 adapter. You can either follow the instructions in Psycopg's site, or install it from your package management system. Note that if you install both Python 2 and 3, you will have to install two packages, e.g., python-psycopg2 and python3-psycopg2.
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.
The utilities also rely on PgDbConn, an offshoot of the Perseas project that provides a thin, object-oriented layer over Psycopg2. You can install it from PyPI.
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.