Skip to main content

CLI tool for working with Data Modelling Storage Service

Project description

Data Modelling CLI Tool PyPi version PyPi downloads Visitors

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 commands listed above, you can run dm <COMMAND> --help to see subcommand-specific help messages, e.g. dm ds import --help or dm 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

  1. Install the package with dev dependencies: pip3 install -e ".[dev]"
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

development_framework_cli-1.7.3.tar.gz (836.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

development_framework_cli-1.7.3-py3-none-any.whl (170.1 kB view details)

Uploaded Python 3

File details

Details for the file development_framework_cli-1.7.3.tar.gz.

File metadata

File hashes

Hashes for development_framework_cli-1.7.3.tar.gz
Algorithm Hash digest
SHA256 d5c86cb17a3fa46da1373a7a2285a709b73071fce075ad6d2efec55490c9f246
MD5 5c10729a4775ced743069a7a6674197d
BLAKE2b-256 6de61bd7ebda5269871ada1b491e4b8cc3ba0dc7ba49b069b6bccd4db21e2f70

See more details on using hashes here.

File details

Details for the file development_framework_cli-1.7.3-py3-none-any.whl.

File metadata

File hashes

Hashes for development_framework_cli-1.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e11aed997f4f6797846a4761f34c663921ebc3624acafdd5d5921e1a314a1b63
MD5 3220aedd857dc929ce14bd61ba0ea346
BLAKE2b-256 960f273eeb64beef22fe3ba46fe7c24de380efddbaf1ebbf68079b4a3748e6c9

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