Skip to main content

inventor-kit

IDW saved 2D display opens in the Viewer by default (partial support): Python API and Viewer.

English | 日本語

Read Autodesk Inventor document metadata and saved part geometry with a Rust parser and a Python API. Supported geometry can be converted to cq_acis.AcisModel and CadQuery objects. Runtime use does not require network access, Inventor, Windows, or user-provided schemas.

IPT → CFB / RSe → saved SAB / ASM → acis-core → AcisModel → CadQuery
IAM → saved references and placements → local part resolution → CadQuery Assembly

The parser supports a limited set of validated format profiles. It does not determine the current Model State, reevaluate feature history, or compute its own approximations of unsupported geometry. A B-spline fit that the file stores beside a procedural curve or surface is used as derived geometry and reported as a warning; see body conversion.

v0.4.0 adds body selection and IPT/IAM batch conversion. v0.10.0 makes the shape backend an install extra, adds an OCCT backend without CadQuery, and converts stored B-spline fits; see the v0.10.0 release notes.

v0.5.0 adds IDW sheet inventories and JSON reports, and per-sheet SVG export. See the release notes for supported drawing profiles, line styles and platform checks. Drawing support remains experimental and partial; physical scale and native rendering equivalence are unverified.

The release version is defined in Cargo.toml; see version management for the update command. The writer requires inventor-kit[cadquery]; see the writer guide.

Installation

Requires Python 3.11 or later, cq-acis>=0.4.2,<0.5, and shared model API 2. Where compatible published wheels are available, install with one shape backend:

python -m pip install 'inventor-kit[cadquery]'  # CadQuery shapes, STEP export, IAM, writers
python -m pip install 'inventor-kit[occt]'      # OCCT shapes only, without CadQuery

Since 0.10.0 a plain pip install inventor-kit installs the parser and the shared model only; earlier versions always installed CadQuery. The two extras ship different builds of the same OCP module, so install one of them.

Source builds use Rust 1.93, maturin, and acis-core / acis-py-bridge 0.4.2 from crates.io. See the development guide and release requirements.

Reading parts

import inventor_kit as ik
import cadquery as cq

doc = ik.read_file("part.ipt")
print(doc.summary["status"], doc.summary["diagnostics"])
if doc.model is not None:
    shape = doc.to_cadquery()  # Raises for unsupported surfaces, trims, etc.
    cq.exporters.export(shape, "part.step")

For metadata alone, use inspect_file, which does not import the Python geometry modules.

info = ik.inspect_file("part.ipt").metadata
for prop in info.find_properties(semantic_name="part_number"):
    print(prop.value, prop.source.stream, prop.state_binding)
python -m inventor_kit part.ipt
python -m inventor_kit part.ipt --step part.step
python -m inventor_kit drawing.idw --metadata-only
python -m inventor_kit part.ipt --list-candidates

For local visual inspection of parts and saved assemblies, install the optional viewer.

python -m pip install 'inventor-kit[viewer]'
python -m inventor_kit.viewer part.ipt

Inventor Kit viewer displaying the NIST CTC 03 model

Model: NIST CTC 03 (saved geometry).

Reading assemblies

assembly = ik.read_assembly_file("assembly.iam", search_roots=["parts"])
converted = assembly.to_cadquery(allow_unverified_state=True, allow_partial=True)
print(converted.omissions, converted.reference_issues)
report = converted.export_step("assembly.step", allow_partial=True)

Using saved placements requires explicit opt-in. Missing parts and unsupported geometry remain recorded in the result. Because the current state is unverified, complete is False. Assembly STEP export refuses to overwrite existing files and writes provenance and omission details to an accompanying JSON report.

Limits and supported scope

limits = ik.Limits(max_file_bytes=32 * 1024 * 1024, max_candidates=16)
doc = ik.read_file("part.ipt", limits=limits)
print(ik.capabilities())

Limits can be lowered per document. They do not guarantee bounds on process memory, runtime, or OCCT computation. See the API guide for defaults, diagnostics, and saved candidate selection.

Guide Contents
Supported scope Format profiles and geometry, state, and assembly limitations
API Metadata, saved candidates, units, reference resolution, and limits
Validation Regression and holdout checks, comparison evidence, and completed validation
Development Builds, tests, fuzzing, and public directory roles
Experimental part writer Standalone IPTs from CadQuery or STEP
Releasing Wheels, sdists, CI, and publication requirements
Format references Implementation references and licenses

To bundle authored IPTs into an IAM, see the assembly writer: new_assembly and write-assembly. Select Inventor 2026 or 2027 with target_year (API) or --target-year (CLI); 2027 remains the default. Both bounded profiles passed native open/save/reopen and moved-bundle qualification.

Public samples are validated against pinned hashes and sources; the CAD files themselves are excluded from distribution packages.

License

The current inventor-kit distribution is source-available under PolyForm Noncommercial 1.0.0. For use outside PolyForm's permissions, UnRobotics Inc. offers separate commercial licenses. See licensing details for scope, earlier MIT permissions, and third-party license conditions.

Required Notice: inventor-kit is licensed by UnRobotics Inc. (https://www.un-robotics.com/).

Required Notice: This inventor-kit release is offered under PolyForm Noncommercial 1.0.0 or a separate commercial agreement; earlier MIT permissions and third-party terms remain in effect.

Metadata

Release files for inventor-kit 0.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for inventor-kit 0.11.0
File Size Uploaded Provenance Actions
inventor_kit-0.11.0.tar.gz 1.3 MB With provenance Details for inventor_kit-0.11.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for inventor-kit 0.11.0
File Actions
inventor_kit-0.11.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for inventor_kit-0.11.0-cp310-abi3-win_amd64.whl
inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
inventor_kit-0.11.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for inventor_kit-0.11.0-cp310-abi3-macosx_11_0_arm64.whl
inventor_kit-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details for inventor_kit-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl

Total release size: 14.9 MB

Release files / inventor_kit-0.11.0.tar.gz

Download URL inventor_kit-0.11.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
be788b85ae15a083544acc2e5e17f39ea65898182f1faffec46e2b6bfc0b387e
BLAKE2b-256 checksum
How to use checksums
a0c9004f2136c68e4abec2e75a5a4f0573e08bf0962219b00cd2e437ac23929b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Release files / inventor_kit-0.11.0-cp310-abi3-win_amd64.whl

Download URL inventor_kit-0.11.0-cp310-abi3-win_amd64.whl
Size 2.6 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ba052d3d65bd755e2cbbbf548023027cb748c462a09c9c01de1e9268dae7694a
BLAKE2b-256 checksum
How to use checksums
5d7835efae8471082d23dc7c509dd043fb0504f9a8e9627ca60bc72ecc641544
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Release files / inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
9f4f274d18cccbe31dc6d6395ecec046d99c775c61ce77f78928617d6bf35b48
BLAKE2b-256 checksum
How to use checksums
59eb9c721c715c87af59d2f887324d7c06fdeefe15fd54b26f884c81773888e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Release files / inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL inventor_kit-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.7 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
e4da2d8426b8001476c09f2c374e781a2ac51378610236e34f98c2668c3cab4c
BLAKE2b-256 checksum
How to use checksums
ac729ec7cf5f4dcf0dcf608da0142e38af271beffd1a05043cfe991e0b565e8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Release files / inventor_kit-0.11.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL inventor_kit-0.11.0-cp310-abi3-macosx_11_0_arm64.whl
Size 2.6 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a52e00a94e648f229a96ec9669cf56a0ba7a57ee017fda433bdd31585ad6784c
BLAKE2b-256 checksum
How to use checksums
40280e6d2c684f781080e867767548307e0ff726466463ade449c4b05a8e37e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Release files / inventor_kit-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL inventor_kit-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 2.7 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5dbaf8aa1897a98744df9d0aaf9c369f119acc64114b225af3ca363d033c09c0
BLAKE2b-256 checksum
How to use checksums
d01c352bb340b69bf06e4eb78bb3f5eb47f0874e54528ad3ba63835f0abff72e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Security for inventor-kit 0.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for inventor_kit-0.11.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page