Skip to main content

Wrapper on iterable for automatic caching, resuming, retrying, and multiprocessing

Project description

Wrapper on an iterable to support interruption & auto resume, retrying and multiprocessing.

The code is tested on Linux.

APIs

Please refer to the signature of function.iterate_wrapper or generator.IterateWrapper for usage.

Examples

iterate_wrapper

from typing import IO
from time import sleep

from iterwrap import iterate_wrapper

def square(f_io: IO, item: int, fn: Callable[[float], float]):
    result = fn(item)
    f_io.write(f"{result}\n")

data = list(range(10))
num_workers = 3
iterate_wrapper(
    square,
    data,
    output="output.txt",
    num_workers=num_workers,
    fn=lambda x: x * x,
)

with open("output.txt") as f:
    print(f.read()) # [0, 1, 4, 9, ..., 81]

IterateWrapper

Just the same as tqdm.tqdm.

from iterwrap import IterateWrapper

data = [1, 2, 3]
results = []
for i in IterateWrapper(data):
    results.append(i * i)
print(results) # [1, 4, 9]

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

iterwrap-0.4.1.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

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

iterwrap-0.4.1-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file iterwrap-0.4.1.tar.gz.

File metadata

  • Download URL: iterwrap-0.4.1.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for iterwrap-0.4.1.tar.gz
Algorithm Hash digest
SHA256 60871024d9c0c3da94c685a7101f158fec8f51e89ca34f24661ce526b6d76b06
MD5 ef77134b123caf9e4957cb6a46bf75c9
BLAKE2b-256 6b0d27114d8b7c9c959271ba75878b866a280088645ebc397e9525ebf4177f8f

See more details on using hashes here.

File details

Details for the file iterwrap-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: iterwrap-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for iterwrap-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1563fb0cc21585156ee954e3d718578b9401d274014578cd631448b8e5f419e
MD5 9b0568fbb70ce85fdee9083452093221
BLAKE2b-256 a7773e0246829295bab29393d7a28ad9e8cb1c9fc20b1a2e99d509539fcd8142

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