-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compatibility Issues with Toolz (v11) #350
Comments
Fixed in PR #349 |
I have this problem right now too where we are testing with PopulationSim. We rebuild our virtual environment in a Docker frequently. Temporarily fixed it by fixing toolz to 0.10 until this pull request makes it into a release. I thought I'd mention that I am testing I forgot to mention the other options for this same thing: pip-tools and poetry. If you ever consider going down this path, feel free to quick in with me for an updated opinion. |
@josiekre ... I'm not sure that pipenv would solve this type of problem would it? The problem is that the range is too open ended... it could be locked down with an upper bound, but that's less desirable. |
Ya maybe you're right for your use case. You're working on building a flexible library rather than production code. For our use case, we need a rebuildable environment (including deep dependencies) regardless of when we build it (repeatable build in production regardless of whether we install today or 6 months from now into a Docker). More context: we have a lot of problems with deep dependencies getting installed with newer versions of packages via pip depending on when the build process runs inside Docker. In this specific case, we import populationsim which imported activitysim which imported toolz. The build was tested on x date and built successfully. On y date, the same exact code will not build successfully anymore even using a Docker because pip pulls the latest toolz live rather than from a snapshot repository (like one can do with R). This makes reproducible simulations/research very difficult and a pain to debug when adding hotfixes into production. Using |
Here's where it might become relevant for you: ARC's or ODOT's model turns out to have a small bug they need to fix for their deadline coming up in two weeks. Their model depends on a release of They might be lucky and be inside a Docker but they will still need to |
@josiekre - I think you are right, pip freeze and pip env lock files are the only real way to solve that problem within the python ecosystem. To be clear, I work in the same space as you - modelling systems that utilise popsim/actsim and we have the same problems and we reached for Pipenv to solve them as well. Having something that used to work not work anymore because of some third party library upgrade is the most frustrating experience - I was just lucky that I was able to download the code for activitysim and make the fix locally (and then contribute it back here). Not so many modellers have the skills to do the same and will as you say, resort to hair pulling. |
I had to reinstall my ActivitySim environment, and I ran into a big compatibility issue with the Toolz (CyToolz) library. It looks like a more recent version (v11.1) has been pushed to the Conda / PIP warehouses.
When you run the tests against the new install version of toolz you get the following
The text was updated successfully, but these errors were encountered: