Support types and utilities
Overview
Section titled “Overview”orionis.support is Orionis’s shared utility layer. It contains the facades used to reach framework services, value-oriented helper types, entity serialization, immutable structure helpers, reusable metaclasses, exception formatting, timing, worker sizing, and the built-in inspirational quote provider.
The package deliberately has two levels of API. orionis.support.facades and orionis.support.types provide curated imports; lower-level helpers are imported from their defining modules. The root orionis.support package itself does not re-export these objects.
Requirements
Section titled “Requirements”- Python 3.14 or newer.
- The Orionis runtime and its declared dependencies. This module directly uses
pendulum,dotty-dict, andpsutil. - A bootstrapped Orionis application before calling service-backed facades.
DateTimeis a standalone class and does not require the container for ordinary date operations.
Helpers and Metadata references
Section titled “Helpers and Metadata references”Each helper has its own guide covering imports, parameters, returns, examples and access patterns:
| Utility | Main use |
|---|---|
| Collection | Transform, filter, group and serialize in-memory data. |
| DotDict | Access nested dictionaries through attributes. |
| Sentinel | Distinguish omitted data with MISSING. |
| StdClass | Group dynamic attributes and export them to a dictionary. |
| Stringable | Transform and inspect immutable strings. |
| Workers | Estimate concurrency from CPU and a memory budget. |
| FreezeThaw | Convert containers between frozen and mutable forms. |
| PerformanceCounter | Measure synchronous and asynchronous intervals. |
| Debug | Inspect values in the console or stop a request with an HTML dump. |
| Metadata | Read the installed framework’s identity and version. |
Construct data-bearing types explicitly; class methods, static methods and constants do not require the container. Each reference explains where injection applies. These utilities do not hydrate request data by themselves.
Module learning path
Section titled “Module learning path”- Transforming collections and strings
- Entities and data structures
- Facades, dates, and runtime utilities
Continue with: container · schemas.
Choose a utility for the task
Section titled “Choose a utility for the task”| Application task | Start with |
|---|---|
| Transform an already loaded list | Collection from orionis.support.types. |
| Normalize text or create a slug | Stringable from orionis.support.types. |
| Serialize a result with known fields | A dataclass extending BaseEntity. |
| Work with dates and time zones | DateTime from orionis.support.facades; no container is needed for ordinary operations. |
| Call a configured framework service | Its facade after bootstrap, or its service contract through dependency injection. |
| Inspect values during development | Debug.dump() to continue or Debug.dd() to stop execution according to the context. |
These are Python utilities you can import into your application; they do not create SQL tables or validate a request automatically. Use schemas for external input and container bindings for service dependencies.