Re: Some thoughts about Pyramid

2011-03-17 Thread Dylan Jay

On 05/03/2011, at 7:00 AM, Mike Orr sluggos...@gmail.com wrote:

On Thu, Mar 3, 2011 at 11:42 PM, Peter Alexis  
palexis2...@gmail.com wrote:

I mentioned unless there are new magical docs, because I think 99%
of the problems with pyramid right now are the docs.  They're hard  
to

sift through (rather dense) and easy to miss things in.  Meanwhile,
docs for projects like Django and Rails are really light and  
breezy...

and link to the more-in-depth specialized docs and api docs.


I feel more or less same, 'coz I was finding much difficulty in
understanding the framwork from the document. Escpecially, the
registration, configuration, the Z* things etc...
The framework is so powerful, but lack of clean medium to get into it
causing people to take U turn. It would be much better if we can re-
arrange/modify the documents in a way to take out Z* things,  
traversal

and all complex topics to 'Advance' section seperately.


This is where Pyramid's multiple goals come into play. The BFG-ish
users say that Traversal was immediately understandable to them and
they could apply it right away, while they find URL Dispatch
cumbersome.

ZCML configuration was moved to the back of the manual for exactly the
reason you describe, because it was a stumbling block for the large
number of Pylons users who were about to come, and the BFG users knew
where to find it in the back of the manual. I'd support moving
Traversal to the back except I think there'd be more resistance to
doing that than there was for ZCML. Traversal is central to an
application if you're using it, whereas ZCML is just zis
configuration format, y'know. [voice of Zaphod Beeblebrox's
psychiatrist]


I'm a big traversal fan (coming from zone/plone) but they do make a
compelling case that traversal could be confusing to choose between
when you are new. Seems like traversal is a bit like OO. Its solving a
problem you are only going to have when you start to write more
complicated apps.  People teach python as a first language now instead
of java so they don't have to explain OO before people understand the
need for it.
So I think it's compelling to describe traversal in the manual as an
advanced routing feature and make it more clear exactly what scenarios
traversal is good for and why it's a great solution for those. I don't
think that means moving traversal to the back because its too
important.




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

--
You received this message because you are subscribed to the Google  
Groups pylons-devel group.

To post to this group, send email to pylons-devel@googlegroups.com.
To unsubscribe from this group, send email to pylons-devel+unsubscr...@googlegroups.com 
.
For more options, visit this group at http://groups.google.com/group/pylons-devel?hl=en 
.




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



Re: Some thoughts about Pyramid

2011-03-17 Thread Wichert Akkerman

On 2011-3-17 15:59, Dylan Jay wrote:

So I think it's compelling to describe traversal in the manual as an
advanced routing feature and make it more clear exactly what scenarios
traversal is good for and why it's a great solution for those. I don't
think that means moving traversal to the back because its too
important.


I don't agree with that. Traversal is not 'advance' or 'more difficult'. 
It just approaches the URL-data+code mapping problem in a way which 
works great when dealing with a hierarchical data structure. That is not 
handled very well (I'm even tempted to say 'badly') by routing 
approaches. As a test I explained it that way in a training session this 
week, and everybody seemed to get the distinction directly.


Wichert.

--
Wichert Akkerman wich...@wiggy.net   It is simple to make things.
http://www.wiggy.net/  It is hard to make things simple.

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



Re: Some thoughts about Pyramid

2011-03-05 Thread Chris Withers

On 04/03/2011 20:03, Mike Orr wrote:

I'll be at the Pyramid sprint but I don't know what I'll be doing.

I would like to learn Git and Pyramid-at-Github if somebody would like
to do a mini crash course.


Me too please!

I'm currently petrified of all things git and could use some hand 
holding. I'm eyeing up those two small venusian issues as training bait 
for this...


cheers,

Chris

--
Simplistix - Content Management, Batch Processing  Python Consulting
   - http://www.simplistix.co.uk

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
On Thu, 2011-03-03 at 23:42 -0800, Peter Alexis wrote:
 I mentioned unless there are new magical docs, because I think 99%
  of the problems with pyramid right now are the docs.  They're hard to
  sift through (rather dense) and easy to miss things in.  Meanwhile,
  docs for projects like Django and Rails are really light and breezy...
  and link to the more-in-depth specialized docs and api docs.
 
 I feel more or less same, 'coz I was finding much difficulty in
 understanding the framwork from the document. Escpecially, the
 registration, configuration, the Z* things etc...
 The framework is so powerful, but lack of clean medium to get into it
 causing people to take U turn. It would be much better if we can re-
 arrange/modify the documents in a way to take out Z* things,

Can you explain which Z things we'd take out?  What Z things are you
tripping over?

  traversal
 and all complex topics to 'Advance' section seperately. So that,
 people interested in squeezing full power/flexibility can go through
 those section while beginners or who come from other framework or
 technologies can feel better easly and start working on. I'm pretty
 sure, people would consider/refer advance section once they feel
 comfortable.

So we should reorganize by moving chapters of the documentation around?

 But Its almost certain that, without un-cluttered, well organized
 document, its difficult to attract and get more contribution towards
 Pyramid.

No doubt we can do better.

- C


 
 my 2 cents.
 
 On Mar 4, 1:34 pm, Jonathan Vanasco jonat...@findmeon.com wrote:
  I think the criticisms in the post -- and their defense here -- are
  really important.  I've had the same struggles.
 
  While many are not technically valid , they appear to be so because of
  the documentation and positioning of pyramid.
 
  Pyramid is really powerful framework, but its also quite low-level.
  Most frameworks are high-level.  While this can be very powerful, it
  can also be frustrating.
 
  As an example, look at the concept of Auth -- the pyramid auth system
  is ( unless there are new magical docs out there ) very much
  positioned at doing some fine-grained authentication ( users, groups,
  actions) based on each 'view'.  Most other frameworks use advanced
  plugins for this sort of functionality... and have much simpler
  plugins to handle authentication for each handler / controller / etc
  as a package.  ie: for the majority of web applications, the state of
  being logged in is the only requirement for access to every method
  of a class/package, and having to (re)declare auth policies per method
  becomes daunting.
 
  I mentioned unless there are new magical docs, because I think 99%
  of the problems with pyramid right now are the docs.  They're hard to
  sift through (rather dense) and easy to miss things in.  Meanwhile,
  docs for projects like Django and Rails are really light and breezy...
  and link to the more-in-depth specialized docs and api docs.
 


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



Re: Some thoughts about Pyramid

2011-03-04 Thread mjmein
One also just needs to define what the ultimate goal is:

Is it to compete with Django/Rails? In that case I agree that alot of
work needs
to be done on simplifying and removing options. The power of Django/
Rails are that
they provide one way of doing things that works in the most cases. The
problem is
that it is very difficult if you want to go outside the constraints
imposed by them.

Django is very good at what it does, and its very simple to quickly
create a CRM/blog
style app. When I want to build that type of app, I'll definitely use
Django. But it's
when I have to build something different that Pyramid really shines.

For example, at the beginning of this year I started building a multi-
site CRM system.
One of the requirements for this was that one installation should be
able to administrate
several different domains. I started by using Django, but just to be
able to serve
different domains from one installation involved several hacky steps.

With Pyramid, along with traversal and interfaces, I could replace all
of this with one
small function that returned the correct root object based on the
current domain.

In my mind it comes down to using the correct tool for the job - don't
use Pyramid if you
are building a simple blog - Django is a much more mature system for
that. Use Pyramid if
you need to do something outside of the constraints imposed by a more
rigid system like Django.

In my mind we still need something that works on Django level, with
more constraints imposed,
but I am expecting that the new version of TurboGears based on Pyramid
would address that.


On Mar 4, 9:42 am, Peter Alexis palexis2...@gmail.com wrote:
 I mentioned unless there are new magical docs, because I think 99%
  of the problems with pyramid right now are the docs.  They're hard to
  sift through (rather dense) and easy to miss things in.  Meanwhile,
  docs for projects like Django and Rails are really light and breezy...
  and link to the more-in-depth specialized docs and api docs.

 I feel more or less same, 'coz I was finding much difficulty in
 understanding the framwork from the document. Escpecially, the
 registration, configuration, the Z* things etc...
 The framework is so powerful, but lack of clean medium to get into it
 causing people to take U turn. It would be much better if we can re-
 arrange/modify the documents in a way to take out Z* things, traversal
 and all complex topics to 'Advance' section seperately. So that,
 people interested in squeezing full power/flexibility can go through
 those section while beginners or who come from other framework or
 technologies can feel better easly and start working on. I'm pretty
 sure, people would consider/refer advance section once they feel
 comfortable.
 But Its almost certain that, without un-cluttered, well organized
 document, its difficult to attract and get more contribution towards
 Pyramid.

 my 2 cents.

 On Mar 4, 1:34 pm, Jonathan Vanasco jonat...@findmeon.com wrote:

  I think the criticisms in the post -- and their defense here -- are
  really important.  I've had the same struggles.

  While many are not technically valid , they appear to be so because of
  the documentation and positioning of pyramid.

  Pyramid is really powerful framework, but its also quite low-level.
  Most frameworks are high-level.  While this can be very powerful, it
  can also be frustrating.

  As an example, look at the concept of Auth -- the pyramid auth system
  is ( unless there are new magical docs out there ) very much
  positioned at doing some fine-grained authentication ( users, groups,
  actions) based on each 'view'.  Most other frameworks use advanced
  plugins for this sort of functionality... and have much simpler
  plugins to handle authentication for each handler / controller / etc
  as a package.  ie: for the majority of web applications, the state of
  being logged in is the only requirement for access to every method
  of a class/package, and having to (re)declare auth policies per method
  becomes daunting.

  I mentioned unless there are new magical docs, because I think 99%
  of the problems with pyramid right now are the docs.  They're hard to
  sift through (rather dense) and easy to miss things in.  Meanwhile,
  docs for projects like Django and Rails are really light and breezy...
  and link to the more-in-depth specialized docs and api docs.



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



Re: Some thoughts about Pyramid

2011-03-04 Thread Christoph Zwerschke

Am 04.03.2011 09:11 schrieb mjmein:

In my mind we still need something that works on Django level, with
more constraints imposed, but I am expecting that the new version of
TurboGears based on Pyramid would address that.


That's also my understanding.

Our experience with the TG project is also that users really dislike if 
you force them to make choices. For instance, when TG2 was still young, 
it was difficult to choose between the more mature TG1 or the upcoming 
TG2. And then you also had the choice between SQLObject and SQLAlchemy, 
between Kid and Genshi, etc. The choice between traversal and dispatch 
presents a similar difficulty to new Pyramid users. Newbies hate such 
choices because when they start using a framework, they don't have 
enough experience to make an educated decision and they fear that they 
will waste a lot of time if they make the wrong choice in the beginning.


That's why I think it's a good idea to build an opinionated framework 
on top of Pyramid where those choices have been made for you that will 
work best in the majority of cases.


Regarding documentation, Donald Knuth's technique of simplifying things 
in the first chapters and mentioning the exceptions and alternatives 
only later may be helfpful for newbies:


(From the TeXbook: Another noteworthy characteristic of this manual is 
that it doesn't always tell the truth ... The author feels that this 
technique of deliberate lying will actually make it easier for you to 
learn the ideas. Once you understand the simple but false rule, it will 
not be hard to supplement that rule with its exceptions.)


-- Christoph

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Andrey Petrov
Re: Excessive dependencies.

Right now when you 'pip install pyramid' on a fresh environment, you get 18 
packages installed:

Chameleon, Mako, MarkupSafe, Paste, PasteDeploy, PasteScript, WebOb, 
pyramid, repoze.lru, translationstring, venusian, zope.component, 
zope.configuration, zope.deprecation, zope.event, zope.i18nmessageid, 
zope.interface, zope.schema

What about this alternative: Instead of installing all the possible 
dependencies in advance, we only install the bare minimum* needed to 
generate a project template and populate the project's setup.py (or 
requirements.txt) with all the necessary additional dependencies depending 
on which template was used or what options were chosen.

Perhaps we could even auto-pip install -r requirements.txt as soon as the 
project template is created.

This would cut down the base pyramid dependencies to just pyramid and 
Paste*, and the consequent project dependencies would be a few shorter than 
the total.

Sounds like there is probably a magnitude of reasons why this is a bad idea, 
but worth bringing up.

[*] Or perhaps instead of the absolute bare minimum, it could be a 
reasonable minimum.

- shazow

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Daniel Holth
Psychologists have done a significant amount of research documenting the
tyranny of choice and famously served samples of exotic jams when choice
is demotivating (
http://www.columbia.edu/~ss957/articles/Choice_is_Demotivating.pdf). At
least for jam, 6 choices is OK, while 30 choices are demotivating. Even the
individuals who were able to choose one of the 30 jams were more likely to
be dissatisfied and unsure whether they had made the right choice.

So if you have less than 10 years experience and think you should re-write a
trivial dependency such as Linux, Python, OpenSSL, M2Crypto, zope.component,
WSGI, Pyramid, (insert favorite 5 templating languages and 6 forms libraries
here), it might not be because those are unsuitable but because you feel
more competent at coding than at making a choice.

Is it possible to teach newcomers how to deal with the tyrannical,
overwhelming level of choice presented by every layer of web application
development in Python?

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Mark Ramm
The tyranny of choice study gets thrown around a lot, but when there
are familiar options it's less of a problem.

And there's the opposite problem, not enough choices also presents
problems.   I can't find the study, but notice all the different kinds
of spaghetti sauce in the isle at the supermarket.   Some people
vastly prefer chunks of vegetables, others are very strongly opposed
to that kind of sauce.   Providing options expanded the market
significantly as folks who had traditionally not liked the product at
all found a variety that fit their tastes.

IMHO, The trick is not removing all choice, or having the maximum
number of options possible -- it's allowing just the right number of
choices in just the right places.

--Mark Ramm

On Fri, Mar 4, 2011 at 10:19 AM, Daniel Holth dho...@gmail.com wrote:
 Psychologists have done a significant amount of research documenting the
 tyranny of choice and famously served samples of exotic jams when choice
 is demotivating
 (http://www.columbia.edu/~ss957/articles/Choice_is_Demotivating.pdf). At
 least for jam, 6 choices is OK, while 30 choices are demotivating. Even the
 individuals who were able to choose one of the 30 jams were more likely to
 be dissatisfied and unsure whether they had made the right choice.

 So if you have less than 10 years experience and think you should re-write a
 trivial dependency such as Linux, Python, OpenSSL, M2Crypto, zope.component,
 WSGI, Pyramid, (insert favorite 5 templating languages and 6 forms libraries
 here), it might not be because those are unsuitable but because you feel
 more competent at coding than at making a choice.

 Is it possible to teach newcomers how to deal with the tyrannical,
 overwhelming level of choice presented by every layer of web application
 development in Python?

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




-- 
Mark Ramm-Christensen
email: mark at compoundthinking dot com
blog: www.compoundthinking.com/blog

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Carlos de la Guardia
Guys,

I'll be at PyCon and would like to sprint on this. Maybe a tutorial
with code. Anyone?

Carlos de la Guardia

On Thu, Mar 3, 2011 at 6:08 PM, Chris McDonough chr...@plope.com wrote:
 On Thu, 2011-03-03 at 17:57 -0600, Joe Dallago wrote:
 So the thing we can carry away from this discussion is that we should
 improve Pyramid's new user experience, with tutorials and perhaps
 some defaults for basic functionality.

 We hold these truths to be self evident...

 - C



 On Thu, Mar 3, 2011 at 4:27 PM, Mike Orr sluggos...@gmail.com wrote:
  On Thu, Mar 3, 2011 at 10:22 AM, danjac...@gmail.com
  danjac...@gmail.com wrote:
  I'm not sure the OP is trolling, it comes across as frustration.
 
  It's absolutely a legitimate point, and it's what I've been concerned
  about for the past several months.  It's why I'm writing the Pyramid
  Migration Guide and Akhet (the successor to pyramid_sqla) -- both to
  be released hopefully by PyCon.
 
  Stephan comes from a new user's perspective with a Django background.
  As such, there will be more users like this, and if we can give them
  specific documentation and examples addressing their concerns, it will
  help the works-out-of-the-box issue. If we want to attract new
  users, we must do this. That doesn't mean the Pyramid core developers
  have to do all the work. It's a great opportunity for add-on products
  made by others with more time on their hands.
 
  The Pyramid manual is essentially a reference guide, so it documents
  all the alternatives in detail. That's necessary, but it's not the
  same as a tutorial. And people have such different backgrounds that
  several focused tutorials would be better than one. I'm writing a
  migration guide for Pylons users.
 
  Stephan's post makes me think a migration guide for Django users would
  be helpful. I don't know enough about Django to write this myself.
  Obviously we can't write guides for every single framework, but
  Pylons covers a variety of WSGI developers who know something about
  Pylons, and Django covers another large set that's unique enough to
  require its own guide. Zope/BFG people seem to find the Pyramid manual
  sufficient, so that's covered.
 
  The answers to Stephan's concerns fall into roughly three categories:
  - Intentional design decisions; i.e., goals for Pyramid.
  - Tradeoffs we had to make given those decisions.
  - The historical legacy of BFG, and the desire not to break backward
  compatibility.
 
  Pyramid's design is heavily shaped by things that Pylons/TurboGears
  didn't have and their developers wanted. BFG did have these so we took
  them, and along came everything else BFG had. Things that Pylons
  specifically wanted were: events, a complete reference manual,
  eliminating the magic globals [1], better unit testing (which
  views-returning-a-dict provides), interfaces, a larger developer-base,
  and maybe other things I'm forgetting. Traversal, ZODB, and built-in
  auth that's simpler than repoze.who/what were minor desires that
  essentially came for free.
 
  [1] Pyramid threadlocals are similar to Pylons magic globals, but the
  rest of the framework has been designed not to require them (the
  threadlocals).
 
  The BFG developers make a compelling case that traversal and
  interfaces are useful, especially for certain kinds of applications.
  That having these available is a good thing, even for those who don't
  use them, because it provides a migration path to use them later if
  they become important someday.
 
  Traversal is particularly suited to CMS sites where editor-users can
  attach a page to any URL, arbitrarily nested. Routes doesn't do this;
  Routes depends on path variables being in fixed URL positions.
 
  Interfaces I only understand superficially, but I have a gut feeling
  they will be more widely used as more people get comfortable with
  them. Previously interfaces were available only in Zope and BFG. Zope
  is a very specialized environment, BFG somewhat less so, but Pyramid
  makes interfaces accessible to the masses (i.e., general Python-web
  developers).
 
  Pyramid and WebHelpers have borrowed some features from Django, but
  certain aspects of Django are decidedly non-features in
  Pyramid/Pylons/TurboGears, and have been for five years. The Pylons
  Project believes in using third-party packages whenever feasable, and
  in spinning off packages that can be used outside the frameworks. Of
  course there are disadvantages to this as well as advantages. If a
  third-party library becomes unmaintained or has version skew (i.e.,
  its latest version has incompatible changes), it adversely affects the
  framework until we reconcile the two or switch to another library.
  Likewise, sometimes the framework needs to switch to a better library,
  and users have to adjust their applications.  But overall we're glad
  that users and framework developers can switch libraries as they see
  fit, and that we can use the latest gee-whiz library as soon 

Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
On Thu, 2011-03-03 at 19:09 -0600, Carlos de la Guardia wrote:
 Guys,
 
 I'll be at PyCon and would like to sprint on this. Maybe a tutorial
 with code. Anyone?

I'd be up for that, although I'm also slated to help port WebOb to Py3k.

 
 Carlos de la Guardia
 
 On Thu, Mar 3, 2011 at 6:08 PM, Chris McDonough chr...@plope.com wrote:
  On Thu, 2011-03-03 at 17:57 -0600, Joe Dallago wrote:
  So the thing we can carry away from this discussion is that we should
  improve Pyramid's new user experience, with tutorials and perhaps
  some defaults for basic functionality.
 
  We hold these truths to be self evident...
 
  - C
 
 
 
  On Thu, Mar 3, 2011 at 4:27 PM, Mike Orr sluggos...@gmail.com wrote:
   On Thu, Mar 3, 2011 at 10:22 AM, danjac...@gmail.com
   danjac...@gmail.com wrote:
   I'm not sure the OP is trolling, it comes across as frustration.
  
   It's absolutely a legitimate point, and it's what I've been concerned
   about for the past several months.  It's why I'm writing the Pyramid
   Migration Guide and Akhet (the successor to pyramid_sqla) -- both to
   be released hopefully by PyCon.
  
   Stephan comes from a new user's perspective with a Django background.
   As such, there will be more users like this, and if we can give them
   specific documentation and examples addressing their concerns, it will
   help the works-out-of-the-box issue. If we want to attract new
   users, we must do this. That doesn't mean the Pyramid core developers
   have to do all the work. It's a great opportunity for add-on products
   made by others with more time on their hands.
  
   The Pyramid manual is essentially a reference guide, so it documents
   all the alternatives in detail. That's necessary, but it's not the
   same as a tutorial. And people have such different backgrounds that
   several focused tutorials would be better than one. I'm writing a
   migration guide for Pylons users.
  
   Stephan's post makes me think a migration guide for Django users would
   be helpful. I don't know enough about Django to write this myself.
   Obviously we can't write guides for every single framework, but
   Pylons covers a variety of WSGI developers who know something about
   Pylons, and Django covers another large set that's unique enough to
   require its own guide. Zope/BFG people seem to find the Pyramid manual
   sufficient, so that's covered.
  
   The answers to Stephan's concerns fall into roughly three categories:
   - Intentional design decisions; i.e., goals for Pyramid.
   - Tradeoffs we had to make given those decisions.
   - The historical legacy of BFG, and the desire not to break backward
   compatibility.
  
   Pyramid's design is heavily shaped by things that Pylons/TurboGears
   didn't have and their developers wanted. BFG did have these so we took
   them, and along came everything else BFG had. Things that Pylons
   specifically wanted were: events, a complete reference manual,
   eliminating the magic globals [1], better unit testing (which
   views-returning-a-dict provides), interfaces, a larger developer-base,
   and maybe other things I'm forgetting. Traversal, ZODB, and built-in
   auth that's simpler than repoze.who/what were minor desires that
   essentially came for free.
  
   [1] Pyramid threadlocals are similar to Pylons magic globals, but the
   rest of the framework has been designed not to require them (the
   threadlocals).
  
   The BFG developers make a compelling case that traversal and
   interfaces are useful, especially for certain kinds of applications.
   That having these available is a good thing, even for those who don't
   use them, because it provides a migration path to use them later if
   they become important someday.
  
   Traversal is particularly suited to CMS sites where editor-users can
   attach a page to any URL, arbitrarily nested. Routes doesn't do this;
   Routes depends on path variables being in fixed URL positions.
  
   Interfaces I only understand superficially, but I have a gut feeling
   they will be more widely used as more people get comfortable with
   them. Previously interfaces were available only in Zope and BFG. Zope
   is a very specialized environment, BFG somewhat less so, but Pyramid
   makes interfaces accessible to the masses (i.e., general Python-web
   developers).
  
   Pyramid and WebHelpers have borrowed some features from Django, but
   certain aspects of Django are decidedly non-features in
   Pyramid/Pylons/TurboGears, and have been for five years. The Pylons
   Project believes in using third-party packages whenever feasable, and
   in spinning off packages that can be used outside the frameworks. Of
   course there are disadvantages to this as well as advantages. If a
   third-party library becomes unmaintained or has version skew (i.e.,
   its latest version has incompatible changes), it adversely affects the
   framework until we reconcile the two or switch to another library.
   Likewise, sometimes the framework needs 

Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
For the record, Bottle takes this tact.  It's full feature set actually
depends on many, many packages (many more than Pyramid does).  But it
ships as a single file with no dependencies.

I'm not a huge fan of this.  Maybe it's a successful marketing gimmick
but it doesn't actually reduce any complexity.

- C


On Fri, 2011-03-04 at 08:52 -0800, Thomas G. Willis wrote:
 that's not a bad idea. I'm using pyramid on app engine, and don't need
 chameleon, but if I don't push chameleon up to the cloud the app fails
 to load last time I tried it. 
 
 
 of course defining the bare minimum would probably be a challenge. :)
 
 -- 
 You received this message because you are subscribed to the Google
 Groups pylons-devel group.
 To post to this group, send email to pylons-devel@googlegroups.com.
 To unsubscribe from this group, send email to pylons-devel
 +unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/pylons-devel?hl=en.


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



Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
On Fri, 2011-03-04 at 04:43 -0800, Andrey Petrov wrote:
 Re: Excessive dependencies.
 
 
 Right now when you 'pip install pyramid' on a fresh environment, you
 get 18 packages installed:
 
 
 Chameleon, Mako, MarkupSafe, Paste, PasteDeploy, PasteScript, WebOb,
 pyramid, repoze.lru, translationstring, venusian, zope.component,
 zope.configuration, zope.deprecation, zope.event, zope.i18nmessageid,
 zope.interface, zope.schema

Pyramid depends on 12 distributions directly, the other 7 are transitive
dependencies (you missed setuptools above).

The dependency graph looks like this:

Pyramid
   |
   |--- setuptools
   |
   |--- Chameleon
   |
   |--- Mako
   |  |
   |  -- MarkupSafe
   |
   |--- PasteScript
   ||
   || Paste
   |
   |--- PasteDeploy
   ||
   || Paste
   |
   |--- WebOb
   |
   |--- repoze.lru
   |
   |--- translationstring
   |
   |--- venusian
   |
   | zope.component
   |   |
   |   | zope.interface
   |   |
   |   -- zope.i18nmessageid
   |
   | zope.configuration
   |   |
   |   | zope.interface
   |   |
   |   | zope.schema
   |   |
   |   | zope.i18nmessageid
   |   
   |
   |
   | zope.configuration
   |   |
   |   |--- zope.schema
   |
   |
   | zope.deprecation
   |
   | zope.interface


Of these, the only ones to very easily *not* install would be Mako,
Chameleon, PasteScript, Paste, and PasteDeploy.  The others are core
dependencies that really can't very easily be externalized.

Doing that would take us down to 13 dependencies.  We could indeed make
pyramid_chameleon and pyramid_mako and pyramid_paste packages to
restore the functionality for users of those dependencies.

Would that actually service any particular goal?  Would having fewer
rails in the core actually make anybody happier?

- C


 What about this alternative: Instead of installing all the possible
 dependencies in advance, we only install the bare minimum* needed to
 generate a project template and populate the project's setup.py (or
 requirements.txt) with all the necessary additional dependencies
 depending on which template was used or what options were chosen.
 
 
 Perhaps we could even auto-pip install -r requirements.txt as soon as
 the project template is created.
 
 
 This would cut down the base pyramid dependencies to just pyramid and
 Paste*, and the consequent project dependencies would be a few shorter
 than the total.
 
 
 Sounds like there is probably a magnitude of reasons why this is a bad
 idea, but worth bringing up.
 
 
 [*] Or perhaps instead of the absolute bare minimum, it could be a
 reasonable minimum.
 
 
 - shazow
 
 -- 
 You received this message because you are subscribed to the Google
 Groups pylons-devel group.
 To post to this group, send email to pylons-devel@googlegroups.com.
 To unsubscribe from this group, send email to pylons-devel
 +unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/pylons-devel?hl=en.


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



Re: Some thoughts about Pyramid

2011-03-04 Thread Reed L O'Brien
On Mar 4, 2011, at 12:39 PM, Chris McDonough wrote:

 On Fri, 2011-03-04 at 04:43 -0800, Andrey Petrov wrote:
 Re: Excessive dependencies.
 
 
 Of these, the only ones to very easily *not* install would be Mako,
 Chameleon, PasteScript, Paste, and PasteDeploy.  The others are core
 dependencies that really can't very easily be externalized.
 
 Doing that would take us down to 13 dependencies.  We could indeed make
 pyramid_chameleon and pyramid_mako and pyramid_paste packages to
 restore the functionality for users of those dependencies.
 
 Would that actually service any particular goal?  

no

 Would having fewer rails in the core actually make anybody happier?

no

Sincerely,
anybody

 
 - C

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Nathan Van Gheem
Sorry to jump in here at the end, but just wanted to put a word in.

The extra dependencies are due to the fact that pyramid integrates a lot of
other very good packages. This IS a GOOD thing, not bad. It makes pyramid
better and those other packages better because there are more stakeholders
in those packages.

Think about all the neat features Django has and how no other web framework
is able to reuse it. It's a shame it's like this, not a sign of a well
designed framework(don't get me wrong, I think Django is VERY good).

Now I know there isn't a lot of reusable bits that Pyramid uses, really only
Chameleon, Webob, Mako and Paste, but it's not a full-stack framework like
Django is. I assume TurboGears, once integrated with Pyramid, will integrate
a lot of the other web-framwork related packages(ie forms, web helpers, ORM,
etc).

IMO, entertaining this notion is a waste of time. I enjoy all the decoupled
packages the repoze/pyramid project creates--it's a sign of some really
great development. Pyramid is taking a different route than other frameworks
do, maybe better(it's all opinions..).

I do feel for beginners who don't know what to do about authentication and
authorization--I know I at first got hung up on that. I think pyramid could
ship with a sane authtkt, acl, basic auth, htpasswd enabled setup so
beginners starting don't have to think about it. Even though, providing your
own authentication integration is trivial really and almost always depends
on your database selection and authorization requirements Or maybe just
include something basic in all the templates...


-Nathan

On Fri, Mar 4, 2011 at 11:55 AM, Reed L O'Brien reedobr...@gmail.comwrote:

 On Mar 4, 2011, at 12:39 PM, Chris McDonough wrote:

  On Fri, 2011-03-04 at 04:43 -0800, Andrey Petrov wrote:
  Re: Excessive dependencies.
 
 
  Of these, the only ones to very easily *not* install would be Mako,
  Chameleon, PasteScript, Paste, and PasteDeploy.  The others are core
  dependencies that really can't very easily be externalized.
 
  Doing that would take us down to 13 dependencies.  We could indeed make
  pyramid_chameleon and pyramid_mako and pyramid_paste packages to
  restore the functionality for users of those dependencies.
 
  Would that actually service any particular goal?

 no

  Would having fewer rails in the core actually make anybody happier?

 no

 Sincerely,
 anybody

 
  - C

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



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



Re: Some thoughts about Pyramid

2011-03-04 Thread Mike Orr
On Fri, Mar 4, 2011 at 12:11 AM, Chris McDonough chr...@plope.com wrote:
 So we should reorganize by moving chapters of the documentation around?

Maybe if we just rename the Pyramid manual to the Pyramid Reference
Manual it will set readers' expectations appropriately. I'm not sure
if there's anything that needs to change in the manual.

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

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Mike Orr
On Fri, Mar 4, 2011 at 9:39 AM, Chris McDonough chr...@plope.com wrote:
 Of these, the only ones to very easily *not* install would be Mako,
 Chameleon, PasteScript, Paste, and PasteDeploy.  The others are core
 dependencies that really can't very easily be externalized.

 Doing that would take us down to 13 dependencies.  We could indeed make
 pyramid_chameleon and pyramid_mako and pyramid_paste packages to
 restore the functionality for users of those dependencies.

 Would that actually service any particular goal?  Would having fewer
 rails in the core actually make anybody happier?

I was -1 on splitting them but as I thought about it more I'm +0.
There's a benefit in distinguishing more between what Pyramid itself
needs and what the application templates need. If somebody is never
going to use Chameleon or Mako, or they detest PasteDeploy, why
install them? Especially if it causes problems in space-constrained
deployments. The user can't nullify a dependency without changing
other packages' setup.py files, and excluding packages manually that
then get re-added whenever somebody runs python setup.py install
because they think it will just bring the app up to date seems wrong.

If we do split them off, we should probably add a paragraph to the
templates' documentation saying this template uses X which provides
X, or all templates distributed with Pyramid depend on X which
provides X. That will keep people fully informed about what decisions
the templates are making for them, and what leeway they have to choose
alternatives.

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

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Daniel Holth
My wishlist for the manual:

1. searching for request.response_headers should pull up
request.response_headerlist
2. glossary for 'Configurator' etc. should link to function signatures

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Blaise Laflamme
I'm up too

On Mar 3, 8:09 pm, Carlos de la Guardia carlos.delaguar...@gmail.com
wrote:
 Guys,

 I'll be at PyCon and would like to sprint on this. Maybe a tutorial
 with code. Anyone?

 Carlos de la Guardia



 On Thu, Mar 3, 2011 at 6:08 PM, Chris McDonough chr...@plope.com wrote:
  On Thu, 2011-03-03 at 17:57 -0600, Joe Dallago wrote:
  So the thing we can carry away from this discussion is that we should
  improve Pyramid's new user experience, with tutorials and perhaps
  some defaults for basic functionality.

  We hold these truths to be self evident...

  - C

  On Thu, Mar 3, 2011 at 4:27 PM, Mike Orr sluggos...@gmail.com wrote:
   On Thu, Mar 3, 2011 at 10:22 AM, danjac...@gmail.com
   danjac...@gmail.com wrote:
   I'm not sure the OP is trolling, it comes across as frustration.

   It's absolutely a legitimate point, and it's what I've been concerned
   about for the past several months.  It's why I'm writing the Pyramid
   Migration Guide and Akhet (the successor to pyramid_sqla) -- both to
   be released hopefully by PyCon.

   Stephan comes from a new user's perspective with a Django background.
   As such, there will be more users like this, and if we can give them
   specific documentation and examples addressing their concerns, it will
   help the works-out-of-the-box issue. If we want to attract new
   users, we must do this. That doesn't mean the Pyramid core developers
   have to do all the work. It's a great opportunity for add-on products
   made by others with more time on their hands.

   The Pyramid manual is essentially a reference guide, so it documents
   all the alternatives in detail. That's necessary, but it's not the
   same as a tutorial. And people have such different backgrounds that
   several focused tutorials would be better than one. I'm writing a
   migration guide for Pylons users.

   Stephan's post makes me think a migration guide for Django users would
   be helpful. I don't know enough about Django to write this myself.
   Obviously we can't write guides for every single framework, but
   Pylons covers a variety of WSGI developers who know something about
   Pylons, and Django covers another large set that's unique enough to
   require its own guide. Zope/BFG people seem to find the Pyramid manual
   sufficient, so that's covered.

   The answers to Stephan's concerns fall into roughly three categories:
   - Intentional design decisions; i.e., goals for Pyramid.
   - Tradeoffs we had to make given those decisions.
   - The historical legacy of BFG, and the desire not to break backward
   compatibility.

   Pyramid's design is heavily shaped by things that Pylons/TurboGears
   didn't have and their developers wanted. BFG did have these so we took
   them, and along came everything else BFG had. Things that Pylons
   specifically wanted were: events, a complete reference manual,
   eliminating the magic globals [1], better unit testing (which
   views-returning-a-dict provides), interfaces, a larger developer-base,
   and maybe other things I'm forgetting. Traversal, ZODB, and built-in
   auth that's simpler than repoze.who/what were minor desires that
   essentially came for free.

   [1] Pyramid threadlocals are similar to Pylons magic globals, but the
   rest of the framework has been designed not to require them (the
   threadlocals).

   The BFG developers make a compelling case that traversal and
   interfaces are useful, especially for certain kinds of applications.
   That having these available is a good thing, even for those who don't
   use them, because it provides a migration path to use them later if
   they become important someday.

   Traversal is particularly suited to CMS sites where editor-users can
   attach a page to any URL, arbitrarily nested. Routes doesn't do this;
   Routes depends on path variables being in fixed URL positions.

   Interfaces I only understand superficially, but I have a gut feeling
   they will be more widely used as more people get comfortable with
   them. Previously interfaces were available only in Zope and BFG. Zope
   is a very specialized environment, BFG somewhat less so, but Pyramid
   makes interfaces accessible to the masses (i.e., general Python-web
   developers).

   Pyramid and WebHelpers have borrowed some features from Django, but
   certain aspects of Django are decidedly non-features in
   Pyramid/Pylons/TurboGears, and have been for five years. The Pylons
   Project believes in using third-party packages whenever feasable, and
   in spinning off packages that can be used outside the frameworks. Of
   course there are disadvantages to this as well as advantages. If a
   third-party library becomes unmaintained or has version skew (i.e.,
   its latest version has incompatible changes), it adversely affects the
   framework until we reconcile the two or switch to another library.
   Likewise, sometimes the framework needs to switch to a better library,
   and users have to adjust their applications.  

Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
Could you put this in the Pyramid issue tracker?

On Fri, 2011-03-04 at 14:28 -0500, Daniel Holth wrote:
 My wishlist for the manual:
 
 1. searching for request.response_headers should pull up
 request.response_headerlist
 2. glossary for 'Configurator' etc. should link to function signatures
 
 
 -- 
 You received this message because you are subscribed to the Google
 Groups pylons-devel group.
 To post to this group, send email to pylons-devel@googlegroups.com.
 To unsubscribe from this group, send email to pylons-devel
 +unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/pylons-devel?hl=en.


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



Re: Some thoughts about Pyramid

2011-03-04 Thread Mike Orr
On Thu, Mar 3, 2011 at 11:42 PM, Peter Alexis palexis2...@gmail.com wrote:
I mentioned unless there are new magical docs, because I think 99%
 of the problems with pyramid right now are the docs.  They're hard to
 sift through (rather dense) and easy to miss things in.  Meanwhile,
 docs for projects like Django and Rails are really light and breezy...
 and link to the more-in-depth specialized docs and api docs.

 I feel more or less same, 'coz I was finding much difficulty in
 understanding the framwork from the document. Escpecially, the
 registration, configuration, the Z* things etc...
 The framework is so powerful, but lack of clean medium to get into it
 causing people to take U turn. It would be much better if we can re-
 arrange/modify the documents in a way to take out Z* things, traversal
 and all complex topics to 'Advance' section seperately.

This is where Pyramid's multiple goals come into play. The BFG-ish
users say that Traversal was immediately understandable to them and
they could apply it right away, while they find URL Dispatch
cumbersome.

ZCML configuration was moved to the back of the manual for exactly the
reason you describe, because it was a stumbling block for the large
number of Pylons users who were about to come, and the BFG users knew
where to find it in the back of the manual. I'd support moving
Traversal to the back except I think there'd be more resistance to
doing that than there was for ZCML. Traversal is central to an
application if you're using it, whereas ZCML is just zis
configuration format, y'know. [voice of Zaphod Beeblebrox's
psychiatrist]

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

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
On Fri, 2011-03-04 at 12:00 -0800, Mike Orr wrote:
 On Thu, Mar 3, 2011 at 11:42 PM, Peter Alexis palexis2...@gmail.com wrote:
 I mentioned unless there are new magical docs, because I think 99%
  of the problems with pyramid right now are the docs.  They're hard to
  sift through (rather dense) and easy to miss things in.  Meanwhile,
  docs for projects like Django and Rails are really light and breezy...
  and link to the more-in-depth specialized docs and api docs.
 
  I feel more or less same, 'coz I was finding much difficulty in
  understanding the framwork from the document. Escpecially, the
  registration, configuration, the Z* things etc...
  The framework is so powerful, but lack of clean medium to get into it
  causing people to take U turn. It would be much better if we can re-
  arrange/modify the documents in a way to take out Z* things, traversal
  and all complex topics to 'Advance' section seperately.
 
 This is where Pyramid's multiple goals come into play. The BFG-ish
 users say that Traversal was immediately understandable to them and
 they could apply it right away, while they find URL Dispatch
 cumbersome.
 
 ZCML configuration was moved to the back of the manual for exactly the
 reason you describe, because it was a stumbling block for the large
 number of Pylons users who were about to come, and the BFG users knew
 where to find it in the back of the manual. I'd support moving
 Traversal to the back except I think there'd be more resistance to
 doing that than there was for ZCML. Traversal is central to an
 application if you're using it, whereas ZCML is just zis
 configuration format, y'know. [voice of Zaphod Beeblebrox's
 psychiatrist]

There is no ZCML in the Pyramid docs anymore.  It was all moved to the
pyramid_zcml package docs, and in order to use ZCML, you must install
that package.

- C



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



Re: Some thoughts about Pyramid

2011-03-04 Thread Mike Orr
I'll be at the Pyramid sprint but I don't know what I'll be doing.

I would like to learn Git and Pyramid-at-Github if somebody would like
to do a mini crash course.

On Fri, Mar 4, 2011 at 11:38 AM, Blaise Laflamme bla...@laflamme.org wrote:
 I'm up too

 On Mar 3, 8:09 pm, Carlos de la Guardia carlos.delaguar...@gmail.com
 wrote:
 Guys,

 I'll be at PyCon and would like to sprint on this. Maybe a tutorial
 with code. Anyone?
-- 
Mike Orr sluggos...@gmail.com

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Mike Orr
On Fri, Mar 4, 2011 at 12:03 PM, Blake Hyde syr...@gmail.com wrote:
 On Fri, Mar 4, 2011 at 2:50 PM, Mike Orr sluggos...@gmail.com wrote:
 I have a friend who is a marketer and supports the Pylons Project, but
 he's kind of gotten burned out on Python as a whole for various
 reasons so he can't quite be a full marketing advisor. Is there anyone
 else with marketing-type experience who would like to stand up?


 I'm generally a lurker, and am currently overwhelmed with other
 projects, but I do have some suggestions in this area and would be
 glad to help contribute to marketing efforts as time allows.

Will you be at PyCon?

There will undoubtedly be Pyramid/WSGI related Open Spaces every day
at the conference; or at least there have been the past two years. So
for those who can't attend the sprints, please stop by an open space
and say hi.

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

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Blake Hyde
On Fri, Mar 4, 2011 at 3:25 PM, Mike Orr sluggos...@gmail.com wrote:
 On Fri, Mar 4, 2011 at 12:03 PM, Blake Hyde syr...@gmail.com wrote:
 On Fri, Mar 4, 2011 at 2:50 PM, Mike Orr sluggos...@gmail.com wrote:
 I have a friend who is a marketer and supports the Pylons Project, but
 he's kind of gotten burned out on Python as a whole for various
 reasons so he can't quite be a full marketing advisor. Is there anyone
 else with marketing-type experience who would like to stand up?


 I'm generally a lurker, and am currently overwhelmed with other
 projects, but I do have some suggestions in this area and would be
 glad to help contribute to marketing efforts as time allows.

 Will you be at PyCon?

 There will undoubtedly be Pyramid/WSGI related Open Spaces every day
 at the conference; or at least there have been the past two years. So
 for those who can't attend the sprints, please stop by an open space
 and say hi.

Unfortunately, no, I didn't register for PyCon (although I am within
driving distance).

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Blaise Laflamme
Well... same for me, I got a lot of clients work to complete and I've
done my best trying to put everything in place to have something
cohesive. I also got help from multiple people for different tasks and
I'm grateful for every contribution.

That said we definitely need to communicate the right message, provide
the right level of documentation for the targeted audience, have a
better way to expose tools and contributions, etc...

I think we should add the website as a sprint project too, could be
combined with the tutorial?

Blaise

On Mar 4, 2:50 pm, Mike Orr sluggos...@gmail.com wrote:

 Pylons never did marketing well for two reasons. One, the core
 developers aren't talented marketers. Two, we were busy finishing
 Pylons 1, and then we immediately  finished Pyramid 1 back-to-back.
 That didn't leave much extra time for marketing or for focusing on the
 website. Now that Pyramid 1 is finished, we can take a step back and
 look at some areas we've neglected; e.g., marketing and tutorials. I
 say we, although in reality Ben is busy with his clients' sites, I'm
 plowing through three Pyramid add-ons, and for all I know Chris is
 working on his own clients' sites, and who knows what others are
 doing. Still, it's worth discussing how the Pylons Project as a whole
 can improve on marketing, documentation, and handholding (new users
 through the process of building their first site).

 I have a friend who is a marketer and supports the Pylons Project, but
 he's kind of gotten burned out on Python as a whole for various
 reasons so he can't quite be a full marketing advisor. Is there anyone
 else with marketing-type experience who would like to stand up?

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

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Rob Miller

On 3/4/11 12:03 PM, Mike Orr wrote:

I'll be at the Pyramid sprint but I don't know what I'll be doing.

I would like to learn Git and Pyramid-at-Github if somebody would like
to do a mini crash course.


I'm no git guru, but I've been using it pretty heavily for the last 6 
months and would be happy to give a tour of the basics to anyone who's 
interested.  I'll be in ATL for all 3 days of the conference and the 
first 2 days of the sprint.


-r

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Rocky Burt
I would be +1 on splitting this up to pyramid_chameleon and pyramid_mako. 
 But that's almost certainly because I have no use for either of those 
templating languages and for my specific work they sort of feel like 
bloating pyramid core.

That being said, their presence doesn't cause any real problems for me... 
the only place where this could be detrimental that I could see is someone 
deploying on something like Google App Engine.

- Rocky


On Friday, March 4, 2011 2:09:30 PM UTC-3:30, Chris McDonough wrote:

 Of these, the only ones to very easily *not* install would be Mako,
 Chameleon, PasteScript, Paste, and PasteDeploy.  The others are core
 dependencies that really can't very easily be externalized.

 Doing that would take us down to 13 dependencies.  We could indeed make
 pyramid_chameleon and pyramid_mako and pyramid_paste packages to
 restore the functionality for users of those dependencies.

 Would that actually service any particular goal?  Would having fewer
 rails in the core actually make anybody happier?



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



Re: Some thoughts about Pyramid

2011-03-04 Thread Reed L O'Brien
On Mar 4, 2011, at 3:42 PM, Blaise Laflamme wrote:

 That said we definitely need to communicate the right message, provide
 the right level of documentation for the targeted audience, have a
 better way to expose tools and contributions, etc...


Who is the targeted audience? Currently it seems to be everyone with a 
complaint. I was very happy with repoze.bfg as it shipped and am very happy 
with pyramid as it currently ships. It was only a minor nuisance to add 
pyramid_zcml as a dependency to the projects I had using it. I subsequently 
stopped using it, so I don't have to manage another dependency; it is just 
spelling...

I used to know the docs in and out pretty well. Now I no longer do, because 
things keep moving every time someone complains. Mostly I can find what I am 
looking for by searching, but not if it moves out of the core docs... If the 
same thing starts happening with pyramid's code/packages and it becomes a game 
of thimblerig I will be very disappointed. I suspect there is a silent majority 
out there that feels similarly. That is just a suspicion, however.

There currently seem to be to disjoint desires: 

 - make pyramid more opinionated with less ways to do things
 - make pyramid smaller and remove all dependencies

I think that pyramid and bfg before it were clearly not trying to be either the 
kitchen sink or the micro-est of frameworks. I think it has also been well 
documented that higher level frameworks should be built on pyramid rather than 
into it.

As for a smaller pyramid, for those embedded webapps... perhaps we should apply 
the same approach. Keep pyramid shipping with its current features and create a 
smaller core (say Prism) for it to depend on. Prism might not have any 
templating, paste or other undesirable and offensive packages, but could be 
used by people who need to conserve space. I wouldn't likely ever use it as I 
would want the things that currently ship with pyramid and am not worried about 
mako taking up 1MB of space unused.

WRT the docs, perhaps we don't need to change (or rearrange) perfectly good 
reference materials every day. If we need introductory docs why not a second 
Intro to Pyramid doc? If we just want recipes to do basic things without too 
many options, could we appeal to people (particularly people frustrated with a 
recent experience) to add how-tos to the cookbook? Isn't that what it is for?


The roof on this bike shed should definitely be tin.
Cheers,
~ro

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



Re: Some thoughts about Pyramid

2011-03-04 Thread Chris McDonough
On Fri, 2011-03-04 at 16:38 -0500, Reed L O'Brien wrote:
 On Mar 4, 2011, at 3:42 PM, Blaise Laflamme wrote:
 
  That said we definitely need to communicate the right message, provide
  the right level of documentation for the targeted audience, have a
  better way to expose tools and contributions, etc...
 
 
 Who is the targeted audience? Currently it seems to be everyone with a 
 complaint. I was very happy with repoze.bfg as it shipped and am very happy 
 with pyramid as it currently ships. It was only a minor nuisance to add 
 pyramid_zcml as a dependency to the projects I had using it. I subsequently 
 stopped using it, so I don't have to manage another dependency; it is just 
 spelling...
 
 I used to know the docs in and out pretty well. Now I no longer do, because 
 things keep moving every time someone complains. Mostly I can find what I am 
 looking for by searching, but not if it moves out of the core docs... If the 
 same thing starts happening with pyramid's code/packages and it becomes a 
 game of thimblerig I will be very disappointed. I suspect there is a silent 
 majority out there that feels similarly. That is just a suspicion, however.
 
 There currently seem to be to disjoint desires: 
 
  - make pyramid more opinionated with less ways to do things
  - make pyramid smaller and remove all dependencies
 
 I think that pyramid and bfg before it were clearly not trying to be either 
 the kitchen sink or the micro-est of frameworks. I think it has also been 
 well documented that higher level frameworks should be built on pyramid 
 rather than into it.
 
 As for a smaller pyramid, for those embedded webapps... perhaps we should 
 apply the same approach. Keep pyramid shipping with its current features and 
 create a smaller core (say Prism) for it to depend on. Prism might not have 
 any templating, paste or other undesirable and offensive packages, but could 
 be used by people who need to conserve space. I wouldn't likely ever use it 
 as I would want the things that currently ship with pyramid and am not 
 worried about mako taking up 1MB of space unused.
 
 WRT the docs, perhaps we don't need to change (or rearrange) perfectly good 
 reference materials every day. If we need introductory docs why not a second 
 Intro to Pyramid doc? If we just want recipes to do basic things without 
 too many options, could we appeal to people (particularly people frustrated 
 with a recent experience) to add how-tos to the cookbook? Isn't that what it 
 is for?
 
 
 The roof on this bike shed should definitely be tin.
 Cheers,
 ~ro
 

I'm not averse to changing things in major releases, but we do need to
recognize that major refactorings have a cost for both producers and
consumers.

All major docs work has historically been done by one person (me, or at
least someone I've hired).  The amount of time it took to write the
software was long ago dwarfed by an order of magnitude the time it takes
to write and maintain docs.  Seemingly insignificant changes (from a
developer perspective) to Pyramid can require hours of docs work if a
feature is newly exposed or one is removed.  I'm not complaining about
this, it's just the way things are. 

On the consumer side, as Reed mentioned, it's very difficult to keep up
when things change quickly.

So, given that the costs are high, if we do make major functionality
changes, I'd like it to be at the boundaries of first-dot major
releases.  For example, I don't think it makes sense to have a Pyramid
1.1 that does not ship with Mako or Chameleon or Paster, but nothing
should be off the table for a 2.X.

- C



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



Re: Some thoughts about Pyramid

2011-03-04 Thread Blaise Laflamme
By that I meant, following a previous post I made, to possibly create
new comer guides, opinionated guides, etc... to fill the missing gap.
I don't think the current docs need to track down those requests, they
are not perfect but they are great.

Another point is complaint about pyramid needing more rails, and at
the same time having less dependencies with a smaller core ;)

We're in the middle :)

On Mar 4, 4:38 pm, Reed L O'Brien reedobr...@gmail.com wrote:

 Who is the targeted audience? Currently it seems to be everyone with a 
 complaint. I was very happy with repoze.bfg as it shipped and am very happy 
 with pyramid as it currently ships. It was only a minor nuisance to add 
 pyramid_zcml as a dependency to the projects I had using it. I subsequently 
 stopped using it, so I don't have to manage another dependency; it is just 
 spelling...


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



Re: Some thoughts about Pyramid

2011-03-04 Thread Thomas G. Willis
Yeah like i said it's not a big deal for me, I would like it, but not doing 
it is obviously not preventing me from using pyramid to do some really cool 
stuff on GAE, and quickly. 


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



Re: Some thoughts about Pyramid

2011-03-03 Thread Chris McDonough
On Thu, 2011-03-03 at 03:54 -0800, Peter Alexis wrote:
 Just happened to see a blog about Pyramid,
 
 http://slacy.com/blog/2011/02/why-im-unhappy-with-the-pyramid-web-framework/

Sounds like (s)he is blowing off a little steam.  All of these points
are addressed in
http://docs.pylonsproject.org/projects/pyramid/1.0/designdefense.html .

- C



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



Re: Some thoughts about Pyramid

2011-03-03 Thread Gael Pasgrimaud
I suggest to rename this thread Some trolls about Pyramid

--
Gael

On Thu, Mar 3, 2011 at 6:54 AM, Peter Alexis palexis2...@gmail.com wrote:
 Just happened to see a blog about Pyramid,

 http://slacy.com/blog/2011/02/why-im-unhappy-with-the-pyramid-web-framework/

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



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



Re: Some thoughts about Pyramid

2011-03-03 Thread Ben Bangert
On Mar 3, 2011, at 9:28 AM, Chris McDonough wrote:

 Sounds like (s)he is blowing off a little steam.  All of these points
 are addressed in
 http://docs.pylonsproject.org/projects/pyramid/1.0/designdefense.html .

Indeed, my comment is awaiting moderation on the blog, I cited that URL as 
well. :)

Cheers,
Ben

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



Re: Some thoughts about Pyramid

2011-03-03 Thread Chris McDonough
On Thu, 2011-03-03 at 09:39 -0800, Stephen Lacy wrote:
 Okay, chiming in here. :)  Yeah, this is my post.  I've been pretty
 quiet here.  
 
 Sorry for the somewhat negative tone, as you can imagine, the post was
 written after spending several hours digging through a very large
 amount of the Pyramid source code trying to figure out the answer to
 what seemed to be a very simple question.  Yes, I could have asked
 here, or on #pylons, and maybe I should have.  But, at the same time,
 I think that read and understand the source is an important aspect
 of a good framework, and that's what I was most frustrated about. 

We've all been there, no worries.

- C



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



Re: Some thoughts about Pyramid

2011-03-03 Thread Joe Dallago
Essentially what I am giving is a real world example of the concept of
encapsulation, which is something that every programmer should value.*

On Thu, Mar 3, 2011 at 12:43 PM, Joe Dallago jd.dall...@gmail.com wrote:
 I just thought that I would chime in and say that the
 dependency-heavy model that Pyramid uses is not a new one.  Look at
 Linux, arguably the largest open source project in existence right
 now, it is hard to find a package that doesn't have 10 dependencies.
 Linux does this b/c it is efficient, and it means that code doesn't
 have to be duplicated.  It is also important to note that it is also
 the model that Python excels at(easy imports, packages and module
 organization is easy, etc.).

 The dependency-heavy model actually makes learning more efficient in
 the long term as well, b/c if one module fails, then you don't have to
 ditch the whole system.  For example(this example is somewhat from my
 experience with the cakephp framework), lets say you reach a point in
 an application where the framework itself is limiting your progress.
 Let's say that you need row-level permissions and the default auth
 helper doesn't do this.  If the entire framework is tied together,
 then you would have to deal with either having to manipulate some of
 the source code(which could possibly be changed in future updates) or
 scrap the whole thing.  With Pyramid, a failure in a specific module
 simply means you ditch that ONE module and sub in another.  It is also
 important to note that if Pyramid itself becomes obsolete in 5-10
 years, as Pylons did, then at least you can carry over your knowledge
 of SQLAlchemy, paster, deform, etc. to the next framework.
 Essentially what I giving a world world example of the concept of
 encapsulation, that is something that every programmer should value.

 On Thu, Mar 3, 2011 at 12:24 PM, Chris McDonough chr...@plope.com wrote:
 On Thu, 2011-03-03 at 09:39 -0800, Stephen Lacy wrote:
 Okay, chiming in here. :)  Yeah, this is my post.  I've been pretty
 quiet here.

 Sorry for the somewhat negative tone, as you can imagine, the post was
 written after spending several hours digging through a very large
 amount of the Pyramid source code trying to figure out the answer to
 what seemed to be a very simple question.  Yes, I could have asked
 here, or on #pylons, and maybe I should have.  But, at the same time,
 I think that read and understand the source is an important aspect
 of a good framework, and that's what I was most frustrated about.

 We've all been there, no worries.

 - C



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




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



Re: Some thoughts about Pyramid

2011-03-03 Thread Stephen Lacy
Yeah, but encapsulation (a well-written API) and dependencies are totally
orthogonal.

One could write a dependency-less framework that provided sensible, minimal,
yet functional components, and *still* provided a really clean API and way
for developers to hook in external implementations.

Lines like Pyramid only depends on 84 lines of repoze make me think:
Okay, just pull in those 84 lines and ditch the dependency.  But, the
story isn't actually that simple, of course.   (because repoze is the
recommended default for tons of other stuff like auth/auth).

I think Pyramid misses the mark providing a functional framework out of the
box.  In particular, the specifics around sessions and auth/auth.   As a
developer, you can't make a real site without good versions of both of
these, and Pyramid only provides options and suggestions, not a solution
here.

I agree that learning outside modules is good practice, and can help you
with other projects, but what most developers want is it works great out of
the box, and I don't get stuck later on.   I think Pyramid has the latter
but not the former.  Pyramid makes me feel shoe-horned into zope/repoze
land.  IUser, ISession, etc.

Pyramid is missing the feel of a Consistent approach to X.  where X pretty
much any existing pluggable feature.  What I'd like to see from a framework
is good, internally consistent implementations of core features, and a nice
clean API to plug alternates in.  I feel like Pyramid is bending to the
whims of outside implementations (zope, repoze, WebOb, etc) and providing
APIs to match those, instead of going down the route of what's the right
thing here.  This development approach is clear from the design defense
document.

Steve s(he) Lacy

On Thu, Mar 3, 2011 at 10:47 AM, Joe Dallago jd.dall...@gmail.com wrote:

 Essentially what I am giving is a real world example of the concept of
 encapsulation, which is something that every programmer should value.*

 On Thu, Mar 3, 2011 at 12:43 PM, Joe Dallago jd.dall...@gmail.com wrote:
  I just thought that I would chime in and say that the
  dependency-heavy model that Pyramid uses is not a new one.  Look at
  Linux, arguably the largest open source project in existence right
  now, it is hard to find a package that doesn't have 10 dependencies.
  Linux does this b/c it is efficient, and it means that code doesn't
  have to be duplicated.  It is also important to note that it is also
  the model that Python excels at(easy imports, packages and module
  organization is easy, etc.).
 
  The dependency-heavy model actually makes learning more efficient in
  the long term as well, b/c if one module fails, then you don't have to
  ditch the whole system.  For example(this example is somewhat from my
  experience with the cakephp framework), lets say you reach a point in
  an application where the framework itself is limiting your progress.
  Let's say that you need row-level permissions and the default auth
  helper doesn't do this.  If the entire framework is tied together,
  then you would have to deal with either having to manipulate some of
  the source code(which could possibly be changed in future updates) or
  scrap the whole thing.  With Pyramid, a failure in a specific module
  simply means you ditch that ONE module and sub in another.  It is also
  important to note that if Pyramid itself becomes obsolete in 5-10
  years, as Pylons did, then at least you can carry over your knowledge
  of SQLAlchemy, paster, deform, etc. to the next framework.
  Essentially what I giving a world world example of the concept of
  encapsulation, that is something that every programmer should value.
 
  On Thu, Mar 3, 2011 at 12:24 PM, Chris McDonough chr...@plope.com
 wrote:
  On Thu, 2011-03-03 at 09:39 -0800, Stephen Lacy wrote:
  Okay, chiming in here. :)  Yeah, this is my post.  I've been pretty
  quiet here.
 
  Sorry for the somewhat negative tone, as you can imagine, the post was
  written after spending several hours digging through a very large
  amount of the Pyramid source code trying to figure out the answer to
  what seemed to be a very simple question.  Yes, I could have asked
  here, or on #pylons, and maybe I should have.  But, at the same time,
  I think that read and understand the source is an important aspect
  of a good framework, and that's what I was most frustrated about.
 
  We've all been there, no worries.
 
  - C
 
 
 
  --
  You received this message because you are subscribed to the Google
 Groups pylons-devel group.
  To post to this group, send email to pylons-devel@googlegroups.com.
  To unsubscribe from this group, send email to
 pylons-devel+unsubscr...@googlegroups.com.
  For more options, visit this group at
 http://groups.google.com/group/pylons-devel?hl=en.
 
 
 

 --
 You received this message because you are subscribed to the Google Groups
 pylons-devel group.
 To post to this group, send email to pylons-devel@googlegroups.com.
 To unsubscribe from this group, send email 

Re: Fwd: Some thoughts about Pyramid

2011-03-03 Thread Chris McDonough
On Thu, 2011-03-03 at 18:22 +, danjac...@gmail.com wrote:
 I'm not sure the OP is trolling, it comes across as frustration. While
 some of the things he points out are unfair and suggest unfamiliarity
 with certain aspects of the framework, there are some valid points in
 here as well:
 
 1. The usage of traversal vs dispatch. It's unclear even to those
 quite familiar with Pyramid which to use for a given situation, and
 often I find myself yo-yoing between the two in the same project.
 Traversal is seen by some as the way to do Pyramid, with dispatch as
 an afterthought bolted on for Pylons compatibility, others still think
 the opposite especially with SQLAlchemy projects. This is very
 confusing for people who just want to get on and build something as it
 is so fundamental to the structure and design of your project.

My personal rule of thumb:  I use traversal when I use ZODB, routes when
I don't.

 2. Zopeisms, aka the ZCA, ZCML, zope.interface etc. This I see more of
 a marketing issue, but there is a valid concern here - the amount of
 conceptual overhead required to fully grok (pardon the pun) the
 framework is a problem. We often don't get to pick and choose the code
 we deal with as much of the time we have to deal with projects where
 we didn't have a hand in, so while I may prefer to ignore the ZCA for
 example in my own projects, I might well have to deal with it in
 someone else's. As with traversal/dispatch, the multi-paradigm
 approach may please nobody in the attempt to please everybody.

Understood.  I don't think we can really lump everything that starts
with a Z into one category though.

For example, ZCML is unrelated to ZCA and zope.interface.  It's
existence is an issue for some but we can't prevent or deter folks from
using (and enjoying) ZCML any more than we can deter or prevent them
from using and enjoying a bad library or application.  The best we can
do is not make it the default (which it isn't, so I don't expect folks
to need to deal with a great many ZCML-based applications).

The usage of ZCA internally in Pyramid is a separate issue.  At this
point, it seems gratuitous to break existing applications for the
marginal benefit of reducing cognitive load for a minority of people who
may one day need to deeply understand the Pyramid core.  There are no
requirements upon a Pyramid *application* developer (and never will be)
to ever understand interfaces, components, etc.  Even a Pyramid add-on
developer needn't understand ZCA concepts.  The only type of developer
that truly will need to understand these things is a developer of the
Pyramid core itself, and even then only in certain circumstances.  I
think this is an appropriate level of exposure, and I'm not sure that
replacing ZCA with something else would make that any better.

 3. The lots of tiny little components problem. Actually this is
 mostly unfair. Pyramid reuses existing stuff like WebOb and Paste, but
 it's not alone in this - the OP mentions Flask for example, which
 depends on Werkzeug and Jinja2. In this Django is unusual in having an
 in-house (or, more unkindly, NIH) approach to everything. Outside of
 Python, Rails 3 for example has moved more in the direction Pyramid is
 at with the merge of Merb. It makes sense when possible and practical
 not to reinvent the wheel - the problem for the Django developers was
 a lack of decent wheels half a decade ago, I'm sure they would not
 have taken the same approach today.
 
 That said, one trend that is the matter of some concern is spinning
 off of parts of the pyramid core - such as ZCML and handlers - into
 separate packages. This may reduce cohesion in the framework and lead
 to the tower of dependencies problem that TurboGears 2, for example,
 suffered greatly from. Not an immediate issue - and I've contradicted
 myself re: ZCML being part of the framework - but still a cause of
 concern.

I don't really think we have a tower-of-dependencies problem, and I hope
we avoid such a problem in the future.  It's mostly just a matter of
judgment I think.

 The code quality issue is bunk. I've found the Pyramid code remarkably
 easy to navigate and understand - try looking at some of the Django
 ORM/admin code in comparison. More importantly - as code quality is
 subjective - is the staggering number of unit tests. You may or may
 not agree with the design principles, but you can rely on the code you
 use.

Yay!

 
 I don't really have any recommendations here or solutions to offer.
 All in all I do like Pyramid and appreciate its strengths more as I
 build more projects with it. It does however suffer from two things in
 particular:
 
 1. A marketing problem. Django is for perfectionists with deadlines.
 Flask is the fun, easy microframework. What problem does Pyramid solve
 ? If you could summarize it in a single phrase, what would it be ?
 Pylons had a brilliant tagline  - the Hacker's Framework. One thing
 Pyramid really needs is success stories - we used 

Re: Some thoughts about Pyramid

2011-03-03 Thread Chris McDonough
On Thu, 2011-03-03 at 10:59 -0800, Stephen Lacy wrote:
 Yeah, but encapsulation (a well-written API) and dependencies are
 totally orthogonal. 
 
 One could write a dependency-less framework that provided sensible,
 minimal, yet functional components, and *still* provided a really
 clean API and way for developers to hook in external implementations.

That's fine, but the support and maintenance requirements become pretty
massive.  It's a great benefit, for example, to have
someone-other-than-us maintaining Chameleon, Mako, and WebOb.  If I
personally had to maintain those things, they (and their users) would be
a lot poorer for it.

 Lines like Pyramid only depends on 84 lines of repoze make me think:
 Okay, just pull in those 84 lines and ditch the dependency.  

The LRU code was indeed part of Pyramid at one point.  But other
packages also depend upon an LRU cache implementation, so pulling it out
and sharing this code made sense.

 But, the story isn't actually that simple, of course.   (because
 repoze is the recommended default for tons of other stuff like
 auth/auth). 

Actually it's not.  Do you have a link to some documentation that makes
this claim?  I'd love to remove it if so.

 I think Pyramid misses the mark providing a functional framework out
 of the box.  In particular, the specifics around sessions and
 auth/auth.   As a developer, you can't make a real site without good
 versions of both of these, and Pyramid only provides options and
 suggestions, not a solution here.

More specifics would be helpful.  Do you mean docs-wise?  It actually
provides very concrete implementations (multiple ones) of each of these
things.

 I agree that learning outside modules is good practice, and can help
 you with other projects, but what most developers want is it works
 great out of the box, and I don't get stuck later on.   I think
 Pyramid has the latter but not the former.  Pyramid makes me feel
 shoe-horned into zope/repoze land.  IUser, ISession, etc. 

I'm going to suggest that learning how to create a Pyramid application
by reading the Pyramid source code instead of reading its docs is a bit
like learning how to drive by reassembling an engine.  Knowing how to
reassemble an engine is useful, but on a different level than just
driving somewhere.

 Pyramid is missing the feel of a Consistent approach to X.  where X
 pretty much any existing pluggable feature.  What I'd like to see from
 a framework is good, internally consistent implementations of core
 features, and a nice clean API to plug alternates in.  I feel like
 Pyramid is bending to the whims of outside implementations (zope,
 repoze, WebOb, etc) and providing APIs to match those, instead of
 going down the route of what's the right thing here.  This
 development approach is clear from the design defense document.  

It sounds like you have very concrete opinions, and that you want to use
a framework that provides these and only these opinions.

That's fine, and you certainly have your choice of web frameworks, but
please know that other folks actually use the features that fall outside
of that set of opinions.

For example, traversal: I would have exactly zero consulting income (at
least if I wanted to use Pyramid) if I didn't have traversal, because
most of our actual consulting engagements involve very hierarchical
systems with very granular security constraints.  Traversal makes this
pattern very easy.  I hope we've made it possible to ignore traversal,
because it certainly doesn't make sense for every (or even most)
applications, but its existence isn't for nothing.

- C



 
 
 Steve s(he) Lacy 
 
 On Thu, Mar 3, 2011 at 10:47 AM, Joe Dallago jd.dall...@gmail.com
 wrote:
 Essentially what I am giving is a real world example of the
 concept of
 encapsulation, which is something that every programmer should
 value.*
 
 
 On Thu, Mar 3, 2011 at 12:43 PM, Joe Dallago
 jd.dall...@gmail.com wrote:
  I just thought that I would chime in and say that the
  dependency-heavy model that Pyramid uses is not a new
 one.  Look at
  Linux, arguably the largest open source project in existence
 right
  now, it is hard to find a package that doesn't have 10
 dependencies.
  Linux does this b/c it is efficient, and it means that code
 doesn't
  have to be duplicated.  It is also important to note that it
 is also
  the model that Python excels at(easy imports, packages and
 module
  organization is easy, etc.).
 
  The dependency-heavy model actually makes learning more
 efficient in
  the long term as well, b/c if one module fails, then you
 don't have to
  ditch the whole system.  For example(this example is
 somewhat from my
  experience with the cakephp framework), lets say you reach a
 point in

Re: Some thoughts about Pyramid

2011-03-03 Thread Rob Miller

On 3/3/11 10:59 AM, Stephen Lacy wrote:

Yeah, but encapsulation (a well-written API) and dependencies are
totally orthogonal.

One could write a dependency-less framework that provided sensible,
minimal, yet functional components, and *still* provided a really clean
API and way for developers to hook in external implementations.

Lines like Pyramid only depends on 84 lines of repoze make me think:
Okay, just pull in those 84 lines and ditch the dependency.  But, the
story isn't actually that simple, of course.   (because repoze is the
recommended default for tons of other stuff like auth/auth).


This is confusing to me.  There is no single repoze thing.  repoze 
is basically a brand name; it's a namespace package used for a 
collection of useful things developed mostly by Agendaless Consulting. 
Pyramid itself used to be repoze.bfg.  There's no monolithic repoze 
thing that is being depended on.



I think Pyramid misses the mark providing a functional framework out of
the box.  In particular, the specifics around sessions and auth/auth.
As a developer, you can't make a real site without good versions of
both of these, and Pyramid only provides options and suggestions, not a
solution here.


Pyramid is explicitly NOT making these decisions for you.  That's what 
is meant when it's said that Pyramid is trying to be a relatively 
unopinionated framework.  This is much less beginner-friendly than 
Django, nobody is denying that.  But for some of us who are not 
beginners, we prefer being given choices, and choosing from available 
packages, rather than dealing w/ choices that the framework made that 
might not actually match what we really want.


Eventually the hope is that there will be a more opinionated framework 
on top of Pyramid.  This is one that would potentially compete with 
Django, one that would try to make the out-of-the-box experience much 
more complete.  Pyramid is not that framework, and never intends to be.



I agree that learning outside modules is good practice, and can help you
with other projects, but what most developers want is it works great
out of the box, and I don't get stuck later on.   I think Pyramid has
the latter but not the former.  Pyramid makes me feel shoe-horned into
zope/repoze land.  IUser, ISession, etc.


As I said, Pyramid is explicitly not trying to create an it works great 
out of the box experience.  Not in the same way that Django and Rails 
are, anyway.  It DOES work great out of the box for what it's trying to 
do, which is give developers a great deal of efficiency and flexibility 
in routing HTTP requests to callable code.  If you want more rails to 
help you, Pyramid is not the best choice.


As for feeling shoe-horned into zope/repoze land... I'm at a loss.  Use 
of zope technologies is fairly minimal, and is entirely an 
implementation detail internal to Pyramid.  You don't have to know 
anything about zope in order to use Pyramid.  You're definitely not 
forced to use (or even understand) these idioms in order to build web 
apps w/ Pyramid.



Pyramid is missing the feel of a Consistent approach to X.  where X
pretty much any existing pluggable feature.


Again, this is explicitly the opposite of Pyramid's intent.


 What I'd like to see from a
framework is good, internally consistent implementations of core
features, and a nice clean API to plug alternates in.


These desires are at cross-purposes, IMO.  The more internally 
consistent your core features are, the less flexibly will you be able 
to plug alternates in.  Alternate implementations of core technology 
often end up working very differently from each other, and what 
originally looked like internal consistency ends up looking like I 
can't do what I want to.


In Django, for instance, it's technically possible to use an alternate 
ORM.  When you do, you lose a lot of the other things that make Django 
valuable, though, and most Django users aren't willing to give up the 
other features.  Pyramid goes the other route; there are clean APIs for 
plugging in alternate (template engine, persistence engine, security 
policy, etc. etc. etc.), but there is no pretense of a complete stack 
that is the default.



I feel like
Pyramid is bending to the whims of outside implementations (zope,
repoze, WebOb, etc) and providing APIs to match those, instead of going
down the route of what's the right thing here.  This development
approach is clear from the design defense document.


I'd say that Pyramid is *using* (rather than bending to the whims of) 
lots of battle-hardened, pre-existing technology so it wouldn't have to 
reinvent the wheel a million times.  And the answer to the question 
what's the right thing here? is an opinion.  Once again, Pyramid is 
explicitly trying to not be opinionated.  It doesn't always succeed... 
Pyramid definitely does have a few opinions, but it has many fewer than 
Django or Rails.  If you want opinions, and you want choices to be made 
for you, Pyramid is probably 

Re: Some thoughts about Pyramid

2011-03-03 Thread Mike Orr
On Thu, Mar 3, 2011 at 10:22 AM, danjac...@gmail.com
danjac...@gmail.com wrote:
 I'm not sure the OP is trolling, it comes across as frustration.

It's absolutely a legitimate point, and it's what I've been concerned
about for the past several months.  It's why I'm writing the Pyramid
Migration Guide and Akhet (the successor to pyramid_sqla) -- both to
be released hopefully by PyCon.

Stephan comes from a new user's perspective with a Django background.
As such, there will be more users like this, and if we can give them
specific documentation and examples addressing their concerns, it will
help the works-out-of-the-box issue. If we want to attract new
users, we must do this. That doesn't mean the Pyramid core developers
have to do all the work. It's a great opportunity for add-on products
made by others with more time on their hands.

The Pyramid manual is essentially a reference guide, so it documents
all the alternatives in detail. That's necessary, but it's not the
same as a tutorial. And people have such different backgrounds that
several focused tutorials would be better than one. I'm writing a
migration guide for Pylons users.

Stephan's post makes me think a migration guide for Django users would
be helpful. I don't know enough about Django to write this myself.
Obviously we can't write guides for every single framework, but
Pylons covers a variety of WSGI developers who know something about
Pylons, and Django covers another large set that's unique enough to
require its own guide. Zope/BFG people seem to find the Pyramid manual
sufficient, so that's covered.

The answers to Stephan's concerns fall into roughly three categories:
- Intentional design decisions; i.e., goals for Pyramid.
- Tradeoffs we had to make given those decisions.
- The historical legacy of BFG, and the desire not to break backward
compatibility.

Pyramid's design is heavily shaped by things that Pylons/TurboGears
didn't have and their developers wanted. BFG did have these so we took
them, and along came everything else BFG had. Things that Pylons
specifically wanted were: events, a complete reference manual,
eliminating the magic globals [1], better unit testing (which
views-returning-a-dict provides), interfaces, a larger developer-base,
and maybe other things I'm forgetting. Traversal, ZODB, and built-in
auth that's simpler than repoze.who/what were minor desires that
essentially came for free.

[1] Pyramid threadlocals are similar to Pylons magic globals, but the
rest of the framework has been designed not to require them (the
threadlocals).

The BFG developers make a compelling case that traversal and
interfaces are useful, especially for certain kinds of applications.
That having these available is a good thing, even for those who don't
use them, because it provides a migration path to use them later if
they become important someday.

Traversal is particularly suited to CMS sites where editor-users can
attach a page to any URL, arbitrarily nested. Routes doesn't do this;
Routes depends on path variables being in fixed URL positions.

Interfaces I only understand superficially, but I have a gut feeling
they will be more widely used as more people get comfortable with
them. Previously interfaces were available only in Zope and BFG. Zope
is a very specialized environment, BFG somewhat less so, but Pyramid
makes interfaces accessible to the masses (i.e., general Python-web
developers).

Pyramid and WebHelpers have borrowed some features from Django, but
certain aspects of Django are decidedly non-features in
Pyramid/Pylons/TurboGears, and have been for five years. The Pylons
Project believes in using third-party packages whenever feasable, and
in spinning off packages that can be used outside the frameworks. Of
course there are disadvantages to this as well as advantages. If a
third-party library becomes unmaintained or has version skew (i.e.,
its latest version has incompatible changes), it adversely affects the
framework until we reconcile the two or switch to another library.
Likewise, sometimes the framework needs to switch to a better library,
and users have to adjust their applications.  But overall we're glad
that users and framework developers can switch libraries as they see
fit, and that we can use the latest gee-whiz library as soon as it's
available.

The other main non-feature of Django is the tight binding between the
ORM and the rest of the framework. That may work well for some Django
applications, but it's just not something the Pylons Project believes
in.

The complexity of the Pyramid source is another issue. You're right
that interfaces make the source more complex, and it's especially
difficult for those who aren't accustomed to Python interfaces. (I
can't keep track of Session vs ISession, or Settings vs
ISomethingWithACompletelyDifferentName.) But that's a tradeoff we had
to accept. One thing I remember fondly about Quixote is that I could
read the entire printed source in half an hour and understand it. 

Re: Some thoughts about Pyramid

2011-03-03 Thread Joe Dallago
So the thing we can carry away from this discussion is that we should
improve Pyramid's new user experience, with tutorials and perhaps
some defaults for basic functionality.

On Thu, Mar 3, 2011 at 4:27 PM, Mike Orr sluggos...@gmail.com wrote:
 On Thu, Mar 3, 2011 at 10:22 AM, danjac...@gmail.com
 danjac...@gmail.com wrote:
 I'm not sure the OP is trolling, it comes across as frustration.

 It's absolutely a legitimate point, and it's what I've been concerned
 about for the past several months.  It's why I'm writing the Pyramid
 Migration Guide and Akhet (the successor to pyramid_sqla) -- both to
 be released hopefully by PyCon.

 Stephan comes from a new user's perspective with a Django background.
 As such, there will be more users like this, and if we can give them
 specific documentation and examples addressing their concerns, it will
 help the works-out-of-the-box issue. If we want to attract new
 users, we must do this. That doesn't mean the Pyramid core developers
 have to do all the work. It's a great opportunity for add-on products
 made by others with more time on their hands.

 The Pyramid manual is essentially a reference guide, so it documents
 all the alternatives in detail. That's necessary, but it's not the
 same as a tutorial. And people have such different backgrounds that
 several focused tutorials would be better than one. I'm writing a
 migration guide for Pylons users.

 Stephan's post makes me think a migration guide for Django users would
 be helpful. I don't know enough about Django to write this myself.
 Obviously we can't write guides for every single framework, but
 Pylons covers a variety of WSGI developers who know something about
 Pylons, and Django covers another large set that's unique enough to
 require its own guide. Zope/BFG people seem to find the Pyramid manual
 sufficient, so that's covered.

 The answers to Stephan's concerns fall into roughly three categories:
 - Intentional design decisions; i.e., goals for Pyramid.
 - Tradeoffs we had to make given those decisions.
 - The historical legacy of BFG, and the desire not to break backward
 compatibility.

 Pyramid's design is heavily shaped by things that Pylons/TurboGears
 didn't have and their developers wanted. BFG did have these so we took
 them, and along came everything else BFG had. Things that Pylons
 specifically wanted were: events, a complete reference manual,
 eliminating the magic globals [1], better unit testing (which
 views-returning-a-dict provides), interfaces, a larger developer-base,
 and maybe other things I'm forgetting. Traversal, ZODB, and built-in
 auth that's simpler than repoze.who/what were minor desires that
 essentially came for free.

 [1] Pyramid threadlocals are similar to Pylons magic globals, but the
 rest of the framework has been designed not to require them (the
 threadlocals).

 The BFG developers make a compelling case that traversal and
 interfaces are useful, especially for certain kinds of applications.
 That having these available is a good thing, even for those who don't
 use them, because it provides a migration path to use them later if
 they become important someday.

 Traversal is particularly suited to CMS sites where editor-users can
 attach a page to any URL, arbitrarily nested. Routes doesn't do this;
 Routes depends on path variables being in fixed URL positions.

 Interfaces I only understand superficially, but I have a gut feeling
 they will be more widely used as more people get comfortable with
 them. Previously interfaces were available only in Zope and BFG. Zope
 is a very specialized environment, BFG somewhat less so, but Pyramid
 makes interfaces accessible to the masses (i.e., general Python-web
 developers).

 Pyramid and WebHelpers have borrowed some features from Django, but
 certain aspects of Django are decidedly non-features in
 Pyramid/Pylons/TurboGears, and have been for five years. The Pylons
 Project believes in using third-party packages whenever feasable, and
 in spinning off packages that can be used outside the frameworks. Of
 course there are disadvantages to this as well as advantages. If a
 third-party library becomes unmaintained or has version skew (i.e.,
 its latest version has incompatible changes), it adversely affects the
 framework until we reconcile the two or switch to another library.
 Likewise, sometimes the framework needs to switch to a better library,
 and users have to adjust their applications.  But overall we're glad
 that users and framework developers can switch libraries as they see
 fit, and that we can use the latest gee-whiz library as soon as it's
 available.

 The other main non-feature of Django is the tight binding between the
 ORM and the rest of the framework. That may work well for some Django
 applications, but it's just not something the Pylons Project believes
 in.

 The complexity of the Pyramid source is another issue. You're right
 that interfaces make the source more complex, and it's especially
 

Re: Some thoughts about Pyramid

2011-03-03 Thread Fernando Correa Neto
Hi :)

Well, I'm pretty sure that the pylonsproject ecosystem would love to
have more and more people who identifies with the ideas of the
project.
I mean, it doesn't need to be a 100% match, but there's have to have some.

Seriously, just because you didn't feel at home it doesn't mean you
can start bashing it.

On the Zope inheritance subject. Well, repoze.BFG/Pyramid is what it
is due to Zope. And most people who first came to it was attracted by
that fact.
One can definitely say that Zope2/3 is/was a huge and ambitious
project trying to cover lots of different use-cases and they have
succeeded. It turns out that the components that were used to achieve
that were stuck in it and not reusable at all.
It was something like you have in djando today. Want to use the
django orm on a pyramid project? Just install django and use it!

That's when the repoze project was needed.
Those guys helped build Zope. They knew exactly what parts of it was
worth exposing as plain reusable python components. And they were
instrumental at doing that.
Zope still hides a lot of nice features that only people with who know
it intimately can go there and get back with something nice for people
like you use it on your projects.
So, had problems reading the code? Heh :) Go read Zope code ;) Or even
Django because it suffers from the same evil...

Traversal.
There's not much to say here about it seriously.
BFG/Pyramid allows one to write from very teeny tiny web-toys to huge
user-driven deep intranets. Can't think of a huge system with
thousands of url-mapped code. Just can't...
Traversal solves that problem nicely.

ZODB is great. You probably don't know what you are talking about here
or probably hasn't worked on enterprisey intranets. Otherwise you'd
notice ZODB is great.
ZODB+Traversal is the perfect match.

zope.interface. It's just one more problem that Zope solved but
probably don't apply to you because you have no idea how to apply it.
It's a very nice way to create extensible/pluggable software by
creating layers. What do you suggest for that? entry points?

So, are you sure Pyramid is for you? You know, you better check
because Pyramid can do all that.

-Fernando

On Thu, Mar 3, 2011 at 2:39 PM, Stephen Lacy slacy+perso...@slacy.com wrote:
 Okay, chiming in here. :)  Yeah, this is my post.  I've been pretty quiet
 here.
 Sorry for the somewhat negative tone, as you can imagine, the post was
 written after spending several hours digging through a very large amount of
 the Pyramid source code trying to figure out the answer to what seemed to be
 a very simple question.  Yes, I could have asked here, or on #pylons, and
 maybe I should have.  But, at the same time, I think that read and
 understand the source is an important aspect of a good framework, and
 that's what I was most frustrated about.
 This is also after, early in my project, spending several weeks pouring over
 the state of code for both sessions and auth/auth.  After looking at
 several solutions, including repoze.who (or is it repose.who v2) beaker,
 pyramid_beaker, etc. I found that there wasn't anything that really met my
 needs or worked the way I wanted.  I ended up writing my own auth/auth and
 sessions systems for Pyramid, and amazingly, it's not that much code.  I was
 puzzled why there were so many seemingly complex solutions to what at it's
 heart is actually some fairly straightforward code.
 I'll give a look at the design defense document, but I'm afraid that from a
 practical perspective, it's not really going to address some of the core
 issues.
 Granted, I'm coming from a Django background, and decided to explore Pyramid
 because of it's database-agnostic view (I'm using MongoDB).  But, I've come
 to the conclusion that the plugin-centric view of the world has led to a
 dependency-laden and hard to understand code base, especially for a 1.0
 product.
 I'm really sorry for the negative tone of that post, like I said it was
 written after a fairly large amount of frustrating code analysis, and that's
 just the mood I'm in.  At the end of the day, Pyramid works, it powers my
 site, and has been quite stable and easy to work with...
 Steve
 On Thu, Mar 3, 2011 at 9:29 AM, Gael Pasgrimaud g...@gawel.org wrote:

 I suggest to rename this thread Some trolls about Pyramid

 --
 Gael

 On Thu, Mar 3, 2011 at 6:54 AM, Peter Alexis palexis2...@gmail.com
 wrote:
  Just happened to see a blog about Pyramid,
 
 
  http://slacy.com/blog/2011/02/why-im-unhappy-with-the-pyramid-web-framework/
 
  --
  You received this message because you are subscribed to the Google
  Groups pylons-devel group.
  To post to this group, send email to pylons-devel@googlegroups.com.
  To unsubscribe from this group, send email to
  pylons-devel+unsubscr...@googlegroups.com.
  For more options, visit this group at
  http://groups.google.com/group/pylons-devel?hl=en.
 
 

 --
 You received this message because you are subscribed to the Google Groups
 pylons-devel group.
 To post to 

Re: Some thoughts about Pyramid

2011-03-03 Thread Sebastien Douche
On Thu, Mar 3, 2011 at 23:27, Mike Orr sluggos...@gmail.com wrote:
 It's absolutely a legitimate point, and it's what I've been concerned
 about for the past several months.  It's why I'm writing the Pyramid
 Migration Guide and Akhet (the successor to pyramid_sqla) -- both to
 be released hopefully by PyCon.

Hi Mike,
thank you for taking care of new users

 The Pyramid manual is essentially a reference guide, so it documents
 all the alternatives in detail. That's necessary, but it's not the
 same as a tutorial.

So true. It's exactly my mind when I read it for the first time. As
new user, I don't care to know the multiple ways to create a site, I
just want a right way (good practices, easy to maintain, etc). I
want a good return of investment, not a deep knowledge of the
framework.

Anyway, I'm very impressed by the project, 1.0 come with a 800
reference manual and many other docs.


-- 
Sebastien Douche sdou...@gmail.com
Twitter: @sdouche (agile, lean, python, git, open source)

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