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.10.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.10.0
File Size Uploaded Provenance Actions
inventor_kit-0.10.0.tar.gz 1.3 MB With provenance Details for inventor_kit-0.10.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for inventor-kit 0.10.0
File Actions
inventor_kit-0.10.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for inventor_kit-0.10.0-cp310-abi3-win_amd64.whl
inventor_kit-0.10.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.10.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
inventor_kit-0.10.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for inventor_kit-0.10.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
inventor_kit-0.10.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for inventor_kit-0.10.0-cp310-abi3-macosx_11_0_arm64.whl
inventor_kit-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details for inventor_kit-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl

Total release size: 14.9 MB

Release files / inventor_kit-0.10.0.tar.gz

Download URL inventor_kit-0.10.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
5ea2d4528595e09cbb9081c5ee555b583402c6f39ed22e9f7d994e961a4a07c2
BLAKE2b-256 checksum
How to use checksums
f68eaed88e0e21dfffe8f59050011824573d0006c4f1d1b42336507a3cbb2bca
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 11, 2026.

Transparency log

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

Download URL inventor_kit-0.10.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
562388cc8c88903676ce5a6c82793b25be38c2c1e32082ce3368bb30631431c2
BLAKE2b-256 checksum
How to use checksums
0aefb10252ae51b26ed88ab5f6280212b42c4d342f609f6fd3e738768074c3a6
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 11, 2026.

Transparency log

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

Download URL inventor_kit-0.10.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
a10d8bf74451f48f8baca3db8be2cf3183ce272e465374dedf108ce54b0e3f1c
BLAKE2b-256 checksum
How to use checksums
c40a9f27971cf2d05eae5a79fe0c6c74c2850febb1fb106db9502d4807531aa1
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 11, 2026.

Transparency log

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

Download URL inventor_kit-0.10.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
a468e1963c311bfb5a12c39cbfdba0a541dd05950420325a99662a421b22df79
BLAKE2b-256 checksum
How to use checksums
e8fadfe61271bcaf5777b81c0ee3a7a58681ae71ee63782a26d9bed7bf2c25dc
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 11, 2026.

Transparency log

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

Download URL inventor_kit-0.10.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
f22c1d28c6792936d6241be359178308c0f02dfeb867592b69566adb6704ad60
BLAKE2b-256 checksum
How to use checksums
3941a0148f13d0e86336b6852b0b68f0622dd574bf12ecff4681b0141cdc6cb8
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 11, 2026.

Transparency log

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

Download URL inventor_kit-0.10.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
acb7677c5241e10cbe1a54b92d51ee752572a7b09739338834cc52e05c63ef88
BLAKE2b-256 checksum
How to use checksums
b59de6018544c5994e52a35f95e60e962d637df3be2ebef7ad837e6622dbbdb8
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 11, 2026.

Transparency log

Security for inventor-kit 0.10.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.10.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 11, 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