crosszip
crosszip 1.1.0
crosszip is a Python utility that makes it easy to apply a function to
all possible combinations of elements from multiple iterables. It
combines the power of the Cartesian product and functional programming
into a single, intuitive tool.
Additionally, @pytest.mark.crosszip_parametrize is a pytest marker
that simplifies running tests with all possible combinations of
parameter values.
| Package Manager | Installation Command |
|---|---|
| pip | pip install crosszip |
| uv | uv pip install crosszip |
Example of using crosszip:
# Label Generation for Machine Learning
from crosszip import crosszip
def create_label(category, subcategory, version):
return f"{category}_{subcategory}_v{version}"
categories = ["cat", "dog"]
subcategories = ["small", "large"]
versions = ["1.0", "2.0"]
labels = crosszip(create_label, categories, subcategories, versions)
print(labels)['cat_small_v1.0', 'cat_small_v2.0', 'cat_large_v1.0', 'cat_large_v2.0', 'dog_small_v1.0', 'dog_small_v2.0', 'dog_large_v1.0', 'dog_large_v2.0']
Example of using pytest marker crosszip_parametrize:
# Testing Power Function
import math
import crosszip
import pytest
@pytest.mark.crosszip_parametrize(
"base",
[2, 10],
"exponent",
[-1, 0, 1],
)
def test_power_function(base, exponent):
result = math.pow(base, exponent)
assert result == base**exponentFor more examples, check out the package documentation at: https://indrajeetpatil.github.io/crosszip/
crosszip_parametrize marker for
running tests with all possible combinations of parameter values.This project is licensed under the MIT License.
Hex sticker font is Rubik, and the image is taken from icon made by
Freepik and available at flaticon.com.