Skip to main content

Implement Terraform providers in Python

Project description

tfprovider(-python)

This is a library to allow you to write Terraform providers in Python.

To actually deploy providers that use this library, you'll probably want to use a packaging system like terradep-python.

Project status

NOT USABLE YET for anyone but myself, trust me.

If this would be useful for you once completed, just let me know in an issue and I'll see what I can do to finish it. There is just no point working on this if nobody needs it, and my own use case isn't as important to me anymore, so I've put it on hold for now.

Implemented/missing features

If you need any of these, please either open an issue (on GitLab or GitHub, doesn't matter to me) or comment on an existing one and I'll see what I can do. In contrast to larger projects, I actually prefer +1 comments over thumbs ups for now (!) because they are easier for me to get notified of.

Most of them aren't difficult or time-consuming for me to implement, there is just no point doing it if nobody needs it.

  • General:
    • Not being completely horrible to use and full of bugs
  • Kinds of Terraform objects:
    • Resources
    • Data sources
  • Terraform data types:
    • Strings
    • Sets of strings
    • Unrefined unknowns
    • Refined unknowns
    • Anything else, including more complex types
  • Miscellaneous features:
    • Private state
    • Upgrading state from earlier versions
      • Currently has an API for this that can't possibly work => needs overhaul
  • Utilities:
    • Automatic comparison for requires_replace
  • Infrastructure:

Development

Sync/Async variants

The sync variant of the API is automatically generated from the async one using unasync. With dev dependencies installed, you can regenerate them by running run_unasync.py as a Python script (e.g. via poetry run run_unasync.py).

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

tfprovider-0.1.1.post1.tar.gz (328.9 kB view details)

Uploaded Source

Built Distribution

tfprovider-0.1.1.post1-py3-none-any.whl (337.2 kB view details)

Uploaded Python 3

File details

Details for the file tfprovider-0.1.1.post1.tar.gz.

File metadata

  • Download URL: tfprovider-0.1.1.post1.tar.gz
  • Upload date:
  • Size: 328.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for tfprovider-0.1.1.post1.tar.gz
Algorithm Hash digest
SHA256 cdf178e9be3af18e87b8c7305f44dd053062f3c378c3433f322c2f453f2520cb
MD5 d3a00e7d26230734a20958e85db2e328
BLAKE2b-256 c215f0cdef82762a6e99b69c6babae69d707234d12fdb0bfe4b515ad07c5a515

See more details on using hashes here.

File details

Details for the file tfprovider-0.1.1.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for tfprovider-0.1.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 0f082f53c212410a69a5292c1458b27939254b0fc787fae69fec0da1473359a1
MD5 c2dfb4a173d4e8c642bd00ced2977107
BLAKE2b-256 3def5ff5c886a3ee23e18f7f31e01b32534326f9b191603e849aafd073b57c5d

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