Some thoughts ๐ค ๐ญ
Ce11an opened this issue ยท 4 comments
Hey everyone ๐๐ป
SurrealDB will change the game. It would be great to have a well-tested, typed, and documented python library to use for future data science/ML projects. I would love to start contributing to this library. I was wondering what the roadmap is for 2023 and how I can get involved. I have been looking through the repository and wanted to highlight some areas we could improve. Let me know your thoughts! I am open to working on these areas. I believe having the below would give the repository a great baseline to allow for contributions to be more streamlined.
Sorry if some of these aspects of the repo have already been discussed! I couldn't find anything, so I thought it best to brain-dump everything here ๐
Also, could we open discussions for this repo? I am happy to discuss on this issue or in Discord - Thanks!
Code Formatting ๐ฏ
Some suggestions for code formatting:
Code Quality โ
Some suggestions for code quality:
Documentation ๐
When it comes to documentation, I am not sure needs to align with the other SurrealDB libraries or not? Saying that we can agree on a documentation style. I would vote for Google Style and using MkDocs for the documentation itself.
GitHub Actions โ๏ธ
Some suggestions for GitHub Actions:
- Code formatting (black/isort).
- Code quality (pytest/coverage/pydocstyle/flake8).
- Run tests using Python 3.7, 3.8, 3.9, 3.10, 3.11
- Run tests on macOS, Linux, and Windows.
- CodeCov.
- SonarCloud.
- Branch protection rules.
Housekeeping ๐งน
Some nice to haves to allow for easier contribution:
- Automated labels.
- PR templates.
- Issue templates.
- Document list of changes.
- Contribution guidelines.
@Ce11an Great ideas here, we should implement these. Feel free to make a pr if you're interested in implementing any of your suggestions. Note that all documentation is on https://surrealdb.com/docs
, for example https://surrealdb.com/docs/integration/libraries/nodejs
I don't think code quality is the best term for tests, I would think "Code Stability" may be better.
And possibly we could use Ruff as a rust-backed alternative to flake8, pydocstyle, and isort.
I also don't quite see the need nor use case to use SonarCloud here, just using GitHub actions would most likely suffice.
@CaedenPH - Thanks for the docs link. Will happily work on some of these areas.
@VincentRPS - Hardest part of coding is naming anything ๐ Happy to change to stability. I have never used Ruff but the performance looks great. Happy to add this in.
I will make some additional issues to separate this ticket and link them back here.
Thanks ๐
jumped on this issue a little bit late, been busy recently... i'm in agreement with what was already said here, these are mostly things i planned to implement but never did. feel free to pr any of these if you wish, if not i'm happy to take over and implement them