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.9.0.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.9.0-py3-none-any.whl (463.4 kB view details)

Uploaded Python 3

File details

Details for the file dsp_tools-18.9.0.tar.gz.

File metadata

  • Download URL: dsp_tools-18.9.0.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.9.0.tar.gz
Algorithm Hash digest
SHA256 4f8a17318cd74f24e232b114bb57df71d80873a6ca9c403c955b1fa7bd6cc025
MD5 ecdffa9cd93c726c53fc47565c05b1ba
BLAKE2b-256 ea197ff628d93fb929f4b9ec7d4775cb081f08d5325aa955ae909ac332d2da6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dsp_tools-18.9.0-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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8433c0434a9a1d1d28058209ed672c63d8c54d7527372b896f72ff88518df50
MD5 a4068088618c8a2f99b9b0a6ee5bb02d
BLAKE2b-256 263bc3606cae49474235139606016e48b06f770328ad44af63ecb1c002a03c43

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