chore: address various setuptools deprecations#259
Conversation
72fb716 to
5a32e60
Compare
|
I was never able to get "setup.py" to run on my machine, but whatever the issue was seems to get solved when using uv: Note: there's more work to actually make it 'uv ready', in particular telling pyproject.toml to get the version from version.py, but that seems to make pyproject authoritative and this isn't meant to be a bridge-burning exercise. |
61adb55 to
6937886
Compare
ca191e0 to
14bdc33
Compare
|
@eyeonus OK - What I've done here:
UseTo build the distributable: To run the tests: to update current requirements: to add a new dependency: It does its own caching, so the first run can be underwhelming, It's when you nuke the .venv and do "uv sync" again, for example, that you go "oh, that's definitely better" :) |
|
I'm still not going to be the least offended if you choose not to embrace this atm. |
|
PS: If you want to try a different python locally: # powershell
$env:UV_PYTHON="3.13"
uv sync# posix
export UV_PYTHON=3.13
uv synclooking at tox results, trade runs a fair bit faster under pythons 3.13 and 3.14. rubs hands together |
30216ec to
509dec9
Compare
|
It's not that I eschew new tools, it's just my brain is hardwared to (?:n)?vi(?:m)? or notepad++. Much like Linus Torvalds, keeping a uemacs source tree in his repo and compiling it up each and every time because he can't use anything else, I abhor change. So it might take a while to get my head around such things. |
|
forgot to blame bernd
and Trom
…On Mon, Jan 12, 2026 at 8:18 PM Stefan Morrell ***@***.***> wrote:
*Tromador* left a comment (eyeonus/Trade-Dangerous#259)
<#259 (comment)>
It's not that I eschew new tools, it's just my brain is hardwared to
(?:n)?vi(?:m)? or notepad++. Much like Linus Torvalds, keeping a uemacs
source tree in his repo and compiling it up each and every time because he
can't use anything else, I abhor change.
So it might take a while to get my head around such things.
—
Reply to this email directly, view it on GitHub
<#259 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANHHYC3453C53V2NPXNRE34GRPXXAVCNFSM6AAAAACQNQOU4WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTONBRGY2DQMJTGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
mu'o mi'e .aionys.
.i.e'ucai ko cmima lo pilno be denpa bu .i doi.luk. mi patfu do zo'o
(Come to the Dot Side! Luke, I am your father. ^_^ )
|
What am I being repudiated for now? 😱 |
|
author credits
…On Mon, Jan 12, 2026 at 10:58 PM Stefan Morrell ***@***.***> wrote:
*Tromador* left a comment (eyeonus/Trade-Dangerous#259)
<#259 (comment)>
forgot to blame bernd and Trom
What am I being repudiated for now? 😱
—
Reply to this email directly, view it on GitHub
<#259 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANHHYEXXLA622Y3S5JXZXT4GSCQFAVCNFSM6AAAAACQNQOU4WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTONBSGEYTANZTGM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
mu'o mi'e .aionys.
.i.e'ucai ko cmima lo pilno be denpa bu .i doi.luk. mi patfu do zo'o
(Come to the Dot Side! Luke, I am your father. ^_^ )
|
|
I'm ok with just beeing in the README as I have not done anything for the main code base for a while now. |
|
Stefan 'Tromador' Morrell is fine. |
509dec9 to
a2c8d9f
Compare
|
Added Stefan and Bernd's names (if ya'll want emails, I'ma let that be on your own heads :) |
No thankyou :) |
f704aa3 to
c3c4e60
Compare
|
squashed, want @eyeonus to see the commit message and go-no-go: uv use is not required after this change, it is simply supported, as well as near-future pip and other package managers that are pyproject based 8x --- cut here --- x8
to test: python -m venv .setup-venv
. ./.setup-venv/scripts/activate.ps1
python -m build --out-dir setup-build
deactivateand/or uv build --out-dir uv-build
Follow On Actions:
|
2a2f6f9 to
25d363d
Compare
|
out of personal curiosity I'm going to replace the app.yml with the uv version in this branch, and then make a change so I can generate an alpha pypi package (so it should only be visible if explicitly requested). will allow me to see if it works end-to-end. gh workflow run "Python application (uv)" -f mode=alpha |
9a8da66 to
5eabb03
Compare
6e11f97 to
77731f7
Compare
7ec5884 to
27e5e52
Compare
This change modernizes the internal package management to center on pyproject.toml, enabling support for several package managers including 'uv'. Should not require any changes by developers or end users, but using something like mamba or uv will significantly reduce wait times when running things like tests/linters etc. chore: refactor pyproject.toml, setup.cfg, setup.py with modern practices, chore: tox testing is now uv-driven for speed and flexibility, - can test multiple python versions even if not installed, chore: transition dependencies/etc into pyproject.toml following modern python conventions, docs: add a runbook covering how you can leverage this with uv package manager, feat: use github uv tooling to build/distribute this change switches to the uv-based workflow actions for building releases. leaving both in-place would lead to conflicts. chore: fixed several deprecation warnings/etc during build, chore: gets version number from version.py as before, docs: updated credits, to test: ```sh python -m venv .setup-venv . ./.setup-venv/scripts/activate.ps1 python -m build --out-dir setup-build deactivate ``` and/or ```sh uv build --out-dir uv-build ``` Should be similar for other package managers. Follow on actions: - remove requirements files,
27e5e52 to
fa41e9e
Compare
This moves various things into 'pyproject.toml' and adds a runbook for doing things with uv - although it does not require uv and does not prevent setuptools from running.
pyproject.toml is now the "correct"/official way to do most of the setup tools stuff, modern tools like
uvbenefit from it.The only thing keeping setup.cfg at this point is the 'test' alias, but I would recommend that we consider moving to using tox instead of invoking pytest, and then we should invoke it directly instead of doing
python setup.py test.If we aren't relying on
python setup.py testanyplace, we can now remove setup.cfg, but that's beyond the scope of this change.