Skip to main content

textutils

textutils is a small Python library providing simple text-processing utilities.

The project is used to practice the foundations of open-source development: project structure, documentation, Git workflows, testing, packaging, release automation, and project maintenance.

Features

The library provides:

  • word_count(text) — counts words separated by whitespace.
  • character_count(text) — counts every character in the input text.
  • reverse(text) — returns the input text in reverse order.
  • capitalize_words(text) — capitalizes the first ASCII letter of each word.
  • snake_case(text) — converts whitespace-separated words to lowercase snake_case.

Installation

Install the released package from PyPI:

python -m pip install textutils-subzero710

The distribution name on PyPI is textutils-subzero710, while the Python import remains textutils.

For local development:

git clone https://github.com/Subzero710/textutils.git
cd textutils
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"

Usage

from textutils import (
    capitalize_words,
    character_count,
    reverse,
    snake_case,
    word_count,
)

print(word_count("Hello Open Source"))       # 3
print(character_count("hello"))              # 5
print(reverse("hello"))                      # olleh
print(capitalize_words("hello open source")) # Hello Open Source
print(snake_case("Hello Open Source"))       # hello_open_source

Development checks

Run the full local validation:

python -m black --check .
python -m ruff check .
python -m pytest

Build the wheel and source distribution:

python -m build

Generated release artifacts are written to dist/.

Public API

The supported public API is exported by textutils/__init__.py.

Internal implementation helpers use a leading underscore and are not part of the public API.

Contributing

When making a change:

  1. Keep the change focused.
  2. Add or update tests when behavior changes.
  3. Run Black, Ruff, and pytest before pushing.
  4. Use a clear and descriptive commit message.

License

This project is licensed under the MIT License. See LICENSE for details.

Metadata

Release files for textutils-subzero710 0.1.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 textutils-subzero710 0.1.0
File Size Uploaded Provenance Actions
textutils_subzero710-0.1.0.tar.gz 6.4 kB With provenance Details for textutils_subzero710-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for textutils-subzero710 0.1.0
File Interpreter ABI Platform Actions
textutils_subzero710-0.1.0-py3-none-any.whl Python 3 none any Details for textutils_subzero710-0.1.0-py3-none-any.whl

Total release size: 13.3 kB

Release files / textutils_subzero710-0.1.0.tar.gz

Download URL textutils_subzero710-0.1.0.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4d6f51fb85204aa327f9e791b5311ce5748ff2897e10b3853e62c9854a71178f
BLAKE2b-256 checksum
How to use checksums
e5e6ae7f842475cbf9b547c3099ebb66aeae5dd00d4d25f3637006eece85c42a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / textutils_subzero710-0.1.0-py3-none-any.whl

Download URL textutils_subzero710-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee03b60b8fd4e35c66da1458f9cb765186c52d32b9349d09fc9c35ea03698cd1
BLAKE2b-256 checksum
How to use checksums
301eca5275dc4e05dd19bdc86183fed5b44d1a5133162c185c2595dfe47f8a6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Security for textutils-subzero710 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for textutils_subzero710-0.1.0.tar.gz

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 Oct 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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