Skip to main content

Modern Python 3.11+ Framework: Flask/FastAPI orchestration, and strict runtime enforcement.

Project description

🛡️ py_aide

Modern Python 3.11+ Framework: Flask/FastAPI Orchestration & Strict Runtime Enforcement

py_aide is a robust, developer-centric framework designed to bring safety, structure, and consistency to Python web applications. It provides a unique "Strict Runtime Enforcement" layer that ensures your code remains clean, documented, and type-safe at execution time.


🚀 Key Features

  • Strict Runtime Enforcement: A powerful decorator that enforces type hints, docstrings, and calling conventions at runtime.
  • Timezone-Aware Date Utilities: Generate dynamic, accurate timestamps across global regions using an IDE-friendly Timezones Enum with strict UTC defaults.
  • Unified Server Portal: Seamlessly orchestrate Flask and FastAPI applications with shared security gates.
  • Circuit Breaker Resilience: Industrial-grade protection against cascading failures.
  • Thread-Safe SQL: A thread-level multiton SQLite manager with automatic JSON serialization and a custom DSL.
  • Modern Security: Argon2id password hashing with background rehashing and Fernet-based encryption.
  • Enterprise HTTP Client: A standardized, "always resolve" HTTP client with built-in retries and interceptors.

📚 Documentation Roadmap

We recommend exploring the framework in this order:

⚙️ Core System

  • Structural Enforcement: Learn about the @enforce_requirements decorator and the validation engine.
  • Global Utilities: Discover helpers for dates, image processing, secure codes, and file system operations.

🌐 Server & API

  • Service Portals: Documentation for Flask/FastAPI orchestration, security gates, and WebSockets.
  • HTTP Client & Response: Master the "Always Resolve" strategy and the unified Response protocol.

🧵 Persistence & Concurrency

🔐 Security


⚙️ Core Philosophy: Strict Enforcement

At the heart of py_aide is the @enforce_requirements decorator. It prevents "sloppy" code by failing early (at boot-time or runtime) if your contracts are violated.

from py_aide.enforcer import enforce_requirements
from py_aide.customTypes import Options

@enforce_requirements
def create_user(*, name: str, role: Options[str, ["admin", "user"]]) -> dict:
    """Creates a new user record with runtime type and choice validation."""
    return {"name": name, "role": role}

🌍 Global Timezone Utilities

py_aide prevents timezone-related bugs by defaulting to UTC while providing a robust, auto-completable Enum for localized timestamps.

from py_aide.dates import DateUtils, Timezones

# Generates a standard UTC timestamp by default
utc_time = DateUtils.current_timestamp()

# Generates localized East Africa Time safely without string typos
eat_time = DateUtils.current_timestamp(timezone=Timezones.EAT)

# Shift dates natively in specific timezones
tomorrow_tokyo = DateUtils.tomorrow(timezone=Timezones.JST)

📦 Installation

# Core only (Encryption, Tokens, Threading, Base Requests)
pip install py_aide

# With Flask Portal & WebSockets
pip install "py_aide[flask]"

# With FastAPI Portal & Uvicorn
pip install "py_aide[fastapi]"

# With Database/Cache drivers
pip install "py_aide[postgres,redis,sqlite]"

# Install everything
pip install "py_aide[all]"

Note: py_aide requires Python 3.11+ and is currently optimized for Linux environments.


📄 License

This project is licensed under the MIT License.

👥 Authors

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

py_aide-0.45.1.tar.gz (248.5 kB view details)

Uploaded Source

Built Distribution

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

py_aide-0.45.1-py3-none-any.whl (240.1 kB view details)

Uploaded Python 3

File details

Details for the file py_aide-0.45.1.tar.gz.

File metadata

  • Download URL: py_aide-0.45.1.tar.gz
  • Upload date:
  • Size: 248.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for py_aide-0.45.1.tar.gz
Algorithm Hash digest
SHA256 f3d3dca29bbefc8ea010a4880c6647d5ee8c6ad0c5b7432fe7941073b941a2d5
MD5 7fb781631740022b61c9e7d4ca17ca97
BLAKE2b-256 a926db8242dfbb3bb98ab74e69996b26767041b2c5d76903d27bf84fa144f744

See more details on using hashes here.

File details

Details for the file py_aide-0.45.1-py3-none-any.whl.

File metadata

  • Download URL: py_aide-0.45.1-py3-none-any.whl
  • Upload date:
  • Size: 240.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for py_aide-0.45.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c42987211b019ad29578ad3ccea960f45a8f7e55c67d2c04b54dfb4d7a3313a3
MD5 2e3fd049369ba007f0a10289047753f7
BLAKE2b-256 37a288739a9ff2f87a3af2430c16340ec2d3f4bfff5908f37b714fcd3fb62aea

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