Skip to main content

Python Utility Package

Project description

rite Logo

Python Utility Package

rites to write py right




license website python wheel

stars forks downloads issues sponsors contributors



Table of Contents

About

rite is a modern Python utility library with zero external runtime dependencies. Built with Python 3.12+ in mind, it provides a comprehensive collection of utilities for cryptography, filesystem operations, text processing, collections, conversions, networking, and more.

Key Features

  • Zero Dependencies: No external runtime dependencies
  • Type Safe: Comprehensive type hints with Python 3.12+ syntax
  • Well Tested: >99% code coverage with extensive test suite
  • Modern Python: Supports Python 3.12, 3.13
  • Modular Design: Clear module organization with consistent structure
  • Fully Documented: Extensive documentation and practical examples

Module Overview

Module Description
collections Buffers, caches (LRU/LFU/TTL), dict/list/set utilities, queues, trees
conversion Type conversions, format transformations, unit conversions
crypto UUID generation, hashing (SHA-256, MD5, BLAKE2), ciphers, random
diagnostics Debugging, error handling, logging, metrics, profiling
filesystem File/folder operations, compression, path utilities, MIME types
functional Composition, currying, decorators, memoization, predicates
markup HTML/XML/Markdown processing, entity encoding, sanitization
net HTTP utilities, MIME types, URL encoding, request helpers
numeric Math operations, statistics, number formatting
reflection Attributes, inspection, signatures, type checking
serialization JSON, CSV, INI, TOML, pickle serialization
system Environment, platform detection, process management, shell
temporal Date/time utilities, timestamp operations, formatting
text Slug generation, case conversion, sanitization, analysis, search

Quick Start

Installation

From PyPI:

pip install rite

Using Poetry:

poetry add rite

From Source:

git clone https://github.com/scape-agency/rite.git
cd rite
poetry install

View on PyPI

Basic Usage

# Cryptography
from rite.crypto.uuid import uuid_hex
from rite.crypto.hash import hash_sha256

user_id = uuid_hex()
password_hash = hash_sha256("secure_password")

# Filesystem
from rite.filesystem.file import file_copy, file_exists

if file_exists("config.json"):
    file_copy("config.json", "config.backup.json")

# Text Processing
from rite.text.slug import slug_generate
from rite.text.case import case_to_snake

slug = slug_generate("Hello World!")  # 'hello-world'
snake = case_to_snake("helloWorld")   # 'hello_world'

# Collections
from rite.collections.list import list_unique, list_flatten

unique = list_unique([1, 2, 2, 3])    # [1, 2, 3]
flat = list_flatten([[1, 2], [3, 4]]) # [1, 2, 3, 4]

# Serialization
from rite.serialization.json import json_load, json_dump

data = json_load("config.json")
json_dump(data, "output.json", indent=2)

# Functional
from rite.functional.composition import composition_pipe

pipeline = composition_pipe(str.strip, str.lower, str.title)
result = pipeline("  hello world  ")  # 'Hello World'

# System
from rite.system.platform import platform_is_linux, platform_name

if platform_is_linux():
    print(f"Running on {platform_name()}")

# Diagnostics
from rite.diagnostics.profiling import profiling_stopwatch

with profiling_stopwatch() as timer:
    # ... your code ...
    pass
print(f"Elapsed: {timer.elapsed:.3f}s")

Documentation

User Documentation

Developer Documentation

AI Agent Documentation

Additional Resources


Authors

rite is an open-source project by Scape Agency.

Scape Agency is a spatial innovation collective that dreams, discovers and designs the everyday of tomorrow. We blend design thinking with emerging technologies to create a brighter perspective for people and planet. Our products and services naturalise technology in liveable and sustainable –scapes that spark the imagination and inspire future generations.


Contributing

We'd love for you to contribute and to make rite even better than it is today! Please refer to the contribution guidelines for details on:

  • Code of conduct
  • Development workflow
  • Code standards
  • Testing requirements
  • Pull request process

Quick start for contributors:

# Clone the repository
git clone https://github.com/scape-agency/rite.git
cd rite

# Install dependencies
poetry install --with dev

# Install pre-commit hooks
poetry run pre-commit install

# Run tests
make test

# Run all checks
make check

License

Except where otherwise noted, rite is licensed under the terms of the MIT License.


Disclaimer

THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.


Made with ♥ by Scape Agency
Copyright 2025 Scape Agency. All Rights Reserved

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

rite-0.2.2.tar.gz (146.1 kB view details)

Uploaded Source

Built Distribution

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

rite-0.2.2-py3-none-any.whl (357.5 kB view details)

Uploaded Python 3

File details

Details for the file rite-0.2.2.tar.gz.

File metadata

  • Download URL: rite-0.2.2.tar.gz
  • Upload date:
  • Size: 146.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure

File hashes

Hashes for rite-0.2.2.tar.gz
Algorithm Hash digest
SHA256 d08fbf1960ffedc76bd6439c43b7e55a81da7e4cb0235419b5f1bd9e1b4a83a1
MD5 fe900273bf454bb341d039062f1cf05b
BLAKE2b-256 a5f0ba7b166cb97de4cf4be9aa82934c5bd4974efb9081826ea2bb21b48af036

See more details on using hashes here.

File details

Details for the file rite-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: rite-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 357.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure

File hashes

Hashes for rite-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7de4a66e21a207f53c42fe3d34fc05dbc28530a5afb1734d3b57c6c86f2651fd
MD5 2207e418f71ef18765fe7fe5925b78cd
BLAKE2b-256 51c462a7cb2c2961f8aa35b37432a49f54f63f0fb3abc24dc6fa944d2ad5e0f5

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