Note Now cloudgeass has an official documentation page on readthedocs! possui uma documentação oficial no readthedocs! Check it out to get access to the latest features!
To start using the package, just install it using pip (or any other Python dependency management of your choose) as:
pip install cloudgeass
You may want to install cloudgeass in a Python virtual environment to get a good control of your project or application dependencies. If you don't know what this is about, feel free to take a look at this excellent article from Real Python.
Getting straight to the point, each cloudgeass module represents an AWS service that contains at least one class and a bunch of methods built from both boto's source client and resource for that service.
In other words, some modules that you can find here are:
cloudgeass.aws.s3
for working with S3 servicecloudgeass.aws.ec2
for working with EC2 servicecloudgeass.aws.secrets
for working with Secrets Manager service- and some others
Each one of the aforementioned modules have at least one class that can be imported on user's application in order to provide access to all features for that given AWS service. So, we have:
cloudgeass.aws.s3.S3Client
class with methods to operate with S3 servicecloudgeass.aws.ec2.EC2Client
class with methods to operate with EC2 servicecloudgeass.aws.secrets.SecretsManagerClient
class with methods to operate with Secrets Manager service- and some others
All cloudgeass' service classes are initialized with a set of predefined attributes to make the work easier. Those basic attributes are:
Service class attribute | Description |
---|---|
self.logger |
A preconfigured logger object to build and stream informative log messages |
self.client |
A boto3 client for the given service |
self.resource |
A boto3 resource for the given service |
The attributes can be externally accessed for all class instances created on an application. This means users can build an application using both cloudgeass and source boto3 code.
Finally, each service class has its own set of methods that, in fact, enables the power of using cloudgeass to do simple tasks in an AWS environment. To mention some of them, we have:
- S3Client.get_last_date_partition() to get the last date partition from a table stored in S3
- EC2Client.get_default_vpc_id() to get the default VPC ID of an AWS account
- SecretsManagerClient.get_secret_string() to get a secret string given a secret ID
- GitHub: @ThiagoPanini
- LinkedIn: Thiago Panini
- Hashnode: panini-tech-lab
- DevTo: thiagopanini
Python
Docs
- NumPy docstrings
- Eduardo Mendes - Live de Python 189 - MkDocs
- MkDocs
- pmdown-extensions
- GitHub - MkDocs Themes
- GitHub - Material Theme for MkDocs
- Material for MkDocs - Setup
Github
- GitHub Actions - pypa/gh-action-pypi-publish
- Medium - Major, Minor and Patch
- Medium - Automate PyPI Releases with GitHub Actions
Tests