Skip to content

Support types and utilities

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.

  • Python 3.14 or newer.
  • The Orionis runtime and its declared dependencies. This module directly uses pendulum, dotty-dict, and psutil.
  • A bootstrapped Orionis application before calling service-backed facades. DateTime is a standalone class and does not require the container for ordinary date operations.

Each helper has its own guide covering imports, parameters, returns, examples and access patterns:

UtilityMain use
CollectionTransform, filter, group and serialize in-memory data.
DotDictAccess nested dictionaries through attributes.
SentinelDistinguish omitted data with MISSING.
StdClassGroup dynamic attributes and export them to a dictionary.
StringableTransform and inspect immutable strings.
WorkersEstimate concurrency from CPU and a memory budget.
FreezeThawConvert containers between frozen and mutable forms.
PerformanceCounterMeasure synchronous and asynchronous intervals.
DebugInspect values in the console or stop a request with an HTML dump.
MetadataRead 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.

Continue with: container · schemas.

Application taskStart with
Transform an already loaded listCollection from orionis.support.types.
Normalize text or create a slugStringable from orionis.support.types.
Serialize a result with known fieldsA dataclass extending BaseEntity.
Work with dates and time zonesDateTime from orionis.support.facades; no container is needed for ordinary operations.
Call a configured framework serviceIts facade after bootstrap, or its service contract through dependency injection.
Inspect values during developmentDebug.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.