Skip to main content

THipster

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.

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 Coverage Status

Technology Stack

Written 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.

Project Status

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

Dependencies

In order to user THipster, you will need to have the following installed:

Installation

To use THipster, you can simply install the package with pip:

pip install thipster

If you want to install the google dependencies aswell use

pip install thipster[google]

The list of available versions can be found on PyPI.

Usage

You can use THipster in two ways:

Main feature:

  • Generate Terraform files from a YAML+JINJA or THIPS file:
from thipster import Engine as ThipsterEngine
from thipster.auth import Google
from thipster.parser import ParserFactory
from thipster.repository import GithubRepo
from thipster.terraform import Terraform

# create new THipster engine
engine = ThipsterEngine(ParserFactory(), GithubRepo('THipster/models'), Google, Terraform())

# generate Terraform files and plan from a YAML+JINJA file
terraform_plan = engine.run('path/to/file/or/directory')
print(terraform_plan)

How to test the software

To run the tests, you can use the following command:

pip install -e .[test]
pytest tests

Known issues

All known issues, bugs, and feature requests are tracked in the Issue tracker.

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 for development, you can use the following command:

pip install -r requirements.txt && pip install -e .[dev,test,doc,google]
pre-commit install && pre-commit run --all-files

For more information on how to help out, please check the CONTRIBUTING file.

Open source licensing info

  1. LICENSE
  2. CFPB Source Code Policy

Credits and references

  1. Projects that inspired you
  2. Related projects

Metadata

Release files for thipster 0.23.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thipster 0.23.15
File Size Uploaded
thipster-0.23.15.tar.gz 51.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thipster 0.23.15
File Interpreter ABI Platform
thipster-0.23.15-py3-none-any.whl Python 3 none any Details

Total release size: 115.8 kB

Release files / thipster-0.23.15.tar.gz

Download URL thipster-0.23.15.tar.gz
Size 51.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5af053fa98ae7d97c570b7695e396b4628729172350104ad194832ba4b172c51
BLAKE2b-256 checksum
How to use checksums
8c985d036c15b1d3d437508d3072f1b80ccad62a1814d7036b3b614b79aacbc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / thipster-0.23.15-py3-none-any.whl

Download URL thipster-0.23.15-py3-none-any.whl
Size 64.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42207dbe5e5348d60c33ced85ea2106a0d2a58446afe9772a8df4276f6213376
BLAKE2b-256 checksum
How to use checksums
efe4f1031521cd026b26336303d761819bb65e65d72dee1eee4061700e7bff15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.23.15 This release

2 release files

0.23.3

2 release files

0.23.0

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.6

2 release files

0.19.5

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.9

2 release files

0.17.8

2 release files

0.17.7

2 release files

0.17.6

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page