Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cfeenstra67/pylumi
A Python API for interacting with Pulumi resource providers
https://github.com/cfeenstra67/pylumi
infrastructure-as-code pulumi pulumi-python
Last synced: about 1 month ago
JSON representation
A Python API for interacting with Pulumi resource providers
- Host: GitHub
- URL: https://github.com/cfeenstra67/pylumi
- Owner: cfeenstra67
- License: mit
- Created: 2020-10-20T23:56:09.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-06-12T03:32:11.000Z (over 1 year ago)
- Last Synced: 2024-12-15T18:50:21.130Z (about 2 months ago)
- Topics: infrastructure-as-code, pulumi, pulumi-python
- Language: Python
- Homepage:
- Size: 5.47 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
############
Pylumi
############|tests-passing| |build-passing| |docs| |pypi-version| |pypi-license|
Purpose
########**Pylumi** is a Python API providing the ability to manage `pulumi `_ resource plugin contexts and interact with the resource `Provider `_ interface. It was originally created to allow `statey `_ to re-use Pulumi resource providers, however the implementation is generic and could be reused for anything as desired.
Usage Example
##############.. code-block:: python
import pylumi
with pylumi.Context() as ctx, \
ctx.provider('aws', {'region': 'us-east-1'}) as aws:resp = aws.create(
pylumi.URN('aws:s3/bucketObject:BucketObject'),
{'bucket': 'some-bucket', 'key': 'some-key', 'content': 'Hello, world!'},
)Installation
#############Before installing `pylumi`, you must have Go installed on your system. For additional information, see the `Go Programming Language Installation Page `_.
Once that is done, install this package using:
.. code-block:: bash
$ pip install pylumi_NOTE_: There are only wheels available for Mac OS X. If you are trying to download on Linux, you'll have to have Go 1.16+ installed.
Compatibility
###############Tests are passing on Mac OS X and Ubuntu, see recent test runs in `Actions `_ for details.
Documentation
##############Documentation for Pylumi is hosted on Read the Docs: https://pylumi.readthedocs.io/.
Development
##############In order to build for development, you'll want to install all of the Python requirements first:
.. code-block:: bash
$ pip install -r requirements.txt -r requirements-tests.txt -r requirements-dev.txt
Then build the extension modules. You will need Go 1.16+ installed on your system:
.. code-block:: bash
$ python setup.py build_ext --inplace
Contact
#########If you have issues using this repository please open a issue or reach out to me at [email protected].
.. |docs| image:: https://readthedocs.org/projects/pylumi/badge/?version=latest
:alt: Documentation Status
:scale: 100%
:target: https://pylumi.readthedocs.io/en/latest/?badge=latest.. |pypi-version| image:: https://pypip.in/v/pylumi/badge.png
:target: https://pypi.org/project/pylumi/
:alt: Latest PyPI version.. |pypi-downloads| image:: https://pypip.in/d/pylumi/badge.png
:target: https://pypi.org/project/pylumi/
:alt: Number of PyPI downloads.. |pypi-license| image:: https://img.shields.io/pypi/l/pylumi.svg
:target: https://pypi.org/project/pylumi/
:alt: PyPI License.. |tests-passing| image:: https://github.com/cfeenstra67/pylumi/workflows/Run%20tests/badge.svg
:target: https://github.com/cfeenstra67/pylumi/actions?query=workflow%3A%22Run+tests%22
:alt: Tests Passing.. |build-passing| image:: https://github.com/cfeenstra67/pylumi/workflows/Upload%20to%20PyPI/badge.svg
:target: https://github.com/cfeenstra67/pylumi/actions?query=workflow%3A%22Upload+to+PyPI%22
:alt: Build Passing