Skip to main content

Python utility library

Project description

https://travis-ci.org/cloudboss/friend.svg?branch=master

What is Friend?

Friend is all of those of utilities you keep reimplementing across your Python projects, that all got together and decided to live in harmony.

Maybe you just parsed some YAML that contained some configuration in “snake_case”, and you want to pass this configuration to a boto3 function which takes the same values but in “PascalCase”. Then you might find snake_to_pascal_obj or one of its variants to come in handy.

with open('conf.yml') as f:
    conf = yaml.load(f)

ec2 = boto3.resource('ec2')
ec2.create_instances(
    ImageId='ami-12345678',
    BlockDeviceMappings=snake_to_pascal_obj(conf['block_device_mappings']),
    ....
)

Or you need to add a retry to that script that keeps breaking your Jenkins job because the corporate proxy fails about 5% of the time. Sure, you can add a try/except and wrap it in a for loop, but putting the retryable decorator on top of that problematic function will do that for you in one configurable line.

@retryable(times=5)
def flaky_function():
    status = requests.get('https://service.corp/v2/status').json()
    if 'error' in status:
        send_important_email(status['error'])

Read the full documentation at http://friend.readthedocs.io.

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

friend-0.1.2.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

friend-0.1.2-py2-none-any.whl (10.6 kB view details)

Uploaded Python 2

File details

Details for the file friend-0.1.2.tar.gz.

File metadata

  • Download URL: friend-0.1.2.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for friend-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8cabc3dcbfae7a062baa9934a1baeba11a41414347bd9bc2e5618fc136db6123
MD5 2032424b372c4a92c623835c7c161146
BLAKE2b-256 1b4fb640828cc07daa576aa0d97579306b43f555c33c853c40930cb938e4949c

See more details on using hashes here.

File details

Details for the file friend-0.1.2-py2-none-any.whl.

File metadata

File hashes

Hashes for friend-0.1.2-py2-none-any.whl
Algorithm Hash digest
SHA256 43238d89727b3a312b23afb8de20259d0b2316a29d61836f40f4e325c786dad9
MD5 2f6785e2cafa07299da0541293afdbc1
BLAKE2b-256 06523bb36ef12affb8c3a09983c02553f1b99532e96dd87a568124eef1b85d4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page