Features¶
provide.foundation offers a comprehensive toolkit for building robust applications with excellent quality standards.
Quality Standards¶
provide.foundation maintains high standards for code quality, testing, and reliability:
- High Test Coverage (>80%) with 1000+ comprehensive tests
- Extensive 100% coverage of core components and critical modules
- Comprehensive Security Testing with path traversal, symlink validation, and input sanitization
- Performance Benchmarked logging, transport, and archive operations
- Type-Safe Codebase with comprehensive type annotations
- Automated Quality Checks with ruff, mypy, and bandit
Core Components¶
Structured Logging¶
Beautiful, performant logging built on structlog with event-enriched structured logging and zero configuration required.
Key Features: - Zero configuration - works out of the box - Structured event logging with key-value pairs - Performance optimized (>14,000 msg/sec) - Emoji-enhanced visual parsing for quick scanning - Domain-Action-Status pattern support - Automatic exception logging with tracebacks
Learn More: Basic Logging Guide
Metrics¶
Lightweight and extensible metrics collection with optional OpenTelemetry integration.
Key Features: - Simple counter, gauge, and histogram metrics - OpenTelemetry integration for distributed systems - Low overhead design - Automatic service identification
CLI Framework¶
Build command-line interfaces with automatic help generation and component registration (requires [cli] extra).
Key Features:
- Declarative command registration with @register_command
- Automatic help text generation
- Built on Click for robust argument parsing
- Component-based architecture with the Hub system
- Rich console output with colors and formatting
Learn More: CLI Commands Guide
Configuration Management¶
Flexible configuration system supporting environment variables, files, and runtime updates.
Key Features:
- Environment variable support with type coercion
- File-based configuration (YAML, JSON, TOML)
- Secret file support with file:// prefix
- Type-safe configuration classes with attrs
- Runtime configuration updates
Error Handling¶
Comprehensive error handling with retry logic and error boundaries.
Key Features: - Rich error types for different failure modes - Automatic error logging with context - Integration with structured logging - Clear error messages for debugging
Learn More: Exception Logging Guide
Resilience Patterns¶
Suite of decorators for building reliable applications (retry, circuit breaker, bulkhead).
Key Features:
- @retry decorator with exponential backoff
- Configurable retry strategies
- Exception filtering
- Automatic logging of retry attempts
Learn More: Retry Patterns Guide
Concurrency Utilities¶
High-level utilities for managing asynchronous tasks and thread-safe operations.
Key Features: - Thread-safe registry and component management - Async/await compatible logging - Safe subprocess execution with streaming - Async helper utilities
Cryptographic Utilities¶
Comprehensive cryptographic operations with modern algorithms and secure defaults (requires [crypto] extra).
Key Features: - Ed25519 and RSA key generation and signing - X.509 certificate generation and management - Secure hash functions (SHA-256, BLAKE2b) - Checksum validation - Prefixed key encoding for easy identification
File Operations¶
Atomic file operations with format support and safety guarantees.
Key Features: - Atomic writes with temporary files and rename - File watching and change detection - Safe path validation (prevents path traversal) - Symlink attack protection - Format detection and serialization
Archive Operations¶
Create and extract archives with support for TAR, ZIP, GZIP, and BZIP2 formats.
Key Features: - Deterministic archive creation (reproducible builds) - Secure extraction with path validation - Compression support - Metadata preservation
Serialization¶
Safe and consistent JSON serialization and deserialization.
Key Features: - Type-safe JSON encoding/decoding - Support for common Python types (datetime, Path, etc.) - Pretty printing support - Consistent formatting
Console I/O¶
Enhanced console input/output with color support, JSON mode, and interactive prompts.
Key Features:
- Color-coded output with pout() and perr()
- Interactive prompts with validation
- JSON mode for machine-readable output
- Progress indicators
Hub and Registry¶
Central system for managing application components, commands, and resources.
Key Features: - Multi-dimensional component registry - Automatic command discovery - Dependency injection patterns - Component lifecycle management - Context propagation
Additional Utilities¶
Formatting Utilities¶
Collection of helpers for formatting text, numbers, and data structures.
Platform Utilities¶
Cross-platform detection and system information gathering.
Process Execution¶
Safe subprocess execution with streaming and async support.
Next Steps: - See Use Cases for practical applications - Check Architecture for design philosophy - Start with the Quick Start Tutorial