Python client for the ESA Sen4CAP project
Project description
ESA Sen4CAP Client
Python client for the processing service of the ESA Sen4CAP project
Note, this project and its documentation is still in an early development stage.
Installation
Using pip
The sen4cap-client package is not yet deployed on PyPI, therefore
installing it as a package using pip is not yet available.
Using conda/mamba
The sen4cap-client package is not yet deployed on conda-forge, therefore
installing it using as a conda package using conda or mamba is not yet available.
Using pixi
The sen4cap-client package is not yet deployed on conda-forge, therefore
installing it as a conda package using pixi is not yet available.
Using GitHub
To install and use the sen4cap-client package from its sources on GitHub you'll
need to install both git and
pixi first. Then:
git clone https://github.com/eo-tools/sen4cap-client.git
cd sen4cap-client
pixi install
pixi shell
The installed development environment includes also JupyterLab so the recommended
way to get started is to take a look at the notebooks in the notebooks folder.
cd notebooks
jupyter-lab
Getting started
After installing the sen4cap-client package in your Python environment
and activating it (conda/mamba: conda activate <your-env>, pixi: pixi shell)
make sure the sen4cap-client command-line tool is accessible: Type
sen4cap-client --help
to get an overview of the available commands and options. The first step is to configure the client, which will also serve as default configuration for the client's Python API and its GUI:
sen4cap-client configure
List the available processes of the Sen4CAP processing service:
sen4cap-client list-processes
Development
Install the sen4cap-client as described in Installation / Using GitHub
above.
Linting and Testing
To run all checks, execute
pixi run checks
To run all tests, execute
pixi run tests
To generate a coverage report, execute
pixi run coverage
Implementing Enhancements
The sen4cap-client code relies heavily on the
Eozilla packages
- cuiman, which provides the client implementation, and
- gavicore which provides common OGC model classes and basic utilities.
Should sen4cap-client require non-Sen4CAP-specific enhancements it
would likely be best to implement the required changes in the respective
Eozilla packages. For this, check out the Eozilla sources directly into
the project root:
git clone https://github.com/Sen4CAP/sen4cap-client.git
cd sen4cap-client
git clone https://github.com/eo-tools/eozilla.git
pixi install
pixi run tests
The resulting folder structure:
${projects}/
└── sen4cap-client/
├── ...
└── eozilla/
├── cuiman/
├── gavicore/
└── ...
Then, during development, change sen4cap-client/pyproject.toml as follows
-
Comment out the dependencies
cuimanandgavicorein the[project.dependencies]table. -
Uncomment the editable PyPI dependencies for
cuimanandgavicorein the[tool.pixi.pypi-dependencies]table.
Then run once more
pixi install
Integration tests
This is how to run a simple server integration test:
git clone https://github.com/Sen4CAP/sen4cap-client.git
cd sen4cap-client
git clone https://github.com/eo-tools/eozilla.git
pixi install
pixi shell
sen4cap-client configure
pytest -s scripts/integration_test.py
Running the client in a remote VM (Windows 11)
JupyterLab
On the remote VM start JupyterLab without opening a browser and listening on all interfaces:
cd sen4cap-client
pixi shell
jupyter lab --no-browser --ip=0.0.0.0 --port=8888
It will print something like http://127.0.0.1:8888/lab?token=1e751cd... - keep this running.
On your local desktop machine (e.g., Windows or WSL2) SSH into the VM with port forwarding:
ssh -L 8888:localhost:8888 user@remote-vm
Now open your local browser:
http://127.0.0.1:8888/lab?token=1e751cd20cd...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sen4cap_client-0.1.0.tar.gz.
File metadata
- Download URL: sen4cap_client-0.1.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55cf86cdc586bb81d0926217245316623cec5f0d776eb78bcbdf373078b5a62d
|
|
| MD5 |
430b2f958c9b52bbf097fb1c0841fd2d
|
|
| BLAKE2b-256 |
e4dd5b7bcb175802911c67ac847223e1fe7666d874bd4e445d39fec0f6284d7c
|
File details
Details for the file sen4cap_client-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sen4cap_client-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
058130203dc220cfa4bf3d072f7d3f3d8f4490166f50f1896ca166d747130777
|
|
| MD5 |
a03989257cea0cb6de8e97c5d2d18d98
|
|
| BLAKE2b-256 |
6d6d9f3e229a4880318bfa54dbe380280047680822b5997ea0cef8ecbbae0117
|