Python dependency Hell

bearycool

Gay God of Kiwi Farms
True & Honest Fan
kiwifarms.net
Joined
Aug 11, 2015
[https://github.com/drQedwards/ppm](https://github.com/drQedwards/ppm):

**"The true power of open-source lies not just in the code itself, but in the ideas and innovations it sparks in others. This project is a seed, planted in the fertile ground of the developer community, waiting to grow into something remarkable."**

This reflection captures the essence of what an open-source project like `drQedwards/ppm` represents—a contribution that extends beyond its immediate functionality, inviting collaboration, exploration, and potential breakthroughs in the ever-evolving world of technology.



And blah blah, dependency hell sucks in Python and I hate it, let’s discuss on how we can fix that after I did a solution for torch, like other dependency hell packages like that.


**"The true power of open-source lies not just in the code itself, but in the ideas and innovations it sparks in others. This project is a seed, planted in the fertile ground of the developer community, waiting to grow into something remarkable."**

This reflection captures the essence of what an open-source project like `drQedwards/ppm` represents—a contribution that extends beyond its immediate functionality, inviting collaboration, exploration, and potential breakthroughs in the ever-evolving world of technology.

And blah blah, dependency hell sucks in Python and I hate it, let’s discuss on how we can fix that after I did a solution for torch, like other dependency hell packages like that.

 
  • Optimistic
Reactions: millais
Wow amazing insights

Best way I can describe it.

Essentially take PyTorch or any sort of dependency and uses a command line imperative sort of thing to import packages onto your work space without having to worry on dependency hell with import functions in Python.

Friend of mine was having uses with torch and transformers so this helps automates the process.

Npm install Python lol.

Sudo apt install

Ppm install.

Think that.
 
  • Feels
Reactions: Divine Power
Best way I can describe it.

Essentially take PyTorch or any sort of dependency and uses a command line imperative sort of thing to import packages onto your work space without having to worry on dependency hell with import functions in Python.

Friend of mine was having uses with torch and transformers so this helps automates the process.

Npm install Python lol.

Sudo apt install

Ppm install.

Think that.
Npm install Python Lmao
 
  • Like
Reactions: bearycool
python world is full of fucking retards that have done more damage to the FOSS world than anything else has.
Not only do they insist on messing with the stdlib every point release, the majority of common libraries can't even do minor releases without breaking changes. Like fucking cryptography that seemingly breaks something every minor release. These retards can't even do semantic versioning, and I have to trust them to build the core of my operating system. The world would be a better place if the entirety of python just died immediately.
Did I mention significant whitespace and that it's slow as molasses? It sometimes takes seconds to even start up a python script from shell god damn it.
It would have been better if we never stopped using Perl.
 
python world is full of fucking retards that have done more damage to the FOSS world than anything else has.
Not only do they insist on messing with the stdlib every point release, the majority of common libraries can't even do minor releases without breaking changes. Like fucking cryptography that seemingly breaks something every minor release. These retards can't even do semantic versioning, and I have to trust them to build the core of my operating system. The world would be a better place if the entirety of python just died immediately.
Did I mention significant whitespace and that it's slow as molasses? It sometimes takes seconds to even start up a python script from shell god damn it.
It would have been better if we never stopped using Perl.
This, especially this.

Like semantics and rebuilding the white space like that is retarded.
 
PPM: Python Package Manager


(within the PPM 2.0.0 project)








This part of the project is a custom AI-aware, persistent Python package manager. Unlike pip, it is:








🧬


Context-Aware, Modular, and Memory-Linked








It’s designed not just to install packages, but to do so based on:





  • Contextual needs of the agent/system (e.g. current model type or runtime environment),
  • Persistent memory of what was installed, why, and whether it worked, and
  • Dynamic dependency graphs—which mutate over time based on salience, usage, or failure.
















🔍 Key Features (PPM 2.0.0 – Python Package Manager Subsystem)











📌 1.


Salient Install Tracking








  • Every install is tracked in a persistent JSON ledger:
 
Apologies if this is rude but I am going to offer critiques.

This part of the project is a custom AI-aware, persistent Python package manager. Unlike pip, it is:
This is a really really bad idea. This is bad because you'll be adding something that you don't know how it works making it unpredictable. This will make debugging an absolute fucking nightmare.

Essentially take PyTorch or any sort of dependency and uses a command line imperative sort of thing to import packages onto your work space without having to worry on dependency hell with import functions in Python.
It took me a minute to understand what your problem is because you didn't explain it very well but I explain things poorly sometimes. Import the entire package for when you first write the code. I suggest you make something that tracks what functions you use in your code and even writes out the correct "import function" code automatically. Then when you are done and you don't want to import an entire package you just copy paste the code you need for the functions you need.

Also I suggest making some of the simpler and more often used dependencies into your own dependencies. The best way to deal with dependencies is to not have them. Yeah you shouldn't rewrite Keras or TensorFlow but Javascript Leftpad was incredibly simple and people only imported it because they were fucking lazy.

There is no magic solution that requires no work btw.
  • Dynamic dependency graphs—which mutate over time based on salience, usage, or failure.
This sounds like a good idea but will quickly become a unreadable mess.
  • Every install is tracked in a persistent JSON ledger:
This is actually not a terrible Idea.
 
  • Like
Reactions: bearycool
Apologies if this is rude but I am going to offer critiques.


This is a really really bad idea. This is bad because you'll be adding something that you don't know how it works making it unpredictable. This will make debugging an absolute fucking nightmare.


It took me a minute to understand what your problem is because you didn't explain it very well but I explain things poorly sometimes. Import the entire package for when you first write the code. I suggest you make something that tracks what functions you use in your code and even writes out the correct "import function" code automatically. Then when you are done and you don't want to import an entire package you just copy paste the code you need for the functions you need.

Also I suggest making some of the simpler and more often used dependencies into your own dependencies. The best way to deal with dependencies is to not have them. Yeah you shouldn't rewrite Keras or TensorFlow but Javascript Leftpad was incredibly simple and people only imported it because they were fucking lazy.

There is no magic solution that requires no work btw.

This sounds like a good idea but will quickly become a unreadable mess.

This is actually not a terrible Idea.
yeah it’s still a work in progress, and comments like these are going to help with moving a better patch variation that is going to help automate workflows. As you said, and I’m saying here in my own way, workflows are still workflows— they will never be truly automated. They just will be more “streamlined” so it cuts the crap.

And yeah, JSON ledgers and logging I have found can help with debugging and tracing through where stuff went wrong during unit tests at the very least, and that’s why PPM uses them.


PPM is namely just trying to handle the Python registry like NPM handles the JavaScript registry in packages in deployments, while allowing for importing protocols to be… well you can’t just copy and paste semantic Python, but it makes the entire system more like you’re working with packaged sentence structures instead of messed up code that is schizo as fuck.

As for the C part and the PMLL, that main memory state persistence to whatever project you’re chaining, so that way you know what you are doing and not using overt AI mediation, but if you do (like say cursor) it will be a whole a lot smarter and will point you in the right direction.

I’ve done some research work using this repository for persistent memory and cryptography if that’s your thing on research gate fairly recently as an aside


Everyone at this point knows who I am, so I don’t really care lol.
 
  • Like
Reactions: Napoleon III
remember when the people behind pip disabled pip-search because of DDoS attacks and made you use their shit website with the gay neko captcha instead even though people gave them really easy to implement suggestions in the announcement post to fix pip-search without disabling it altogether?

because I remember

I still think OPs solution is lame and gay though.
 
  • Like
Reactions: Napoleon III
remember when the people behind pip disabled pip-search because of DDoS attacks and made you use their shit website with the gay neko captcha instead even though people gave them really easy to implement suggestions in the announcement post to fix pip-search without disabling it altogether?

because I remember

I still think OPs solution is lame and gay though.

That’s why I did a complete revamp and U-Haul of the CUDA resolver library integration so that it’s less lame and gay and more efficient and easy to use.

 
  • Like
Reactions: Napoleon III
It's pretty funny that I reached a point as a dev that a Python script scares me more than cpp library because package installation is a fucking nightmare and you have no idea if the fucking thing will even work from the example provided.
 
Back