Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-29 Thread Philip Jenvey


On Aug 14, 2009, at 9:59 PM, Jorge Vargas wrote:


 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:

 Hi all,

 Hi,

 I have a package repository which contains packages for pylons  
 0.9.6.1 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1  
 projects stopped
 working.

  From looking at the requires.txt in pylons 0.9.6 egg it appears  
 that pylons is
 specifying it's dependencies in the FooPackage = x.y.z format.  
 Consequently,
 when I re-create my project environments, they get newer versions  
 of their
 dependencies which are not compatible with 0.9.6.1 (Notably Routes  
 and WebHelpers)

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is  
 there a way
 around this so I don't need to create separate package repositories  
 for 0.9.6.1
 and 0.9.7

 I don't see this as bad format as a newer version is (in general a
 better less buggy version) that said they are two ways of fixing this.
 1- releasing 0.9.6.2 with a setup.py that excludes the new  
 incompatible versions
 2- using something like pip and it's requirements.txt file to fix  
 such issue.

Another alternative is to install both eggs with the -m (multi- 
version) option of easy_install, then explicitly require whatever  
version the app needs as early as possible during the app's  
initialization (like in middleware.py, or load_environment)

--
Philip Jenvey


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-20 Thread Jorge Vargas

On Mon, Aug 17, 2009 at 11:21 PM, Mike Orrsluggos...@gmail.com wrote:

 On Mon, Aug 17, 2009 at 4:56 PM, kochharkochhar...@gmail.com wrote:

 Jorge Vargas wrote:
 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:
 I have a package repository which contains packages for pylons 0.9.6.1 
 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects 
 stopped
 working.

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7

 I don't see this as bad format as a newer version is (in general a
 better less buggy version)

 Except when the new versions are not backwards compatible and break existing
 applications. Most libraries don't preserve backwards compatability
 indefinitely. It's fine practice to follow the latest and greatest in
 development but release version specify explicit dependencies to be stable in
 the face of changes.

 Then you end up with the opposite problem: people can't install a
 newer version of a library that may have bugfixes or new features they
 want or need.

 It's reasonable to restrict an old version of something (Pylon 0.9.6)
 when an incompatibility is known.  But setting closed requirements for
 everything just makes it harder to use a later version if it is
 compatible.  And compatibility may be different in different cases.
 Something may be compatible for new applications but not for existing
 applications.  In that case it's not right to prevent everybody from
 using it just because it's incompatible for some people.  People can
 adjust their application's setup.py if they want to stick to a
 particular version or avoid a known-bad series.  It's easy to make
 your setup.py more restrictive than Pylons'.  It's impossible to make
 yours less restrictive without modifying Pylons' setup.py, which means
 it can't be easy_installed without manual intervention.

correct me if I'm wrong but didn't the OP said that python 0.9.6
doesn't works with the newer version of X and Y as in it's API
incompatible? if that is the case then what you say doesn't really
applies as it is broken for everyone. Just to clarify I was suggesting
putting a cap on 0.9.6.* not on 0.9.7


 --
 Mike Orr sluggos...@gmail.com

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-20 Thread kochhar

Jorge Vargas wrote:
 
 Of course #1 is best so I suggest you confirm which versions are
 broken and propose a patch.
 

Hi,

I have a patch now, but I can't find any instructions on how to submit it. The 
Contribution link on pylonshq.com doesn't lead anywhere and google doesn't 
find any useful results either.

I did find the mercurial repo at http://bitbucket.org/bbangert/pylons but I 
couldn't get my clone command to work with the v0.9.6 tag. Could someone point 
me to any instructions or notes on submitting a patch?

Thanks,
   - Shailesh


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-20 Thread Mike Orr

On Wed, Aug 19, 2009 at 11:54 PM, Jorge Vargasjorge.var...@gmail.com wrote:

 On Mon, Aug 17, 2009 at 11:21 PM, Mike Orrsluggos...@gmail.com wrote:

 On Mon, Aug 17, 2009 at 4:56 PM, kochharkochhar...@gmail.com wrote:

 Jorge Vargas wrote:
 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:
 I have a package repository which contains packages for pylons 0.9.6.1 
 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects 
 stopped
 working.

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7

 I don't see this as bad format as a newer version is (in general a
 better less buggy version)

 Except when the new versions are not backwards compatible and break existing
 applications. Most libraries don't preserve backwards compatability
 indefinitely. It's fine practice to follow the latest and greatest in
 development but release version specify explicit dependencies to be stable 
 in
 the face of changes.

 Then you end up with the opposite problem: people can't install a
 newer version of a library that may have bugfixes or new features they
 want or need.

 It's reasonable to restrict an old version of something (Pylon 0.9.6)
 when an incompatibility is known.  But setting closed requirements for
 everything just makes it harder to use a later version if it is
 compatible.  And compatibility may be different in different cases.
 Something may be compatible for new applications but not for existing
 applications.  In that case it's not right to prevent everybody from
 using it just because it's incompatible for some people.  People can
 adjust their application's setup.py if they want to stick to a
 particular version or avoid a known-bad series.  It's easy to make
 your setup.py more restrictive than Pylons'.  It's impossible to make
 yours less restrictive without modifying Pylons' setup.py, which means
 it can't be easy_installed without manual intervention.

 correct me if I'm wrong but didn't the OP said that python 0.9.6
 doesn't works with the newer version of X and Y as in it's API
 incompatible? if that is the case then what you say doesn't really
 applies as it is broken for everyone. Just to clarify I was suggesting
 putting a cap on 0.9.6.* not on 0.9.7

Yes, he is right for a new library version that's incompatible with
0.9.6.  I'm just worried about going to == or = across the board, as
some people have occasionally suggested.

I don't know about his patch submission problem; hopefully somebody
else can answer it.

-- 
Mike Orr sluggos...@gmail.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-20 Thread kochhar

kochhar wrote:
 I have a patch now, but I can't find any instructions on how to submit 
 it. The Contribution link on pylonshq.com doesn't lead anywhere and 
 google doesn't find any useful results either.
 
 I did find the mercurial repo at http://bitbucket.org/bbangert/pylons 
 but I couldn't get my clone command to work with the v0.9.6 tag. Could 
 someone point me to any instructions or notes on submitting a patch?
 

Trac ticket: http://pylonshq.com/project/pylonshq/ticket/638
Bitbucket change: http://bitbucket.org/kochhar/pylons/changeset/0d1f137c784c/

   - kochhar


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-18 Thread kochhar

Mike Orr wrote:
 On Mon, Aug 17, 2009 at 4:56 PM, kochharkochhar...@gmail.com wrote:
 Jorge Vargas wrote:
 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:
 I have a package repository which contains packages for pylons 0.9.6.1 
 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects 
 stopped
 working.

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7
 I don't see this as bad format as a newer version is (in general a
 better less buggy version)
 Except when the new versions are not backwards compatible and break existing
 applications. Most libraries don't preserve backwards compatability
 indefinitely. It's fine practice to follow the latest and greatest in
 development but release version specify explicit dependencies to be stable in
 the face of changes.
 
 Then you end up with the opposite problem: people can't install a
 newer version of a library that may have bugfixes or new features they
 want or need.
 
 It's easy to make
 your setup.py more restrictive than Pylons'.  It's impossible to make
 yours less restrictive without modifying Pylons' setup.py, which means
 it can't be easy_installed without manual intervention.
 

I didn't know that I could do this. I'll use this method instead.

Thanks,
   - kochhar

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-17 Thread kochhar

Jorge Vargas wrote:
 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:
 I have a package repository which contains packages for pylons 0.9.6.1 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects stopped
 working.

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7
 
 I don't see this as bad format as a newer version is (in general a
 better less buggy version) 

Except when the new versions are not backwards compatible and break existing 
applications. Most libraries don't preserve backwards compatability 
indefinitely. It's fine practice to follow the latest and greatest in 
development but release version specify explicit dependencies to be stable in 
the face of changes.

 that said they are two ways of fixing this.
 1- releasing 0.9.6.2 with a setup.py that excludes the new incompatible 
 versions
 
 Of course #1 is best so I suggest you confirm which versions are
 broken and propose a patch.

Yes, I'm working on a patch. Binary searching through package dependency 
versions isn't much fun.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-17 Thread Mike Orr

On Mon, Aug 17, 2009 at 4:56 PM, kochharkochhar...@gmail.com wrote:

 Jorge Vargas wrote:
 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:
 I have a package repository which contains packages for pylons 0.9.6.1 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects stopped
 working.

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7

 I don't see this as bad format as a newer version is (in general a
 better less buggy version)

 Except when the new versions are not backwards compatible and break existing
 applications. Most libraries don't preserve backwards compatability
 indefinitely. It's fine practice to follow the latest and greatest in
 development but release version specify explicit dependencies to be stable in
 the face of changes.

Then you end up with the opposite problem: people can't install a
newer version of a library that may have bugfixes or new features they
want or need.

It's reasonable to restrict an old version of something (Pylon 0.9.6)
when an incompatibility is known.  But setting closed requirements for
everything just makes it harder to use a later version if it is
compatible.  And compatibility may be different in different cases.
Something may be compatible for new applications but not for existing
applications.  In that case it's not right to prevent everybody from
using it just because it's incompatible for some people.  People can
adjust their application's setup.py if they want to stick to a
particular version or avoid a known-bad series.  It's easy to make
your setup.py more restrictive than Pylons'.  It's impossible to make
yours less restrictive without modifying Pylons' setup.py, which means
it can't be easy_installed without manual intervention.

-- 
Mike Orr sluggos...@gmail.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-15 Thread Mike Orr

On Fri, Aug 14, 2009 at 9:59 PM, Jorge Vargasjorge.var...@gmail.com wrote:

 On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:

 Hi all,

 Hi,

 I have a package repository which contains packages for pylons 0.9.6.1 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects stopped
 working.

  From looking at the requires.txt in pylons 0.9.6 egg it appears that pylons 
 is
 specifying it's dependencies in the FooPackage = x.y.z format. Consequently,
 when I re-create my project environments, they get newer versions of their
 dependencies which are not compatible with 0.9.6.1 (Notably Routes and 
 WebHelpers)

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7

 I don't see this as bad format as a newer version is (in general a
 better less buggy version) that said they are two ways of fixing this.
 1- releasing 0.9.6.2 with a setup.py that excludes the new incompatible 
 versions

In the past Pylons has required the latest versions of packages but I
don't know if it will be able to do so much longer.  When  WebHelpers
1 comes out, the Pylons dependency will have to remain at 0.6 so that
people can downgrade if they're using things from the older version.
Likewise, the simplejson install problems would have been easier if
Pylons didn't arbitrarily exclude old versions even though they were
compatible.  The purpose in requiring the new versions was to make it
easy to upgrade, although that doesn't seem to be a problem now
because if you do a fresh install, it automatically picks the newest
version even if the requirement is = an older version.  Not sure if
-U also upgrades dependencies though.

 2- using something like pip and it's requirements.txt file to fix such issue.

Does pip's requirements file override the requirements in setup.py, or
does it lead to an incompatibility error if pip wants a version that
setup.py excludes?

-- 
Mike Orr sluggos...@gmail.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-14 Thread kochhar

Hi all,

I have a package repository which contains packages for pylons 0.9.6.1 After 
adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects stopped 
working.

 From looking at the requires.txt in pylons 0.9.6 egg it appears that pylons is 
specifying it's dependencies in the FooPackage = x.y.z format. Consequently, 
when I re-create my project environments, they get newer versions of their 
dependencies which are not compatible with 0.9.6.1 (Notably Routes and 
WebHelpers)

It seems bad practice for pylons to specify it's dependencies in the 
FooPackage=x.y.z format; it's too easy to break something. Is there a way 
around this so I don't need to create separate package repositories for 0.9.6.1 
and 0.9.7

Thanks,
   - kochhar

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: Adding Pylons 0.9.7 breaks 0.9.6 projects

2009-08-14 Thread Jorge Vargas

On Fri, Aug 14, 2009 at 7:50 PM, kochharkochhar...@gmail.com wrote:

 Hi all,

Hi,

 I have a package repository which contains packages for pylons 0.9.6.1 After
 adding pylons 0.9.7 and it's dependent packages, my 0.9.6.1 projects stopped
 working.

  From looking at the requires.txt in pylons 0.9.6 egg it appears that pylons 
 is
 specifying it's dependencies in the FooPackage = x.y.z format. Consequently,
 when I re-create my project environments, they get newer versions of their
 dependencies which are not compatible with 0.9.6.1 (Notably Routes and 
 WebHelpers)

 It seems bad practice for pylons to specify it's dependencies in the
 FooPackage=x.y.z format; it's too easy to break something. Is there a way
 around this so I don't need to create separate package repositories for 
 0.9.6.1
 and 0.9.7

I don't see this as bad format as a newer version is (in general a
better less buggy version) that said they are two ways of fixing this.
1- releasing 0.9.6.2 with a setup.py that excludes the new incompatible versions
2- using something like pip and it's requirements.txt file to fix such issue.

Of course #1 is best so I suggest you confirm which versions are
broken and propose a patch.



 Thanks,
   - kochhar

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---