{"id":22002138,"url":"https://github.com/thipster/thipster","last_synced_at":"2026-02-15T02:03:18.658Z","repository":{"id":172692668,"uuid":"626987988","full_name":"THipster/THipster","owner":"THipster","description":"THipster is a tool dedicated to simplifying the difficulty 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.","archived":false,"fork":false,"pushed_at":"2024-02-18T00:25:58.000Z","size":462,"stargazers_count":2,"open_issues_count":14,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-11T08:57:15.798Z","etag":null,"topics":["iac","infrastructure-as-code","python","terraform","terraform-cdk","thipster"],"latest_commit_sha":null,"homepage":"https://thipster.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/THipster.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-12T14:57:03.000Z","updated_at":"2024-06-19T09:03:52.000Z","dependencies_parsed_at":"2023-11-08T10:35:48.843Z","dependency_job_id":"9cee8f05-1548-4694-a4b0-6dc04639286f","html_url":"https://github.com/THipster/THipster","commit_stats":null,"previous_names":["thipster/thipster"],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/THipster/THipster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THipster%2FTHipster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THipster%2FTHipster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THipster%2FTHipster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THipster%2FTHipster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/THipster","download_url":"https://codeload.github.com/THipster/THipster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THipster%2FTHipster/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264928477,"owners_count":23684659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iac","infrastructure-as-code","python","terraform","terraform-cdk","thipster"],"created_at":"2024-11-29T23:16:23.183Z","updated_at":"2025-10-06T08:16:25.149Z","avatar_url":"https://github.com/THipster.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# THipster\n\nTHipster is a tool dedicated to simplifying the difficulty 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\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/THipster/THipster/blob/main/LICENSE\" target=\"_blank\" alt=\"License\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/THipster/THipster\" alt=\"License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://thipster.readthedocs.io/en/latest/?badge=latest\" target=\"_blank\" alt=\"Read the docs documentation\"\u003e\n    \u003cimg src=\"https://readthedocs.org/projects/thipster/badge/?version=latest\" alt=\"Read the docs documentation\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/thipster/\" target=\"_blank\" alt=\"PyPi package\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/thipster?color=brightgreen\u0026label=pypi%20package\" alt=\"Package version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/thipster/\" target=\"_blank\" alt=\"PyPi package\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/pyversions/thipster?color=brightgreen\" alt=\"Supported Python versions\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/astral-sh/ruff\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"Ruff\" style=\"max-width:100%;\"\u003e\n  \u003c/a\u003e\n  \u003ca href='https://coveralls.io/github/THipster/THipster'\u003e\n    \u003cimg src='https://coveralls.io/repos/github/THipster/THipster/badge.svg' alt='Coverage Status' /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Technology Stack\nWritten in Python 3.11, thipster is designed as a python package, to be used either as a standalone tool, or as a module inside a running process like a CI/CD pipeline.\n\n## Project Status\nTHipster is currently in an active development state. If you want to know more, please check the [CHANGELOG](https://github.com/THipster/THipster/blob/main/CHANGELOG.md) for more details.\n\n## Dependencies\n\nIn order to user THipster, you will need to have the following installed:\n- [Python](https://www.python.org/downloads/) (3.11+)\n- [pipenv](https://pipenv.pypa.io/en/latest/) v2021.5+\n- [Terraform CLI](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) (1.2+)\n- [Node.js](https://nodejs.org/) and npm v16+.\n\n## Installation\n\nTo use THipster, you can simply install the package with pip:\n\n```console\npip install thipster\n```\n\nIf you want to install the google dependencies aswell use\n\n```console\npip install thipster[google]\n```\n\nThe list of available versions can be found on [PyPI](https://pypi.org/project/thipster/).\n\n## Usage\n\nYou can use THipster in two ways:\n- By leveraging the [THipster CLI](https://github.com/THipster/THipster-cli)\n- By directly using the [THipster Python package](https://pypi.org/project/thipster/) in your own code\n\nMain feature:\n- Generate Terraform files from a YAML+JINJA or THIPS file:\n```python\nfrom thipster import Engine as ThipsterEngine\nfrom thipster.auth import Google\nfrom thipster.parser import ParserFactory\nfrom thipster.repository import GithubRepo\nfrom thipster.terraform import Terraform\n\n# create new THipster engine\nengine = ThipsterEngine(ParserFactory(), GithubRepo('THipster/models'), Google, Terraform())\n\n# generate Terraform files and plan from a YAML+JINJA file\nterraform_plan = engine.run('path/to/file/or/directory')\nprint(terraform_plan)\n```\n\n## How to test the software\n\nTo run the tests, you can use the following command:\n\n```console\npip install -e .[test]\npytest tests\n```\n\n## Known issues\n\nAll known issues, bugs, and feature requests are tracked in the [Issue tracker](https://github.com/THipster/THipster/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/issues).\n\n## Getting involved\n\nTo install the project for development, you can use the following command:\n\n```console\npip install -r requirements.txt \u0026\u0026 pip install -e .[dev,test,doc,google]\npre-commit install \u0026\u0026 pre-commit run --all-files\n```\n\nFor more information on how to help out, please check the [CONTRIBUTING](https://github.com/THipster/THipster/blob/main/CONTRIBUTING.md) file.\n\n## Open source licensing info\n1. [LICENSE](https://github.com/THipster/THipster/blob/main/LICENSE)\n2. [CFPB Source Code Policy](https://github.com/cfpb/source-code-policy/)\n\n## Credits and references\n\n1. Projects that inspired you\n    - [AWS Application Composer](https://aws.amazon.com/application-composer/?nc1=h_ls)\n2. Related projects\n    - [Wing Programming Language](https://www.winglang.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthipster%2Fthipster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthipster%2Fthipster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthipster%2Fthipster/lists"}