I have a project that needs some DevOps TLC, so I am finally building my installation script. This will eventually be a package that will be install-able by pip locally, but may not end up in PyPI.
It has a dependency for a module called u2py
. It is this package, created for U2 Database operations, not this package, for... something else. The one I want is only ever installed by a 3rd party vendor (Rocket), the one I don't want is in PyPI.
What should be the expected behavior of my package in this case? I will include a blurb about this in my readme doc, but is that sufficient?
I've thought about throwing an exception to identify when the wrong package is present, but that makes me feel weird. It seems that maybe the most pythonic thing is to NOT add this to my install script, and blindly assume import u2py
results in a module I can use. If it quacks like a duck, parses DynArray
s like a duck, and call()
s SUBROUTINE
s like a duck, then it's a duck, right? Otherwise, if there is an error the user will just go and actually read the docs.
I've looked a classifiers
, but not sure if they apply here.
u2py
package from Rocket Software? – Balladryu2py
environment, and my package isn't likely to make any new converts to this very old and niche tech. But, that leaves a lot of people who don't know about the u2 environment already, install to try it out, and watch their code catch fire and never work. It seems that I need to solve for the second scenario more than the first. – Popcorn