.. _installing: Installation ============ Required dependencies --------------------- - Python (3.10 or later) - `numpy `__ (1.20 or later) - `aenum `__ (Python versions < 3.12) .. _optional-dependencies: Installation Instructions ------------------------- archeryutils is a pure python package. It can be installed using pip by executing:: pip install archeryutils Development Installation ------------------------ To install as a developer you should clone the repository from the online repo and install as an editable package:: git clone git@github.com:jatkinson1000/archeryutils.git cd archeryutils pip install -e .[dev] .. note:: If you are installing in zsh you will need to use quotes for the optional dependencies: .. code-block:: bash pip install -e '.[dev]' The `dev` optional dependencies combine the `test`, `lint`, and `docs` subgroups detailed below. Testing ~~~~~~~ The test suite for archeryutils makes use of `pytest `__. To run tests on a development installation run:: pytest ./ from within the base directory. Optional dependencies ~~~~~~~~~~~~~~~~~~~~~ archeryutils has a series of optional dependencies that can be installed: test ^^^^ For developing and running the test suite on the code:: pip install -e .[test] * pytest (7.2.0 or later) * syrupy lint ^^^^ For applying quality control to the code:: pip install -e .[lint] * ruff (0.13.3 or later) * mypy (1.16.0 or later) * coverage * pytest (7.2.0 or later) * syrupy * blackdoc docs ^^^^ For building documentation:: pip install -e .[docs] * sphinx * sphinx_rtd_theme * sphinx-toolbox * nbsphinx * myst-parser * blackdoc * ipython * pickleshare * ruff (0.13.3 or later) * blackdoc