# Getting Started This section gives the shortest path into Monata. For the full workflow, read the {doc}`../user-guide/index`. ## Install Monata Install Monata from PyPI: ```bash pip install monata ``` Install optional first-party technology metadata and bundled public model-card assets only when you need them: ```bash pip install monata-techlib ``` `monata-techlib` is separate from core Monata because it carries redistributed third-party model data and notices. See {doc}`../user-guide/models-and-technology` for the package boundary. For local development: ```bash 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`](https://github.com/lizhangmai/lizhangmai-skills) `conda-build` skill to build a local conda channel for circuit tools, then let pixi create a project environment from that channel: ```bash 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 {doc}`../toolchain/external-tools` for the public installation boundary, extra circuit packages, and fallback source-build guidance. See {doc}`../toolchain/ngspice` for backend details. ## Create a Library ```python 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 {doc}`../user-guide/concepts` to understand how libraries, cells, views, models, simulations, measurements, and optimization fit together.