Skip to main content

A lightweight Python library for generating and analyzing combinatorial objects.

Project description

combpyter

A lightweight Python library for generating and analyzing combinatorial objects.

Installation

The latest release is simply pip-installable via PyPI. Simply run

pip install combpyter

to install the library.

Features

Please note that this is a personal and mostly research-driven project. As such, the implemented combinatorial structures span, for the time being, a narrow scope.

Currently, combpyter supports the following combinatorial objects:

  • Dyck paths (elements: DyckPath, generator: DyckPaths)

Example usage

This snippet iterates over all Dyck paths of semi-length 8 and computes the distribution of the number of peaks (which is a statistic described by Narayana numbers).

>>> from combpyter import DyckPaths
>>> from collections import defaultdict
>>> peak_distribution = defaultdict(int)
>>> for path in DyckPaths(8):
...     num_peaks = len(path.peaks())
...     peak_distribution[num_peaks] += 1
...
>>> for num_peaks, num_paths in peak_distribution.items():
...     print(f"There are {num_paths} Dyck paths with {num_peaks} peaks.")
...
There are 1 Dyck paths with 1 peaks.
There are 28 Dyck paths with 2 peaks.
There are 196 Dyck paths with 3 peaks.
There are 490 Dyck paths with 4 peaks.
There are 490 Dyck paths with 5 peaks.
There are 196 Dyck paths with 6 peaks.
There are 28 Dyck paths with 7 peaks.
There are 1 Dyck paths with 8 peaks.

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

combpyter-0.0.6.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

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

combpyter-0.0.6-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file combpyter-0.0.6.tar.gz.

File metadata

  • Download URL: combpyter-0.0.6.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.5

File hashes

Hashes for combpyter-0.0.6.tar.gz
Algorithm Hash digest
SHA256 f815fd583773c8d45abc1a40f167f416f8b3b486090b924b8562fd283eadb29d
MD5 d181baac11019767ef02663bb09fb264
BLAKE2b-256 9ab5a53c5bd07f07de0e9a0ce1c0a4747a1d54f20514394349ec572f9dfbc6e8

See more details on using hashes here.

File details

Details for the file combpyter-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: combpyter-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.5

File hashes

Hashes for combpyter-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e7c30f00518f11038847d42abd60910df351c8db635f608d5311277d270c3cf0
MD5 e200a205190db934311d93bf5862ddb8
BLAKE2b-256 2d4835893cc4dfb219f050273443d92aad9d56e3d0338c89bcb384774767f628

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