Skip to main content

Library and CLI for generating installation instructions from json schema and jinja templates.

Project description

installation-instruction

Library and CLI for generating installation instructions from json schema and jinja templates.

GitHub License PyPI - Version Documentation Status codecov FOSSA Status

Installation

pipx

pipx install installation-instruction

pip

python -m pip install installation-instruction

installation-instruction

(Don't try at home.)

name: installation-instruction
type: object
properties:
  method:
    enum:
      - pipx
      - pip
----------------------------------
{% if method == "pip" %}
  python -m pip
{% else %}
  pipx
{% endif %}
  install installation-instruction

CLI Usage

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

  Library and CLI for generating installation instructions from json schema
  and jinja templates.

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

Commands:
  install  Installs with config and parameters given.
  show     Shows installation instructions for your specified config file...

Options are dynamically created with the schema part of the config file.

[!TIP] Show help for a config file with: ibi show CONFIG_FILE --help.

Config

  • The config is comprised of a single file install.cfg.
  • The config has two parts delimited by ------ (6 or more -).
  • Both parts should be developed in different files for language server support.

Schema

  • The first section of the config is a json-schema.
  • It can be written in JSON or to JSON capabilites restricted YAML.
  • title are used for pretty print option names.
  • description is used for the options help message.
  • anyOf with nested const and title are a special case as a replacement for enum but with pretty print name.

Template

  • You can have as much whitespace and line breaks as you wish in and inbetween your commands.
  • Commands must be seperated by &&! (pip install installation-instruction && pip uninstall installation-instruction.)
  • If you wish to stop the render from within the template you can use the macro raise. ({{ raise("no support!") }}.)

MISC

Please have a look at the examples.

Development installation

If you want to contribute to the development of installation_instruction, we recommend the following editable installation from this repository:

python -m pip install --editable .[tests]

Having done so, the test suite can be run using pytest:

python -m pytest

Contributors

Acknowledgments

This repository was set up using the SSC Cookiecutter for Python Packages.

License Scan

FOSSA Status

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

installation_instruction-0.2.0.tar.gz (14.2 kB view details)

Uploaded Source

File details

Details for the file installation_instruction-0.2.0.tar.gz.

File metadata

File hashes

Hashes for installation_instruction-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1bc47d692bf5d4baefaacfffbf35ffcfae5c9c4aa58b56ec6f7d2add2a117c7e
MD5 16f3f05b96cafe4a47ba6c64aa721ab8
BLAKE2b-256 6e231c2537db37f441b6f59d018dfda28beafaccc3359a1bdf44db075425507a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page