Skip to content

Attempt to type-check writers - #250

Open
WhyNotHugo wants to merge 3 commits into
mainfrom
writer-types
Open

WhyNotHugo wants to merge 3 commits into
mainfrom
writer-types

Conversation

@WhyNotHugo

@WhyNotHugo WhyNotHugo commented Aug 28, 2025 •

Copy link
Copy Markdown
Owner

This is incomplete.

@WhyNotHugo
WhyNotHugo marked this pull request as draft August 30, 2025 18:01
@WhyNotHugo
WhyNotHugo marked this pull request as ready for review October 9, 2026 23:41
These tests use a non-standard property which only exists on this
barcode, but get_barcode returns a type-erased barcode type. This usage
would not work with any other barcode type, so it's not ideal.

Use the concrete barcode type instead.
Make writers generic, since both subclasses produce barcodes of
different types.

Trickle this to all affected interfaces, so that when using an
ImageWriter, the return type is Image, rather than `Image | bytes`.

This improves correctness downstream, since consumers now get the right
type depending on the writer they're using.

The actual API remains unchanged.

Changes to tests/test_builds.py are because that test uses a property
specific to Code128.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant