bboe / update_checker

A python module that will check for package updates.
BSD 2-Clause "Simplified" License
28 stars 4 forks source link

What URL is queried here? #8

Closed jankatins closed 8 years ago

jankatins commented 8 years ago

I just noticed that this doesn't check a pypi URL but your own server: https://github.com/bboe/update_checker/blob/master/update_checker.py#L109-L112

What's the story for that, why not use pypi directly?

bboe commented 8 years ago

I use it to obtain information about package version, python version and os information for my packages. This enables me to make data-driven decisions for my packages such as what versions of python I should continue to support.

You can replace the URL with your own instance of the update checker app if you prefer. https://github.com/bboe/update_checker_app

jankatins commented 8 years ago

Ah, ok, I thought this was a generic script to check for pypi updates. Sorry for the noise....

rhiever commented 8 years ago

Wouldn't be a bad idea to fork this repo and make a version that hits pypi instead. @bboe has been very generous by adding some of my projects to his supported projects list, but I imagine he doesn't want to extend that to the world.

On Monday, March 7, 2016, Jan Schulz notifications@github.com wrote:

Ah, ok, I thought this was a generic script to check for pypi updates. Sorry for the noise....

— Reply to this email directly or view it on GitHub https://github.com/bboe/update_checker/issues/8#issuecomment-193395789.

Randal S. Olson, Ph.D. Postdoctoral Researcher, Institute for Biomedical Informatics University of Pennsylvania

E-mail: rso@randalolson.com | Twitter: @randal_olson https://twitter.com/randal_olson http://www.randalolson.com

bboe commented 8 years ago

It would certainly be reasonable to have a "default" version of this package that hits pypi directly instead of my server.

rhiever commented 8 years ago

Or what about an enhancement to this package that pings your server to see if it's a supported package, and if not, checks PyPi?

bboe commented 8 years ago

If this is used as a general-purpose package I'd rather it not always hit my server, and only do that by default for projects that are explicitly allowed.

Until now no one aside from me has expressed any interest in the package.

rhiever commented 8 years ago

We can build a whitelist into this package then:

1) Check if project being checked is in whitelist

2) If yes, hit your server

3) If no, hit pypi

It's quite a useful package! If we can make it general-purpose, I'm sure many other packages would adopt it.

bboe commented 8 years ago

I'd prefer to keep the whitelist out of this package. The default update_checker class should always hit pypi. By passing in an app_url (or similar) will have it (1) use that URL and (2) assume it's talking to an "update_checker" app.

rhiever commented 8 years ago

Yeah, that sounds better, with a default to pypi. What's your bandwidth look like? I haven't looked at the code yet, so I don't know how big of a change this would be.

bboe commented 8 years ago

I've been working on the next major version of PRAW. That's going to suck up all my open source work for the next few weeks. I'll save this work for someone who really wants to hit pypi directly as it's not terribly important to me at this time.

The code to hit pypi already exists in update_checker_app. In fact, we could probably move that portion to here, and have update_checker_app depend on update_checker to do that part.