Re: pyramids and pylons

2010-11-07 Thread Mike Orr
On Sat, Nov 6, 2010 at 10:29 PM, cd34 mcd...@gmail.com wrote:
 On Nov 6, 1:46 pm, Jeff Tchang jeff.tch...@gmail.com wrote:
 As a long time user of Pylons the thing that scares me is migration.
 How much work is it going to take to get my Pylons 9.7/1.0 project to
 Pyramid. Also since I have projects currently being worked on in
 Pylons how much of this is going to be dead end work?

 http://cd34.com/blog/framework/pylons-1-0-to-pyramid-1-0a1/

 I had an undeployed Pylons 1.0 project that we had started working on
 about three weeks ago.

Thanks, cd34. I've added links to this in the Pyramid Supplemental Docs.

http://bytebucket.org/sluggo/pyramid-docs/wiki/html/index.html

(This site is a holding place for my documentation until we figure out
what to put in the official docs, and also so that I can keep the
source in its own repository.bytebucket.org is an automatic redirect
from BitBucket; I guess that's how they serve static content.)

It also contains the Pylons 1.0 Execution Analysis, which I submitted
to the Pylons docs but I don't think it's there yet.

-- 
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-disc...@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: pyramids and pylons

2010-11-06 Thread Eric Ongerth
I'm glad to see (vis a vis this discussion thread) that the elephant
in the room now has a bright light shining on it.

As soon as I caught wind of repoze.bfg and now pyramid, I put a couple
of hours into reading through the docs.  To me it was apparent even at
first look that the new ontology is more straightforward, and we will
be able to put new apps together even more clearly and simply than
ever.  Nothing struck me as more complicated.  All I see is more
options and a very significant success in simplifying and clarifying
the tasks that a developer has to go through to get his app or site up
and running.

I'm not surprised the news is shocking to some, but the new direction
makes me very happy.  I never really felt at ease with how much Pylons
configuration was tucked away in multiple python files.  Any time I
took a break from Pylons for a few months, when I came back I
invariably had to read through Mike's execution analysis to wrap my
head around what was actually going on and why some configuration was
here, some was over here, and some was in yet another place.

Three cheers for Pyramid.  Now how long before someone writes a build
template for it and calls it Cheops or Khufu or some other famous
pharaoh's name...

- Eric


On Nov 5, 3:10 pm, Ben Bangert b...@groovie.org wrote:
 On Nov 5, 2010, at 1:50 PM, Jens Hoffrichter wrote:

  Thanks to especially Graham and Mike to point out what the benefit for the 
  end-user-developer (a crude term, I know ;) ) will be with the 
  Pylons2/Pyramid move.

  When I started to read these posts, I was a bit concerned, too. I (we, my 
  company) have been long time Pylons users, and admittedly, we have seen 
  more changes in Pylons than we liked. I could understand the reasoning 
  behind all those changes, still, for the developer they pose a hazard in 
  long-term-evolution of a written app.

  Some of the things I mean:

  - The deprecation of rails-style webhelpers. We depend on those quite a bit 
  in our first application we wrote (and which is still live)

 No worries, these are not dead! The WebHelpers package isn't going anywhere, 
 and its still easy to use throughout your templates.

  - Change in how to address a template (from package.template to 
  package/template.mak)

 Ah, sorry if that's confusing. The dotted notation for a full 'resource 
 specification' is 
 optional:http://docs.pylonshq.com/pyramid/dev/narr/views.html#mak-or-mako-mako...

 You can and do of course, configure Mako to have a template directory, and 
 relative names like 'foo.mak' are assumed to exist in said template dir.

 The ability to use a full resource specification addresses a long-time noted 
 issue with extending or re-using packages of your templates. While Mako lets 
 you plugin multiple template paths, the overlap can get tricky to manage, 
 being able to refer to a template with its package name is specifically to 
 allow you to use templates that might be in another package for extending 
 purposes.

 Consider the case where you have a set of templates you use in all your 
 projects, wouldn't it be nice to have a package of those you just call into? 
 And if you needed to tweak just one of those, you could override it with a 
 template of your choice via the override 
 API:http://docs.pylonshq.com/pyramid/dev/narr/resources.html#the-override...

 This is the start of where many frameworks are telling you to fork code ;)

  - The move from implicit routes to explicit routes

 Yes, all routes do have to be explicit. I was moving that way in Pylons 1.x 
 with Routes already actually, as the implicit naming and resolving done in 
 Routes generally leads to more problems for users, than helping.

  And if I thought a bit more, I would probably come up with a couple of more 
  examples, which have been problematic for us. The problem in there is, that 
  there normally is no smooth upgrade path, and no backwards compatibility, 
  so we are stuck with supporting a 0.9.6.2, a 0.9.7 and a 1.0 pylons app by 
  now, as no one would pay us a money for the complete rework the older apps 
  need, as for the customer, it would mean very little benefit.

 I've tried to provide as smooth an upgrade path as possible between various 
 versions of Pylons. From the upgrade path's I've seen in other web 
 frameworks, its one of the smoother ones... but the fact that so much 
 configuration was in Python files rather than the framework has been very 
 problematic as extensive changes are needed for upgrades as half the 
 'framework' is more or less assembled in the project itself. pyramid does not 
 have this issue, as rather than having all its configuration innards in your 
 project, you configure pyramid via hook points.

  Don't get me wrong, I love pylons, and the first question we ask ourselves 
  when a new project comes in is, Can we solve this in pylons, or do we have 
  to implement it with something different?, but the lack of continuity has 
  been a bit 

Re: pyramids and pylons

2010-11-06 Thread Michael Semcheski
On Sat, Nov 6, 2010 at 4:03 AM, Eric Ongerth ericonge...@gmail.com wrote:
 I'm glad to see (vis a vis this discussion thread) that the elephant
 in the room now has a bright light shining on it.

As a Pylons user, I think one of the most important things that this
discussion shows is that the core developers have direction, energy,
and openness to making this framework better through collaboration.

Its easy to take that for granted, but not every project has this.

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-06 Thread Jeff Tchang
As a long time user of Pylons the thing that scares me is migration.
How much work is it going to take to get my Pylons 9.7/1.0 project to
Pyramid. Also since I have projects currently being worked on in
Pylons how much of this is going to be dead end work?

I am hoping that there will be specific migration patterns to ease
this pain. A step by step guide for migration so I can at least
understand what work will be required.

What is the recommendation at this point for someone in the middle of
creating a Pylons 9.7/1.0 app? My assumption is to continue but be
aware that a year or two down the road to expect a rewrite.

How about new projects? Should they immediately start using Pyramids
and abandon Pylons?

-Jeff

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-06 Thread Eric Ongerth
Jeff,

Pyramid allows you to mount an existing Pylons app and serve it
right through without modification.  Having done so, you are then free
to convert the app page by page, or handler by handler or however you
wish to proceed ... or leave it unchanged.

Eric


On Nov 6, 10:46 am, Jeff Tchang jeff.tch...@gmail.com wrote:
 As a long time user of Pylons the thing that scares me is migration.
 How much work is it going to take to get my Pylons 9.7/1.0 project to
 Pyramid. Also since I have projects currently being worked on in
 Pylons how much of this is going to be dead end work?

 I am hoping that there will be specific migration patterns to ease
 this pain. A step by step guide for migration so I can at least
 understand what work will be required.

 What is the recommendation at this point for someone in the middle of
 creating a Pylons 9.7/1.0 app? My assumption is to continue but be
 aware that a year or two down the road to expect a rewrite.

 How about new projects? Should they immediately start using Pyramids
 and abandon Pylons?

 -Jeff

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-06 Thread Graham Higgins

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 5 Nov 2010, at 15:05, Graham Higgins wrote:
(I need to go carefully through a whole bunch of saved posts,  
pulling out the references to the goodies and making sure that I can  
express them fluently in terms that I think Pylons users will  
readily understand.)




Okay, here's one, in the form of some profiling data:


Pylons: http://svn.repoze.org/whatsitdoing/pylons/results.txt
256145 function calls in 0.811 CPU seconds

bfg (~= Pyramid) http://svn.repoze.org/whatsitdoing/bfg/results.txt
20013 function calls in 0.084 CPU seconds



Mmm.

- --
Cheers,

Graham

http://bel-epa.com/gjh/







-BEGIN PGP SIGNATURE-

iEYEARECAAYFAkzWEbMACgkQOsmLt1NhivzoowCfXo4GHcVF8lijXui7YDtsJvIa
1JMAn0x/aM9ByUT1PZZ4fvFDUS2bXlg7iQCVAgUBTNYRs1nrWVZ7aXD1AQKRbgP/
UOHgw//hOLXChjzkDdJJrTsVzqNhI4H4KOtruCc9m5KF/NR6BuFrSzu6ngkgRQ39
oHwf7KnY/ooF2JY6x1HGV9VJoUJhY/U841NqO2jxe/WrmjPeWxCME0z/WCI4n26z
HylyqBUrCWOjoLNK0KqDTvW9wfwudcwsVAbFENSBeAo=
=zy1G
-END PGP SIGNATURE-

--
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-06 Thread Roy Smith
I've been following this discussion for the last couple of days, and I'm still 
a bit confused.

I've just started playing with pylons.  I downloaded the 1.0 code and started 
writing a toy application just to get the feel for it.  If I were to embark on 
a real project today, would the right game plan be to continue with Pylons 1.0, 
or wait for Pyramids to come out (and/or stabilize?).  Or just use Django? :-)

I note that  http://pylonshq.com/ doesn't mention Pyramids at all.

--
Roy Smith
r...@panix.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-disc...@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: pyramids and pylons

2010-11-06 Thread Graham Higgins

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7 Nov 2010, at 02:40, Graham Higgins wrote:

Pylons: http://svn.repoze.org/whatsitdoing/pylons/results.txt
256145 function calls in 0.811 CPU seconds


Slight correction...

That was Pylons 0.9.7 Chris informs me. Pylons 1.0 was whittled down  
to about 150K.


Also, the standard caveat that those figures usually get drowned if  
the app is doing any serious work.


This from Ben: The bare minimal execution stack during a 'hello  
world' request in pyramid is 20 function calls. In pylons, even with  
all the middleware stripped, its 256.


I find it a useful datum - it means that I can feel comfortable  
serving /favicon.ico and /robots.txt, etc. directly from the app if I  
want.


Some early reports of reasonable speedups (*2) after porting apps from  
Pylons/GAE to Pyramid/GAE, too early to start grinning yet.


- --
Cheers,

Graham

http://bel-epa.com/gjh/







-BEGIN PGP SIGNATURE-

iEYEARECAAYFAkzWG60ACgkQOsmLt1NhivzgmQCg/Y35WGe3xJZl7wDpqY1exVwD
IHMAoKIZI/han2HgKO5KvFGEcDf60BkJiQCVAgUBTNYbrVnrWVZ7aXD1AQIFwwQA
4DhTKdmw+O32giI/Tux7yGZI9JOtRlEcq7iPC2XxijFnlUPDlds3R+9RRALN9MtQ
newZm0sttINIWtfvpdWQqtxg/zm96n6vHbTkD/ymoX0lZ7FLepqJmEYp1jd6GvbA
T8PrEi8PNihgb5xGoaDwCho1HlMPMMkupungJ6bwJpM=
=935+
-END PGP SIGNATURE-

--
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-06 Thread cd34
On Nov 6, 1:46 pm, Jeff Tchang jeff.tch...@gmail.com wrote:
 As a long time user of Pylons the thing that scares me is migration.
 How much work is it going to take to get my Pylons 9.7/1.0 project to
 Pyramid. Also since I have projects currently being worked on in
 Pylons how much of this is going to be dead end work?

http://cd34.com/blog/framework/pylons-1-0-to-pyramid-1-0a1/

I had an undeployed Pylons 1.0 project that we had started working on
about three weeks ago.  We used repoze.who/repoze.what (I do not have
Pyramid's auth working with an SQL backend yet) and FormAlchemy along
with a number of webhelpers for pagination and constants.  It took
about 16 hours to convert 35 actions in three controllers to Pyramid.
Of that 16 hours, I'd guess that 12 hours was learning Pyramids,
reading the documentation, learning how Pyramid did things - I had
looked at repoze.bfg in the not too distant past, and getting pointers
on IRC to documentation and methodologies behind Pyramid.

With that said.  Pylons 1.0 isn't going away for a long time.  It
probably won't see many feature upgrades but will receive bugfixes for
stability/security.  I don't think I would worry about a project
currently using 0.9.7/1.0 being orphaned and unsupported.

While Pyramid is tagged as an Alpha release, it is a very mature
Alpha.  I do believe that we'll be using Pyramid for new development
and as we work out some of the pitfalls we run into, I'll post the
solutions we find.

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread William Chambers
I'm not an authority on the matter but I'll respond anyways. Note that
I will probably over generalize and water down things, and may be
plain wrong but it should help give you some idea anyways.

pyramid is basically a renamed repoze.bfg, which was a framework made
by the zope folks in an attempt to take useful things from zope and
make them easier to use. I'd say they've done a wonderful job, since
as of about 3 months ago I've converted over all my projects to
repoze.bfg and now pyramid.

Pyramid is basically the future of pylons afaik. But there 'are'
controllers, they're just not named such. The current wording is
handlers, which are basically the same as controllers.

Hope that helps!
William Chambers

On Nov 4, 7:44 pm, Kevin J. Smith ke...@ryzoe.com wrote:
 Hi,

 Someone pointed out pyramids to me 
 (http://docs.pylonshq.com/pyramid/dev/narr/introduction.html) and I am a bit
 confused with the relationship between pyramids and pylons.  I have been
 using pylons for over a year now and have never heard of pyramids (and that
 includes passively following this mailing list.)  From the page on pyramids
 it seems to suggest that pylons post 1.0 will be using pyramids?  If so,
 statements like no controllers kind of frighten me ... and quite frankly
 most things that are Zope related frighten me.

 Anybody care to clarify?

 Cheers

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread Mike Orr
On Thu, Nov 4, 2010 at 4:44 PM, Kevin J. Smith ke...@ryzoe.com wrote:
 Hi,
 Someone pointed out pyramids to me
 (http://docs.pylonshq.com/pyramid/dev/narr/introduction.html) and I am a bit
 confused with the relationship between pyramids and pylons.  I have been
 using pylons for over a year now and have never heard of pyramids (and that
 includes passively following this mailing list.)  From the page on pyramids
 it seems to suggest that pylons post 1.0 will be using pyramids?  If so,
 statements like no controllers kind of frighten me ... and quite frankly
 most things that are Zope related frighten me.
 Anybody care to clarify?

The Pylons 2 codebase has been going in a BFG-ish direction for
several months (search pylons-discuss and pylons-devel for marco and
bfg). Pyramid is just a new name for it. It hasn't been announced
yet so your surprise is understandable.

Basically, the Pylons and BFG developers decided to merge their
codebases into one framework. So Pyramid is a fork of BFG with all the
Pylons 2 stuff merged in (and Routes too). The name Pylons has grown
from being a single framework to a developer community that maintains
three frameworks: Pylons 1, BFG 1.3, and Pyramid. TurboGears is
considering joining the merger but has not yet committed to it. It
depends on whether they decide to rebase TG on Pyramid or stick with
Pylons 1.

Pyramid supports multiple API styles. Configuration can be imperative
(Pylons-style: instantiating objects and calling methods) or
declarative (BFG-stye: an XML-based configuration file). Routing can
be transversal (a la TurboGears) or URL dispatch (Routes-style). The
Pyramid manual is forked from the BFG book, but it's being geared
toward the Pylons style, so imperative and with URL dispatch.

Pyramid has a different MVC vocabulary. The model is the model, but
the view is the callable that processes the request, so the equivalent
of a Pylons action method. A view handler is a class containing view
methods, so the equivalent of a controller. This was just documented
today, so read the chapter on View Handlers.  Some of the chapters
in the manual refer to Pyramid's other modes, so they're irrelevant to
a Pylons-style application. I'm making a howto to explain the relevant
parts.

There are some changes in the syntax. Routes configuration changes to
``config.add_hander()`` or ``config.add_route()``. A view method looks
like this:

class MyViewHandler(object):
def __init__(self, request):
self.request = request

@action(renderer=/index.mako)
def my_view(self):
return {var1: value 1}

This, obviously, is TurboGears-ish, but not exactly the same. You can
mount a Pylons 1 application as a URL overlay, so that you can upgrade
it one page at a time, or add new pages but keep the old pages as-is.

Only a small part of Zope is coming in: the component architecture and
interfaces. Application developers don't need to worry about that,
it's all preconfigured in the Paster application template. The
component architecture is a generic plugin system: it allows you -- if
you want -- to switch out and replace parts of the framework as easily
as switching template engines. It allows the components, routing, and
configuration data to all be specified in the same format in the same
configuration file, if desired. But a normal Pylons-like application
would not do this, it would use a familiar INI file, and a module
that's equivalent to environment/middleware/routing.py

-- 
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-disc...@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: pyramids and pylons

2010-11-05 Thread Mike Orr
On Thu, Nov 4, 2010 at 11:40 PM, Andrew Kou andrew@gmail.com wrote:
 Whoa, so Pylons (the framework) is being killed off?

The framework named Pylons will remain 1.x, and will be used and
maintained for several years. The part of Pylons that is in the
``pylons`` package is actually pretty small (and has been getting more
simplified and smaller in the past few versions), so there's not much
to maintain. Most of the bugs that get reported are in the dependency
packages.

The version that was going to be Pylons 2 is now called Pyramid.

-- 
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-disc...@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: pyramids and pylons

2010-11-05 Thread daniel
had a quick look at pyramid ... too complex to me and not really
understand for which benefits, which could not be handled with the
lovely pylons ..

I feel should consider whether it's time for me to step back to
django .. I always hated zope (useless ?) complexity and I love simple
way of thinking

daniel



On Nov 5, 7:52 am, Mike Orr sluggos...@gmail.com wrote:
 On Thu, Nov 4, 2010 at 11:40 PM, Andrew Kou andrew@gmail.com wrote:
  Whoa, so Pylons (the framework) is being killed off?

 The framework named Pylons will remain 1.x, and will be used and
 maintained for several years. The part of Pylons that is in the
 ``pylons`` package is actually pretty small (and has been getting more
 simplified and smaller in the past few versions), so there's not much
 to maintain. Most of the bugs that get reported are in the dependency
 packages.

 The version that was going to be Pylons 2 is now called Pyramid.

 --
 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-disc...@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: pyramids and pylons

2010-11-05 Thread chrism
On Nov 5, 5:34 am, daniel daniel...@orange.fr wrote:
 had a quick look at pyramid ... too complex to me and not really
 understand for which benefits, which could not be handled with the
 lovely pylons ..

More specific criticism would be helpful.

 I feel should consider whether it's time for me to step back to
 django .. I always hated zope (useless ?) complexity and I love simple
 way of thinking

I've spent ten years using Zope.  Pyramid is not Zope.  It does use
several packages in the zope namespace, but end users never use or
need to care about those packages.  They're a framework implementation
detail.

- C

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread chrism
On Nov 5, 5:44 am, chrism chr...@plope.com wrote:
  I feel should consider whether it's time for me to step back to
  django .. I always hated zope (useless ?) complexity and I love simple
  way of thinking

 I've spent ten years using Zope.  Pyramid is not Zope.  It does use
 several packages in the zope namespace, but end users never use or
 need to care about those packages.  They're a framework implementation
 detail.

And by the way: Pyramid is 5,000 lines of non-test code.  Django is
about 60,000 (of non-test code).  If Django is simpler than Pyramid,
then we better check the laws of physics for loopholes.

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread daniel
No criticism at all, although it would be nice getting the relevant
user's benefits of the change. The complexity I talked about as well
the allergy to zope is a personal perception I would wish expressing
here (perhaps I'm the only one feeling that, then just don't care
about it)

I decided to jump from django to pylons beacuse I felt pylons to be
open and simple. I enjoyed using it and I wish thanking immensely all
the contributors

My allergy to the name of zope shall play a role in personal future
decisions, whichever portion of it is going to be used here

Complexity is measured to my way of thinking from a user perspective,
not necessarly from a framework code number of lines developer point
of view

Regards

Daniel

On Nov 5, 10:44 am, chrism chr...@plope.com wrote:
 On Nov 5, 5:34 am, daniel daniel...@orange.fr wrote:

  had a quick look at pyramid ... too complex to me and not really
  understand for which benefits, which could not be handled with the
  lovely pylons ..

 More specific criticism would be helpful.

  I feel should consider whether it's time for me to step back to
  django .. I always hated zope (useless ?) complexity and I love simple
  way of thinking

 I've spent ten years using Zope.  Pyramid is not Zope.  It does use
 several packages in the zope namespace, but end users never use or
 need to care about those packages.  They're a framework implementation
 detail.

 - C

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread chrism
On Nov 5, 7:15 am, daniel daniel...@orange.fr wrote:
 No criticism at all, although it would be nice getting the relevant
 user's benefits of the change. The complexity I talked about as well
 the allergy to zope is a personal perception I would wish expressing
 here (perhaps I'm the only one feeling that, then just don't care
 about it)

I'm sorry you feel that way.  The Zope brand has certainly taken its
share of
lumps over the years, and has a reputation for being insular and
mysterious.
But the word Zope is meaningless without qualification.  What *part*
of Zope
do you hate?  Zope is a brand, not a technology.

If it's Zope2-the-web-framework, Pyramid is not that.  The primary
designers
and developers of Pyramid, if anyone, should know.  We wrote Pyramid's
predecessor (repoze.bfg), in part, because *we* knew that Zope 2 had
usability issues and limitations.  repoze.bfg (and now Pyramid)
was written to address these issues.

If it's Zope3-the-web-framework, Pyramid is *definitely* not that.
Making
use of lots of Zope 3 technologies is territory already staked out by
the
Grok project.  Save for the obvious fact that they're both web
frameworks, Pyramid is very, very different than Grok.  Grok exposes
lots of Zope technologies to end users.  On the other hand, if you
need to
understand a Zope-only concept while using Pyramid, then we've failed
on some
very basic axis.

If it's just the word Zope: it's, charitably, only guilt by
association.  You
need to understand that just because a piece of software internally
uses some
package named ``zope.foo``, it doesn't turn the piece of software that
uses
it into Zope.  There is a lot of *great* software written that has
the word
Zope in its name.  Zope is not some sort of monolithic thing, and a
lot of
its software is usable externally.

It's not really my job to defend Zope.  But Zope has been
around for over 10 years and has an incredibly large, active
community.  If
you don't believe this, http://taichino.appspot.com/pypi_ranking/authors
is
an eye-opening reality check.

 Complexity is measured to my way of thinking from a user perspective,
 not necessarly from a framework code number of lines developer point
 of view

It's pretty hard to defend Pyramid against charges that won't be
disclosed.

- C

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread Mike Orr
On Fri, Nov 5, 2010 at 2:34 AM, daniel daniel...@orange.fr wrote:
 had a quick look at pyramid ... too complex to me and not really
 understand for which benefits, which could not be handled with the
 lovely pylons ..

The Pyramid book is a reference manual so it contains all the details.
More Pylons-specific guides will be coming but they're not written
yet. That's why the project is still in alpha.  The benefits in short
are more flexibility and unifying some API paradigms that have
sprouted up in different frameworks since WSGI was invented. Ben can
explain it better than I can, just be patient. :) And Pylons 1 is not
going away. I'm still running Pylons 0.9.7 applications which are just
now being converted to Pylons 1.

-- 
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-disc...@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: pyramids and pylons

2010-11-05 Thread Graham Higgins

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Kevin,

On 4 Nov 2010, at 23:44, Kevin J. Smith wrote:

Someone pointed out pyramids to me (http://docs.pylonshq.com/pyramid/dev/narr/introduction.html 
) and I am a bit confused with the relationship between pyramids and  
pylons.
I have been using pylons for over a year now and have never heard of  
pyramids (and that includes passively following this mailing list.)   
From the page on pyramids it seems to suggest that pylons post 1.0  
will be using pyramids?  If so, statements like no controllers  
kind of frighten me ... and quite frankly most things that are Zope  
related frighten me.


Anybody care to clarify?


Steady the Buffs, Kevin --- and any other Pylons users who might  
currently be going Whoa?! WTF?.


FACT: Pylons 1.0 is not being killed off in any way, shape or form.  
Your apps will continue to work and Pylons 1.0 will continue to be  
supported for the foreseeable future, (yea, even in perpetuity should  
you be able to lay your hands on a standard deep-space, 6.4 megayear- 
rated gravity-powered server like what we have).


The Pyramid development is actually /very/ good news for Pylons  
users. You may not be aware of it but Pylons 1.0 is currently in a  
developmental cul-de-sac which offers no feasible route to a Pylons 2.


When working through the Pylons 1.0 architecture, looking for a way to  
allow Pylons to properly support extensibility, Ben recently  
discovered an architectural design flaw in Pylons [1]. The problem  
orients around the chosen strategy of implementing individual app  
extensibility by allowing subclassing of the WSGIController.


Ben says that Bob Brewer (of CherryPy fame) warned him about it at the  
start of Pylons but back four years ago Ben was young, carefree and  
thought little of it --- I'm paraphrasing, you understand :-)


But now, after four years of development, it ultimately transpires  
that Bob was right, one side-effect of this strategy is that it now  
profoundly blocks the planned further development of Pylons and the  
strategy can't be changed without an accompanying complete re-write of  
the Pylons codebase.


Which is not going to happen, for two reasons: 1) it's too much work,  
in the wrong direction and ii) all Pylons 1 apps would have to be  
comprehensively rewritten to work at all with Pylons 2.


So, with respect to Pylons' roadmap to the future, Pylons is between a  
rock and a hard place --- but only with respect to the future. There   
may be storm clouds may be looming on the horizon over /there/ but  
right here, for Pylons 1 it's sunny and that will continue,  so we can  
still all go out and play.


Nevertheless, Ben is faced with the very real problem of making a long  
running jump and grab to get Pylons into a position where we can all  
start moving forward again.


Otherwise, like many corporate products, Pylons 1.0 will have to be  
declared feature-complete and feature development would cease.  
There's nothing wrong with that per se, I'm still using a 10-year old  
a Java app that gives me WYSIWYG XML editing, wouldn't give it up for  
the world. But I'm sure that a declaration that Pylons 1 was feature  
complete and that's your lot would be received with bitter  
disappointment by those Pylons users who were looking forward to  
basing future work on Pylons 2.


The thing is, the BFG guys are already where Pylons needs to be, and  
they are beckoning welcomingly and have been doing so for a while.


From his omniscient position as Pylons BDFL, Ben is aware that some  
power users have already hit the Pylons wall on extensibility and  
they've abandoned Pylons in favour of BFG and what's more, they've  
found that they love it. There's something of a steady trickle of  
advanced technical users from Pylons to BFG and as Ben remarks: that  
says something.


In addition, Ben and Chris McDonough have been exchanging ideas and  
doing experimental code sprints for years. Architecturally, BFG is  
conceptually very similar to Pylons. Chris looked very carefully at  
Pylons when he created BFG and if you read through his blog posts,  
you'll find a posting titled Tips for greenlighting a framework in  
which you'll find: Requiring that a user subclass a framework-defined  
class is almost always the wrong answer [2].


Oh, the BFG guys might dress differently to us and their cuisine might  
taste a bit different to us but basically BFG does pretty much the  
same thing as Pylons does - takes some stuff (often in a db) and  
whacks it out the door as HTML or whatever.


BFG is WSGI-based, just like Pylons is; it is (broadly) MVC, just like  
Pylons (broadly) is and, given a very similar base functionality  
(accept request, connect request to code, execute code with in the  
context of the req, return template-rendered result), you can see the  
attraction of taking BFG's core and using it to replace the flawed  
Pylons one.


For their part, the BFG guys are aware 

Re: pyramids and pylons

2010-11-05 Thread David Gardner

So as a user what matters to me is that I can still continue to:

1) use SQLAlchemy to fetch stuff
2) call some backend modules with that data
3) maybe store the results in Beaker
4) then send those results to Mako

I suspect this is probably going to be the case, so I'm cool.
Any incompatibilities are par for the course for a major numbered upgrade.



There are some changes in the syntax. Routes configuration changes to
``config.add_hander()`` or ``config.add_route()``. A view method looks
like this:

class MyViewHandler(object):
 def __init__(self, request):
 self.request = request

 @action(renderer=/index.mako)
 def my_view(self):
 return {var1: value 1}


   



--
David Gardner
Pipeline Tools Programmer
Jim Henson Creature Shop
dgard...@creatureshop.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-disc...@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: pyramids and pylons

2010-11-05 Thread lcrees
My $0.02 USD:

As a longtime Pylons classic (1.x) and sometimes Zope 3 user, I'm
intrigued by Pyramids.

A disclaimer: I was not fond of classical Zope 3 development. Since I
worked with a longtime Zope veteran (Jeff Shell), I know why Zope 3
was an architectural improvement over Zope 2. But the application
development experience left a lot to be desired for me personally (the
ZCML requirement was one but not the only reason). However, the
essence of the ZCA was promising and I've followed the grok and repoze
initiatives with great interest as they experimented with ways to free
Zope 3 from Zope 3.

The ZCA exists to free web framework developers from endless
subclassing. Zope 2 had endless subclassing and it began to wear on
people. Zope 3 was a radical break to free the Zope community from the
same problems that Mr. Bangert is facing with Pylons 1.x. The ZCA
unfortunately came about at a time when XML and Javaish enterprisy
terminology was all the rage and it reflects its passage through that
dark time. However, the vast, vast, vast, vast, vast, vast, vast
majority of Pylons web _application_ developers would never have to
face the agony of the raw ZCA, ZCML, or interfaces. That's something
for framework nerds and hardcore Zope veterans. Core ZCA components
like zope.component and zope.interface as well as other Zope
components are over five years old and rock solid. It's merely their
usability that has largely fallen short. Pyramids has the potential to
bring things the Zope community has had for years down from the
mountaintop to a larger community. In truth, the Zope legacy is little
more than an asterisk to future Pylons development.

If Pylons/Pyramids/whatever is successfully packaged and sold, Zope 3
may receive vindication in the end.

Especially if people don't realize they're using Zope 3.

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread Andrew Kou
Yeah, the main issue is that I think the new structure at a high level can
be a little confusing, since the Pylons name is changing from a framework to
a project. The distinction between Pylons 1.0 and Pylons project makes it
difficult to relay the Pylons name and the fact that Pyramid is a standalone
framework kind of adds to the confusion. I can see a potentially common
questionSo...is Pyramid the new Pylons 2.0?.

I think it is important that it is stressed pretty heavily in docs/site
etc that Pylons 1 isn't being killed off. I think a lot of people are
misunderstanding and getting the impression that this is the case for one
reason or another.

Another issue I can see is that people don't understand what the difference
of the changes are. Maybe a simple high level diagram would help? (I don't
know if that is even possible, just a suggestion)

Best,

- Pyeek



On Fri, Nov 5, 2010 at 9:31 AM, lcrees lcr...@gmail.com wrote:

 My $0.02 USD:

 As a longtime Pylons classic (1.x) and sometimes Zope 3 user, I'm
 intrigued by Pyramids.

 A disclaimer: I was not fond of classical Zope 3 development. Since I
 worked with a longtime Zope veteran (Jeff Shell), I know why Zope 3
 was an architectural improvement over Zope 2. But the application
 development experience left a lot to be desired for me personally (the
 ZCML requirement was one but not the only reason). However, the
 essence of the ZCA was promising and I've followed the grok and repoze
 initiatives with great interest as they experimented with ways to free
 Zope 3 from Zope 3.

 The ZCA exists to free web framework developers from endless
 subclassing. Zope 2 had endless subclassing and it began to wear on
 people. Zope 3 was a radical break to free the Zope community from the
 same problems that Mr. Bangert is facing with Pylons 1.x. The ZCA
 unfortunately came about at a time when XML and Javaish enterprisy
 terminology was all the rage and it reflects its passage through that
 dark time. However, the vast, vast, vast, vast, vast, vast, vast
 majority of Pylons web _application_ developers would never have to
 face the agony of the raw ZCA, ZCML, or interfaces. That's something
 for framework nerds and hardcore Zope veterans. Core ZCA components
 like zope.component and zope.interface as well as other Zope
 components are over five years old and rock solid. It's merely their
 usability that has largely fallen short. Pyramids has the potential to
 bring things the Zope community has had for years down from the
 mountaintop to a larger community. In truth, the Zope legacy is little
 more than an asterisk to future Pylons development.

 If Pylons/Pyramids/whatever is successfully packaged and sold, Zope 3
 may receive vindication in the end.

 Especially if people don't realize they're using Zope 3.

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



-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread Mike Orr
On Fri, Nov 5, 2010 at 9:24 AM, David Gardner dgard...@creatureshop.com wrote:
 So as a user what matters to me is that I can still continue to:

 1) use SQLAlchemy to fetch stuff
 2) call some backend modules with that data
 3) maybe store the results in Beaker
 4) then send those results to Mako

Yes for 1, 3, and 4. I'm not sure what you mean by #2.

Pyramid has a Paster template called pyramid_sqla that preconfigures
a SQLAlchemy+Mako application to the same level as Pylons 1. I think
it also includes Beaker but I'm not 100% sure about that. In any case,
the pyramid-beaker plugin is already written. And Pyramid includes an
equivalent to Routes, which is in the process of gaining all of
Route's features.

Pyramid includes a sopisticated auth system that's more integrated
than Repoze.who/what.

It looks like Pyramid does not include a form builder/validator, but
you should be able to use FormEncode/WebHelpers or ToscaWidgets or the
SQLAlchemy-form packages as usual. (I'll be testing a
FormEncode/WebHelpers app soon.) You may have to provide your own code
for @validate or an equivalent, at least at this stage.

You can define your own lib functions and call them from a view or
model. I think that's what you mean by #2?

-- 
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-disc...@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: pyramids and pylons

2010-11-05 Thread Kevin J. Smith
Thanks for that very thorough dissertation of the state of the Pylons union!

I found it all a bit depressing, mind you, because I have chosen to build
our application on a technological dead end framework (Pylons 1.x)  But if
there is some inherent architectural dead end to Pylons 1.x then I
completely understand the necessity to moving to something else.

However, I am a bit skeptical of the BFG stuff ... not because I'm worried
of its technical capabilities or architecture but I'm worried about its
usability and learning curve.  Back when I began coding our app I looked at
wiring in auth and naturally evaluated repoze who/what and authkit.  Even
though it appeared, from what I was reading, that repoze who/what was the
more capable library it failed my 10 minute test miserably.  Whereas, within
a short period of time I was able to get something working with authkit.

Of course I realize that there is sometimes tradeoff between ease of use and
capability.  Which is precisely why I chose Pylons over Django - I wanted to
be able to swap out certain modules for others - I wanted a bit more
flexibility.  But I also remember experiences with Zope in the early days -
I found the architecture fascinating and did spend considerable time to
learn Zope but at the end of the day I stamped it over-engineered because it
was just almost always easier to just cobble something together with
mod_python and coding closer to the metal.

It is similar to my Java/Spring framework experience.  Fascinating from an
academic viewpoint but at the end of the day it is just always easier to
code something up with a lightweight language like Python.  At the end of
the day, the best designs usually turn out to be the simplest.

I shall hold off on my opinions of Pyramids until I have a chance to play
with it and I am truly hoping that it doesn't smell anything like Zope.

Which brings up the point, where can we get our hands on Pylons 2.0 work?

Cheers



On 5 November 2010 08:05, Graham Higgins gjhigg...@googlemail.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Hi Kevin,


 On 4 Nov 2010, at 23:44, Kevin J. Smith wrote:

  Someone pointed out pyramids to me (
 http://docs.pylonshq.com/pyramid/dev/narr/introduction.html) and I am a
 bit confused with the relationship between pyramids and pylons.
 I have been using pylons for over a year now and have never heard of
 pyramids (and that includes passively following this mailing list.)  From
 the page on pyramids it seems to suggest that pylons post 1.0 will be using
 pyramids?  If so, statements like no controllers kind of frighten me ...
 and quite frankly most things that are Zope related frighten me.

 Anybody care to clarify?


 Steady the Buffs, Kevin --- and any other Pylons users who might currently
 be going Whoa?! WTF?.

 FACT: Pylons 1.0 is not being killed off in any way, shape or form. Your
 apps will continue to work and Pylons 1.0 will continue to be supported for
 the foreseeable future, (yea, even in perpetuity should you be able to lay
 your hands on a standard deep-space, 6.4 megayear-rated gravity-powered
 server like what we have).

 The Pyramid development is actually /very/ good news for Pylons users.
 You may not be aware of it but Pylons 1.0 is currently in a developmental
 cul-de-sac which offers no feasible route to a Pylons 2.

 When working through the Pylons 1.0 architecture, looking for a way to
 allow Pylons to properly support extensibility, Ben recently discovered an
 architectural design flaw in Pylons [1]. The problem orients around the
 chosen strategy of implementing individual app extensibility by allowing
 subclassing of the WSGIController.

 Ben says that Bob Brewer (of CherryPy fame) warned him about it at the
 start of Pylons but back four years ago Ben was young, carefree and thought
 little of it --- I'm paraphrasing, you understand :-)

 But now, after four years of development, it ultimately transpires that Bob
 was right, one side-effect of this strategy is that it now profoundly blocks
 the planned further development of Pylons and the strategy can't be changed
 without an accompanying complete re-write of the Pylons codebase.

 Which is not going to happen, for two reasons: 1) it's too much work, in
 the wrong direction and ii) all Pylons 1 apps would have to be
 comprehensively rewritten to work at all with Pylons 2.

 So, with respect to Pylons' roadmap to the future, Pylons is between a rock
 and a hard place --- but only with respect to the future. There  may be
 storm clouds may be looming on the horizon over /there/ but right here, for
 Pylons 1 it's sunny and that will continue,  so we can still all go out and
 play.

 Nevertheless, Ben is faced with the very real problem of making a long
 running jump and grab to get Pylons into a position where we can all start
 moving forward again.

 Otherwise, like many corporate products, Pylons 1.0 will have to be
 declared feature-complete and feature development would cease. 

Re: pyramids and pylons

2010-11-05 Thread Mike Orr
On Fri, Nov 5, 2010 at 11:58 AM, Eric Rasmussen ericrasmus...@gmail.com wrote:
 This has been a fascinating discussion! I don't have anything to add that
 hasn't already been expressed, but I second Kevin's request to try it out
 and see how it works.

 More specifically, to the developers: do you need testers? I'm planning some
 updates to one of my side-projects, and I'd be happy to try rebuilding it in
 Pyramid to see how it goes. It's something I'm doing on the side for fun so
 I can work on it whenever you're ready for testing.

Eric, feel free to play with it. I guess specific questions about
using it should go to pylons-devel at this stage, so that Pylons 1
users won't get confused? My proto howto is here but it was written
before the Pyramid shift, so some parts are out of date. The usage
should be almost the same, just the repository location and package
name is different. I'm thinking of a simple Blog+Comments+Auth
tutorial using SQLAlchemy if you'd like to collaborate on that.

HTML version:
http://bytebucket.org/sluggo/pylons2-userguide/wiki/html/index.html

Sphinx source:
https://bitbucket.org/sluggo/pylons2-userguide

-- 
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-disc...@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: pyramids and pylons

2010-11-05 Thread Ben Bangert
On Nov 5, 2010, at 11:36 AM, Kevin J. Smith wrote:

 I found it all a bit depressing, mind you, because I have chosen to build our 
 application on a technological dead end framework (Pylons 1.x)  But if there 
 is some inherent architectural dead end to Pylons 1.x then I completely 
 understand the necessity to moving to something else.

Yes, some of the beta code I had tried out for Pylons 2.0 would've required a 
similar amount of porting as this transition will.

 However, I am a bit skeptical of the BFG stuff ... not because I'm worried of 
 its technical capabilities or architecture but I'm worried about its 
 usability and learning curve.  Back when I began coding our app I looked at 
 wiring in auth and naturally evaluated repoze who/what and authkit.  Even 
 though it appeared, from what I was reading, that repoze who/what was the 
 more capable library it failed my 10 minute test miserably.  Whereas, within 
 a short period of time I was able to get something working with authkit.

Luckily, pyramid comes with authentication/authorization (built-in, and 
optional of course). repoze.what wasn't actually created by the repoze folks, 
it was a TG2 project for authorization, which many folks have unfortunately had 
a lot of problems with.

 Of course I realize that there is sometimes tradeoff between ease of use and 
 capability.  Which is precisely why I chose Pylons over Django - I wanted to 
 be able to swap out certain modules for others - I wanted a bit more 
 flexibility.  But I also remember experiences with Zope in the early days - I 
 found the architecture fascinating and did spend considerable time to learn 
 Zope but at the end of the day I stamped it over-engineered because it was 
 just almost always easier to just cobble something together with mod_python 
 and coding closer to the metal.

I think you'll be able to swap in and replace most anything you'd want to in 
pyramid as well, this time using better documented hook and plug-in points, 
rather than attempting to glue together more things.

 It is similar to my Java/Spring framework experience.  Fascinating from an 
 academic viewpoint but at the end of the day it is just always easier to code 
 something up with a lightweight language like Python.  At the end of the day, 
 the best designs usually turn out to be the simplest.
 
 I shall hold off on my opinions of Pyramids until I have a chance to play 
 with it and I am truly hoping that it doesn't smell anything like Zope.

I'll be sending out an announcement later today, but there's no reason people 
that want to, can't start kicking the tires now so to speak. Due to the 
extremely well documented heritage of bfg, there is ample docs. They are quite 
verbose, for good or bad, so people are working on more new-user friendly 
guides for the 10k ft view.

Speaking of simplicity, in pyramid, if you have one of those uber-simple little 
apps that doesn't need a full Pylons-like project setup, you can actually 
create the entire thing in a single module if that's your fancy:

from pyramid.configuration import Configurator
from pyramid.response import Response
from paste.httpserver import serve

class MySite(object):
def __init__(self, request):
self.request = request

def hello(self):
return Response('Hello world!')

if __name__ == '__main__':
config = Configurator()
config.begin()
config.add_handler('home', '/site/:action', handler=MySite)
config.end()
app = config.make_wsgi_app()
serve(app, host='0.0.0.0')

That's it! While some of the terminology is changing, the overall style 
(class-type 'controllers') for those coming from Pylons is not. Simple sites 
can be simple, and larger ones that need extensibility can actually be 
extensible.

 Which brings up the point, where can we get our hands on Pylons 2.0 work?

There's a pyramid 1.0a1 release on cheeseshop now, the docs are all over at 
http://docs.pylonshq.com/. This is the home for the combined project right now, 
and will be further integrated into the main pylonshq site.

Cheers,
Ben

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread Mike Orr
On Fri, Nov 5, 2010 at 8:05 AM, Graham Higgins gjhigg...@googlemail.com wrote:
 Kevin J Smith wrote:
 From
 the page on pyramids it seems to suggest that pylons post 1.0 will be using
 pyramids?  If so, statements like no controllers kind of frighten me ...
 and quite frankly most things that are Zope related frighten me.

 Anybody care to clarify?

 Steady the Buffs, Kevin --- and any other Pylons users who might currently
 be going Whoa?! WTF?.

Chris McDonough wrote:
 The word Zope is meaningless without qualification.  What *part* of Zope do 
 you hate?

 It's pretty hard to defend Pyramid against charges that won't be
disclosed.

Less confrontation, Chris, please. Pylons users are legitimately
concerned about any sudden changes in the API, abandonment of
previously-supported versions, and over-Zopeification. Also, Pyramid
is being introduced to them in a haphazard way, rather than an
announcement and discussion before the fact as TurboGears had [1] and
presumably BFG had. So people are rightly concerned about where Pylons
is headed, and asking for more details.

[1]: 
http://groups.google.com/group/turbogears/browse_thread/thread/47779d8587721037?pli=1

The merger/rebanding is very recent -- like a week ago. Graham and I
first heard about it four days ago. That's why not all of the pieces
are in place yet.

The reason for concerns like Kevin's is historical. I (and several
WSGI developers) left Zope in 2000 because it was a huge monolith, and
the documentation was geared toward content creators rather than
Python developers.  Zope has since fixed many of these shortcomings:
improving the developer documentation, splitting the code into
multiple packages, and spawning Repoze and BFG and Grok. But ZCML,
component architecture, and interfaces still strike fear into many
hearts. And Zope's greatest accomplishment -- Plone -- is still tied
to Zope 2, and is still more monolithic than many here would like. The
fears about Pylons are legitimate and need to be addressed. We just
need to have a dialog about what exactly is coming from Zope, why it
won't destroy Pylons, and what its benefits are.

The other concern is abandonment of previous versions.  Many people
were not happy with the move from TurboGears 1 to TurboGears 2. They
complained that the TG book was published right when its developers
were starting to move away from that paradigm, and that the window
between TG1 and TG2 was unusually short by framework standards. This
forced people to invest in TG1 and then immediately rewrite their apps
for TG2, or stick with TG1 which was now less-supported than they had
been expecting. So people are rightly concerned that Pylons mustn't do
that. Still, the state of the art evolves quickly, so some change is
inevitable.

My message to Pylons users is: the developers share your concerns. We
asked the same questions of Chris when we were first considering BFG
and a component architecture. We hate XML just as much as you do. We
asked, What would a component architecture gain us? Are there any
alternative non-Zope implementations? Are these pieces separable from
the rest of Zope? How much Zope is enough and how much is too much?

It turns out that that the Zope developers were smart to see the
benefits of components/interfaces early on, and they were willing to
split that out for the rest of us, just as they had earlier split out
ZODB. There is no alternative Python package for this that has been as
well tested over several years, especially in a web-framework
environment.

When Chris first explained the XML-based configurator, our first
comment was, That will be unacceptable to Pylons users. So he made a
flexible configuration backend, envisioning multiple configuration
styles (XML, Python, INI, etc). Only the XML and Python styles have
been pursued. (The Paste INI file is not directly related to this. The
upshot for Pylons users is a Python module equivalent to
environment/middleware/routing.py .)

 FACT: Pylons 1.0 is not being killed off in any way, shape or form. Your
 apps will continue to work and Pylons 1.0 will continue to be supported for
 the foreseeable future,

And anyone is free to help with maintenance or take on feature
enhancements -- with Ben's approval. But really, what does Pylons 1
need?  We have already rejected larger Form/ORM/Auth dependencies.
@validate needs a replacement; that's the only thing I can think of.

 Ben recently discovered an
 architectural design flaw in Pylons [1]. The problem orients around the
 chosen strategy of implementing individual app extensibility by allowing
 subclassing of the WSGIController.

 Ben says that Bob Brewer (of CherryPy fame) warned him about it at the start
 of Pylons but back four years ago Ben was young, carefree and thought little
 of it --- I'm paraphrasing, you understand :-)

What is the flaw? The footnote seems to have been omitted.

 Architecturally, BFG is conceptually
 very similar to Pylons. Chris looked very carefully at Pylons when he
 

Re: pyramids and pylons

2010-11-05 Thread Jens Hoffrichter
Hi all,

Thanks to especially Graham and Mike to point out what the benefit for the
end-user-developer (a crude term, I know ;) ) will be with the
Pylons2/Pyramid move.

When I started to read these posts, I was a bit concerned, too. I (we, my
company) have been long time Pylons users, and admittedly, we have seen more
changes in Pylons than we liked. I could understand the reasoning behind all
those changes, still, for the developer they pose a hazard in
long-term-evolution of a written app.

Some of the things I mean:

- The deprecation of rails-style webhelpers. We depend on those quite a bit
in our first application we wrote (and which is still live)
- Change in how to address a template (from package.template to
package/template.mak)
- The move from implicit routes to explicit routes

And if I thought a bit more, I would probably come up with a couple of more
examples, which have been problematic for us. The problem in there is, that
there normally is no smooth upgrade path, and no backwards compatibility, so
we are stuck with supporting a 0.9.6.2, a 0.9.7 and a 1.0 pylons app by now,
as no one would pay us a money for the complete rework the older apps need,
as for the customer, it would mean very little benefit.

Don't get me wrong, I love pylons, and the first question we ask ourselves
when a new project comes in is, Can we solve this in pylons, or do we have
to implement it with something different?, but the lack of continuity has
been a bit disheartening at times.

Still, I would really be interested in why the subclassing of WSGIController
lead Pylons in an architectional dead end, just from a curious point of view
:)

I will take a look at the new packages as soon as I get around to it, but
I'm really curious by now.

 But really, what does Pylons 1 need?  We have already rejected larger
Form/ORM/Auth dependencies.
 @validate needs a replacement; that's the only thing I can think of.
Maybe not the Pylons package itself (and I personally had no trouble using
@validate up to now), but one thing the whole Pylons eco system would hugely
benefit from (imo) is a database migration tool. I have looked into those
which have been announces (miraku and a couple of others), and all fall
short.

I have written something like that for ourselves, for SQLAlchemy based
projects, which takes the model, evaluates the differences between the
current model revision, and the latest from the versioning system, and
generates the appropriate SQL scripts for getting the database from the one
version to the next, without loss of data. I always hoped of releasing it to
the public at some point, but I never really had the time to get around to
it. It is stable we are using it for a couple of our projects, but it is
lacking the real hard stuff (like documentation, and things not that tied to
our own infrastructure ;) )

Regards,
Jens

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread chrism
On Nov 5, 3:55 pm, Mike Orr sluggos...@gmail.com wrote:
 Less confrontation, Chris, please. Pylons users are legitimately
 concerned about any sudden changes in the API, abandonment of
 previously-supported versions, and over-Zopeification. Also, Pyramid
 is being introduced to them in a haphazard way, rather than an
 announcement and discussion before the fact as TurboGears had [1] and
 presumably BFG had. So people are rightly concerned about where Pylons
 is headed, and asking for more details.

Right you are, Mike.  Thanks for being the voice of reason.

- C

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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: pyramids and pylons

2010-11-05 Thread Ben Bangert
On Nov 5, 2010, at 1:50 PM, Jens Hoffrichter wrote:

 Thanks to especially Graham and Mike to point out what the benefit for the 
 end-user-developer (a crude term, I know ;) ) will be with the 
 Pylons2/Pyramid move.
 
 When I started to read these posts, I was a bit concerned, too. I (we, my 
 company) have been long time Pylons users, and admittedly, we have seen more 
 changes in Pylons than we liked. I could understand the reasoning behind all 
 those changes, still, for the developer they pose a hazard in 
 long-term-evolution of a written app.
 
 Some of the things I mean:
 
 - The deprecation of rails-style webhelpers. We depend on those quite a bit 
 in our first application we wrote (and which is still live)

No worries, these are not dead! The WebHelpers package isn't going anywhere, 
and its still easy to use throughout your templates.

 - Change in how to address a template (from package.template to 
 package/template.mak)

Ah, sorry if that's confusing. The dotted notation for a full 'resource 
specification' is optional:
http://docs.pylonshq.com/pyramid/dev/narr/views.html#mak-or-mako-mako-template-renderer

You can and do of course, configure Mako to have a template directory, and 
relative names like 'foo.mak' are assumed to exist in said template dir.

The ability to use a full resource specification addresses a long-time noted 
issue with extending or re-using packages of your templates. While Mako lets 
you plugin multiple template paths, the overlap can get tricky to manage, being 
able to refer to a template with its package name is specifically to allow you 
to use templates that might be in another package for extending purposes.

Consider the case where you have a set of templates you use in all your 
projects, wouldn't it be nice to have a package of those you just call into? 
And if you needed to tweak just one of those, you could override it with a 
template of your choice via the override API:
http://docs.pylonshq.com/pyramid/dev/narr/resources.html#the-override-resource-api

This is the start of where many frameworks are telling you to fork code ;)

 - The move from implicit routes to explicit routes

Yes, all routes do have to be explicit. I was moving that way in Pylons 1.x 
with Routes already actually, as the implicit naming and resolving done in 
Routes generally leads to more problems for users, than helping.

 And if I thought a bit more, I would probably come up with a couple of more 
 examples, which have been problematic for us. The problem in there is, that 
 there normally is no smooth upgrade path, and no backwards compatibility, so 
 we are stuck with supporting a 0.9.6.2, a 0.9.7 and a 1.0 pylons app by now, 
 as no one would pay us a money for the complete rework the older apps need, 
 as for the customer, it would mean very little benefit.

I've tried to provide as smooth an upgrade path as possible between various 
versions of Pylons. From the upgrade path's I've seen in other web frameworks, 
its one of the smoother ones... but the fact that so much configuration was in 
Python files rather than the framework has been very problematic as extensive 
changes are needed for upgrades as half the 'framework' is more or less 
assembled in the project itself. pyramid does not have this issue, as rather 
than having all its configuration innards in your project, you configure 
pyramid via hook points.

 Don't get me wrong, I love pylons, and the first question we ask ourselves 
 when a new project comes in is, Can we solve this in pylons, or do we have 
 to implement it with something different?, but the lack of continuity has 
 been a bit disheartening at times.
 
 Still, I would really be interested in why the subclassing of WSGIController 
 lead Pylons in an architectional dead end, just from a curious point of view 
 :)
http://be.groovie.org/post/1347858988/why-extending-through-subclassing-a-frameworks
 is my main summary of the problems.

I also have a bit more on this on the faq question here:
http://docs.pylonshq.com/faq/pylonsproject.html#why-not-just-continue-developing-the-pylons-1-0-code-base

 I will take a look at the new packages as soon as I get around to it, but I'm 
 really curious by now.
 
  But really, what does Pylons 1 need?  We have already rejected larger 
  Form/ORM/Auth dependencies. 
  @validate needs a replacement; that's the only thing I can think of.
 Maybe not the Pylons package itself (and I personally had no trouble using 
 @validate up to now), but one thing the whole Pylons eco system would hugely 
 benefit from (imo) is a database migration tool. I have looked into those 
 which have been announces (miraku and a couple of others), and all fall short.

I'd love to spend more time on getting an 'official' one hammered out. Part of 
the reason for combining efforts, and going with pyramid for the base is that 
we need a strong, stable, extensible system to start building more helpful 
higher level tools. With a larger team of 

Re: pyramids and pylons

2010-11-04 Thread chrism
You might want to take a look at the (still-being-revised)
http://docs.pylonshq.com/#faq for the general FAQ.  There should be an
announcement up very soon.  It probably won't have much more info than
that has.

For the fear of no-controllers, see:

- 
http://docs.pylonshq.com/pyramid/dev/designdefense.html#pyramid-gets-its-terminology-wrong-mvc

- http://docs.pylonshq.com/pyramid/dev/narr/handlers.html

Handlers == Pylons 1.X controllers.

For the fear of Zope, please see:

- 
http://docs.pylonshq.com/pyramid/dev/designdefense.html#pyramid-encourages-use-of-zcml

- 
http://docs.pylonshq.com/pyramid/dev/designdefense.html#pyramid-uses-a-zope-component-architecture-zca-registry

If you spend some time reading the docs you'll see that it using the
framework as an end user really has nothing at all to do with Zope.

On Nov 4, 7:44 pm, Kevin J. Smith ke...@ryzoe.com wrote:
 Hi,

 Someone pointed out pyramids to me 
 (http://docs.pylonshq.com/pyramid/dev/narr/introduction.html) and I am a bit
 confused with the relationship between pyramids and pylons.  I have been
 using pylons for over a year now and have never heard of pyramids (and that
 includes passively following this mailing list.)  From the page on pyramids
 it seems to suggest that pylons post 1.0 will be using pyramids?  If so,
 statements like no controllers kind of frighten me ... and quite frankly
 most things that are Zope related frighten me.

 Anybody care to clarify?

 Cheers

-- 
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@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.