Stricter verion of zip.
Project description
Overview
The howe project contains the Howe class. A Howe object is similar to a zip object, except that all the iterators have to run out at the same time. Otherwise an ExceptionGroup (containing the StopIteration exceptions from the iterators that did run out) will be raised. The project is named for E. Howe, one of the intentors of the zipper.
Installation
To install howe, you can use pip. Open your terminal and run:
pip install howe
Implementation
class Howe:
def __init__(self, *args):
self._args = [iter(x) for x in args]
def __iter__(self):
return self
def __next__(self):
elements = list()
errors = list()
for arg in self._args:
try:
element = next(arg)
except StopIteration as error:
errors.append(error)
else:
elements.append(element)
if not len(errors):
return tuple(elements)
if len(elements):
raise ExceptionGroup("Howe failed.", errors)
raise StopIteration
License
This project is licensed under the MIT License.
Links
Credits
Author: Johannes
Thank you for using howe!
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file howe-1.0.4.tar.gz.
File metadata
- Download URL: howe-1.0.4.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4091f578ca354868883ee8a6b297e9638a461a639b9ee5a75a728c095bbb3ecd
|
|
| MD5 |
49d661f30d607f2deb2ae26e4b7a2930
|
|
| BLAKE2b-256 |
89bf0888713c5d1b6a5653620befbf13d8cdecf6cab21234e1cd44f047a24df5
|
File details
Details for the file howe-1.0.4-py3-none-any.whl.
File metadata
- Download URL: howe-1.0.4-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c373b0a9487fefea3e84b432d79cfecbdc5f4caf8f1cb75d3dd65cc907532425
|
|
| MD5 |
55241e77400a1714645e308bc61f6675
|
|
| BLAKE2b-256 |
e8595a4a5d2a50ba7ad53af6d8d5ec3b808b2ce0b05c618361220a35d9b42e25
|