Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upload to pypi registry #17

Open
noahgolmant opened this issue Sep 7, 2023 · 7 comments
Open

Upload to pypi registry #17

noahgolmant opened this issue Sep 7, 2023 · 7 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@noahgolmant
Copy link

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.

@github-actions
Copy link

github-actions bot commented Sep 7, 2023

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.

@noahgolmant noahgolmant changed the title Upload tp pypi registry Upload to pypi registry Sep 7, 2023
@urbanogilson
Copy link
Owner

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.

@urbanogilson urbanogilson added enhancement New feature or request help wanted Extra attention is needed labels Sep 11, 2023
@bstadlbauer
Copy link

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

@urbanogilson
Copy link
Owner

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.

@urbanogilson
Copy link
Owner

Action to automatic release to PyPi pushed to #17

@bstadlbauer
Copy link

@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?

@urbanogilson
Copy link
Owner

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants