Skip to content

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
→