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

Don't pin versions in setup.py #23

Closed
schinckel opened this issue Jul 1, 2014 · 7 comments
Closed

Don't pin versions in setup.py #23

schinckel opened this issue Jul 1, 2014 · 7 comments

Comments

@schinckel
Copy link

Especially, don't pin versions like pytz==2014.2

@mtford90
Copy link
Collaborator

mtford90 commented Jul 2, 2014

I imagine you're right, but what would you suggest with the pytz case? I'm not sure what else can be done when the major/minor versioning scheme isn't used

@schinckel
Copy link
Author

Doesn’t pip do a reasonable job of selecting the most recent version of pytz?

2014.4 > 2014.2, for instance.

@mtford90
Copy link
Collaborator

mtford90 commented Jul 3, 2014

Sure, I was more worried about breaking changes.

For example with Django, you wouldn't expect breaking changes to be introduced with >=1.6<1.7 as the minor releases are just bug fixes as opposed to features.

With the month-based versioning that pytz have going on it seems like it would be hard to know what versions to expect breaking changes :/. Not sure what the convention is there.

@carlio
Copy link

carlio commented Jul 3, 2014

I think pytz isn't a particular worry for breaking changes. The updates are always due to changes in timezone data itself. In fact, by specifying a particular version, you may end up with users of silk getting out-of-date timezone data.

@mtford90
Copy link
Collaborator

mtford90 commented Jul 3, 2014

Ok cool, that does make sense. Will fix this with the next release, cheers

@schinckel
Copy link
Author

But you don't know that a given version introduces changes that break. By specifying version numbers, you potentially change the installed version of packages the user of your library has in her existing project.

http://nvie.com/posts/pin-your-packages/

But don't pin your libraries, at least, not in setup.py:

http://blog.ziade.org/2013/04/13/declaring-dependencies-in-python/

Matt.

On 3 Jul 2014, at 4:54 pm, Michael Ford notifications@github.com wrote:

Sure, I was more worried about breaking changes.

For example with Django, you wouldn't expect breaking changes to be introduced with >=1.6<1.7 as the minor releases are just bug fixes as opposed to features.

With the month-based versioning that pytz have going on it seems like it would be hard to know what versions to expect breaking changes :/. Not sure what the convention is there.


Reply to this email directly or view it on GitHub.

@mtford90
Copy link
Collaborator

mtford90 commented Jul 5, 2014

Thanks Matt, agreed.

I've now more or less pinned versions in requirements.txt and totally unpinned versions in setup.py in 0.3.1 which has just been released.

@mtford90 mtford90 closed this as completed Jul 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants