Skip to main content

stkml is a transpiler for stckml language to generate output for different backend as diagram, drawio, map.

Project description

Stkml-cli

continuous_integration publish_to_Pypi PyPI package downloads copyright

STKML is an open-source IoT stack coding language developed by Stackeo and INRIA for both industry and academic research. STKML allows you to describe an IoT system globally and then to detail its different entities and their relationships in a simple way. Thus IoT teams can quickly visualize and verify the principles of the end-to-end architecture, create simulation or reproducible test scenarios for the sizing and forecasting of the non-functional properties of a connected system or an IoT solution. end to end before its large-scale deployment. STKML also allows vendors to create libraries of IoT product models and architecture patterns for integration into an architectural design.

A set of tools associated with STKML (enriched online editor, transpilators, diagramming tools, topology checking tools, model libraries) are being developed to support developers in assisted coding and compilation of their models. components and architecture in order to automatically generate models, their documentation or the associated simulation or deployment scenarios. The user can thus contribute to the Stacker community, by creating, reusing and manipulating frameworks and architectural templates and models of IoT system components.

The implementation is compatible with python3.6

Usage

Installation of application

pip install stkml

Run the application

You can run the application with the following command

stkml

Usage: stkml [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  check           check a Stkml project
  check:package   check stkml package
  compile         compile a Stkml project using a specific backend
  create:package  create a stkml package
  init            initialize a Stkml project
  install         install a Stkml package from stackhub
  publish         publish a Stkml package to stackhub
  search          search for a Stkml package on stackhub

Check

Usage: stkml check [OPTIONS] STKMLFOLDER

  check a Stkml project

Options:
  -d, --disable-syntax-verification
                                  ignore syntax verification
  -h, --help                      Show this message and exit.

###Compile

Usage: stkml compile [OPTIONS] STKMLPROJECT COMMAND [ARGS]...

  compile a Stkml project using a specific backend

Options:
  -d, --disable-syntax-verification
                                  ignore syntax verification
  -h, --help                      Show this message and exit.

Commands:
  diagram  compile a Stkml project for diagram
  drawio   compile a Stkml project for Drawio

Compile Diagram

Usage: stkml compile diagram [OPTIONS]

  compile stkml file for diagram

  Example:     stkml compile stkml_project diagram -t 1 -o img

Options:
  -t, --type [1|2|3]  the diagram type {Architecture ,Topology or Map}
                      [required]

  -o, --output TEXT   the output file  [required]
  -h, --help          Show this message and exit.
Diagram Examples
  • System Diagram

    stkml compile -i Examples/example.stkml diagram -t 1 -o Examples/results/diagram/Type1/level1 --icons Examples/icons/
    

    Result :

  • Deployment Topology Diagram

    stkml compile -i Examples/example.stkml diagram -t 2 -o Examples/results/Type2/diagram/level1 --icons Examples/icons/
    

    Result :

  • Deployment Map

    stkml compile -i Examples/example.stkml diagram -t 3 -o Examples/results/Type2/diagram/level2.html --icons Examples/icons/
    

    Result :

Compile Drawio

Usage: stkml compile drawio [OPTIONS]

  compile stkml file for Drawio

  Example:     stkml compile stkml_project Drawio -l 1 -o Drawio

Options:
  -l, --level [1|2]  the diagram view level {System View or Layer View}
                     [required]

  -o, --output TEXT  the output file  [required]
  -h, --help         Show this message and exit.

#####Drawio Examples

  • level 1 :

    stkml compile -i Examples/example.stkml drawio -l 1 -o Examples/results/Type1/level1
    

    Result :

  • level 2 :

    stkml compile -i Examples/example.stkml drawio -l 2 -o Examples/results/Type1/level2
    

    Result :

Init

Usage: stkml init [OPTIONS] STKMLDIR

  initialize a Stkml project

Options:
  -h, --help  Show this message and exit.

Check package

Usage: stkml check:package [OPTIONS] PACKAGE_PATH

  check a Stkml package

Options:
  -d, --disable-syntax-verification
                                  ignore syntax verification
  -m, --check-metadata            check the package metadata
  -h, --help                      Show this message and exit.

Create package

Usage: stkml create:package [OPTIONS] PACKAGE

  create a stkml package

Options:
  -h, --help  Show this message and exit.

Publish package

Usage: stkml publish [OPTIONS] PACKAGE

  publish a Stkml package to stackhub

Options:
  -h, --help  Show this message and exit.

Install package

Usage: stkml install [OPTIONS] NAME

Options:
  -v, --version TEXT  the version of the package
  -h, --help          Show this message and exit.

Search Package

Usage: stkml search [OPTIONS] PACKAGE

  search for a Stkml package on stackhub

Options:
  -h, --help  Show this message and exit.
Configure the Ide to make stkml code

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

stkml-1.0.3.tar.gz (139.7 kB view details)

Uploaded Source

File details

Details for the file stkml-1.0.3.tar.gz.

File metadata

  • Download URL: stkml-1.0.3.tar.gz
  • Upload date:
  • Size: 139.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.8

File hashes

Hashes for stkml-1.0.3.tar.gz
Algorithm Hash digest
SHA256 f0c715b3c6bd8ecd4a9a18384bce5f8a064b98f3f60602415374cff93cbfdae6
MD5 8e08241fec4bc9b213e457d1463f1fa0
BLAKE2b-256 aad7ab987969e106ee41ab8e723133582498674651bb7c88ddef6707323399bd

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