Skip to content

Contributing to the project

Changelog

You can find the complete changelog here.

Reporting

If you have suggestions, ideas, feature requests, or if you have identified a malfunction or error, then please post an issue.

Contributions

The Sen4CAP project welcomes contributions of any form as long as you respect our code of conduct and follow our contribution guide.

If you'd like to submit code or documentation changes, we ask you to provide a pull request (PR) here. For code and configuration changes, your PR must be linked to a corresponding issue.

Development

Setup

Before you start, make sure you have pixi installed.

Checkout sources

git clone https://github.com/Sen4CAP/sen4cap-client.git
cd ./sen4cap-client

Create a new Python environment and activate it:

pixi install 
pixi shell

Testing the Sen4CAP-client

Run local test server

wraptile run -- wraptile.services.local.testing:service

The dev mode is useful if you are changing server code:

wraptile dev wraptile.services.local.testing:service

Run client API

from sen4cap_client import Client

client = Client()
client.get_processes()
client.get_jobs()

Run client GUI (in Jupyter notebooks)

from sen4cap_client.gui import Client

client = Client()
client.show()
client.show_jobs()

Run client CLI

$ sen4cap_client --help

Formatting & Linting

pixi run isort .
pixi run ruff format 
pixi run ruff check

Testing & Coverage

pixi run test
pixi run coverage

Documentation

The Sen4CAP-client's documentation is built using the mkdocs tool.

With repository root as current working directory:

mkdocs build
mkdocs serve
mkdocs gh-deploy

After changing the CLI code, always update its documentation docs/cli.md by running

pixi run gen-client

License

The Sen4CAP-client is open source made available under the terms and conditions of the Apache 2.0 license.