Skip to content
femtologging
Menu

Read

Python above. Rust below.

A producer–consumer runtime with explicit queues, routing, and output workers.

0.2.0 surface · 0.2.0-beta1 forthcoming

Robot pandas push lit record crates along a trench toward a robot capybara seated in a buffer of crates, beneath a dinosaur on a bridge.

FL-S-002SE · false colour · simulated5 fm illustrative scale

Plate 02The dispatch lane, viewed obliquely. The inspector has not left the bridge since the survey began.

Follow the literal record path

  1. PythonCapture and validate
  2. LoggerFilter and route
  3. ChannelBounded dispatch
  4. HandlerDedicated worker
  5. OutputI/O and flush

PyO3 exposes the runtime to Python. Producer-side level checks, callback filters, exception capture, and context validation happen before dispatch. Rust-owned records then cross crossbeam-channel queues to logger and handler workers.

Keep the queue boundaries separate

Dotted-name propagation determines which loggers see the record. Each queued record captures its handler set. Removing a handler affects future records; it does not rewrite pending dispatch.

Output workers isolate file and network I/O from the ordinary producer path. Python handlers and formatters still require the GIL. Bounded queues, callback cost, and blocking handler policies prevent a blanket guarantee of non-blocking logging.

Survey the machinery

A side-on cutaway of one channel. From left: a robot dinosaur at a coupling, four robot pandas pushing glowing crates, a robot capybara in a buffer bay of crates, and teal crystals at the exit.

FL-X-003SE · false colour · simulated2 fm illustrative scale

Plate 03One channel, sectioned along its length. Read left to right, as the record travels.
  1. Coupling. Where Python hands the record to Rust
  2. Transport. Records crossing the channel in order
  3. Buffer bay. A bounded handler queue
  4. Crystal field. Output: stream, file, or network

The survey plate makes boundaries memorable; the literal path above defines the software model. The plate’s numbered markers follow the same order as that path. Read the capacity and shutdown contracts.