mumptai has quit [Remote host closed the connection]
flaviusb has joined ##openfpga
emeb has quit [Quit: Leaving.]
Bob_Dole has joined ##openfpga
Degi has quit [Ping timeout: 256 seconds]
Degi has joined ##openfpga
OmniMancer has joined ##openfpga
s_frit_ has joined ##openfpga
s_frit has quit [Ping timeout: 260 seconds]
Bike has quit [Quit: Lost terminal]
<cyrozap>
scientes: You can make and enter a virtualenv with just `python -m venv .env && source .env/bin/activate`. It's pretty standard that, for most projects, you'll need to initialize a virtualenv to install their dependencies into before using them. Otherwise, you can get into dependency hell with projects that require conflicting versions of the same module.
<scientes>
cyrozap, except that modules cannot then have their own virtualenvs, so you are still in dependency hell.
<cyrozap>
zyp: Regarding keeping dependencies as submodules: You can also add the git URL of the dependency to your requirements.txt and add the commit hash to the end, so the dep gets installed with all the others for your project, and you won't have to deal with the submodule separately.
<cyrozap>
scientes: Oh, yeah, generally the "top-level" project is responsible for keeping track of dependency versions, hence the need for "pip freeze".
<scientes>
in that case virtualenv creates problems, rather than solving them
<scientes>
this is the same problem that causes Debian ti forbid embedded copies of programs
<scientes>
and this is a dynamic language, so dependency problems are *theoretically* easier
<cyrozap>
Yeah, Python's dependency management definitely has issues, but in my experience virtualenvs paper over those issues nicely.
<cyrozap>
Emphasis on "paper over" of course :P
<cyrozap>
Dep management seems to be a recurring problem in programming languages.
<cyrozap>
C is either "What are dependencies?" or "Let your distro's package manager handle it--hope you don't need any bleeding-edge code."
<cyrozap>
C++ is like C, but with more "Copy the code into your repo because the version we need is 3 major versions ahead of the one in most distros' repositories."
<cyrozap>
Go used to be "just don't ever break anything" and "if things are getting broken (which they totally never ever would because why would anyone do that), just copy the code into your repo in this special directory that you can't rename (because why would anyone do that, either)", but now it's "send the list of dependencies to Google so they can cache them for you... and also do analytics on what
<cyrozap>
everyone's using".
<cyrozap>
Rust seems to be heading in the right direction, but there's a huge monoculture around cargo + crates.io and it's caused some problems for build systems like Meson.
<implr>
I fear that rust is heading too far into haskell/hackage's direction
<implr>
with hundreds of small packages with tons of diamonds between them
<implr>
to be fair in both (hs&rust) cases it's somewhat caused by the way the language works (advanced types + compiled)
emeb_mac has quit [Quit: Leaving.]
jeanthom has joined ##openfpga
<zyp>
IME how much a hassle dependency management is is more a matter of how much of a moving target the dependency is than of the language involved
<zyp>
and then there's also the distinction between build time dependencies and runtime dependencies
<zyp>
since embedded projects by their nature pretty much only have build time dependencies, git submodules is a pretty straightforward way of managing them
jeanthom has quit [Ping timeout: 272 seconds]
mumptai has joined ##openfpga
jeanthom has joined ##openfpga
Asu has joined ##openfpga
mumptai has quit [Read error: Connection reset by peer]
mumptai has joined ##openfpga
Asu has quit [Remote host closed the connection]
kristianpaul has quit [Read error: Connection reset by peer]
kristianpaul has joined ##openfpga
Asu has joined ##openfpga
Asu has quit [Remote host closed the connection]
Asu has joined ##openfpga
ym has joined ##openfpga
Asuu has joined ##openfpga
Asu has quit [Ping timeout: 246 seconds]
<whitequark>
python's package management is about to get a whole lot better
<whitequark>
there are several people whose job is to improve pip based on actual user surveys, and that's already bearing fruit
OmniMancer has quit [Quit: Leaving.]
mumptai has quit [Remote host closed the connection]