Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sketch of new type-annotation-based interface #137

Open
wants to merge 173 commits into
base: trunk
Choose a base branch
from
Open

sketch of new type-annotation-based interface #137

wants to merge 173 commits into from

Conversation

glyph
Copy link
Owner

@glyph glyph commented Mar 16, 2022

Fixes #145

obviously needs tests and perhaps some more thought (in particular… how would feedback state-changes work here?) but I think this might be cleaner than the methodical machine

@codecov-commenter
Copy link

codecov-commenter commented Jun 16, 2022

Codecov Report

Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (2da0af1) 91.82% compared to head (9466e8f) 94.18%.

Files Patch % Lines
automat/_typical.py 99.19% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##            trunk     #137      +/-   ##
==========================================
+ Coverage   91.82%   94.18%   +2.36%     
==========================================
  Files          11       13       +2     
  Lines        1260     1806     +546     
==========================================
+ Hits         1157     1701     +544     
- Misses        103      105       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

glyph added 26 commits July 30, 2024 12:01
This commit was sponsored by zts, James C Abel, Jason Walker, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Derek Veit, Holly B, Al Sweigart, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Sean Reifschneider, Steven S., Jason
Mills, and my other patrons.  If you want to join them, you can
support my work at https://glyph.im/patrons/.
This commit was sponsored by rockstar, Devin Prater, Derek Veit, and
my other patrons.  If you want to join them, you can support my work
at https://glyph.im/patrons/.
This commit was sponsored by Jason Walker, Devin Prater, Moshez, and
my other patrons.  If you want to join them, you can support my work
at https://glyph.im/patrons/.
… when no factory is implicated

This commit was sponsored by tgs, Thomas Ballinger, Mahmoud Hashemi,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by AJ Collins, rockstar, Derek Veit, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Christopher Neugebauer, Jason Mills,
Devin Prater, and my other patrons.  If you want to join them, you can
support my work at https://glyph.im/patrons/.
This commit was sponsored by Jason Walker, Devin Prater, Jason Mills,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by hacklschorsch, rockstar, Jim W, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Matt Campbell, rockstar, Sergio Bost, and
my other patrons.  If you want to join them, you can support my work
at https://glyph.im/patrons/.
This commit was sponsored by Matt Campbell, Steven S., Devin Prater,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by Matt Campbell, Hynek, hacklschorsch, and
my other patrons.  If you want to join them, you can support my work
at https://glyph.im/patrons/.
This commit was sponsored by Jason Mills, Derek Veit, Devin Prater,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by rockstar, Derek Veit, Sergio Bost, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Devin Prater, Jason Mills, jhulten, and
my other patrons.  If you want to join them, you can support my work
at https://glyph.im/patrons/.
This commit was sponsored by Devin Prater, Jason Mills, Matt Campbell,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by Matt Campbell, Steven S., hacklschorsch,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by Jason Mills, Steven S., Devin Prater, and
my other patrons.  If you want to join them, you can support my work
at https://glyph.im/patrons/.
This commit was sponsored by Sergio Bost, Jason Mills, Devin Prater,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by Sergio Bost, hacklschorsch, Jason Mills,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
This commit was sponsored by Jason Mills, hacklschorsch, Matt
Campbell, and my other patrons.  If you want to join them, you can
support my work at https://glyph.im/patrons/.
This commit was sponsored by hacklschorsch, Matt Campbell, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Matt Campbell, hacklschorsch, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by hacklschorsch, Matt Campbell, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by hacklschorsch, Matt Campbell, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
@glyph
Copy link
Owner Author

glyph commented Aug 1, 2024

Stuff to do before landing:

  • visualization cleanups: outputs need much shorter, pithier names that look good in a visualization (inputs and states are OK)
  • serialization: I need a way to serialize & deserialize the current state of a machine, for database-resident state machines.
  • documentation: all the documentation needs to be rewritten to use TypeMachineBuilder
  • internal naming: _typified is a bit of a silly name, renaming to something like _typed would be better.
  • typing: possibly TypeMachine needs to be public so that people who want to call .asDigraph (or whatever the tracing or serialization APIs are) can still annotate their return types

This commit was sponsored by hacklschorsch, and my other patrons.  If
you want to join them, you can support my work at
https://glyph.im/patrons/.
This commit was sponsored by Derek Veit, Devin Prater, James C Abel,
and my other patrons.  If you want to join them, you can support my
work at https://glyph.im/patrons/.
…-door as initial example

This commit was sponsored by jhulten, Al Sweigart, Sergio Bost, and my
other patrons.  If you want to join them, you can support my work at
https://glyph.im/patrons/.
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.

automat2: type-hints based API with a separate class per state
2 participants