Skip to content

Latest commit

 

History

History
121 lines (75 loc) · 3.11 KB

CONTRIBUTING.md

File metadata and controls

121 lines (75 loc) · 3.11 KB

Contributor Guide

Thank you for your interest in improving this project.

This project is open-source under the MIT license and welcomes contributions in the form of bug reports, feature requests, and pull requests.

Here is a list of important resources for contributors:

How to report a bug

Report bugs on the Issue Tracker.

When filing an issue, make sure to answer these questions:

  • Which operating system and Python version are you using?
  • Which version of this project are you using?
  • What did you do?
  • What did you expect to see?
  • What did you see instead?

The best way to get your bug fixed is to provide a test case, and/or steps to reproduce the issue.

How to request a feature

Request features on the Issue Tracker.

How to set up your development environment

You need Python 3.8+ and the following tools:

Install the package with development requirements:

  $ poetry install

You can now run an interactive Python session, or the command-line interface:

  $ poetry run python
  $ poetry run fastflows

How to test the project

Most part of the tests are Integration & API tests. They uses several components, for example, like Prefect server. To make tests running you should up & run prefect cluster that will be used as Provider in FastFlows.

How to do that - read the documentation in 'docker/' path:

How to run Prefect cluster instructions

After that you can do things below:

Run the full test suite:

  $ nox

List the available Nox sessions:

$ nox --list-sessions

You can also run a specific Nox session. For example, invoke the unit test suite like this:

$ nox --session=tests

Unit tests are located in the tests directory, and are written using the pytest testing framework.

How to submit changes

Open a pull request to submit changes to this project.

Your pull request needs to meet the following guidelines for acceptance:

  • The Nox test suite must pass without errors and warnings.
  • Include unit tests. This project maintains 100% code coverage.
  • If your changes add functionality, update the documentation accordingly.

Feel free to submit early, though---we can always iterate on this.

To run linting and code formatting checks before committing your change, you can install pre-commit as a Git hook by running the following command:

  $ nox --session=pre-commit -- install

It is recommended to open an issue before starting work on anything. This will allow a chance to talk it over with the owners and validate your approach.