In Python, can I monkeypatch upstream dependencies?

222 Views Asked by At

Say the setup.py of my Python package includes foo (available on PyPi) in its install_requires list, and foo in turn includes bar (also available on PyPi) in its own install_requires list.

Let's further say I've discovered a bug in bar, which I've fixed and have created a patch. But the developers of bar are lazy or mean or think it's a feature, and haven't accepted the patch.

I need this patch to bar in order for my code to work, and I don't have time to harass, bribe or cajole the developers. My fork of bar exists in GitHub, so I could theoretically reference it as git+https://github.com/me/bar.git.

When my package is installed, and it comes time for foo's dependencies to be acquired, I would like for foo to install my personal fork of bar rather than the one available of PyPi. Is there a way to make this happen from my package's setup.py, or do I also have to fork foo in order to fiddle with its dependencies?

I found this discussion on the distutils mailing list during my travels, which makes me think the answer is a "no" -- but I thought I'd ask!

0

There are 0 best solutions below