Skip to main content

CLI interface build with typer, designed to use the thipster package

Project description

THipster CLI

CLI tool to interact and use THipster, build with Typer.

THipster is a tool dedicated to simplifying the ordeal associated with writing Terraform files. It allows users to write infrastructure as code in a simplified format, using either YAML (with JINJA) or the dedicated Thipster DSL.

Written entirely in Python, it leverages the Python CDK for Terraform to create Terraform files and apply them to the chosen provider.

License Read the docs documentation Package version Supported Python versions Ruff

Technology Stack

Written in Python 3.11, thipster-cli is build using Typer.

Project Status

THipster-cli is currently in an active development state. If you want to know more, please check the CHANGELOG for more details.

Dependencies

To use the CLI, you will need to have all the required THipster dependencies installed on your machine. Please refer to the THipster documentation for more details.

Installation

The project is designed to be simply installed using pip.

pip install thipstercli

The list of available versions can be found on PyPI.

Configuration

The CLI can be configured using a configuration file. A default config.json file will be created in the /home/<user>/.config/thipstercli directory the first time the CLI is used.

Example of a configuration file:

{
    "app_name": "thipstercli",
    "auth_provider": "google",
    "input_dir": ".",
    "local_models_repository_path": "models",
    "models_repository": "THipster/models",
    "models_repository_branch": "main",
    "models_repository_provider": "local",
    "output_dir": ".",
    "verbose": false
}

Usage

The cli is composed of 3 main commands:

  • version: display the current version of the package
thipster version -t
  • providers: subcommand group tp handle all tasks related to infrastructure providers
thipster providers --help
  • run: main command to execute the thipster tool
thipster run --help

You can also check the thipster package documentation for more details on the main features and purpose of the tool.

How to test the software

To test the CLI, you can run the following command:

pip install -e .[test]
pytest tests

Known issues

All known issues, bugs, improvements, etc. are tracked as GitHub issues.

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting involved

To install the project in development mode, run the following command:

pip install -e .[dev,test]
pre-commit install && pre-commit run --all-files

If you would like to be involved in the project feel free to check the CONTRIBUTING file. We will be happy to have you onboard.

Open source licensing info

  1. LICENSE
  2. CFPB Source Code Policy

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

thipstercli-0.6.8.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

thipstercli-0.6.8-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file thipstercli-0.6.8.tar.gz.

File metadata

  • Download URL: thipstercli-0.6.8.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for thipstercli-0.6.8.tar.gz
Algorithm Hash digest
SHA256 1cd227012f71fd44b6ccc908255e84c3f647b4dd07365b54abc14980aeb7fabe
MD5 deccb856c813715c5774f1375ab2003f
BLAKE2b-256 addc9286c2aa3e3c22f9c8c2761552ec46ce094f86239f275b86cb2c0e1c93c9

See more details on using hashes here.

File details

Details for the file thipstercli-0.6.8-py3-none-any.whl.

File metadata

  • Download URL: thipstercli-0.6.8-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for thipstercli-0.6.8-py3-none-any.whl
Algorithm Hash digest
SHA256 60602ad663a0fc3262493708cccf431f2d27b9a170fb93f6fab8b0dfc1e254a0
MD5 8b38c2bad47edcea767b67f622df46d7
BLAKE2b-256 4a48e427453aa1203ae41880eab8a3175eaffd36a866588b122a730da72e4064

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