Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


User Guide GitHub release (latest SemVer) PyPI Codacy Badge DSW TDK CI Docker Pulls LICENSE CII Best Practices

Template Development Kit for Data Stewardship Wizard

‼️ This project has been moved to monorepo ds-wizard/engine-tools ‼️


Python package

You can easily install this tool using pip (from PyPI):

$ pip install dsw-tdk

Optionally, you can clone any version from this repository and install it directly:

$ git clone
$ pip install -e .

We recommend using virtual environments to avoid clashes in dependencies with other projects.

Dockerized tool

If you don't want to use Python directly on your machine, you can easily use Docker image with DSW TDK:

$ docker run datastewardshipwizard/dsw-tdk --help
$ docker run datastewardshipwizard/dsw-tdk:develop --help

See datastewardshipwizard/dsw-tdk on Docker Hub to check available tags.


You can find out possibilities directly using --help flag:

$ dsw-tdk --help
$ dsw-tdk put --help

For further information, visit our documentation.

Basic commands

  • new = create a new template project locally using interactive wizard
  • list = list templates available in configured DSW instance
  • get = download a template from DSW instance
  • put = upload a template to DSW instance (create or update)
  • verify = check the metadata of local template project
  • package = create a distribution ZIP package that is importable to DSW via web interface

Environment variables

You can use the following environment variables to avoid repeating CLI options.

  • DSW_API = URL of DSW API you want to use, e.g., (notice that it is not the URL of client, you can find it out by clicking Help > About in DSW)
    • Used when --api-server not specified
  • DSW_USERNAME = username (email address) that you use to login with your admin account
    • Used when --username not specified
  • DSW_PASSWORD = corresponding password to login with your admin account
    • Used when --password not specified

You can also use them in .env file which is automatically loaded from current directory or specify it using --dot-env option:

$ ls -a
. .. .env my-other-file
$ dsw-tdk list
$ dsw-tdk --dot-env /path/to/my/.env list

How to start

  1. Prepare your DSW instance and admin account (optionally, prepare .env file)
  2. Verify the connection by issuing dsw-tdk list
  3. Create a new template project dsw-tdk new or get existing dsw-tdk get (or re-use some local)
  4. Go to the template project and make edits you need to do
  5. Update template in DSW with dsw-tdk put (or continually with dsw-tdk put --watch)
  6. (or) Create a distribution ZIP package that is importable via DSW web interface with dsw-tdk package


You can use --quiet and --debug flags to toggle less or more output messages:

$ dsw-tdk --quiet list
$ dsw-tdk --debug list


  • Python 3.7+
  • DSW instance with matching version (e.g. a local one using Docker)
  • Admin credentials (email+password) to the DSW instance


We welcome any form of feedback and contribution to this tool:

  • Report bugs or ask in case of uncertainty using GitHub Issues.
  • Share ideas and feature requests using DSW Ideas site.
  • Submit enhancements using Pull Requests, just please make sure that you comply with used conventions.

For more information read CONTRIBUTING.


This project is licensed under the Apache 2 License - see the LICENSE file for more details.


Data Stewardship Wizard Template Development Kit



Security policy




Sponsor this project



No packages published