Aloha - a versatile Python utility package for building services
Project description
Aloha
aloha-python is a modern project template (boilerplate) and a versatile utility library (aloha package) designed to build robust, containerized microservices in Python.
Please generously STAR★ our project or donate to us!
-
To understand the package, read the 📚docs or
🚀 Key Features
- Configuration Management (
aloha.config): Lazy-loaded settings (SETTINGS) using HOCON (Human-Optimized Config Object Notation), supporting environment profile overrides (ENV_PROFILE/FILES_CONFIG) and environment variable injection. - Concurrent-Safe Logging (
aloha.logger): Multi-process safe daily rotating log file handler, console output, and automatic log paths configuration. - Database Operators (
aloha.db): Pre-built SQLAlchemy-backed connections for PostgreSQL, MySQL, SQLite, DuckDB, MongoDB, Redis, Elasticsearch, and Kafka, with password resolution via a securePasswordVaultwrapper. - Encryption & Utilities (
aloha.encrypt): Fast helpers for AES (ECB/CBC) encryption, RSA asymmetric key-pair generation/signatures, JWT encoding/decoding, and Base62 hashing. - Testing Harness (
aloha.testing): ExtendedUnitTestCaseand integrationServiceTestCasestructures for testing HTTP endpoints. - Binary Code Protection (
aloha compile): Utility compiler using Cython to package python source files (.py) into platform-native compiled dynamic libraries (.so/.pyd), protecting intellectual property.
📁 Repository Layout
src/: Application-specific codebase, configuration files (src/resource/config/), and unit/integration tests (src/tests/).pkg/: The corealohautility library source code.tool/: Local CI/CD files and setup helpers (e.g. docker-compose configurations, lifecycle scripts).doc/: Documentation files and AI Agent Skills.notebook/: Jupyter notebooks for interactive analysis.
🛠️ Local Development Quick Start
Local development is fully containerized using Docker & Docker Compose to maintain environment consistency.
1. Launch Dev Container
Run the lifecycle helper script:
# Check port availability and spin up the development container
./tool/cicd/run-dev.sh up
# Open an interactive terminal inside the container
./tool/cicd/run-dev.sh enter
Note: Development ports (PORT_APP and PORT_WEB) are dynamically computed based on your User ID (UID) to avoid conflicts on shared servers.
2. Run Tests
Inside the running container terminal:
# Execute pytest suite
pytest src/
# Run tests with code coverage report
pytest --cov=src src/
3. Production Packaging
To build a production-ready Docker image with optional binary compilation enabled:
source tool/tool.sh
build_image app_common latest src/app-demo.Dockerfile
✍️ Coding Guidelines
When developing in this project, variables should place their type or primary characteristics/role prefix first:
- Correct:
name_service,port_service,svc_ingress,cfg_postgres. - Incorrect:
service_name,service_port,ingress_service,postgres_config.
For details on local setups, CI/CD specifications, and sub-module APIs, inspect our agent instruction files:
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 aloha-2026.629.514.tar.gz.
File metadata
- Download URL: aloha-2026.629.514.tar.gz
- Upload date:
- Size: 48.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6dcc59d243dc4e582f1f03b38568900c2a7e8c717c5297327e3b283c2b938b3
|
|
| MD5 |
3a3a3a36f2d72e84d40f556a5f74f8c3
|
|
| BLAKE2b-256 |
0380c72d03b1b4ed9f80e59cb5dc834680c7d9816fef1d413585e8975c3ecfbf
|
File details
Details for the file aloha-2026.629.514-py3-none-any.whl.
File metadata
- Download URL: aloha-2026.629.514-py3-none-any.whl
- Upload date:
- Size: 63.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2c7d2469150b978e6d18be555b480e305225f08169991d3a75a918046ff5cb9
|
|
| MD5 |
d2dae1b45df823605ae0f60c6c73ff42
|
|
| BLAKE2b-256 |
f15b7448abe47ffc2444b23cb046c06e6f01108347d533e15fb3cc842e03925e
|