Hi, facing an edge case in the @pypi decorator Wh...
# ask-metaflow
s
Hi, facing an edge case in the @pypi decorator When installing packages like
package==1.2.3
it works fine, however, for some of our internal packages we use a slightly different naming scheme
package==1.2.3.rc1+TASKID
- this currently breaks, my guess is because of the
+
in the name Running
pip install package==1.2.3.rc1+TASKID
works though, it only breaks inside of the pypi decorator
βœ… 1
d
@bulky-afternoon-92433 FYI ^
@salmon-furniture-31733 β€” you can try the bleeding edge version of the decorators which, I think, don’t have that issue (though I am not 100% sure but it may solve your problem immediately): https://docs.metaflow.org/scaling/dependencies/libraries#bleeding-edge-versions-of-the-decorators
s
Yeah, temporarily I've solved it by renaming versions on our side for now, just thought it would be good to point out the issue
πŸ‘Œ 1
b
I'll try this out today. did the subprocess command error out or how did the issue present?
s
These are the error logs Here it's trying to install
private_package==2.1.0rc2+ds.339
Outside of metaflow, running
pip install private_package==2.1.0rc2+ds.339
works Its not an authentication issue though, because without the +suffix it works
b
Opened an issue and a possible PR going for review that should fix this: https://github.com/Netflix/metaflow/issues/1642 As you suspected the + is the culprit, or any character that requires URL encoding. Thanks for reporting this, should be fixed soon πŸ‘Œ
πŸ‘ 1