SICAR
SICAR copied to clipboard
Upload to pypi registry
It would be great to upload this project to pypi so that it is more easily installable from other package management tools. Right now, we install our package dependencies using a conda lock file. It is a bit tricky to add a new dependency from a github repository. It should be fairly straightforward to upload the most recent release: (e.g. https://openmdao.org/newdocs/versions/latest/other_useful_docs/building_a_tool/release_process.html). This would make it easier to include this package in our deployment setup.
Welcome! Your issue will be analyzed as soon as possible. Hopefully, we can find a solution to the problem together, please try to provide as much information as possible to help us identify and fix the bug or improve the repository.
That's a great suggestion, and I appreciate your input. I initially considered this approach but decided against it primarily due to concerns related to dependencies.
Releasing the package on PyPI without resolving these dependencies might lead to incomplete installations, potentially confusing users who expect seamless functionality upon installation – perhaps my expectations are a bit high here, but it's essential to ensure a smooth user experience.
Currently, the package relies on either Tesseract or Paddle for captcha recognition. However, resolving these dependencies can be platform-dependent, and I haven't had the chance to address these issues yet.
Another alternative to consider is implementing a mechanism that informs users if their environment lacks the necessary dependencies when they attempt to import the package. This way, users would receive immediate feedback about missing requirements.
I'd love to hear your thoughts on how we should approach managing these dependencies when uploading the package to PyPI. Your input and insights are valuable in making the right decision.
Hi @urbanogilson!
Happy to help out with packaging here! Probably the easiest way forward here is to check for the respective binaries to be present and raise a verbose error message in case neither tesseract nor paddle are present as you proposed. The alternative would be to make sure that there is a wheel present for either, but that seems unlikely and a high lift.
However, once there is a PyPi package, I'm happy to also package this on conda-forge
, where we could depend on the existing tesseract package. So users could install sicar
as simple as
conda install sicar
Does that sounds good to you? If so, the plan would be:
- [ ] Add guradclauses which check dependencies to the library
- [ ] Add automatic release to PyPi
- [ ] Add
conda-forge
release
Hi @bstadlbauer !
Apologies for the delayed response; I was on vacation 🏝️.
Your plan sounds great. Let's definitely move ahead with it!
Are you up for handling the guard clauses? I'll also explore automating the release process on PyPi using GitHub actions.
Action to automatic release to PyPi pushed to #17
@urbanogilson We've noticed that the format of the download has changed, which breaks this library. We've thus moved away from it, so I'm not sure whether there's a strong incentive to put it on PyPi?
@bstadlbauer the format changed, and I updated it to support the new version.
I will keep this issue open to monitor interest in this implementation