Conversation
* Migrate library from poetry to uv * Update docs and Readthedocs configuration * Replace black with ruff format
* Add minimal implementation of download functionality * Update CHANGELOG * Update docstring
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #7394 +/- ##
==========================================
+ Coverage 95.46% 95.49% +0.03%
==========================================
Files 35 35
Lines 3150 3171 +21
==========================================
+ Hits 3007 3028 +21
Misses 143 143
🚀 New features to boost your workflow:
|
|
Build successful. Some useful links:
This preview will be removed when the branch is merged. |
|
From #7115, so I don't forget:
|
|
@mjpost Did 9f913d1 go through the library? The abstract contains unnecessary HTML entities ("), causing the integration tests here to fail. I suppose this should be added to the main build checks, rather than causing surprises in the Python integration checks. Will need to think about this and might add a suggestion to this PR. |
No, it was a weird one-off where I had to add the paper manually. I thought it was best to just add it by hand but I can see I should have just handed this with a short library-based script. Noted for the future. |
akoehn
left a comment
There was a problem hiding this comment.
I did not go into the python files. If there is something in there, let me know. Might have time for a proper review on the weekend.
| All of these dependencies can be installed via Homebrew: | ||
|
|
||
| ```bash | ||
| brew install bibutils hugo jing-trang just sass/sass/sass uv |
There was a problem hiding this comment.
You remove the apt instructions and add homebrew -- don't think I don't see what you are doing!
There was a problem hiding this comment.
Feel free to add back apt instructions, but it looked to me like uv can't be installed that way so I opted for the thing that works with all the dependencies, and on both Mac and Linux.
I assume that opinionated Linux users will know to use their preferred package managers instead. ;)
| formatting guidelines defined by the [`black`](https://black.readthedocs.io/) | ||
| tool. | ||
| 4. Python files need to follow the lint rules covered by the | ||
| 4. Python files should have a maximum line length of 90 and follow the linting |
There was a problem hiding this comment.
(Why don't we follow the black/ruff format without exceptions?)
| ## How to use | ||
| ## For end users | ||
|
|
||
| Install via `pip`: |
There was a problem hiding this comment.
Sounds like you want uv here as well, spread the gospel :)
There was a problem hiding this comment.
Not sure actually. uv is mostly a project manager, and uv pip install --system exists but isn't really a recommended use of uv AFAIK. I just want to highlight that the package is on PyPI, I don’t think I want to go into the depths of recommending how to set up a project or venv for it :)
There was a problem hiding this comment.
ah, you mean for global installation. In that case, I would also not recommend pip but refer to pipx / uvx instead.
There was a problem hiding this comment.
But those are (IIRC) only useful for packages exposing CLI commands, which we currently don’t do :)
(We could, though!)
|
I tweaked some build scripts and also chose to bump Hugo to v0.156.0, since that version breaks our build by removing a deprecated variable we used in the RSS template, and introduces more deprecations that I thought I’d take care of while I was at it. If someone wants to review this more thoroughly, I’d recommend (1) waiting for #7570 and #7585, (2) merging python-dev into master, (3) merging master back into here. Then we have a little less noise in here in terms of files changed. |
Resolves #7258, see there for motivation.
In short, this:
uv(via merging inpython-dev)blacktoruff formatuvworkspace to the root folderuvfor every Python-related calluvhandles Python versions and package installationsjing(RelaxNG schema validation) rather than relying on Makefile for this, as this means all core build checks can be invoked via pre-commitcreate_extra_bib.pyProbably requires updating some documentation too which I haven't done yet.