Skip to main content

Adapt boto3 to pyramid with pyramid_services

Install

from PyPI:

pip install pyramid_boto3

How to use

In configuration phase, include pyramid_boto3 after pyramid_services:

from pyramid.config import Configurator

def main(global_config, **settings):
    config = Configurator(settings=settings)
    config.include('pyramid_boto3')

    # Your configuration

    return config.make_wsgi_app()

In view or traversing, you can get predefined boto3’s Client or Resource instances through request.find_service():

@view_config()
def some_view(request):
    client = request.find_service(name='boto3.client.filepot')
    client.list_buckets()

You need to define servie’s name (ex/ 'boto3.client.filepot') and arguments in your config file:

[app:main]

# your-config

boto3.cache_factory = threading.local
boto3.sessions = mysession
boto3.session.mysession.core.config_file = /path/to/aws/config.ini
boto3.session.mysession.core.credentials_file = /path/to/aws/credentials.ini
boto3.session.mysession.core.profile = prof1
boto3.clients = filepot
boto3.client.filepot.session = mysession
boto3.client.filepot.service_name = s3

Configuration Keys

boto3.

namespace prefix

boto3.cache_factory

full qualified callable name. default is threading.local. if you would like to disable, set blank

boto3.sessions

list of session’s names

boto3.session.NAME.*

See: boto3.session.Session’s docs. param botocore_session are created from blow core. sub params.

boto3.session.NAME.core.

See: botocore.session.Session’s docs.

boto3.configs

list of client config’s names

boto3.config.NAME.*

See: botocore.config.Config’s docs.

boto3.config.NAME.s3.*

See: s3 parameter in botocore.config.Config’s docs.

boto3.clients

list of client’s names

boto3.client.NAME.session

name of session to create client.

boto3.client.NAME.config

(optional) name of config to create client.

boto3.client.NAME.*

See: boto3.session.Session.client()’s docs.

boto3.resources

list of resource’s names.

boto3.resource.NAME.session

name of session to create resource.

boto3.resource.NAME.config

(optional) name of config to create resource.

boto3.resource.NAME.*

See: boto3.session.Session.resource()’s docs.

Change History

0.3 - 2018-11-06

  • fixes imcompatibilities with botocore-1.12.38 later (#1)

  • include pre-requirements (pyramid_services)

  • drop python-3.3 support, add python-3.7 support

  • blackify and linted

0.2.1 - 2017-06-14

  • fixes resource cache

0.2 - 2017-06-14

  • botocore.session.Session.create_client does not support threading. See: boto/botocore#1033

  • per-thread cache.

  • tox support.

  • universal wheel support.

0.1 - 2016-04-09

  • Initial release.

Release files for pyramid_boto3 0.3

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

Source distribution (sdist)

Source distribution for pyramid_boto3 0.3
File Size Uploaded
pyramid_boto3-0.3.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyramid_boto3 0.3
File Interpreter ABI Platform
pyramid_boto3-0.3-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 16.0 kB

Release files / pyramid_boto3-0.3.tar.gz

Download URL pyramid_boto3-0.3.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
929a67d6e1d1351f6ae861fa5242e60924e21b453df1d600e3e365f7a074cbd0
BLAKE2b-256 checksum
How to use checksums
8cce40171657e0db0ad3dee85c2f4b2e1e1d638bb39b40d69f750f7d09571de5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

Release files / pyramid_boto3-0.3-py2.py3-none-any.whl

Download URL pyramid_boto3-0.3-py2.py3-none-any.whl
Size 8.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
41eef273f127411d24f825215a9c01eb7bc3e3d5150188be64585c30528491f1
BLAKE2b-256 checksum
How to use checksums
9301b849bb7fffae93bee4f0049d91d58336361d02f66fda809953a3a50d6010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files

0.2.1

2 release files

0.1

1 release file

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