Skip to main content

parasolid-kit

A schema-aware parser for Parasolid X_T and X_B transmit files. A safe Rust core handles parsing and geometry mapping; Python exposes immutable typed models and a command-line interface. The project focuses on reading and preserving the transmitted structure for inspection and conversion pipelines.

Rust applications can use parasolid-core directly, without Python.

Features

  • Inspect headers and map supported topology, analytic geometry and NURBS to a typed source B-Rep.
  • Compare X_T/X_B documents after pointer remapping and reconstruct an unmodified parsed X_B document byte-for-byte.
  • Report structured diagnostics and enforce configurable resource limits.
  • Use optional OCCT conversion, validated STEP export, CadQuery shapes and a local viewer with face/edge source picking, body visibility and section views.

Installation

Python 3.10+ is required. The base package has no runtime dependencies:

python -m pip install parasolid-kit

For STEP export and the viewer, install the OCCT profile:

python -m pip install "parasolid-kit[occt]"

See installation for platform requirements, the separate CadQuery profile, downloaded wheels and source builds.

Quick start

For an input covered by a built-in profile:

parasolid-kit inspect model.x_b          # Header only; no schema catalog needed.
parasolid-kit check model.x_b            # Parse and check the source B-Rep.
parasolid-kit check model.x_t --json     # Structured report.
parasolid-kit compare model.x_t model.x_b

The same workflow is available in Python:

from parasolid_kit import read_brep

parsed = read_brep("model.x_b")
print(parsed.summary.to_dict())
print(parsed.complete)
print(parsed.brep.diagnostics)

complete describes source B-Rep mapping. Geometry conversion and a native CAD file's saved configuration have separate requirements. Use check when completeness must affect the CLI exit code. See the Python API and CLI reference for lower-level operations and diagnostics.

Local viewer

To try the viewer from a source checkout with Rust 1.88+ installed:

python -m pip install ".[occt]"
parasolid-kit viewer model.x_t --source-unit mm

Choose the input's actual unit; it is never inferred. view is an alias. The command opens a local URL; Ctrl-C stops serving and keeps the generated files. Node.js and a CDN are unnecessary at runtime.

Viewer showing two boxes and the selected face's source ID, node and byte range

Project-authored synthetic two-body fixture, rendered with Linux/SwiftShader. See preview controls and saving, display limits and viewer development.

Supported inputs

Built-in profiles cover exact Onshape V30/V13/current, extracted iCAD and SolidWorks partition keys, five transmit-file keys (NX and the Parasolid 24 and 26 acceptance tests) and six standard keys of Parasolid 9 to 16 (NX, MicroStation, IronCAD, SolidWorks). Each has verified_subset coverage and is completed by its schema family; application user fields are read. A key with no exact profile is read with the schema family of its effective schema and base (another Parasolid build of a reviewed schema) and reports family_inferred coverage; its node types must still be covered by the family's merged declarations. Consult the support matrix for exact keys, families and geometry limits; matching a key does not guarantee that all records are supported. Other schemas or uncovered types need an explicit schema catalog.

Native CAD containers and SolidWorks delta application are outside the complete parser contract. Assembly structure (instances and their transforms) is returned beside the B-Rep and is not applied to geometry or conversion. Parsing, OCCT conversion, STEP export and preview have separate coverage. See format support and limitations.

Documentation

Topic Guide
Setup and optional runtimes Installation
Python models, conversion and CLI API reference
External schema providers Schema catalogs
Supported inputs and geometry Support matrix
Profile sources and validation Built-in profiles
Release changes Changelog
Maintainer verification Release gates, corpus policy

License

The distribution is licensed under MIT AND Apache-2.0: the original implementation uses MIT, and adopted partial readers use Apache-2.0. See reader provenance and viewer notices.

Metadata

Release files for parasolid-kit 0.3.11

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

Source distribution (sdist)

Source distribution for parasolid-kit 0.3.11
File Size Uploaded Provenance Actions
parasolid_kit-0.3.11.tar.gz 1.3 MB With provenance Details for parasolid_kit-0.3.11.tar.gz

Built distributions (wheels)

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

Total release size: 7.0 MB

Release files / parasolid_kit-0.3.11.tar.gz

Download URL parasolid_kit-0.3.11.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
cdecee1d868f8fd93fd7999d251d3d661fdecb78d95224809004bc36ff6b43fb
BLAKE2b-256 checksum
How to use checksums
0d9f3c073d7461496f68f8fcdc7482f90ca1eb528b028bd5dbd7fbddef4b5911
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 3, 2026.

Transparency log

Release files / parasolid_kit-0.3.11-cp310-abi3-win_amd64.whl

Download URL parasolid_kit-0.3.11-cp310-abi3-win_amd64.whl
Size 1.3 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
fe011eb575121c896e0bb6002a1d813d2d2db995b27e76dc8934671f721cb419
BLAKE2b-256 checksum
How to use checksums
1cd3612d9f3d13055d117b2deedba0670c361a284d8facf11495765166ced643
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 3, 2026.

Transparency log

Release files / parasolid_kit-0.3.11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL parasolid_kit-0.3.11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
bff7b8019a05942b14c471d99700d8253891cec8761486d4b58720f0173ce3dd
BLAKE2b-256 checksum
How to use checksums
9bbcb86b17bce2aa904e646ea9b300658e09929b6521e12a9dbd7fc143a6afbc
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 3, 2026.

Transparency log

Release files / parasolid_kit-0.3.11-cp310-abi3-macosx_11_0_arm64.whl

Download URL parasolid_kit-0.3.11-cp310-abi3-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
79aec77eda6582290a591a091a7a5f2dffc8526022381df510cd668f34f5ef17
BLAKE2b-256 checksum
How to use checksums
32ea8fd49f213ea2375f0e8116d5a860f0c8464224f448abb7cb6f4df5c47492
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 3, 2026.

Transparency log

Release files / parasolid_kit-0.3.11-cp310-abi3-macosx_10_12_x86_64.whl

Download URL parasolid_kit-0.3.11-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
43b188f882e7b3fff26ad35a27af64102bea7df54a4fbe71161946dec2cb6811
BLAKE2b-256 checksum
How to use checksums
727d4f095507ad6fb5d617c95a92effac75f59acd516f6855adfde58392a6240
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 3, 2026.

Transparency log

Security for parasolid-kit 0.3.11

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 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for parasolid_kit-0.3.11.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 3, 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