Data Modelling CLI Tool

CLI tool for working with Data Modelling Storage Service
Installing
[!NOTE] Requires Python version >= 3.13
Install the tool via pip
$ pip3 install development-framework-cli
After a successful install, the program 'dm' will be available in your python environment
Usage
Usage: dm [OPTIONS] COMMAND [ARGS]...
Command Line Interface (CLI) tool for working with the Data Modelling Framework. This tool is mainly used to upload data source definitions, models and
entities, and creating RecipeLink-tables.
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --force -f Force the operation. Overwriting and potentially deleting data. │
│ --url -u TEXT URL to the Data Modelling Storage Service (DMSS). [default: http://localhost:5000] │
│ --token -t TEXT Token for authentication against DMSS. [default: no-token] │
│ --debug -d Print stack trace of suppressed exceptions │
│ --version -v Print version and exit │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ create-lookup Create a named Ui-/StorageRecipe-lookup-table from all RecipeLinks in a package existing in DMSS (requires admin privileges). │
│ ds Import and reset data sources │
│ entities Import, delete, or validate entities and/or blueprints │
│ export Export one or more entities. │
│ import-plugin-blueprints Import blueprints from a plugin into the standard location 'system/Plugins/<plugin-name>'. │
│ reset Reset all data sources (deletes and re-uploads all packages to DMSS). │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[!TIP] For each of the
commandslisted above, you can rundm <COMMAND> --helpto see subcommand-specific help messages, e.g.dm ds import --helpordm pkg --help
Required directory structure
Certain commands expect a specific directory structure, such as the commands dm reset, dm ds init, and dm ds reset.
For these commands, the path argument must be the path to a directory with two subdirectories, data_sources and data.
$ tree app
app
├── data
└── DemoApplicationDataSource
├── instances
│ └── demoApplication.json
| └── models
| └── DemoApplication.json
└── data_sources
└── DemoApplicationDataSource.json
To add meta information to a package (for example to the models root package), a file with name "package.json" can be placed inside the folder.
Supported reference syntax
The CLI tool will understand and resolve the following address formats during import.
# URI - Full absolute path prefixed with protocol
dmss://datasource/package/entity
dmss://datasource/package/subfolder/entity
dmss://datasource/$123-456.attributeName
# Alias - Require dependencies to be defined somewhere in the source tree
ALIAS:package/entity
ALIAS:entity
# Data Source - Relative from the destination data source
/package/entity
/package/subfolder/entity
/$123-456.attributeName
# Package - Relative from the source package
entity
subfolder/entity
# Dotted - Relative from the file (UNIX directory traversal)
./../entity
../subfolder/entity
../../subfolder/entity
Development
$ python3 -m venv .venv
$ source .venv/bin/activate
# Install the package from local files in edit mode (-e)
$ pip3 install -e .
$ dm --help
Testing
- Install the package with dev dependencies:
pip3 install -e ".[dev]" - Run the tests:
pytest
Feedback
Please feel free to leave feedback in issues/PRs.
Contributing
If you would like to contribute, please read our Contribution guide.
Release files for development-framework-cli 1.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| development_framework_cli-1.8.0.tar.gz | 835.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| development_framework_cli-1.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 968.7 kB
Release files / development_framework_cli-1.8.0.tar.gz
| Download URL | development_framework_cli-1.8.0.tar.gz |
|---|---|
| Size | 835.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c1c88680604e39ecc89779240255269b5b967b5d8ccdce13331f5e3ab47a7faa
|
|
BLAKE2b-256 checksum How to use checksums |
464b81af62e4d1260c7416b4ee2a29a75e46f138bb799f03a7d9158f27842c4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / development_framework_cli-1.8.0-py3-none-any.whl
| Download URL | development_framework_cli-1.8.0-py3-none-any.whl |
|---|---|
| Size | 133.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e3d4a65fbea9bf83014bad380f0bf322eb3f415cb16a17de612315c7bec55c4
|
|
BLAKE2b-256 checksum How to use checksums |
d99312df93990bf65afe1ca4ddf90c56a0f14ffca05a33c97b02d9cd6ed7670e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|