Skip to main content

inventor-kit

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 approximate unsupported geometry.

v0.4.0 adds body selection and IPT/IAM batch conversion.

Installation

Requires Python 3.11 or later, cq-acis>=0.3.8,<0.4, and shared model API 2. Where compatible published wheels are available, install with:

python -m pip install inventor-kit

Source builds use Rust 1.93, maturin, and acis-core / acis-py-bridge 0.3.8 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
Releasing Wheels, sdists, CI, and publication requirements
Format references Implementation references and licenses

From 0.3.0, new material is source-available under PolyForm Noncommercial 1.0.0, with commercial Internal/OEM licenses from UnRobotics Inc. See licensing for earlier MIT rights and permitted uses. See THIRD_PARTY_NOTICES.md for third-party notices. Public samples are validated against pinned hashes and sources; the CAD files themselves are excluded from distribution packages.

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

Required Notice: inventor-kit 0.3.0 and later offer new material under PolyForm Noncommercial 1.0.0; separate commercial licenses are available.

Release files for inventor-kit 0.4.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.4.0
File Size Uploaded
inventor_kit-0.4.0.tar.gz 748.5 kB Details

Built distributions (wheels)

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

Total release size: 7.0 MB

Release files / inventor_kit-0.4.0.tar.gz

Download URL inventor_kit-0.4.0.tar.gz
Size 748.5 kB
Tags Source
SHA-256 checksum
How to use checksums
840ff79395d93c1089fe8e2d3269fcb05bb616fa08ba67c9eea34f6dcc6e4108
BLAKE2b-256 checksum
How to use checksums
bede7b50a15a52c01bba69711a3cf333890a036ffbfdf2493d16874a4f8c1c30
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 Sep 16, 2026.

Transparency log

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

Download URL inventor_kit-0.4.0-cp310-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
67a6bef22806899e63658670fd9a396aaaf74f5dccad31985fab9e5e933afc0b
BLAKE2b-256 checksum
How to use checksums
814bb27732b3883650bd3e01d15866c3271b36f9994f000bc1cc1c81d13a706c
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 Sep 16, 2026.

Transparency log

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

Download URL inventor_kit-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
79fc9ca815445ed744c45ffbd0c581b036774e32450fd47b3833fd0483deafc6
BLAKE2b-256 checksum
How to use checksums
e9ddc224d6b0c7cebad0d6031041fb14d1e9ac2382a0750ac6260e6ffe2faf08
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 Sep 16, 2026.

Transparency log

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

Download URL inventor_kit-0.4.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2526463ee3046ab6d948febdd72c9de439b852d23d655895652b5270ef8d9293
BLAKE2b-256 checksum
How to use checksums
fa1926073888aefc2fdde766f832af4b9779561eada5321bc9a613529449f1d4
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 Sep 16, 2026.

Transparency log

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

Download URL inventor_kit-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
512a82e7ce8d9007257ba4d5ec3c18fa8320292542d0613aca15e7ab22870ae7
BLAKE2b-256 checksum
How to use checksums
4074853925e92b140ba2e0f2e4f38f85b15599f41810657f4ed209c563065c95
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 Sep 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

5 release files

0.5.0

5 release files

This release

0.4.0 This release

5 release files

0.2.0

5 release files

0.1.0

5 release files

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