Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

A simple facade for Boto3

Project description

boto3facade
=========================

[![Build Status](https://travis-ci.org/FindHotel/boto3facade.svg?branch=master)](https://travis-ci.org/FindHotel/boto3facade)
[![PyPI](https://img.shields.io/pypi/v/boto3facade.svg?style=flat)](https://pypi.python.org/pypi/boto3facade)

A simple facade for [boto3][boto3] that makes some common tasks easier. The
`boto3facade` module is not intended to be used directly but as a shared
components of projects that use boto3.


[boto3]: https://github.com/boto/boto3


## Installation

To install the development version:

```
pip install git+https://github.com/FindHotel/boto3facade
```

To install the latest stable release:

```
pip install boto3facade
```

## Quickstart

The `boto3facade` package contains a collection of modules that implement
facades to different AWS services. For instance the `boto3facade.ec2` module
implements the facade to [AWS EC2 service][ec2]. Each of these modules
typically contain just one class, named as the corresponding AWS service. E.g.
the `boto3facade.ec2` module contains an `Ec2` class. In some cases, there may
also be public module functions that implement utilities that don't require
access to the [AWS boto3 SDK][boto3]. For instance in the EC2 facade:

[ec2]: https://aws.amazon.com/ec2/

```python
import boto3facade.ec2 as ec2

# Get the name of the role associated to the EC2 instance
if ec2.in_ec2():
# If this code is running in an EC2 instance
role_name = ec2.get_instance_profile_role()
else:
role_name = None
```

Facade methods that actually use `boto3` are always implemented as instance
methods:

```python
from boto3facade.ec2 import Ec2

# Create the facade object
my_ec2_facade = Ec2()

# Get the list of AMIs that have tags matching the provided ones
ami_tags = {'Name': 'niceimage', 'Version', 'latest'}
ami_list = my_ec2_facade.get_ami_by_tag(ami_tags)

# Get the SecurityGroup boto3 resource with a certain name
my_sg = my_ec2_facade.get_sg_by_name('sgname')
```


## Development

```
make develop
. .env/bin/activate
```


## Contact

If you have questions, bug reports, suggestions, etc. please create an issue on
the [GitHub project page](http://github.com/FindHotel/boto3facade).


## License

This software is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License)

See [License file](https://github.com/FindHotel/boto3facade/blob/master/LICENSE)


© 2016 German Gomez-Herrero, and FindHotel.

Project details


Release history Release notifications

History Node

0.5.9

History Node

0.5.8

This version
History Node

0.5.7

History Node

0.5.6

History Node

0.5.5

History Node

0.5.4

History Node

0.5.3

History Node

0.5.2

History Node

0.5.1

History Node

0.5.0

History Node

0.4.9

History Node

0.4.8

History Node

0.4.7

History Node

0.4.6

History Node

0.4.5

History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4.0

History Node

0.3.9

History Node

0.3.8

History Node

0.3.7

History Node

0.3.6

History Node

0.3.5

History Node

0.3.4

History Node

0.3.3

History Node

0.3.0

History Node

0.2.9

History Node

0.2.8

History Node

0.2.7

History Node

0.2.6

History Node

0.2.5

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.0.9

History Node

0.0.8

History Node

0.0.7

History Node

0.0.6

History Node

0.0.5

History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
boto3facade-0.5.7.tar.gz (16.5 kB) Copy SHA256 hash SHA256 Source None Jan 13, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page