Pali (Python Applications Lightweight Initiator) is a dependency-free application foundation library for Python.
It provides a collection of reusable infrastructure components and software patterns that commonly appear across Python applications, whether they are simple automation scripts, cron jobs, backend services, integration solutions, or production microservices.
Instead of repeatedly implementing the same foundational capabilities in every project, developers can leverage Pali's lightweight building blocks for:
- Configuration management
- Logging standardization
- Persistence and state management
- Daemon and service lifecycle management
- Concurrent execution and thread pools
- Assembly and pipeline processing
- Sliding window protocols
- A/B testing and experimentation
Pali is implemented entirely in native Python and intentionally avoids third-party dependencies. The result is a lightweight, portable, and easy-to-understand library that can be adopted incrementally without introducing a bulky framework with runtime and dependencies footprint.
Originally developed as a ThreadPool implementation for Python 2.7, Pali has evolved into a broader collection of production-tested utilities that address recurring challenges in real-world Python applications.
- Documentation - Full guides and API reference
- Installation - How to install Pali
- Quick Start - Get running in 5 minutes
- GitHub - Source code and issues
- Python 2.7+ or Python 3.4+
- No external dependencies
- ThreadPool Guide - Parallel task execution
- Tasks Guide - Creating custom tasks
- Pipelines Guide - Sequential workflows
- Configuration Guide - Config file management
- Logging Guide - Logging setup and usage
- A/B Testing Guide - A/B testing with parameters
Visit the Documentation Index for complete API reference.
- Application Examples - Real-world usage patterns and code samples
- Architecture - System design and core concepts
- Best Practices - Recommended patterns and optimization tips
- Contributing Guide - How to contribute to Pali
See the Contributing Guide for details.
- 📖 Documentation
- 🐛 Report Issues
- 💬 Discussions
- 📧 Contact
Pali is licensed under the MIT License. See LICENSE for details.
See CHANGELOG.md for version history and release notes.
Pali was built with simplicity and ease of use in mind. It draws inspiration from various threading and task queue libraries while maintaining a minimal footprint and zero external dependencies.
Ready to get started? Check out the Quick Start Guide!