Skip to content

CTBase.jl — Ecosystem Foundation

CTBase.jl is the foundational package of the control-toolbox ecosystem. It provides the base layer shared by all packages: common types, structured exceptions, description management, extension infrastructure, and developer tools.

Qualified access

CTBase exports no symbols at the package level. Every public symbol is accessed via its full qualified path, e.g. CTBase.Exceptions.IncorrectArgument or CTBase.Descriptions.add. This makes the origin of every symbol explicit at every call site and prevents namespace collisions between packages.

Downstream packages (e.g. OptimalControl.jl) may re-export selected symbols for convenience.

Ask DeepWiki

DeepWiki offers an interactive, AI-generated overview of this codebase. Answers may be inaccurate — use this reference documentation as the source of truth.

Submodule overview

SubmoduleRole
CTBase.CoreFundamental numeric type alias (ctNumber) and internal display helpers
CTBase.DescriptionsSymbolic description tuples: catalogue management, pattern completion, similarity search
CTBase.ExceptionsTyped exception hierarchy with rich context fields
CTBase.DevToolsDeveloper tools with tag-based dispatch for run_tests, postprocess_coverage, and automatic_reference_documentation
CTBase.UnicodeUnicode subscript/superscript helpers for display

User Guides

  • Getting Started — installation, mental model, 5-minute walkthrough.

  • Descriptions — catalogue API, pattern matching, error handling.

  • Exceptions — exception hierarchy, choosing the right type, best practices.

  • Test Runner — modular test infrastructure with CTBase.DevTools.run_tests.

  • Coverage — post-processing coverage artifacts with CTBase.postprocess_coverage.

  • API Documentation — auto-generating per-module API pages.

To browse the complete API, see the API Reference section in the left sidebar.