You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Richer documentation and type annotation. This module is serving a lot of roles right now and some internal design decisions have been made out of necessity for fulfilling those roles, and as personnel come and go/the years go on and on, we might lose sight of why those decisions were made. Stronger documentation about the why of some of these choices would help prevent breakage down the road (and might also resolve some of my thoughts/concerns below). Type annotation should be easier and would be a good short term step.
Constrain global fmt values in an enum
Document kwargs for translator methods directly in the implementation classes. Currently they're all located within the abstract parent, which means that docs for each implementation e.g. show the user some irrelevant kwargs.
Make documentation for individual _from_ methods accessible. Right now there's a docstring that refers a user to look at them for more information, but they're private (leading underscore), so the user technically isn't supposed to be able to/can't easily find them, either with help() or in docs if we ever make them.
Not clear to me why args in AlleleTranslator._create_allele are kwargs -- if it's for flexibility between individual _from_fmt methods, there are a few ways we could make valid args more explicit, either naming them all and giving them defaults, doing fmt-specific post-processing within the _from_fmt method, ...
The text was updated successfully, but these errors were encountered:
This module is serving a lot of roles right now and some internal design decisions have been made out of necessity for fulfilling those roles, and as personnel come and go/the years go on and on, we might lose sight of why those decisions were made. Stronger documentation about the why of some of these choices would help prevent breakage down the road (and might also resolve some of my thoughts/concerns below).
There was a discussion on architectural decision records in a GKS meeting and I think this could help us.
A wishlist/brainstorm:
fmt
values in an enumkwargs
for translator methods directly in the implementation classes. Currently they're all located within the abstract parent, which means that docs for each implementation e.g. show the user some irrelevant kwargs._from_
methods accessible. Right now there's a docstring that refers a user to look at them for more information, but they're private (leading underscore), so the user technically isn't supposed to be able to/can't easily find them, either withhelp()
or in docs if we ever make them.AlleleTranslator._create_allele
are kwargs -- if it's for flexibility between individual_from_fmt
methods, there are a few ways we could make valid args more explicit, either naming them all and giving them defaults, doing fmt-specific post-processing within the_from_fmt
method, ...The text was updated successfully, but these errors were encountered: