The Origen App#
The application object represents the active Origen application. It owns the workspace configuration and provides access to application-specific services, paths, sessions, publishing hooks, and interfaces.
Application Class#
An application provides an Application class derived from
origen.application.Base. Origen instantiates it while booting the
workspace. Application-specific behavior belongs in this class or in focused
modules called by it; DUT modeling should remain in block and target sources.
The active instance is available as origen.app:
import origen
print(origen.app.name)
print(origen.app.root)
print(origen.app.output_dir)
Do not construct another application instance manually.
Lifecycle And Context#
The application is initialized before application commands, targets, patterns, and flows execute. During boot, Origen resolves configuration, initializes user and plugin services, and then loads requested targets. Code that requires a DUT or tester should run after target loading rather than at module import time.
Application Configuration#
config/application.toml defines application identity and defaults such as
targets, mode, revision control, and documentation paths. config/origen.toml
contains Origen runtime/site configuration. See
Configuring Your Workspace for precedence and environment overrides.
Directories#
Common application paths include:
rootThe application workspace root.
output_dirGenerated output, normally
<APP ROOT>/output.website_source_dirSphinx sources, normally
web/source.website_output_dirGenerated documentation, normally below
output/web.
Use these resolved paths instead of assuming the process was launched from a specific working directory.
Plugins And Interfaces#
Plugins are installed Python dependencies which contribute reusable models, commands, or generation content. The application interface translates tester-neutral flow intent into tester-specific test objects. Keep policy in the application and reusable device/test content in blocks or plugins.