<SnoopJ>
it looks like it's using the system copy of `typing_extensions` which is probably older than 4.0.0 (when `Self` was added)? Not sure *why* it would be doing that, though, unless the venv was created with access to the system site
<SnoopJ>
(Ubuntu 20.04 has python3-typing-extensions @ 3.7.4.1-1 so that seems like it's indeed probably the proximal cause)
<esden[m]>
mhh... ok yeah, odd.
<esden[m]>
Ok thanks @SnoopJ. Uninstalling the system package for typing extensions did the trick it seems.
<SnoopJ>
esden[m], if you have a look-see at `/home/esdentem/.local/pipx/venvs/glasgow/bin/python3 -m site` and it lists dist-packages that should confirm that the venv is looking at the system site. AFAIK that's not a default behavior so unless it's a Glasgow Thing™ to create your venv with --system-site-packages or something, maybe you wanna destroy the venv and truly go from scratch (I think `pipx
<SnoopJ>
reinstall` re-uses the venv and amounts to a `--force-reinstall` in pip)
<esden[m]>
Ahh good to know. I did uninstall, and then install it again. So I guess it should have removed the venv.
<esden[m]>
Ohh! Ok. So interact is being overloaded, and was missing. Thanks for fixing it. 🙂
<esden[m]>
(sidebar, your recent Ocaml comment made me sad... as Python is increasingly making me sad in a bad way... the future we could be living in 😄 )
<esden[m]>
(but I guess grass is always greener somewhere else... but I did have some very good experiences with Ocaml in the past)
<whitequark[cis]>
what's up with you and Python?
<esden[m]>
just every time I update things, stuff crumbles somehow
<esden[m]>
Not a big deal. I will manage. 🙂
<esden[m]>
Just the fact that you brought up Ocaml in that Masto thread made me nostalgic.
<whitequark[cis]>
I actually think Python got way, way better recently
<whitequark[cis]>
like, you can have a real workspace management system (PDM)? which even does lockfiles for you? and it ensures a consistent dependency resolution result? astonishing. i had that in Ruby over 10 years ago
<esden[m]>
Ohh that is exciting indeed, and way overdue.
<_whitenotifier-7>
[glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-528-e8ced57945fedc7f0640c770b1d6ecb70c3194ce - https://github.com/GlasgowEmbedded/glasgow
<SnoopJ>
PDM definitely seems to bring it all under a single umbrella in a way that isn't a huge nuisance
<whitequark[cis]>
it's how I went from "yeah Python package management is eternal suffering, nothing I can do about it, Poetry is bad too" to "just use PDM"
<esden[m]>
Ok I will give PDM a shot instead of pipx. Should we have some instructions for glasgow explaining how to install it using PDM? Or is it so self explanatory that it is not needed?
<esden[m]>
(I might be missing the point entirely)
<whitequark[cis]>
cd glasgow/software; pipx install pdm; pdm install; pdm run glasgow ...
<whitequark[cis]>
note that pipx and pdm serve a purpose that is a little different
<whitequark[cis]>
pipx is for "I have this thing (which happens to be written in Python) and I want it to become a utility on my PATH without breaking every time I install a Python package"
<whitequark[cis]>
PDM is for "I have this Python application that I, a Python developer, want to develop and test in comfort"
<whitequark[cis]>
PDM is basically a replacement for manually fiddling with virtualenvs, requirements.txt, pip freeze, etc
<esden[m]>
Ahh! ok thanks for explaining!
<SnoopJ>
pipx is "just" pip but each "application" you install gets its own virtual environment that is totally transparent to the user, but that's a big value-add for a lot of workflows
<SnoopJ>
(and gives you the stability Catherine describes)
<josHua[m]>
hm the only context I have seen pipx used in was to pull data from CodeArtifact somehow
<esden[m]>
Ohh I see, pdm is essentially replacement for pipx -e
<esden[m]>
and better
<SnoopJ>
yea pdm is much more akin to "give me a development environment and some tools to do Development Stuff"
<whitequark[cis]>
pipx is recommended by PyPA for this use case
<SnoopJ>
where pipx is more like "I want to install an Application"
<SnoopJ>
whitequark[cis], apropos of nothing: that goofy MicroPython-in-wasm2c thing is probably going to be retired, now that there's a WASI build. I'm almost a bit sad that CPython caught up so fast, it was fun that the little hacked-together thing worked.
<SnoopJ>
now that there's a WASI build of CPython, that is
<whitequark[cis]>
oh yeah!
<whitequark[cis]>
incidentally, I wonder how they implement exceptions in WASI CPython
<SnoopJ>
I forget how CPython does it but I know it doesn't need setjmp/longjmp
<whitequark[cis]>
right
ewenmcneill[m] has quit [Quit: Idle timeout reached: 172800s]
jstein has quit [Ping timeout: 264 seconds]
tem01[m] has quit [Quit: Idle timeout reached: 172800s]