Distribution Compliance

This page records the release boundary for public Monata packages. It is a maintainer checklist, not legal advice.

Public Packages

Public releases publish only Monata-owned Python packages:

  • monata

  • monata-techlib

Do not publish this repository’s internal circuit-tool packages, simulator binaries, or locally built native toolchain artifacts as part of the public Monata release.

External Simulator Boundary

The monata package may include backend adapters for external tools, but it must not vendor those tools.

Allowed in monata:

  • Python code that renders ngspice-compatible netlists.

  • The default ngspice-subprocess backend, which executes a user-installed ngspice executable.

  • The ngspice-shared backend, which loads a user-installed libngspice shared library at runtime through Monata’s default Python FFI dependency.

Not allowed in monata public wheels or sdists:

  • ngspice executables.

  • libngspice.so, libngspice.dylib, or ngspice.dll.

  • XSPICE .cm code-model binaries.

  • OpenVAF, Xyce, XDM, ADMS, or other native toolchain binaries.

  • PDK files, foundry decks, PTM model-card bundles, or compiled .osdi model binaries.

Documentation may explain how users can install or build external tools from upstream sources in their own environment. Those instructions must preserve the tool as a user-installed runtime dependency rather than a Monata-distributed asset.

Monata Techlib Boundary

monata-techlib intentionally carries optional technology-library assets. The package has a mixed content boundary:

  • Monata-authored Python loader code, entry points, tests, and techlib metadata are MIT licensed.

  • PTM model cards are redistributed third-party model data. Preserve PTM attribution and no-warranty notices.

  • The bundled BSIM-CMG Verilog-A source subset is third-party source under ECL-2.0. Preserve the upstream LICENSE.txt.

  • Precompiled .osdi files are not shipped. OSDI artifacts are local cache outputs created only when the user enables compilation and provides OpenVAF.

The package metadata must include LICENSE, NOTICE, and the bundled BSIM-CMG LICENSE.txt in license-files.

Release Checks

Before publishing, inspect the built distributions:

python -m build
twine check dist/*
python -m zipfile -l dist/*.whl
tar -tf dist/*.tar.gz

For monata, confirm that the wheel contains no simulator, model compiler, PDK, PTM, or compiled model artifacts.

For monata-techlib, confirm that the wheel contains the intended PTM and BSIM-CMG source/model files, the declared license/notice files, and no simulator/compiler binaries or .osdi outputs.

If a release needs to include a new third-party asset, update NOTICE, package metadata, tests, and this page before publishing.