Setup Developer’s environment#

First create your own fork of huracanpy from the github page. “Create new fork” from the dropdown. Then clone your repository

git clone https://github.com/{your-username}/huracanpy.git

Navigate to the directory of the cloned repository

cd huracanpy

Create and activate a new environment

conda create -n huracanpy-testing python=3.13
conda activate huracanpy-testing
Alternatively, create environment with venv
python -m venv .venv
source .venv/bin/activate

Install your copy locally

python -m pip install -e ".[dev,docs]"

The “[dev]” argument installs the following optional packages that are useful for contributing to development

  1. pytest

    We use pytest to run automated tests. If you add a new feature, it would be good to also add tests to check that feature is working and keeps working in the future. You can also run pytest from the top level directory of the package to check that your changes haven’t broken anything.

  2. ruff

    We use ruff to automatically keep the style of the code consistent, so we don’t have to worry about it.

    To check that your code passes you can run ruff check and ruff format --check.

    To automatically fix differences run ruff check --fix and ruff format.

  3. pre-commit

    You can use pre-commit to automate the formatting done by ruff.

    After running pre-commit install at the top level directory, any future git commits will automatically run the ruff formatting on any files you have changes.

The “[docs]” argument installs extra dependencies needed to build the documentation locally. If you are adding or modifying functions it will probably be useful to also update the documentation (documentation).