No project description provided
Project description
Data Modelling CLI Tool
CLI tool for working with Data Modelling Storage Service
Installing
[!NOTE] Requires Python version >= 3.11
Install the tool via pip
$ pip3 install dm-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
commands
listed above, you can rundm <COMMAND> --help
to see subcommand-specific help messages, e.g.dm ds import --help
ordm 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 dependencies:
pip3 install -r requirements.txt
- Install the dev dependencies:
pip3 install -r dev-requirements.txt
- 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.
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
Built Distribution
File details
Details for the file dm-cli-1.7.1.tar.gz
.
File metadata
- Download URL: dm-cli-1.7.1.tar.gz
- Upload date:
- Size: 86.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 972f24c81021b026063648fa1dfd3082b2504bf7987f92dc28122c489575c50a |
|
MD5 | 70a86cd447e06e5b6b3e5002f0a2bb48 |
|
BLAKE2b-256 | 4d82f426a5c0660891bfb0184d63e2b2bb15e15705326d0c25efa14e6162db40 |
File details
Details for the file dm_cli-1.7.1-py3-none-any.whl
.
File metadata
- Download URL: dm_cli-1.7.1-py3-none-any.whl
- Upload date:
- Size: 168.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c94003de89b70bcaf2dab806d0a35f7f21f3c91da507ae8a21ea6010d83b73e |
|
MD5 | 551e0c258bcd31bae050f43d3ed5d915 |
|
BLAKE2b-256 | d1f21eded3d50d3052ba916988a84c5343bb63bd9d738dea5e7b42019a55ebd2 |