-
Notifications
You must be signed in to change notification settings - Fork 182
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
Change build to use poetry #606
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #606 +/- ##
==========================================
- Coverage 61.99% 61.78% -0.21%
==========================================
Files 14 14
Lines 3005 2986 -19
==========================================
- Hits 1863 1845 -18
+ Misses 1142 1141 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
still need to update readme and pypi upload
* add script to run 'act' local github actions tool (lets devs check github actions on their local machine) * Update various github actions to latest (so they can work with the 'act' tool) * change a few places where python version was not properly quoted as a string (act yaml parser is more strict than the github version) * update pylint min-version to work with recent github actions * remove pandas/riden requirement (that's in my other branch for now)
add pyinstaller as a dev dep. Use it to make "bin/build-bin.sh" remove old version scripts (no longer needed with poetry)
Hi ya'll! So I think this PR is probably good to go, except for three caveats:
Thoughts? Please review kinda carefully. Poetry means we no longer have a setup.py/requirements.txt or the various crufty scripts I wrote to hand increment version. I think if you haven't used poetry before you might really dig it. It makes everything much more standardized and seems to be the 'modern' way of robustly developing/releasing python packages. btw: I added a run-ci-local.sh script to bin. It allows the user to run the github CI actions on your desktop which is super useful for testing this stuff. |
fixes #604 |
pyproject.toml
Outdated
pyyaml = "^6.0.1" | ||
pypubsub = "^4.0.3" | ||
bleak = "^0.21.1" | ||
mypy = "^1.10.0" |
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.
Sorry, I know nothing about Poetry but Is it possible to separate out the things that are needed for testing vs. runtime?
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.
yes - there is a separate dev depends. bleak and pypubsub need to stay in the runtime depends. But good point mypy can move to the dev depends. I'm not sure about pyyaml - haven't looked to see what that's used for.
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.
pyyaml is used for some sort of save as yaml feature added sometime ago - so it needs to stay in runtime deps.
Including in the Poetry changes because it touches the same lines and I want to avoid hand merging ;-)
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.
Sorry it took me a bit to get to this! Looks good to me, so I'll merge it now. I also just merged the PR removing the need for the timeago
library, so I'll handle any conflicts there/remove that library from our dependencies after merging.
I'm just opening this PR (as draft hopefully), so I can watch all the horrible ways this breaks CI. I'll rebase and edit (and add docs) before this is ready to submit.
remaining TODOS: