chz/tiepin.py (20 lines): - line 428: # TODO: also support type, callback protocols - line 429: # TODO: unify with factories.from_string - line 430: # TODO: needs module context - line 584: # TODO: this is incorrect - line 595: # TODO: this is incorrect - line 684: # TODO: handle Cls.__init__ like below - line 702: # TODO: handle other special forms - line 711: # TODO: add invariance - line 712: # TODO: think about some of this logic more carefully - line 864: # TODO: handle other special forms before exit on this branch - line 873: # TODO: maybe remove bytearray and memoryview ducktyping based on PEP 688 - line 888: # TODO: there's some confusion when checking issubclass against a generic collections.abc - line 955: # TODO: overloads - line 956: # TODO: paramspec / concatenate - line 957: # TODO: typeguard - line 958: # TODO: annotated - line 959: # TODO: self - line 960: # TODO: pep 692 unpack - line 961: # TODO: typevartuple?? - line 991: # TODO: maybe remove this? Its current use is in diagnostics (for providing the actual type), chz/blueprint/_blueprint.py (9 lines): - line 334: # TODO: cast or meta_factory info, not just type - line 514: # TODO: maybe MetaFactory should have default impl and this should be: - line 749: # TODO: handle total=False and PEP 655 - line 780: # TODO: could be fun to parse function docstring - line 913: # TODO: Allow automatically accessing any attribute on parent for factories? - line 919: # TODO: Allow factories to return blueprints? This would allow for better presets, e.g. you - line 979: used_args.update(sub_used_args) # TODO: should this be gated by use? - line 1088: # TODO: deep copy? - line 1121: # TODO: this is the only place we instantiate a default chz/factories.py (9 lines): - line 68: # TODO: maybe make this default to: - line 241: # TODO: add docs for this branch - line 299: # TODO: think about this type ignore - line 371: # TODO: note this assumes covariance, also give a better error - line 413: # TODO: annotated - line 458: # TODO: maybe make this assert and make artificial use cases pass a value explicitly - line 480: # TODO: remove special handling here and elsewhere by moving logic to collect_params - line 490: # TODO: add docs for fun lambda case - line 516: # TODO: think about this type ignore chz/data_model.py (4 lines): - line 200: # TODO: is it unfortunate that x_name appears in error messages? - line 314: # TODO: use better dataclass logic? - line 323: # TODO: the semantics implied here could be more crisply defined and maybe generalised to - line 690: # TODO: remove figure out why mini needs name mangling chz/blueprint/_argv.py (2 lines): - line 18: # TODO: allow stuff like model[family=linear n_layers=1] - line 51: f"TODO: beta_blueprint_to_argv does not currently convert {value!r} of " chz/validators.py (2 lines): - line 57: # TODO: is_subtype_instance is in a much better place to return diagnostics - line 124: # TODO: typecheck(self, field.logical_name) chz/field.py (2 lines): - line 198: # TODO: handle forward ref - line 273: # TODO: support lambdas