fklearn
fklearn copied to clipboard
Migration plan for python 3.8, 3.9 or some "newer tooling"
Hey everyone!
I recently started trying to contribute to this project and I saw PR #182, so I just want to know which would be the expected support level for that version or future versions of the language and whether would be great to start helping with something like that.
Also, which kind of features/tooling would be nice to have in here? And which ones seems valuable for the project itself, I mean, things like the following:
- pyproject.toml file for centralized configurations (this includes mypy, flake8, isort, or maybe black(?) in the same config file).
- Poetry as the default deps and venvs manager(?)
- Github actions instead of CircleCI sounds viable? or in case that doesn't make sense at all, and in that case, do you have currently a code quality workflow checking all the points, linting, formatting, code complexity, docstrings, and typing? Are you open to considering options to avoid using custom shell scripts?
Sorry if this is dumb or something, but I saw the gitter room a little inactive and I don't know if some of those points can be a real deal or if I'm saying things that other persons had proposed.
Thanks in advance folks 💜
Hi Erick!
Since the gitter don't have a lot of action anymore, I think the best path is actually open issues here in our Repo.
I would say that anything that improves the developers experience is a nice contribution. Personally I'm really open to things like the ones you proposed if they still allow people to easily install the library using a pip install fklearn and don't require them to change a lot the dev environment.
Github actions instead of CircleCI sounds viable? or in case that doesn't make sense at all, and in that case, do you have currently a code quality workflow checking all the points, linting, formatting, code complexity, docstrings, and typing? Are you open to considering options to avoid using custom shell scripts?
About this last one I would say that it is worth the investment only if Github actions brings something that CircleCI doesn't support as of today. Talking about what we provide, we do have codecoverage, lint, formatting and typing (most of them defined here). And the same thing I said about the Github actions can be applied here, I wouldn't invest time to have exactly the same experience using other tools, but if it is something that can improve the experience we can plan to migrate some stuff.
Feel free to propose something related to pyproject.toml and/or Poetry and we can keep discussing. I would be happy to review the PRs and guide you on how we think about the project.
I forgot to talk about different Python versions, I would be also really happy to improve the release/test flow for different versions. Today it is kinda slow, I think in the past we tried to use tox, but I'm not sure if it is the best tool
Thanks for the answer @caique-lima, it's really helpful to know what would be the best approach, and I want to be sure that I'm not doing weird things with the project, as you said, because of the lack of movement on the Gitter, I will try with Poetry first, and then we can keep the conversation.
Just to keep track of the options, I will add this link to the thread https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/