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.

Python and Virtualenv

GeniePy is written in Python using the Reflex web framework.

Please make sure that you have a working Python installation on your machine. Any version higher than 3.8 should work, but the most recent one is recommended.

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.


Poetry is a dependency management tool for applications written in Python.

GeniePy uses Poetry to manage all its dependencies. Please refer to Poetry's installation instructions to check how you can install Poetry on your system.

Pre-commit (optional)

We use the pre-commit framework to run lint commands every time you run git commit.

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.