-
-
Notifications
You must be signed in to change notification settings - Fork 388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor!: restructure project to use proper src-layout #844
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of nits.
What else are you planning to add before merging? Because this PR is quite big already (which is also why I went and reviewed this already despite still being a draft)
This became a big refactor almost accidentally. Initially the change was going to be regarding having one proper pip module, which showed the problem with the existing layout. Of course, in changing both of these things, that propagates throughout, essentially, the entire project. All to say, any other changes done are to facilitate that adjustment. There is no other upheaval planned for this PR outside accomplishing that initial task. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can confirm that the pipewire error of the nix flake is gone for me too
CONTRIBUTING.md
Outdated
|
||
### Contribution Checklist | ||
|
||
- I've read the [Feature Roadmap](/docs/updates/roadmap.md) page | ||
- I've read the [FAQ](/README.md/#faq), including the "[Features I Likely Won't Add/Pull](/README.md/#features-i-likely-wont-addpull)" section | ||
- I've checked the open [Issues](https://github.com/TagStudioDev/TagStudio/issues) and [Pull Requests](https://github.com/TagStudioDev/TagStudio/pulls) | ||
- I've checked the project [Issues](https://github.com/TagStudioDev/TagStudio/issues) and [Pull Requests](https://github.com/TagStudioDev/TagStudio/pulls) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: should be project's
as above right?
Summary
This PR introduces a large refactor that moves files in order to properly align with what should be a proper "src-layout". A standard Python project layout is what was intended from the start of this project, but after a deeper level of research combined with a number of ongoing issues has made it clear that the current project structure is not only incorrect, but actively causes issues in a number of areas.
Changes
This PR introduces the following changes:
requirements.txt
andrequirements-dev.txt
topyproject.toml
and deleted the former filespyproject.toml
along with other code de-duplication and improvmentstagstudio
in place ofsrc
Why?
This refactor fixes a number of longstanding issues while opening up the door for new development QoL features and Python-specific packaging.
tagstudio.src.
orsrc.
pyproject.toml
instead of duplicating them in the workflow files and letting the versions get out of syncpip
, both for users and developersTasks Completed
Closes #200, Closes #365, Closes #512, Closes #800