HandyRL
HandyRL copied to clipboard
Make it a library
c.f. https://github.com/DeNA/HandyRL/pull/182#discussion_r605022713
At a glance, this framework is worth and it is convenient if it is available on PyPI.
Required works are:
- Make
handyrlexecutable - Support user-provided environments and config.yaml.
- CI (publish to PyPI)
@kenoss Thank you for your nice suggestion! We have been also considering making HandyRL a library, while I'm worried problems about compatibility.
Currently, HandyRL is shared as a tool which is just used for developing strong AIs (and after developing AIs it finishes its role). If we share HandyRL as a library, however, there will be some users who import HandyRL in a bigger product. In such a situation, we should take a responsibility to keep compatibility, while this will make code complex...
I got your point, but I think your anxiety is groundless. Because...
We can use SemVer. SemVer enables us to express "this update contains breaking change", and also users to notice that change. Publisher's responsibility is (in this repository's case I think) only to use SemVer correctly. It is the users' responsibility to write correct requirements and follow updating.
Note that recent build tools like poetry treat SemVer well.
E.g., poetry add command adds caret requirement by default.
Since this tool is small and for training, I guess people accept breaking changes and frequent major updates. Also, you can declare "this library is under development phase and not stable."
SemVer is cool! When HandyRL is versioned, sounds good.