Python Utility Package
Project description
Python Utility Package
rites to write py right
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
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
- Getting Started - Quick introduction and module overview
- Installation Guide - Detailed installation instructions
- Usage Examples - Practical examples for all modules
- API Reference - Complete API documentation
Developer Documentation
- Contributing Guide - How to contribute to Rite
- Development Setup - Set up your development environment
- Code Style Guide - Code standards and conventions
- Testing Guide - Testing practices and patterns
- Configuration Reference - Configuration files and settings
AI Agent Documentation
- AI Instructions - Guidelines for AI agents and GitHub Copilot
Additional Resources
- Changelog - Version history and release notes
- Architecture - System architecture overview
- Security Policy - Security guidelines and reporting
- License - MIT License details
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.
- website: scape.agency
- github: github.com/scape-agency
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d08fbf1960ffedc76bd6439c43b7e55a81da7e4cb0235419b5f1bd9e1b4a83a1
|
|
| MD5 |
fe900273bf454bb341d039062f1cf05b
|
|
| BLAKE2b-256 |
a5f0ba7b166cb97de4cf4be9aa82934c5bd4974efb9081826ea2bb21b48af036
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7de4a66e21a207f53c42fe3d34fc05dbc28530a5afb1734d3b57c6c86f2651fd
|
|
| MD5 |
2207e418f71ef18765fe7fe5925b78cd
|
|
| BLAKE2b-256 |
51c462a7cb2c2961f8aa35b37432a49f54f63f0fb3abc24dc6fa944d2ad5e0f5
|