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

  • 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 conda-build skill to build a local conda channel for circuit tools, then let pixi create a project environment from that channel:

git clone https://github.com/lizhangmai/lizhangmai-skills.git
cd lizhangmai-skills/skills/conda-build
export CONDA_BUILD_OUTPUT_DIR="$HOME/.local/share/monata-conda-channel"
python3 scripts/rattler_channel.py build --recipe-set circuit-toolchain --package ngspice

pixi init "$HOME/monata-work" \
  --channel "file://$CONDA_BUILD_OUTPUT_DIR" \
  --channel https://prefix.dev/conda-forge
cd "$HOME/monata-work"
pixi add python=3.12 ngspice
pixi add --pypi monata

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.