- AFAB = assigned female at birth; basically because they happened to have a vagina at birth, so they were supposed to like pink and dolls and a lower paycheck and whatever else society has decided the female experience should be like.
- AMAB = assigned male at birth
- NB = non-binary; a person that identifies neither as male nor as female. They might be something in the middle, or they might be something completely different.
- femme = basically the way women have traditionally looked or behaved (long hair, pink etc.)
- fundie = fundamentalist Christian; basically very conservative, very eccentric people with world views they claim to be traditionally Christian
- bussy = boy pussy; the anus of a man, or it may also be used to describe the vagina of a transmasc person
- transmasc = transmasculine; a person who was assigned female at birth, but who rather identifies with masculinity and may have taken measures to be perceived as such (clothing, hormones, surgery etc.)
It does have that, the ecosystem is just really fractured and also not good.
Sort of the ‘standard’ way of managing dependencies is with Pip and a
requirements.txt
. By itself, that installs dependencies on your host system.So, there’s a second tool, venv, to install them per-project, but because it’s a separate tool, it has to do some wacky things, namely it uses separate
pip
andpython
executables, which you have to specify in your IDE.But then Pip also can’t build distributions, there’s a separate tool for that,
setup.py
, and it doesn’t support things like .lock-files for reproducible builds, and if I remember correctly, it doesn’t deal well with conflicting version requirements and probably various other things.Either way, people started building a grand unified package manager to cover all these use-cases. Well, multiple people did so, separately. So, now you’ve got, among others:
Well, and these started creating their own methods of specifying dependencies and I believe, some of them still need to be called like a venv, but others not, so that means IDEs struggle to support all these.
Amazingly, apart from Rye, which didn’t exist back when we started that project, none of these package managers support directly depending on libraries within the same repo. You always have to tag a new version, publish it, and then you can fix your dependent code.
And yeah, that was then the other reason why this stuff didn’t work for us. We spent a considerable amount of time with symlinks and custom scripts to try to make that work.
I’m willing to believe that we fucked things up when doing that, but what makes still no sense is that everything worked when running tests from the CLI, but the IDE showed nothing but red text.