# THipster CLI
CLI tool to interact and use [THipster](https://github.com/THipster/THipster), build with [Typer](https://typer.tiangolo.com/).
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.
<p align="center">
<a href="https://github.com/THipster/THipster-cli/blob/main/LICENSE" target="_blank" alt="License">
<img src="https://img.shields.io/github/license/THipster/THipster-cli" alt="License">
</a>
<a href="https://thipster-cli.readthedocs.io/en/latest/?badge=latest" target="_blank" alt="Read the docs documentation">
<img src="https://readthedocs.org/projects/thipster-cli/badge/?version=latest" alt="Read the docs documentation">
</a>
<a href="https://pypi.org/project/thipstercli/" target="_blank" alt="PyPi package">
<img src="https://img.shields.io/pypi/v/thipstercli?color=brightgreen&label=pypi%20package" alt="Package version">
</a>
<a href="https://pypi.org/project/thipstercli/" target="_blank" alt="PyPi package">
<img src="https://img.shields.io/pypi/pyversions/thipstercli?color=brightgreen" alt="Supported Python versions">
</a>
<a href="https://github.com/astral-sh/ruff">
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json" alt="Ruff" style="max-width:100%;">
</a>
</p>
## Technology Stack
Written in Python 3.11, thipster-cli is build using [Typer](https://typer.tiangolo.com/).
## Project Status
THipster-cli is currently in an active development state. If you want to know more, please check the [CHANGELOG](https://github.com/THipster/THipster-cli/blob/main/CHANGELOG.md) 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](https://github.com/THipster/THipster#dependencies) for more details.
## Installation
The project is designed to be simply installed using [pip](https://pip.pypa.io/en/stable/).
```bash
pip install thipstercli
```
The list of available versions can be found on [PyPI](https://pypi.org/project/thipstercli/).
### 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:
```json
{
"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
```bash
thipster version -t
```
- `providers`: subcommand group tp handle all tasks related to infrastructure providers
```bash
thipster providers --help
```
- `run`: main command to execute the thipster tool
```bash
thipster run --help
```
You can also check the [thipster package documentation](https://github.com/THipster/THipster/tree/main#usage) 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:
```bash
pip install -e .[test]
pytest tests
```
## Known issues
All known issues, bugs, improvements, etc. are tracked as [GitHub issues](https://github.com/THipster/THipster-cli/issues).
## Getting help
If you have questions, concerns, bug reports, etc, please file an issue in this repository's [Issue Tracker](https://github.com/THipster/THipster-cli/issues).
## Getting involved
To install the project in development mode, run the following command:
```bash
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](https://github.com/THipster/THipster-cli/blob/main/CONTRIBUTING.md) file. We will be happy to have you onboard.
## Open source licensing info
1. [LICENSE](https://github.com/THipster/THipster-cli/blob/main/LICENSE)
3. [CFPB Source Code Policy](https://github.com/cfpb/source-code-policy/)
Raw data
{
"_id": null,
"home_page": "https://github.com/THipster/THipster-cli",
"name": "thipstercli",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "thipster,cli,generator,infrastructure as code,iac,terraform,typer",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ad/dc/9286c2aa3e3c22f9c8c2761552ec46ce094f86239f275b86cb2c0e1c93c9/thipstercli-0.6.8.tar.gz",
"platform": null,
"description": "# THipster CLI\n\nCLI tool to interact and use [THipster](https://github.com/THipster/THipster), build with [Typer](https://typer.tiangolo.com/).\n\nTHipster is a tool dedicated to simplifying the ordeal associated with writing Terraform files.\nIt allows users to write infrastructure as code in a simplified format, using either YAML (with JINJA) or the dedicated Thipster DSL.\n\nWritten entirely in Python, it leverages the Python CDK for Terraform to create Terraform files and apply them to the chosen provider.\n\n<p align=\"center\">\n <a href=\"https://github.com/THipster/THipster-cli/blob/main/LICENSE\" target=\"_blank\" alt=\"License\">\n <img src=\"https://img.shields.io/github/license/THipster/THipster-cli\" alt=\"License\">\n </a>\n <a href=\"https://thipster-cli.readthedocs.io/en/latest/?badge=latest\" target=\"_blank\" alt=\"Read the docs documentation\">\n <img src=\"https://readthedocs.org/projects/thipster-cli/badge/?version=latest\" alt=\"Read the docs documentation\">\n </a>\n <a href=\"https://pypi.org/project/thipstercli/\" target=\"_blank\" alt=\"PyPi package\">\n <img src=\"https://img.shields.io/pypi/v/thipstercli?color=brightgreen&label=pypi%20package\" alt=\"Package version\">\n </a>\n <a href=\"https://pypi.org/project/thipstercli/\" target=\"_blank\" alt=\"PyPi package\">\n <img src=\"https://img.shields.io/pypi/pyversions/thipstercli?color=brightgreen\" alt=\"Supported Python versions\">\n </a>\n <a href=\"https://github.com/astral-sh/ruff\">\n <img src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"Ruff\" style=\"max-width:100%;\">\n </a>\n</p>\n\n## Technology Stack\nWritten in Python 3.11, thipster-cli is build using [Typer](https://typer.tiangolo.com/).\n\n## Project Status\nTHipster-cli is currently in an active development state. If you want to know more, please check the [CHANGELOG](https://github.com/THipster/THipster-cli/blob/main/CHANGELOG.md) for more details.\n\n## Dependencies\n\nTo use the CLI, you will need to have all the required THipster dependencies installed on your machine. Please refer to the [THipster documentation](https://github.com/THipster/THipster#dependencies) for more details.\n\n## Installation\n\nThe project is designed to be simply installed using [pip](https://pip.pypa.io/en/stable/).\n\n```bash\npip install thipstercli\n```\n\nThe list of available versions can be found on [PyPI](https://pypi.org/project/thipstercli/).\n\n### Configuration\n\nThe 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.\n\nExample of a configuration file:\n```json\n{\n \"app_name\": \"thipstercli\",\n \"auth_provider\": \"google\",\n \"input_dir\": \".\",\n \"local_models_repository_path\": \"models\",\n \"models_repository\": \"THipster/models\",\n \"models_repository_branch\": \"main\",\n \"models_repository_provider\": \"local\",\n \"output_dir\": \".\",\n \"verbose\": false\n}\n```\n\n## Usage\n\nThe cli is composed of 3 main commands:\n- `version`: display the current version of the package\n```bash\nthipster version -t\n```\n\n- `providers`: subcommand group tp handle all tasks related to infrastructure providers\n```bash\nthipster providers --help\n```\n\n- `run`: main command to execute the thipster tool\n```bash\nthipster run --help\n```\n\nYou can also check the [thipster package documentation](https://github.com/THipster/THipster/tree/main#usage) for more details on the main features and purpose of the tool.\n\n## How to test the software\n\nTo test the CLI, you can run the following command:\n\n```bash\npip install -e .[test]\npytest tests\n```\n\n## Known issues\n\nAll known issues, bugs, improvements, etc. are tracked as [GitHub issues](https://github.com/THipster/THipster-cli/issues).\n\n## Getting help\n\nIf you have questions, concerns, bug reports, etc, please file an issue in this repository's [Issue Tracker](https://github.com/THipster/THipster-cli/issues).\n\n## Getting involved\n\nTo install the project in development mode, run the following command:\n\n```bash\npip install -e .[dev,test]\npre-commit install && pre-commit run --all-files\n```\n\nIf you would like to be involved in the project feel free to check the [CONTRIBUTING](https://github.com/THipster/THipster-cli/blob/main/CONTRIBUTING.md) file. We will be happy to have you onboard.\n\n## Open source licensing info\n1. [LICENSE](https://github.com/THipster/THipster-cli/blob/main/LICENSE)\n3. [CFPB Source Code Policy](https://github.com/cfpb/source-code-policy/)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "CLI interface build with typer, designed to use the thipster package",
"version": "0.6.8",
"project_urls": {
"Download": "https://github.com/THipster/THipster-cli.git",
"Homepage": "https://github.com/THipster/THipster-cli"
},
"split_keywords": [
"thipster",
"cli",
"generator",
"infrastructure as code",
"iac",
"terraform",
"typer"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a48e427453aa1203ae41880eab8a3175eaffd36a866588b122a730da72e4064",
"md5": "8b38c2bad47edcea767b67f622df46d7",
"sha256": "60602ad663a0fc3262493708cccf431f2d27b9a170fb93f6fab8b0dfc1e254a0"
},
"downloads": -1,
"filename": "thipstercli-0.6.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b38c2bad47edcea767b67f622df46d7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23902,
"upload_time": "2023-11-29T10:36:27",
"upload_time_iso_8601": "2023-11-29T10:36:27.336815Z",
"url": "https://files.pythonhosted.org/packages/4a/48/e427453aa1203ae41880eab8a3175eaffd36a866588b122a730da72e4064/thipstercli-0.6.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "addc9286c2aa3e3c22f9c8c2761552ec46ce094f86239f275b86cb2c0e1c93c9",
"md5": "deccb856c813715c5774f1375ab2003f",
"sha256": "1cd227012f71fd44b6ccc908255e84c3f647b4dd07365b54abc14980aeb7fabe"
},
"downloads": -1,
"filename": "thipstercli-0.6.8.tar.gz",
"has_sig": false,
"md5_digest": "deccb856c813715c5774f1375ab2003f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19443,
"upload_time": "2023-11-29T10:36:28",
"upload_time_iso_8601": "2023-11-29T10:36:28.963470Z",
"url": "https://files.pythonhosted.org/packages/ad/dc/9286c2aa3e3c22f9c8c2761552ec46ce094f86239f275b86cb2c0e1c93c9/thipstercli-0.6.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-29 10:36:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "THipster",
"github_project": "THipster-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "thipstercli"
}