{"id":18510759,"url":"https://github.com/envato/batch_retry","last_synced_at":"2025-10-28T12:10:28.395Z","repository":{"id":57414137,"uuid":"109088718","full_name":"envato/batch_retry","owner":"envato","description":"Batch send data with retries and exponential backoff","archived":false,"fork":false,"pushed_at":"2017-12-15T03:58:12.000Z","size":16,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":70,"default_branch":"master","last_synced_at":"2025-01-26T15:36:21.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/envato.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-01T04:57:20.000Z","updated_at":"2019-07-03T20:50:29.000Z","dependencies_parsed_at":"2022-08-26T20:13:00.352Z","dependency_job_id":null,"html_url":"https://github.com/envato/batch_retry","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envato%2Fbatch_retry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envato%2Fbatch_retry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envato%2Fbatch_retry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envato%2Fbatch_retry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/envato","download_url":"https://codeload.github.com/envato/batch_retry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239225766,"owners_count":19603162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T15:24:55.617Z","updated_at":"2025-10-28T12:10:28.324Z","avatar_url":"https://github.com/envato.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Batch Retry\n\nThis library provides an interface to submit a batch of records to an API, which retries all failed records with an exponential backoff. Currently it just supports Kinesis using the [PutRecords](http://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) API method, but it can be used to support more APIs.\n\nUsage:\n\n```\nfrom batch_retry import BatchRetry\nfrom batch_retry import KinesisProcessor\n\ndef main():\n  kinesis_client = boto3.client('kinesis')\n  send_function = KinesisProcessor(kinesis_client, 'my-stream', batch_size=250).send\n  BatchRetry(send_function, retries=5).send_with_retries(['my_first_record'])\n```\n\n## Development Status\n\nWe don't recommend using it in production\n\n## Installing\n\n`pip install batch_retry`\n\nOr add it to your `requirements.txt` file\n\n## Contributing\n\nFor bug fixes, documentation changes, and small features:  \n1. Fork it ( https://github.com/envato/batch_retry/fork )  \n2. Create your feature branch (`git checkout -b my-new-feature`)  \n3. Commit your changes (`git commit -am 'Add some feature'`)  \n4. Push to the branch (`git push origin my-new-feature`)  \n5. Create a new Pull Request  \n\nFor larger new features: Do everything as above, but first also make contact with the project maintainers to be sure your change fits with the project direction and you won't be wasting effort going in the wrong direction\n\n### Running tests\n\n```\npython setup.py test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvato%2Fbatch_retry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenvato%2Fbatch_retry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvato%2Fbatch_retry/lists"}