CAD to shapely
convert a CAD file to shapely geometry for downstream processing. Currently supports, to varying degrees:
- DXF using exdxf
- (IGES to follow)
- (SVG to follow)
Utils
Also some utils in utils.py
Example
To run example in example.py you need to install matplotlib pip install matplotlib.
Development
- right click on project root folder > select open in terminal
python -m venv .venvto setup python virtual environment for this project. TIP: copy from here and right click in terminal to paste-and-execute.- Dialog should come up asking you want this env as interpreter for project: answer yes.
- If no to (3) on blue ribbon at bottom of VSCODE, on left click on interpreter, chose the venv one you just created.
- Might get some bits and both e.g. 'install pylint' etc. click install for them.
pip install -e .[dev]to install the package (editable) with dev dependencies
Releasing
Note: releasing is only actionable by the repository owner.
Versioning is handled by setuptools-scm: the package
version is derived from the git tag, so there is no version number in the source to bump.
Publishing to PyPI happens automatically via GitHub Actions (.github/workflows/python-publish.yml)
using PyPI Trusted Publishing when a GitHub release is published.
To cut a release:
$env:Path += ";C:\Program Files\GitHub CLI"
gh release create v0.3.3 --generate-notes
That's it. Tag format is vX.Y.Z (or X.Y.Z - both parse). The workflow builds the package
with the version taken from the tag and uploads it to PyPI.
Release files for cad-to-shapely 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cad_to_shapely-0.3.3.tar.gz | 302.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cad_to_shapely-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 317.7 kB
Release files / cad_to_shapely-0.3.3.tar.gz
| Download URL | cad_to_shapely-0.3.3.tar.gz |
|---|---|
| Size | 302.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3db045717636e8e255ac436c7edf03bf376f39ae3d59855398bd97fbf49367c1
|
|
BLAKE2b-256 checksum How to use checksums |
71c59544c1016b75789c5b74e298d1278a7a78c5295270a3c0707f1d65e1e0a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 13, 2026.
Transparency logRelease files / cad_to_shapely-0.3.3-py3-none-any.whl
| Download URL | cad_to_shapely-0.3.3-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38ab5b7ce328c86c3271ba3071968c2a7bd3ef2075ddfc807f6ffa4d9cfc17db
|
|
BLAKE2b-256 checksum How to use checksums |
2197e525f46257a3dc1be9b658582daef59b622761f916fbd0392d4bae389eda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 13, 2026.
Transparency log