Skip to main content

Custom Combination

Version 0.0.3

Python implementation for Custom Combination.

Usage

Programmatic usage

from custom_combination import CustomCombination

CustomCombination.generate(
    items=[("a", 1), ("b", 2), ("c", 3), "d"],
    pick=3,
    min_picks=[("b", 1)],
    max_picks=[("a", 0)])

CLI usage

custom_combination --items "a,b,b,c,c,c,d" -p 3 -minp "b,1" -maxp "a,0"

Output:

['b', 'c', 'd']
['b', 'c', 'c']

Set up locally for development

  1. Clone the repository

    git clone git@github.com:yilmazhasan/custom_combination.git

  2. Create and activate the virtural environment

    python -m venv .venv

    source .venv/bin/activate

  3. Install requirements:

    pip install -r requirements.txt

  4. Run the app:

    python src/custom_combination/cli.py --items a,b,b,c,c,c,d -p 3 -minp b,1 -maxp a,0

  5. Test the app:

    pytest

Args Explained

--items "a,b,b,c,c,c,d" --pick 3 --min-picks b,1 --max-picks a,0

or shortly:

--items "a,b,b,c,c,c,d" -p 3 -minp b,1 -maxp a,0

This indicates that:

  • We have four items in the set ["a", "b", "c", "d"] but with different frequencies.

  • Thus we have the list as ["a", "b", "b", "c", "c", "c", "d"]

  • We want to generate combinations that have 3 items, which -pick 3 specifies.

  • We want to pick at least:

    • 1 occurrences of "b"
  • We want to pick at max:

    • 0 occurrences of "a"

This indicates the list to generate from is:

["b", "b", "c", "c", "c", "d"] out of

["a", "b", "b", "c", "c", "c", "d"] as "a" is excluded.

Since "b" is to be included once, we need to select 2 more items from the list ["c", "c", "c", "d"], so we can select ["c", "c"] or ["c", "d"]

Expected output:

[
    ["b", "c", "c"],
    ["b", "c", "d"]
]

Release files for custom-combination 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for custom-combination 0.0.3
File Size Uploaded
custom_combination-0.0.3.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for custom-combination 0.0.3
File Interpreter ABI Platform
custom_combination-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / custom_combination-0.0.3.tar.gz

Download URL custom_combination-0.0.3.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3b5779d87385695c30cf71a0da5ac87af6653019e9f46a855ff837d52efbe0de
BLAKE2b-256 checksum
How to use checksums
fb329901f9278285416bff7aaa2fa8180d0f5f0c9b2ebd334b4619cf2821aa3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / custom_combination-0.0.3-py3-none-any.whl

Download URL custom_combination-0.0.3-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
643c0f13e67124467130f094668d7fa5e66e2511519916f6266183b1705df909
BLAKE2b-256 checksum
How to use checksums
23fbe84fc0f955d3ddbf1de50321a4397dcd4d178d7127bd4ea0f42ce18f6d46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page