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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| inventor_kit-0.4.0.tar.gz | 748.5 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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