Release Notes 0.1.0

Monata 0.1.0 is the first native package milestone after removing the InSpice runtime dependency from Monata core. It focuses on local, tested ngspice-subprocess workflows and keeps simulator expansion explicit.

Supported Surface

  • Native monata.netlist authoring and deterministic ngspice rendering.

  • Monata-owned SPICE parser/import for representative ngspice-style decks, structured unsupported-construct diagnostics, and round-trip rendering.

  • SimTask / SimResult execution with the built-in ngspice-subprocess backend.

  • DC, transient, AC, operating point, noise, sensitivity, pole-zero, distortion, transfer-function, and Fourier analysis specs.

  • Typed AnalysisResult / Waveform data, numpy-compatible legacy waveform access, JSON export/import, optional HDF5 export, and optional plotting helpers.

  • Project, Library, Cell, View, Experiment, model registry, sweep, corner, Monte Carlo, and optimizer workflows backed by local filesystem artifacts.

Explicit Non-Goals

  • Monata 0.1.0 does not claim API compatibility with InSpice. InSpice remains reference material for functional coverage only.

  • Monata 0.1.0 does not add built-in Xyce, VACASK, or Spectre backends. The stable default backend is ngspice-subprocess; ngspice-shared is an optional same-simulator runner for users who already provide a compatible libngspice runtime.

  • SPICE dialect support is representative, not exhaustive. Unsupported dialect constructs should fail with structured parser/import diagnostics instead of being silently accepted.

  • The package does not bundle third-party PDKs, private model libraries, simulator binaries, shared libraries, XSPICE code models, compiled OSDI binaries, or license-sensitive example decks.

Runtime Dependencies

Monata installs its Python runtime feature dependencies by default:

  • numpy supports numeric arrays, waveforms, and result operations.

  • matplotlib supports plotting helpers.

  • h5py supports HDF5 result export/import.

  • cffi supports the shared-library ngspice runner when the user provides libngspice.

  • monata[dev] installs test, lint, type-check, build, and distribution tooling for maintainers.

Simulator executables such as ngspice remain external tools provided by the user environment or packaging channel.

Release Verification

Before publishing 0.1.0, maintainers should run:

pixi run --manifest-path test/pixi.toml -e monata-dev test-monata-src
pixi run --manifest-path test/pixi.toml -e monata-dev ruff-monata-src
pixi run --manifest-path test/pixi.toml test-monata-installed-smoke

The installed smoke builds the current Monata wheel, imports it from an isolated temporary target outside the repository, runs parser round-trip, Project/Library, ModelRegistry, and native ngspice DC workflows, and verifies that the smoke is not using editable source imports.