Skip to main content

A Python library and tools for the DaSCH Service Platform

Project description

PyPI version

DSP-TOOLS - DaSCH Service Platform Tools

dsp-tools is a command line tool that helps you interact with the DaSCH Service Platform API.

Go to Full Documentation

Information for developers

There is a Makefile for all the following tasks (and more). Type make to print the available targets.

Install from source

To install from source run:

python3 setup.py install

Install the requirements

To install the requirements run:

pip3 install -r requirements.txt

To generate a requirements file (usually requirements.txt), that you commit with your project, run:

pip3 freeze > requirements.txt

Testing

Please note that testing requires launching the complete DSP API stack which is based on docker images. Therefore, we recommend installing the docker desktop client.

To run the complete test suite:

make test

Code style

When contributing to the project please make sure you use the same code style rules as we do. We use autopep8 and mypy. The configuration is defined in pyproject.toml in the root directory of the project.

[tool.autopep8]
max_line_length = 180
experimental = true

[tool.mypy]
ignore_missing_imports = true
follow_imports = "silent"
show_column_numbers = true
strict = true

You can use the configuration with autopep8 --global-config pyproject.toml [file path] and mypy --config-file pyproject.toml [file path].

If you are using PyCharm we recommend installing autopep8 as external tool. You can then use it with right-click on the file > External Tools > autopep8 to reformat files in-place. Due to compatibility issues with VSCode, the argument --in-place=true can not be declared in the pyproject.toml and needs to be passed to the external tool in the PyCharm settings.
mypy is available as plugin.

In VSCode, both mypy and autopep8 can be set up as default linter and formatter through the python extension.

For formatting Markdown files (*.md) we use the default styling configuration provided by PyCharm.

Publishing

Publishing is automated with GitHub Actions and should not be done manually. Please follow the Pull Request Guidelines. If done correctly, when merging a pull request into main, the release-please action will create or update a pull request for a release. This pull request will follow semantic versioning and update the change log. Once all desired features are merged, the release can be executed by merging this release pull request into main. This will trigger actions that create a release on GitHub, on PyPI and the docs.

Please ensure you have only one pull request per feature.

Publishing manually

Publishing is automated with GitHub Actions and should not be done manually. If you still need to do it, follow the steps below.

Generate the distribution package. Make sure you have the latest versions of setuptools and wheel installed:

python3 -m pip install --upgrade pip setuptools wheel
python3 setup.py sdist bdist_wheel

You can install the package locally from the dist:

python3 -m pip ./dist/some_name.whl

Upload package works also with make:

make dist
make upload

For local development:

python3 setup.py develop

Contributing to the documentation

The documentation is a collection of markdown files in the docs folder.
After updates of the files, build and check the result with the following commands:

make docs-build
make docs-serve 

To update the changes to the official documentation pages run:

make docs-publish

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

dsp-tools-1.9.0.tar.gz (91.2 kB view details)

Uploaded Source

Built Distribution

dsp_tools-1.9.0-py3-none-any.whl (109.0 kB view details)

Uploaded Python 3

File details

Details for the file dsp-tools-1.9.0.tar.gz.

File metadata

  • Download URL: dsp-tools-1.9.0.tar.gz
  • Upload date:
  • Size: 91.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for dsp-tools-1.9.0.tar.gz
Algorithm Hash digest
SHA256 2f411bebb6dbba44bf69b27802d47c3c49a70df8638c33ec1e67693c1f263fad
MD5 d8c14a05ec62f06ca9fdad0f7c0afec5
BLAKE2b-256 b48d4ad64f5f78f3a3ae7b0530a75414d74a8ade23d99e33997fffdb0ce5fdd0

See more details on using hashes here.

File details

Details for the file dsp_tools-1.9.0-py3-none-any.whl.

File metadata

  • Download URL: dsp_tools-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 109.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for dsp_tools-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b51103205af307ecd8f32f2f897633666088f0f818a3e5d3d7c1c6cd5abdf21
MD5 5e20496ddf056bcf7bcf6dcb66b85bc2
BLAKE2b-256 2f14e733234dcba441845c79cae395ba2e585d6e3813e32415353fe7e9b71604

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page