Community contributions

Contributions are welcome to the visions package! Please insure all contributions abide by the guidelines outlined below.

When you build a tool, you do not know how it is going to be used. You try to improve the tool by looking how it is being used, and how people cut their fingers and stop that from happening.

—Bjarne Stroustrup

Installing dependencies

To get access to the development tools, you should have all dependencies installed.

pip install visions[dev,test,plotting]

Testing

Test visions with pytest:

make test

Which is equivalent to

pytest --mypy --black tests/

Linting

visions uses the black code style, isort for sorting imports and pyupgrade for updating python syntax.

make lint

Which is equivalent to:

pre-commit run --all-files

Documentation

Software should provide adequate documentation for beginning and advanced users. When you contribute, please check if your contribution requires some additional documentation. Documentation is written in ReStructuredText (.rst). You can find the source files in docsrc\source\visions\.

The documentation is automatically generated after each contribution by our Github Actions workflow.

If you like, you can manually generate the documentation by running:

make docs

This builds the docs using sphinx.

You can view the docs locally by going to the docs/ folder and starting a web server, e.g.:

cd docs/
python -m http.server

All together

A shorthand for all commands above is:

make all