SimpleML icon indicating copy to clipboard operation
SimpleML copied to clipboard

Namespace library packages

Open eyadgaran opened this issue 3 years ago • 2 comments

Separate libraries into independent namespace packages (e.g. simpleml-sklearn). Isolates dependencies to keep install lightweight and allows a la carte versioning for extras

eyadgaran avatar May 06 '22 07:05 eyadgaran

Library list:

  • SimpleML-SQLAlchemy-ORM
  • SimpleML-MLFlow
  • SimpleML-Scikit-Learn
  • SimpleML-Tensorflow
  • SimpleML-Dask
  • SimpleML-Pandas

For now keep core interfaces and persistence package internal.

eyadgaran avatar May 08 '22 18:05 eyadgaran

[Thought] use common naming and registries to enable third-party extension. Flask has some good examples of ecosystem libraries using standard naming conventions.

Open question - create a virtual namespace package: e.g. simpleml.ecosystem.{library}... that all ecosystem libraries install into or keep them completely isolated with a required active registration (package "does not exist" until first imported).

active registration puts more overhead on users to configure their environments in each shell (or globally in a config) but is less error prone compared to passive behavior and conflicts

eyadgaran avatar May 08 '22 18:05 eyadgaran