Development

Atlas Hub is developed using python and a few helpful tools:

Primary Tools

  • Pyenv <https://github.com/pyenv/pyenv>_ for managing python environments
  • uv <https://docs.astral.sh/uv/>_ for managing dependencies
  • Precommit <https://pre-commit.com>_ for reformating code before committing
  • Tox <https://tox.readthedocs.io/en/latest/index.html>_ running tests, verifying code

Precommit Setup

To setup precommit hooks:

precommit install

Testing

Tests can be run with tox:

tox

Running Pytests

With uv:

export FLASK_APP=em_web; export FLASK_ENV=test; uv run python -m pytest --disable-warnings

With tox:

tox -e test,cov

# or

uv run tox -e test,cov