whitequark[cis] changed the topic of #glasgow to: https://glasgow-embedded.org · digital interface explorer · https://www.crowdsupply.com/1bitsquared/glasgow · code https://github.com/GlasgowEmbedded/glasgow · logs https://libera.irclog.whitequark.org/glasgow · matrix #glasgow-interface-explorer:matrix.org · discord https://1bitsquared.com/pages/chat
notgull has quit [Ping timeout: 255 seconds]
<esden[m]> So I updated the `glasgow` software using `git pull`, `pipx reinstall`. And now I am getting this:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/mTFEzkkTmnwxcYtbCfLoaIhj>)
<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]> @SnoopJ FWIW here is the output of `python3 -m site`... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/TsJbPzgUreylbtOLjmqEkEBR>)
<SnoopJ> makes sense, my money would be on --system-site-packages whenever that venv was born
jstein has quit [Ping timeout: 252 seconds]
FFY00_ has joined #glasgow
FFY00 has quit [Ping timeout: 255 seconds]
jstein has joined #glasgow
trh_ has quit [Quit: weg]
trh has joined #glasgow
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #glasgow
ar-jan has joined #glasgow
bvernoux has joined #glasgow
ar-jan has quit [Ping timeout: 240 seconds]
fibmod has joined #glasgow
fibmod has quit [Ping timeout: 260 seconds]
fibmod has joined #glasgow
fibmod has quit [Ping timeout: 260 seconds]
bvernoux has quit [Read error: Connection reset by peer]
notgull has joined #glasgow
<esden[m]> Ok... I guess this is a new thing since there was some work done on REPL?... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/CvEzMLiUNDpDXFtyDbQnOcCF>)
<whitequark[cis]> yaeh that sounds like a bug
<whitequark[cis]> probably a missing empty run method
<whitequark[cis]> huh, it runs fine for me
<whitequark[cis]> which version are you on?
<whitequark[cis]> oh wait
<whitequark[cis]> i got it
<esden[m]> I just pulled.
<_whitenotifier-7> [glasgow] whitequark opened pull request #528: applet.internal.{benchmark,selftest}: fix after commit 5e1f94dd - https://github.com/GlasgowEmbedded/glasgow/pull/528
<whitequark[cis]> how is 3.13 still broken lmao
<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.
<whitequark[cis]> Glasgow recommends it!
<_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"
<whitequark[cis]> ^ this one
<_whitenotifier-5> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±2] https://github.com/GlasgowEmbedded/glasgow/compare/e8ced57945fe...22e1e5ec95df
<_whitenotifier-7> [GlasgowEmbedded/glasgow] whitequark 22e1e5e - applet.internal.{benchmark,selftest}: fix after commit 5e1f94dd.
<_whitenotifier-5> [glasgow] whitequark closed pull request #528: applet.internal.{benchmark,selftest}: fix after commit 5e1f94dd - https://github.com/GlasgowEmbedded/glasgow/pull/528
<_whitenotifier-7> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-528-e8ced57945fedc7f0640c770b1d6ecb70c3194ce - https://github.com/GlasgowEmbedded/glasgow
<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]