Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 1.81 KB

CONTRIBUTING.md

File metadata and controls

80 lines (56 loc) · 1.81 KB

Contributing

Installation for development

Something does not work and you wish to fix it? Are you curious to see how it works? For development:

# First install Nek5000
git clone https://github.com/snek5000/Nek5000.git
export NEK_SOURCE_ROOT=$PWD/Nek5000

git clone https://github.com/snek5000/snek5000.git
cd snek5000

Now you should setup a Python environment. Here, we show how to do it with the package venv:

python -m venv venv
source venv/bin/activate

Finally, to install in development mode:

pip install pip-tools nox
nox -s sync
From the root directory of the project, one can then activate the dev
environment with:
```sh
source activate.sh
```

General guidelines

  • Editor: Use an editor which supports EditorConfig

  • Style guide: For Python code, black, isort and flake8 are used to check and lint. Installing pre-commit would enforce the style automatically as a Git hook.

    pre-commit install
  • Branching model: The development uses branches and pull-requests for experimental features. You may find the following Git branches when you clone snek5000:

    • main: main branch
    • fix/..., enh/...: feature branches
  • Testing: Run pytest from the top-level directory. The test-cases can be found under tests/ directory. To run the slow tests too execute pytest --runslow.

  • Debugging: Set the environment variable:

    export SNEK_DEBUG=true

    to activate debugging logs and longer tests.

See also our .

Vim

Vim users could benefit by setting:

set secure exrc

This sources the .exrc file which comes along with the repository and enables syntax highlighting for file extensions used in Nek5000.