Skip to main content

b123d-recognisers

Deterministic, geometry-only feature recognition for build123d solids and imported STEP models.

This is the standalone Apache-2.0 recognition layer extracted from Draftwright. It reports immutable geometric records and does not own drawing, manufacturing, editing, or consumer-cache policy.

Usage

Run the complete shared recognition orchestration when a consumer needs one consistent inventory:

from b123d_recognisers import build_recognition_result

result = build_recognition_result(part)
for hole in result.holes:
    print(hole.diameter, hole.depth, hole.through)

Individual recognisers remain public for focused consumers. Reusable evidence is explicitly injected so it is not rediscovered:

from b123d_recognisers import analyse_cylinders, recognise_hole_patterns, recognise_holes

cylinders = analyse_cylinders(part)
holes = recognise_holes(part, cyls=cylinders)
patterns = recognise_hole_patterns(holes)

Every recognise_* function returns a deterministic list of frozen dataclass records. Records provide to_dict() projections containing only JSON-serialisable geometry values. See docs/adr/0002-uniform-deterministic-recogniser-contract.md for the complete contract.

Migrated behavior

The initial 0.1 release series preserves the recognition behavior of Draftwright commit 3fe20b0f71a71deced06b310943dd44cc66e355e. The migration includes every public recogniser, shared cylinder/level substrates, the aggregate result, and feature_census. There are no feature policy changes; one previously platform-dependent numerical axis tie is normalized to the pinned baseline result. The checked-in semantic corpus records and continuously verifies the compatibility boundary; see migration/PARITY.md.

The dependency direction is:

consumer → b123d-recognisers → build123d/OCP

The runtime package does not import Draftwright and does not return build123d or OCP objects in public feature records.

Maintainers: see the release guide for the TestPyPI-first, OIDC-only publication process.

Licence

Apache License 2.0. See LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

b123d_recognisers-0.1.0.tar.gz (236.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

b123d_recognisers-0.1.0-py3-none-any.whl (106.5 kB view details)

Uploaded Python 3

File details

Details for the file b123d_recognisers-0.1.0.tar.gz.

File metadata

  • Download URL: b123d_recognisers-0.1.0.tar.gz
  • Upload date:
  • Size: 236.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for b123d_recognisers-0.1.0.tar.gz
Algorithm Hash digest
SHA256 936b055a3e8feffe1b825242a6f87ffbc0ba565b6e68e8bae13f94a20bb982e0
MD5 73abfdf20cfed34dfc49959c9ac41cbc
BLAKE2b-256 00bb88cf7d1cc6e9c5ae775954d75c30a26f3859860e50b86cdd24e40ce02177

See more details on using hashes here.

Provenance

The following attestation bundles were made for b123d_recognisers-0.1.0.tar.gz:

Publisher: publish.yml on pzfreo/b123d-recognisers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file b123d_recognisers-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for b123d_recognisers-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6f59a9bc2e5bd3144452530cbc1a491e1fd9fbb5182fee9079f6c2f02060989
MD5 2e7cbaa00942081fec6a1feda9641a98
BLAKE2b-256 11e5196c2507157049d10c9dd6d64f3d259d6d8e2b07ea41ad05608c25e1607f

See more details on using hashes here.

Provenance

The following attestation bundles were made for b123d_recognisers-0.1.0-py3-none-any.whl:

Publisher: publish.yml on pzfreo/b123d-recognisers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.4.16

2 files

0.4.15

2 files

0.4.14

2 files

0.4.13

2 files

0.4.12

2 files

0.4.11

2 files

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

This release

0.1.0 This release

2 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