stable-retro
stable-retro copied to clipboard
Farama Foundation Standards Progress
Farama Foundation Standards
Good Science
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Be fully deterministic | The docs don't say anything about RNG address in new game integrations. A lot of old games don't even use RNG, but this is absolutely needed, because lots of games covered in this library actually use a RNG. | |
Include explicit versioning | none | |
Use Farama Notifications | none |
Release Details
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Be released on PyPI | none | Yes for gym-retro, no for stable-retro |
Include a full package description | none | yes for gym-retro, no for stable-retro |
Deploy packages to PyPI via GitHub Actions | none | no GH actions |
Binaries
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Be deterministically compiled | ||
Ship any binaries for both x86_64 and Arm architectures and both Linux and macOS operating systems | none | x86_64 support on linux and non-ARM macs |
All supported operating systems should have wheels provided. | none | No GH actions to build them automatically |
Quality of Life
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Include a thorough documentation website | the only docs are gym-retro's | |
Run on both Linux and macOS | done | runs on both linux and mac |
Development Workflow
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Have continuous integration testing | none | There are unit tests, but they arent hooked up to GH and some might be old/out-dated |
Include a git pre-commit | in-progress | PR-14 |
Code Standardization
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Have Python code comply with the black, flake8, and isort linting/formatting tools | none | |
Add type hinting where reasonable | none | |
Include docstrings for all substantial functions | none |
Standardization
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Support the Gymnasium and/or PettingZoo API | done | supports gymnasium, but not PettingZoo I believe. Maybe need to check if gymnasium is fully supported |
Support all current versions of Python | currently supports 3.6-3.8 |
Farama Branding
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Have a logo in the same style as the other projects | none | |
Have the documentation website be at .farama.org. | none | |
Include the standard Farama code of conduct. | none |
Security
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
List Jordan Terry and Mark Towers as owners on PyPI | none | |
Have maintainers with GitHub or PyPI permissions use TOTP based 2FA or better | none |
Other
Standard | Progress (none, in-progress, done) | Notes |
---|---|---|
Include Google analytics | none | |
Use an MIT or similarly styled open source license | done | |
Link Farama donations page | none | |
Pull documentation website information from environments directly | none |
Is there anyway that we can start dividing up the tasks. Some of the easier ones that people can do separately is
- Update the setup info and upload to pypi
- Move testing to github actions
- Add testing for all possible environments using
check_env
- Make some general documentation for each of the emulators
- Update the third-party packages
- Add flake8, black, isort (or ruff due to project size) to pre-commit
- Add basic testing for different OSes / CPUs
Should we make these separate GH issues and then tag them as "good first issue"?
We can do that for now but eventually we can use something like Trello if you prefer
I will create the GH issues from the list above
We can do that for now but eventually we can use something like Trello if you prefer
I will create the GH issues from the list above
Thank you!