Skip to main content

buvis-pybase

Foundation library for BUVIS Python projects. Provides configuration management, filesystem utilities, adapters for external tools, and string manipulation.

Install

pip install buvis-pybase

Features

  • Configuration - Pydantic settings with Click helpers (buvis_options, get_settings)
  • Adapters - Shell, UV, Poetry, JIRA, Console wrappers
  • Filesystem - Cross-platform file metadata, directory operations
  • Formatting - String slugify, abbreviations, case conversion

Usage

import click
from buvis.pybase.configuration import buvis_options, get_settings, GlobalSettings
from buvis.pybase.adapters import ShellAdapter, ConsoleAdapter
from buvis.pybase.filesystem import DirTree
from buvis.pybase.formatting import StringOperator

# Config via Click (adds --debug/--log-level/--config-dir/--config)
@click.command()
@buvis_options  # Use settings_class=CustomSettings for tool-specific models
@click.pass_context
def main(ctx: click.Context) -> None:
    settings = get_settings(ctx)  # GlobalSettings by default
    click.echo(f"Debug: {settings.debug}")

# Shell commands
shell = ShellAdapter()
stderr, stdout = shell.exe("ls -la")

# Console output
console = ConsoleAdapter()
console.success("Done")

# Filesystem
DirTree.remove_empty_directories("/path/to/clean")

# Strings
slug = StringOperator.slugify("Hello World!")  # "hello-world"

Development

uv sync --all-groups                        # install deps
pre-commit install --hook-type pre-commit --hook-type post-commit  # setup hooks
uv run pytest                               # run tests

Release

Releases via GitHub Actions (manual trigger):

  1. Go to Actions → Release workflow → Run workflow
  2. Choose prerelease (test.pypi only) or release (both pypis + GitHub release)

Version determined from conventional commits (feat: → minor, fix: → patch).

uv run semantic-release version --print --noop  # preview next version

See dev/docs/versioning.md for details.

License

MIT

Metadata

Release files for buvis-pybase 0.10.0

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

Source distribution (sdist)

Source distribution for buvis-pybase 0.10.0
File Size Uploaded
buvis_pybase-0.10.0.tar.gz 209.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for buvis-pybase 0.10.0
File Interpreter ABI Platform
buvis_pybase-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 267.4 kB

Release files / buvis_pybase-0.10.0.tar.gz

Download URL buvis_pybase-0.10.0.tar.gz
Size 209.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9e0811045c0e40e8fba95f2a4f5414446be307e4cfe1d3a24a4d0b9b582399ea
BLAKE2b-256 checksum
How to use checksums
c688d72a69935223f7b392d019ba4a40fff8777443424d014a4e8a71744282ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 11, 2026.

Transparency log

Release files / buvis_pybase-0.10.0-py3-none-any.whl

Download URL buvis_pybase-0.10.0-py3-none-any.whl
Size 58.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c8f31b926c8a4b43018108ba9b7ca45a28eb75367e84b59114a8cf50192f3b20
BLAKE2b-256 checksum
How to use checksums
f0d67628e774f2ff479e6d2916ab85e3e2629719454f128df9d2b51a84374d15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 11, 2026.

Transparency log
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