Modernize Package and Tooling#440
Conversation
|
Thank you for your suggestions, with our library in a more stable state, we will look into it for our v2.2.0 release. I'll keep this PR open as reference or if you would like to update it. |
@ereoh, I just got around to updating it, horrible merge conflicts haha. Now that you guys use rust/pyo3 there is even more justification to use uv for how much simpler it makes that workflow. Let me know if there are any questions around any of these changes. I went ahead and swapped out mypy for |
|
Hi, thanks for the effort! Below are some updates regarding your suggestions:
Again, thank you so much for your suggestions and feedback. |
Hello!
I have opened this PR because there are several improvements that can be made to the repository's structure and the cleanliness of the python package itself that will allow Torchsig to grow in a manner fully supported by best practices and industry standards.
A
srclayout is particularly valuable when developing libraries. It ensures that the library is isolated from any python invocations in the project root and that distributed library code is well separated from the rest of the project source.Further, the industry has migrated to using newer tooling than what Torchsig currently utilizes, these tools are namely
uvandruff. UV is a drop-in pip replacement and build-system while ruff is a linter and formatter.A follow on issue should run
ruff formatand fix the linting errors. Id also suggest exploring a type checker such asty.There is more to be done here but this is a good start. I also think its worthwhile to start publishing wheels to PyPi, this workflow is made much easier with
uv build && uv publishand can be handled in a new GitHub workflow.Happy to address any questions that arise from this.