Closed bconstanzo closed 4 years ago
Some libraries address this situation by splitting their data into separate dependencies. The data can be a direct dependency of the project so that it is automatically downloaded and installed. This may have a few benefits, such as:
pip install myproject[uncommon]
.myproject 1.0.0
to 1.0.1
might not have to download myproject-data 1.0.0
again.Perhaps that can work for this project?
I like the idea of splitting into phantom/phantom-models, we'll work in that direction. However, that'd move the size issue from phantom to the phantom-models module. Would it make sense to have more than one -models package? Maybe models-stable and models-dev?
Would it make sense to have more than one -models package? Maybe models-stable and models-dev?
If the use cases or user groups are at all different, I would suspect it would make sense.
Ok, we'll give some thought as to how we'll manage this. Since phantom won't be needing the extra space, I'd say this can be closed until we figure it out and then request for the phantom-models package(s).
Project
phantom (https://pypi.org/project/phantom/)
Size of release/project
Currently the .egg sits at 99Mb, but we're expecting larger releases along the way. Edit: I notice now that I misstyped 100Mb (runding up a bit since it's 99.7) in the title and it figures as 200Mb.
Which indexes
PyPI.
Reasons for the request
phantom is a library for digital image forensics which bundles a few machine learning models. Currently one of the models brings us over the preset limit. As a quick fix, we excluded that specific model from the PyPI version, and bundled instructions in GitHub as to how it can be added back post-intsallation. However, we'd like our users to just pip-install and have the full experience of the library, without having to perform additional steps.
A 200mb limit would allow us to develop and deploy more models than we're currently supporting, with a better user experience, while giving us some margin for changes and updates.