GeniePy requires a few prerequisites to be installed on your system before initializing a new project.
Please make sure that you have the
git SCM installed on your machine.
The installation instructions depend on the operating system you're using.
docker-compose for local development, which is a CLI-driven tool
that makes it easy to run applications involving multiple containers.
Consult the Docker and Docker Compose documentation for installation instructions for your operating system.
Python and Virtualenv
GeniePy is written in Python using the Starlette web framework.
Please make sure that you have a working Python installation on your machine. Any version higher than 3.7 should work.
Note that the main application runs inside a Docker container, which removes the need for your host machine to have a Python installation.
Regardless, we use a variety of pre-commit hooks for
gitto ensure that any code being checked in follows a specific style. These hooks rely on the pre-commit framework, which in turn requires a working Python installation.
Please also make sure that you are able to create virtual environments. As of
Python 3.3, the in-built
venv module can be used to do this:
$ python -m venv venv
While this should work, our general recommendation is to use pyenv to manage different Python versions and virtual environments.
We use the pre-commit framework to run lint commands every time you run
Any violations reported by any of the linting tools prevent the code from being committed to the codebase. These violations need to be fixed before code can be committed. Over time, this keeps the health of the codebase high.