Skip to main content

DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server.

Project description

DSP-TOOLS version on PyPI Supported Python versions License Ruff uv mypy

DSP-TOOLS Documentation

DSP-TOOLS is a Python package with a command line interface that helps you interact with a DSP server. A DSP server is a remote server or a local machine where the DSP-API is running on.

To install the latest version, run:

pip3 install dsp-tools

To update to the latest version run:

pip3 install --upgrade dsp-tools

!!! warning

If your Python version is older than ours,
pip will silently install an outdated version of DSP-TOOLS.

DSP-TOOLS requires one of these Python versions: 
[![](https://img.shields.io/pypi/pyversions/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)

The most recent version of DSP-TOOLS is 
[![](https://img.shields.io/pypi/v/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)

The two main tasks that DSP-TOOLS serves for are:

  • Create a project with its data model(s), described in a JSON file, on a DSP server
    In order to archive your data on the DaSCH Service Platform, you need a data model that describes your data. The data model is defined in a JSON project definition file which has to be transmitted to the DSP server. If the DSP server is aware of the data model for your project, conforming data can be uploaded into the DSP repository.
  • Upload data, described in an XML file, to a DSP server that has a project with a matching data model
    Sometimes, data is added in large quantities. Therefore, DSP-TOOLS allows you to perform bulk imports of your data. In order to do so, the data has to be described in an XML file. DSP-TOOLS is able to read the XML file and upload all data to the DSP server.

All functionalities of DSP-TOOLS revolve around these two basic tasks.

DSP-TOOLS provides the following functionalities:

  • dsp-tools create creates the project with its data model(s) on a DSP server from a JSON file.
  • dsp-tools get reads a project with its data model(s) from a DSP server and writes it into a JSON file.
  • dsp-tools validate-data validates an XML data file according to the ontology previously uploaded on the server.
  • dsp-tools xmlupload uploads data from an XML file (bulk data import) and writes the mapping from internal IDs to IRIs into a local file.
  • New workflow for xmlupload:
  • dsp-tools resume-xmlupload resumes a previously interrupted xmlupload or ingest-xmlupload.
  • dsp-tools excel2json creates an entire JSON project file from a folder with Excel files in it.
    • dsp-tools excel2lists creates the "lists" section of a JSON project file from one or several Excel files. The resulting section can be integrated into a JSON project file and then be uploaded to a DSP server with dsp-tools create.
    • dsp-tools excel2resources creates the "resources" section of a JSON project file from an Excel file. The resulting section can be integrated into a JSON project file and then be uploaded to a DSP server with dsp-tools create.
    • dsp-tools excel2properties creates the "properties" section of a JSON project file from an Excel file. The resulting section can be integrated into a JSON project file and then be uploaded to a DSP server with dsp-tools create.
  • dsp-tools new-excel2json does the same as the old excel2json command, but the Excel format for the lists section has been adapted.
  • dsp-tools excel2xml transforms a data source to XML if it is already structured according to the DSP specifications.
  • The module excel2xml provides helper methods that can be used in a Python script to convert data from a tabular format into XML. (DEPRECATED in favor of xmllib)
  • The xmllib library provides helper functions that can be used in a Python script to convert data from a tabular format into XML.
  • dsp-tools id2iri takes an XML file for bulk data import and replaces referenced internal IDs with IRIs. The mapping has to be provided with a JSON file.
  • dsp-tools start-stack / stop-stack assist you in running a DSP stack on your local machine.
  • dsp-tools template creates a template repository with a minimal JSON and XML file.
  • dsp-tools rosetta clones the most up to date rosetta repository, creates the data model and uploads the data.

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-10.6.0.post16.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsp_tools-10.6.0.post16-py3-none-any.whl (343.1 kB view details)

Uploaded Python 3

File details

Details for the file dsp_tools-10.6.0.post16.tar.gz.

File metadata

  • Download URL: dsp_tools-10.6.0.post16.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for dsp_tools-10.6.0.post16.tar.gz
Algorithm Hash digest
SHA256 919746c9b7c778a03ac8c4cccfc3cdb3c11d243139219d98af51632a91a0a629
MD5 b611e6e6cc2a0392c3c714768f5f66f0
BLAKE2b-256 9a1db88ac08a2dcee2b88c0e69a631e0a72a039bfb535d5d4d7d2f36ced461ac

See more details on using hashes here.

File details

Details for the file dsp_tools-10.6.0.post16-py3-none-any.whl.

File metadata

File hashes

Hashes for dsp_tools-10.6.0.post16-py3-none-any.whl
Algorithm Hash digest
SHA256 6791b4a12a88ebd70867dfb5c5216da63a2f0fee99b815a10a722055482e0425
MD5 08dfe8acae0cda60c93726237d5cdad6
BLAKE2b-256 9b64e0352de4416812fba76c87fbf6aacf2d891cb959d1664fe428c2df91bcba

See more details on using hashes here.

Supported by

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