Skip to content
heliaAOT
HELIA HUB

Support, licence and contributing

heliaAOT is released under the Ambiq Apollo SDK License, which the repository holds in LICENSE.md. Three points matter before you ship:

  • Field of use. The licence grants the right to use, copy, modify and distribute the software solely for incorporation into, and execution on, computing platforms that include an Ambiq-manufactured CPU. Execution on a non-Ambiq CPU is expressly forbidden, including as part of a multi-CPU system.
  • Attribution. Redistribution in source or binary form has to carry the copyright notice, the conditions and the disclaimer.
  • No warranty. The software is provided as is, with all warranties disclaimed.

The repository licence and the generated module licence are separate texts. The documentation handler renders helia_aot/aot/templates/docs/license.md.j2 into the module’s LICENSE; it is not a copy of the repository LICENSE.md. Read both applicable texts and your model/dependency terms. Third-party components heliaAOT depends on are listed in THIRD_PARTY_NOTICES.md.

LICENSE.md in the repository is the authoritative text. The summary above is a reading aid, not a substitute for it, and it is not legal advice.

If you have access to the private repository, report problems in the heliaAOT issue tracker. Otherwise, share the details below with your Ambiq contact.

Include the following so the team can reproduce or narrow down the failure:

  • The version. helia-aot version prints it.
  • The target. The platform name you passed to --platform.name, as list-targets spells it.
  • The command. The whole helia-aot convert line, or the YAML file if you configured it that way.
  • The console output at --verbose 2. Level 2 is the one Troubleshooting asks for: it includes resolved operator attributes and planner diagnostics. Use --verbose 3 when expanded AIR tensor and option details are needed.
  • The model, or a description of the failing node if you cannot share it. A TemplateRenderError in particular is a heliaAOT defect and is worth reporting with whichever of the two you can give.

For anything you would rather not put in a public issue, write to support.aitg@ambiq.com.

The Getting started pages convert models from AmbiqAI/helia-model-zoo, which holds the LiteRT files the examples download. heliaAOT takes supported LiteRT models; the zoo is a convenience, not a requirement.

The example fixtures currently have no stated model licence in the recorded provenance. Their availability for download does not establish permission to redistribute or ship the weights. Check the model card and obtain the applicable terms before using a fixture in a product; see the example provenance notes. The compiler’s licence does not grant rights to third-party model weights.

pyproject.toml declares requires-python = ">=3.11", and the classifiers name 3.11, 3.12, 3.13 and 3.14. The Versions and compatibility page reads the same file, so it is the row to trust if the two ever differ.

The package declares Operating System :: OS Independent. That is what the repository claims, and it is not the same as a tested claim: every CI job runs on an Ubuntu runner, so Linux is the only operating system with evidence behind it. The conversion itself is pure Python; the toolchain you build the emitted module with is a separate question, covered in Toolchains and build environments.

The repository has no CONTRIBUTING.md. AGENTS.md at the root is the single source of truth for contributors and for coding agents alike, and CLAUDE.md only points at it. Read it before opening a pull request. The parts that catch people out:

  • Conventional commits. feat:, fix:, docs:, refactor:, test: and chore:, with an imperative summary. Pull requests are squash-merged, so the squash title becomes the commit message that release-please reads to decide the next version. Use a conventional title so release-please can classify the change.
  • Behavior changes need tests. A bug fix needs a regression test, and a new public API or extension point needs unit coverage.
  • Generated artifacts are regenerated, never hand-edited. README.pypi.md, codegen snapshots and reference exports have owning tools and freshness checks. Regenerate reference JSON with uv run python -m repo_tools.docs_export and validate the site with the commands below. Release-please owns CHANGELOG.md; do not manually regenerate it as a documentation export.
  • The docs build is part of the change. From docs/, npm run check, npm run build and npm run check:reference are what hold this site to the source it documents.

Branch protection requires an approving review and green CI before a merge.