You can help¶
Please open issues and feature requests on Github. We respond quickly.
- Documentation. Tell us what’s missing, what’s incorrect or misleading.
- Tests. If you have an example that shows a bug or problem, please file an issue!
- Performance. If you are a C/cython/python hacker and see a way to make the code faster, let us know!
Direct contributions related to these items are welcome, too! If you want to contribute, please fork the project on Github, develop your change and then make a pull request. This allows us to review and discuss the change with you, which makes the integration very smooth.
To hack on iminuit, start by cloning the repository from Github:
$ git clone https://github.com/iminuit/iminuit.git $ cd iminuit
Hack away. It is a good idea to develop your feature in a separate branch, so that your master branch remains clean and can follow our master branch.
$ git checkout -b "my_cool_feature" # now you in a feature branch, commit your edits here
We recommend you make a dedicated environment for iminuit development, separate from the Python installation you use for other projects.
$ conda env create -f environment-dev.yml $ conda activate iminuit-dev
If you ever need to update the environment, you can use:
$ conda env update -f environment-dev.yml
It’s also easy to deactivate or delete it:
$ conda deactivate $ conda env remove -n iminuit-dev
Hacking on iminuit usually means that you edit the Python or Cython files, and then run a python setup.py or make command to build the software or HTML documentation, or to run tests.
The most thing to remember is that we have a Makefile and the you can run this command to get help printed concerning the most common available make and python setup.py commands:
$ make help
Build Minuit and iminuit in-place:
$ make build
Run the tests:
$ make test
Run the notebook tests:
$ make test-notebooks
Run the tests with coverage report:
$ make coverage $ open htmlcov/index.htm
Build the docs:
$ make doc $ open doc/_build/html/index.html
To check your iminuit version number and install location:
$ python >>> import iminuit >>> iminuit # install location is printed >>> iminuit.__version__ # version number is printed