Skip to main content

Personally common and useful Python features

Project description

kaparoo-python

PyPI version Downloads Python License: MIT uv Ruff ty Copier

Personally common and useful Python features.

📦 Installation

Requires Python 3.14+.

# With uv (recommended)
uv add kaparoo-python

# With pip
pip install kaparoo-python

🧩 Modules

Each submodule ships its own README with focused examples.

kaparoo.filesystem

pathlib-based filesystem helpers: existence checks (*_exists), ensure_* validators, make_dir(s), dir_empty(s), path stringification, and a small exception hierarchy.

kaparoo.filesystem.search

Filesystem traversal with composable filters. Includes search_paths / search_files / search_dirs, a Filter family (pattern, multi-pattern, logical) that round-trips through JSON-friendly dicts, and an extension hook for custom filter kinds.

kaparoo.utils

Timer / LapTimer context-manager-and-decorator timers, plus a small family of helpers for working with Optional[T] values (replace_if_none, unwrap_or_default, ...).

kaparoo.data

Building blocks for dataset code: DataSequence[T, M] ABC (item + metadata), composers (SlicedSequence, ConcatSequence, WindowedSequence), file-backed templates (FileFolderSequence, SingleFileSequence), and generate_batches.

🎯 Quick example

from kaparoo.filesystem import search_files
from kaparoo.filesystem.search.filters import And, EndsWith, Equals, Not

# All .py files except __init__.py
py_files = search_files(
    "src",
    name_filter=And((EndsWith(".py"), Not(Equals("__init__.py")))),
)

See each submodule's README for more.

📋 TODO

See TODO.md for tracked open items.

📜 Changelog

See CHANGELOG.md for the version history.

⚖️ License

This project is distributed under the terms of the MIT license.

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

kaparoo_python-0.3.0.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

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

kaparoo_python-0.3.0-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file kaparoo_python-0.3.0.tar.gz.

File metadata

  • Download URL: kaparoo_python-0.3.0.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kaparoo_python-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3a5f7dccf0587015b9e07a614f17b188cc42fc7022790f8ed99b18effa271f8e
MD5 02e99ac8456f7bab04c1e1e059c470b3
BLAKE2b-256 3181d7291b14f12441447379a688ea8e9f5475631d033c692ea6155acae49e05

See more details on using hashes here.

Provenance

The following attestation bundles were made for kaparoo_python-0.3.0.tar.gz:

Publisher: publish.yml on kaparoo/kaparoo-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kaparoo_python-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: kaparoo_python-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kaparoo_python-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11abe52db833831c09ea094fc33419e6ab1cf2822d2f8a60832df1cf9b117a36
MD5 6c885be70a8cf4071f4453a6ee81dba1
BLAKE2b-256 9708c381cd548c6cb0183a649bc0e8540789e4698edb5acba7c8b77baec973a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for kaparoo_python-0.3.0-py3-none-any.whl:

Publisher: publish.yml on kaparoo/kaparoo-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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