Skip to main content

To keep the old heart ticking

Project description

CircleCI branch PyPI version PyPI - Python Version Quality Gate Status

Pace Maker

There are times in your life when you have to call legacy api's that can handle like 2 reqs/sec. There is no point hammering the old man and killing him.

This library will help you pace calls to the old man, so his heart keeps ticking.

Combining this library with backoff(https://github.com/litl/backoff) can do wonders.

Install

python3 -m pip install pacemaker

Usage

    from pacemaker import pace_me

    # Function that will yield data that the process function needs
    def data_gen(n=3):
        for i in range(n):
            yield [x for x in range(n)]

    # Will make 3 requests to that url/sec using 1 token everytime process method is called. What data_gen function yields should be the first argument
    @pace_me(data_gen, rate_per_second=3, n=6)
    def process(data, url):
        r = requests.post(url, data=data)

Run tests

  • All tests (docker-compose run --rm test)

Release

  • Add PYPI_API_TOKEN env variable in circle
  • TWINE_PASSWORD used pypi login password which is bad

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

pacemaker-0.2.8.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

pacemaker-0.2.8-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file pacemaker-0.2.8.tar.gz.

File metadata

  • Download URL: pacemaker-0.2.8.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for pacemaker-0.2.8.tar.gz
Algorithm Hash digest
SHA256 ad143b7e4d51743167da41778441124c121591a198a4579d802914e657edc568
MD5 4ca7ffd94c4eedc924cc7664f02aa6dc
BLAKE2b-256 b491a264a6bba77669150acc72e334d55a2f8cca118d722ac5250be64dd272e9

See more details on using hashes here.

File details

Details for the file pacemaker-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: pacemaker-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for pacemaker-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 2a94ecd59d00913b8ab54fb7237294ebcc9f2bccdd87306bdf2c224a47142ee7
MD5 a953d3aee7b804287f0fcfd9d32de1a6
BLAKE2b-256 d4c7331796e6ddae6e4ba66fedc85f387048c1584a3165ea94db6a659da77840

See more details on using hashes here.

Supported by

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