Getting Started

This section gives the shortest path into Monata. For the full workflow, read the User Guide.

Install Monata

Install Monata from PyPI:

pip install monata

Install optional first-party technology metadata and bundled public model-card assets only when you need them:

pip install monata-techlib

monata-techlib is separate from core Monata because it carries redistributed third-party model data and notices. See Models and Technology for the package boundary.

For local development:

git clone https://github.com/lizhangmai/monata.git
cd monata
pip install -e ".[dev]"

Install a Simulation Backend

Monata can organize libraries and generate views without a simulator, but you need at least one backend to run simulations.

  • ngspice: current native subprocess backend and the best default for local simulations

  • OpenVAF: compiles Verilog-A models into OSDI artifacts used by Monata’s ngspice workflows

  • Xyce: deferred backend for larger or parallel simulation flows

The public Monata package does not bundle simulator binaries. The recommended path is to use the public lizhangmai/skills monata-sim-env and conda-build skills from your coding agent, so the agent builds or reuses a local conda channel for circuit tools and creates the pixi environment for you.

In Claude Code, install the skill through the plugin marketplace:

/plugin marketplace add https://github.com/lizhangmai/skills
/plugin install monata-sim-env@lizhangmai
/plugin install conda-build@lizhangmai

In Codex or another agent, install both skills with the open skills installer or that agent’s normal skill-install flow:

npx skills add lizhangmai/skills --skill monata-sim-env --skill conda-build

Then ask Codex, Claude Code, or another skill-aware coding agent:

Use the monata-sim-env skill to set up this Monata environment.
CONDA_BUILD_OUTPUT_DIR=<absolute-path-you-choose>

Replace <absolute-path-you-choose> with a real absolute path before sending the prompt. If the prompt does not include CONDA_BUILD_OUTPUT_DIR=..., the agent should ask for it before running build, pixi, or install commands. The skill inspects the Monata workspace before choosing tool packages; the current Monata baseline is ngspice plus openvaf-r.

See External Tool Setup for the public installation boundary, extra circuit packages, and fallback source-build guidance. See ngspice for backend details.

Create a Library

from monata import LibraryRegistry

reg = LibraryRegistry()
lib = reg.create_library(
    path="work/cmos_cells",
    name="cmos_cells",
    tech_model_paths=[],
)
cell = lib.create_cell("inverter")

Next Step

Continue with Core Concepts to understand how libraries, cells, views, models, simulations, measurements, and optimization fit together.