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

Installing dsp-tools

To install the latest version, run:

pip3 install dsp-tools

To update to the latest version run:

pip3 install --upgrade dsp-tools

🚨 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:
The most recent version of DSP-TOOLS is

The dsp-tools package provides you with functionalities in the command line to interact with the DSP-API, both remote and locally. Additionally, it contains the xmllib which helps you construct the XML file required for a mass upload.

Where To Start?

dsp-tools provides you with the following core functionalities.

  • Running a Local Stack: If you want to run your own DSP stack locally, take a look here.
  • Data Modelling: There are several ways to create a data model with dsp-tools
    • Take a look at the technical specification for the JSON file.
    • Or take a look at our tool to convert Excel files into the JSON format.
    • You can create a data model on the DSP-APP. To re-use that data model on another server you can use the CLI command described here.
  • Data for Mass-Upload:
    • If you want to create the XML file required for a mass-upload onto DSP, take a look at the xmllib.
    • You can find an in-depth explanation of our XML file format here. Please note, that we recommend to use the xmllib library to create the file as we will ensure interoperability between the DSP-API requirements and your input.
    • If you want to validate and upload your XML file take a look here. Please note, that only DaSCH employees are permitted to upload data on a production server.

List of CLI Commands

The following CLI Commands are available, listed here in alphabetical order.

Command Description Documentation
create Create a project on a server from a JSON file
dsp-tools create project.json
excel2json Create the project definition JSON from Excel files
dsp-tools excel2json excelfolder project.json
excel2lists Create the list section of the project JSON
dsp-tools excel2lists excelfolder lists.json
excel2properties Create the properties section of the JSON
dsp-tools excel2properties properties.xlsx properties.json
excel2resources Create the resource section of the JSON
dsp-tools excel2resources resources.xlsx resources.json
get Retrieve a project definition JSON from a server
dsp-tools get -P 0XXX project.json
id2iri Replace internal IDs with IRIs in an XML file
dsp-tools id2iri new_data.xml id2iri_mapping.json
ingest-files Kick off the ingest process and save the mapping CSV
dsp-tools ingest-files 0XXX
ingest-xmlupload Create resources from XML after files are ingested
dsp-tools ingest-xmlupload data.xml
migration config Create a migration config YAML file
dsp-tools migration config -P 0XXX
migration complete Execute a complete migration
dsp-tools migration complete migration-0XXX.yaml
migration export Download project data from the source server
dsp-tools migration export migration-0XXX.yaml
migration import Import a downloaded export to another server
dsp-tools migration import migration-0XXX.yaml
migration clean-up Clean up local files and server references
dsp-tools migration clean-up migration-0XXX.yaml
old-excel2json Create project definition JSON using the old Excel format
dsp-tools old-excel2json excelfolder project.json
old-excel2lists Create the list section using the old Excel format
dsp-tools old-excel2lists excelfolder lists.json
resume-xmlupload Resume a previously interrupted xmlupload
dsp-tools resume-xmlupload
start-stack Start a local DSP stack
dsp-tools start-stack
stop-stack Stop the local DSP stack
dsp-tools stop-stack
update-legal Update legal metadata in XML files to the new format
dsp-tools update-legal [mandatory options] data.xml
upload-files Upload multimedia files referenced in an XML file
dsp-tools upload-files data.xml
validate-data Validate XML data against a data model on a server
dsp-tools validate-data data.xml
xmlupload Create resources from an XML file on a server
dsp-tools xmlupload data.xml

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-18.8.0.post1.tar.gz (326.1 kB view details)

Uploaded Source

Built Distribution

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

dsp_tools-18.8.0.post1-py3-none-any.whl (463.4 kB view details)

Uploaded Python 3

File details

Details for the file dsp_tools-18.8.0.post1.tar.gz.

File metadata

  • Download URL: dsp_tools-18.8.0.post1.tar.gz
  • Upload date:
  • Size: 326.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dsp_tools-18.8.0.post1.tar.gz
Algorithm Hash digest
SHA256 a7f7d0c825a3b901ebed48a7355e9fb11aeb902432bee03fdb97b4a466408b6b
MD5 f78900ad1f35b4ed9fe6fad9adb9f501
BLAKE2b-256 e46c82bce68502454397cd256236e61dd850348a10927fc7674ff80e55aaf97b

See more details on using hashes here.

File details

Details for the file dsp_tools-18.8.0.post1-py3-none-any.whl.

File metadata

  • Download URL: dsp_tools-18.8.0.post1-py3-none-any.whl
  • Upload date:
  • Size: 463.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dsp_tools-18.8.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 be6a863df726c56b720aefb5fd8467564717f942b87b8a5eb77d512f3554d531
MD5 2ec1865ecfac4bccd6b65343f9ce1ae0
BLAKE2b-256 869e90df66f31c7ce07b2b149c89ec5c900249f73dd52a9dd43d8a1d8d2c0439

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