Skip to content

Complete Python export inventory

This page is the compact, searchable index of every public name registered by the current binding sources. It distinguishes classes from factory functions, enums, and pure-Python helpers so that a name's presence does not imply it can be constructed directly.

For behavior and worked examples, use Core, Math, HEP extension modules, and Streaming.

Package-level helpers

Export Kind Example
Core built-in module from uLib import Core
Math built-in module from uLib import Math
connect remote client factory client = uLib.connect(port=50051)
Client remote connection class client = uLib.Client()
ObjectProxy proxy for a remote scene object client.find("box").Size = [1, 2, 3]
remote.Vector arithmetic list used by remote vector properties remote.Vector([1, 2, 3]) + 1
remote.ObjectsAccessor mapping-like lazy remote object lookup client.objects["box"]
Client.mcp_context the session's generated agent context client.mcp_context(registry=True)
numba_ext.register_numba_extensions optional Numba type registration uLib.numba_ext.register_numba_extensions()
InputPort, OutputPort Recipe declarations In = InputPort("In")
StreamInputPort, StreamOutputPort Recipe stream declarations Out = StreamOutputPort("Out")
Property Recipe property declaration Count = Property("Count", default=10, type="int")
Action Recipe action declaration Reset = Action("Reset", handler=reset)
parse_recipe_code Recipe declaration parser parse_recipe_code(source)
stream_producer producer decorator @stream_producer
stream_filter filter/transform decorator @stream_filter
stream_consumer consumer decorator @stream_consumer
pyagent.connect agent backend factory agent = pyagent.connect(port=50051)

StreamInputPort, StreamOutputPort, and the three decorators live in uLib.recipe_agent; import them from there.

uLib.pyagent

The agent-facing view of a running session. Every tool it offers is generated by that session from its own classes (see Agent context), so this table lists the machinery, not the vocabulary — the vocabulary depends on what the application holds.

Export Kind Example
connect backend factory agent = connect(port=50051)
AgentBackend the session's generated context, callable AgentBackend(client)
AgentError raised by the proxies when a call is refused except AgentError:
ToolCall one intended call: name and arguments ToolCall("ulib.Box.configure", {...})
ToolResult what a call did: ok, content, data result.to_mcp()
SceneFacade the scene as generated Python objects agent.scene["crate"]
GeneratedClass one class, built from its description agent.scene.generated("ContainerBox")
ObjectFacade one object, wearing its generated class crate.Size = 2.0

AgentBackend methods: tools(), tool(name), resources(), read_resource(uri), classes(), describe(class_name), call(name, arguments), call_all(calls), refresh(), and the scene property.

uLib.mcp

An MCP server over stdio, run as python -m uLib.mcp. It offers the static tools that start and drive a session, and — once one is attached — everything that session generates for its own classes. See MCP server for the protocol side and Agent context for the generated half.

uLib.Core

Kind Exports
Object/algorithm/stream classes Object, Algorithm, IStreamProducer
Property classes PropertyContainer, PropertyBase, PropertyMetadata, PropertySnapshot, ObjectSnapshot, PropertyChangePayload, ActionProperty, Action, LocalSignalBackend
Data and ownership classes DataSource, DataSink, ObjectsContext, ObjectFactory
Document/state classes ObjectRecord, SceneDocument
Utility classes Timer, Options, TypeRegister
Enums PortDirection, PortAccess, ConnectionKind, PropertyEventKind, PropertyChangeOrigin
Functions AddActionPort, PortAccessName, PortAccessDescription, ConnectionKindName, ConnectionKindDescription, DecodeDocument, RestoreContext, CaptureObjectState, ApplyObjectState

uLib.Math

Kind Exports
Eigen vector factory functions Vector1f, Vector2f, Vector3f, Vector4f, Vector1i, Vector2i, Vector3i, Vector4i, Vector1d, Vector2d, Vector3d, Vector4d
Eigen matrix factory functions Matrix2f, Matrix3f, Matrix4f, Matrix2i, Matrix3i, Matrix4i, Matrix2d, Matrix3d, Matrix4d, MatrixXi, MatrixXf, MatrixXd
Homogeneous classes HPoint3f, HVector3f, HLine3f, HError3f
Dynamic vector classes Vector_i, Vector_ui, Vector_l, Vector_ul, Vector_f, Vector_d, Vector_Vector3f, Vector_Vector3i, Vector_Vector3d, Vector_Vector4f, Vector_Vector4i, Vector_Vector4d, Vector_Voxel, Vector_VoxRaytracerRayDataElement
Statistics/data classes Accumulator_Mean_f, Accumulator_Mean_d, Accumulator_ABTrim_f, Accumulator_ABTrim_d, Accumulator_ABClip_f, Accumulator_ABClip_d, HistogramAxis, Histogram, EventTable, PointSet
Transform/geometry classes AffineTransform, TRS, Geometry, LinearGeometry, ContainerBox
Grid/image classes and enums StructuredDataOrder, StructuredData, StructuredGrid, Structured2DGrid, Structured4DGrid, Voxel, AbstractVoxImage, VoxImage, CoordinateMode
Mesh/ray classes TessellatedMesh, TriangleMesh, QuadMesh, VoxRaytracer, VoxRaytracerRayData, VoxRaytracerRayDataElement
Filter classes AbstractVoxImageFilter, VoxFilterAlgorithmLinear, VoxFilterAlgorithmAbtrim, VoxFilterAlgorithmSPR, VoxFilterAlgorithmBilateral, VoxFilterAlgorithmBilateralTrim, VoxFilterAlgorithmThreshold, VoxFilterAlgorithmMedian, VoxFilterAlgorithm2ndStat, VoxFilterAlgorithmCustom, VoxImageFilter, VoxImageFilterLinear, VoxImageFilterMedian, VoxImageFilterThreshold, VoxImageFilterABTrim, VoxImageFilterBilateral, VoxImageFilterGaussian

Dynamically registered HEP modules

These names appear only when their plugin library is loaded into gcompose.

Module Exports
uLib.Detectors ClosestApproach, MuonEventData, MuonEvent, MuonScatter, MuonScatterCollection, DetectorChamber
uLib.MuonTomography MuonScatterEvent, MuonTomographyAlgorithm, PocaImageAlgorithm, RayLengthImageAlgorithm
uLib.Geant Scene, Solid, BoxSolid, TessellatedSolid, EmitterPrimary, SkyPlaneEmitterPrimary, PlaneProbe, GeantEvent, GeantEventCollection

Not direct pybind exports

DataBuffer, Recipe, and the many application-only classes are registered scene types. Create them with ctx.create() inside gcompose, discover them with ctx.classes(), or manipulate them through a remote client. Do not look for a uLib.Core.DataBuffer class in a standalone extension build.