- Python 3.2 compatibility.
- A new configuration introspection system.
It requires Python 2.6, 2.7 or 3.2. Python 2.5 is no longer
supported. Please use the Pyramid 1.2.X series if you need Python 2.5
compatibility.
The documentation for the release is available at
http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/
A detailed "What's New in Pyramid 1.3" document is available at
http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/whatsnew-1.3.html
You can install it via PyPI:
easy_install Pyramid==1.3a1
Many thanks to our GSOC students Joe Dallago and Joel Bohman, who
helped us get Pyramid and its dependencies ready for Python 3. Thanks
also to the Python Software Foundation, who provided a grant to port
WebOb to Python 3, and Sergey Schetenin, who helped prepare WebOb for
Python 3 compatibility.
Enjoy, and please report any issues you find to the issue tracker at
https://github.com/Pylons/pyramid/issues
Thanks!
- C
Question: is departure from Paste and PasteScript permanent? Is it a
long term goal to depart from PasteDeploy as well in the future
versions? I don't have anything against Paste* libs, of course, just
asking because I welcome any reduction in the size of dependencies and
framework codebase.
.oO V Oo.
I strongly welcome the change to 3.2, and very much look forward to working with it. Props to the entire team for getting this done! ^_^
I strongly welcome the change to 3.2, and very much look forward to working with it. Props to the entire team for getting this done! ^_^
--To view this discussion on the web visit https://groups.google.com/d/msg/pylons-discuss/-/uFyvHTf5-WoJ.
You received this message because you are subscribed to the Google Groups "pylons-discuss" group.
To post to this group, send email to pylons-...@googlegroups.com.
To unsubscribe from this group, send email to pylons-discus...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Paste and PasteScript were dropped because they hadn't been ported to
Python 3 and it didn't seem worth the effort to do so. Half their
features are obsolete, little used, or superceded by child
distributions (WebOb, PasteOb). Paste's achievements cannot be
underestimated: it was the catalyst that made interoperable WSGI
frameworks a reality. But it had outgrown its original codebase. So
Chris took the subset Pyramid needed (a creator and a runner), ported
them to 3, and put them into Pyramid.
PasteDeploy *is* working in Python 3, and it does one small job in a
relatively straightforward manner (parsing those config sections and
the "egg:" lines in them), so there's little reason to change it
further. (Although I would like to see a better API and docs someday.)
There has been talk in the past about dropping the INI file from the
Pyramid core, but now that pserve and pcreate are part of Pyramid,
that can't be done. It's more likely that the template adapters will
be spun off (pyramid_mako and pyramid_chameleon), since they're an
application dependency rather than a core dependency.
--
Mike Orr <slugg...@gmail.com>
However, the doc -- """New console scripts named pshell, pviews,
proutes, and ptweens do what their paster <commandname> equivalents
used to do.""" leaves out paster customized commands, which is also a
first-class member of the paster family.
Appreciate if we could get the assurance that it is in the road map.
Thanks again.
Jerry
On Dec 10, 4:15 am, Chris McDonough <chr...@plope.com> wrote:
> Pyramid 1.3a1 has been released. This is the first major release in
> the 1.3 series. Its primary features are:
>
> - Python 3.2 compatibility.
>
> - A new configuration introspection system.
>
> It requires Python 2.6, 2.7 or 3.2. Python 2.5 is no longer
> supported. Please use the Pyramid 1.2.X series if you need Python 2.5
> compatibility.
>
> The documentation for the release is available athttp://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/
>
> A detailed "What's New in Pyramid 1.3" document is available athttp://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/whatsnew...
Nope. But we may create docs about how to create your own console
script. That's all these are.
- C
Right this isn't an attempt to recreate Paste within Pyramid. Pyramid provides other recommended ways of scripting via bootstrap. I'd suggest loiokng into those before looking for a paste.replacement.
--
You received this message because you are subscribed to the Google Groups "pylons-discuss" group.
That said, for the record, as described in the "What's New in Pyramid
1.3" document, you can install PasteScript and continue using "paster"
against the existing ini files; this works fine under Pyramid 1.3 too.
> To unsubscribe from this group, send email to pylons-discuss
> +unsub...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/pylons-discuss?hl=en.
>
> --
> You received this message because you are subscribed to the Google
> Groups "pylons-discuss" group.
> To post to this group, send email to pylons-...@googlegroups.com.
> To unsubscribe from this group, send email to pylons-discuss
> +unsub...@googlegroups.com.
Neither thing you mention there seems to be a bug. The line:
url = request.application_url + '/login'
Is constructed for the benefit of the template, which uses it as a form
post target. It can't be url = request.url, as the current URL when the
login view is invoked may not be the login form. The line:
config.add_view('tutorial.login.login', route_name='login',
renderer='tutorial:templates/login.pt')
Takes care of the situation when it's not rendered as an exception view.
As far as the exception goes, HTTPForbidden is what Pyramid uses internally to signify
an authorization failure happened. I'm not sure there's another natural exception
to use here.
>
On Dec 11, 10:48 am, Chris McDonough <chr...@plope.com> wrote:
> On Sat, 2011-12-10 at 22:39 -0800, rihad wrote:
> > Sorry if a bit irrelevant. The changelog says: "The SQLAlchemy + URL
> > Dispatch Wiki Tutorial has been updated.". But what I believe to be a
> > bug that I mentioned here:http://groups.google.com/group/pylons-devel/browse_thread/thread/d81a...
> > has remained seemingly unnoticed.
>
> Neither thing you mention there seems to be a bug. The line:
>
> url = request.application_url + '/login'
>
> Is constructed for the benefit of the template, which uses it as a form
> post target. It can't be url = request.url, as the current URL when the
> login view is invoked may not be the login form. The line:
>
> config.add_view('tutorial.login.login', route_name='login',
> renderer='tutorial:templates/login.pt')
>
Oh, I missed this part, probably it's new. But even without it, the
code I suggested works. I was incorrect in my first posting, in fact
context=HTTPForbidden is needed to match the login view both before
AND after the submit. The "edit" and "add" views simply fall through
to it when the user doesn't have the needed permission. And the url =
request.url in the login view works great for that whatever the URL
is, keeping the login view to do its tricks under the hood. You can
see that I works by commenting the context-less add_view above, and
making login POST to the current URL.
I don't understand the part about pyramid_zcml, but you *should* add
PasteScript as an application dependency if you intend to use it.
Otherwise it won't auto-install either.
--
Mike Orr <slugg...@gmail.com>
The 'populate_[application]' script created by the 'alchemy' scaffold
is an example of a script.
If you only need a config variable (as in 'sqlalchemy.url'), you can
do it that way. If you need the entire application object or a mock
request environment, see the 'pyramid.paster' module.
(BTW is that module going to keep its name forever now that 'paster'
is irrelevant?)
--
Mike Orr <slugg...@gmail.com>
The default templates to mix API styles. That seems to be a feature
rather than a bug because it shows different ways of doing things. But
is the above better in any practical way than
request.route_url("login")
which Pylons users have been told to prefer? Or is it just as good either way?
Also, do the *_url methods work correctly behind mod_proxy, where the
URL of the WSGI server is not something you can make a valid link to.
--
Mike Orr <slugg...@gmail.com>
pyramid_zcml itself requires PasteScript, so yeah this is indeed a bug.
Note that although pyramid_zcml works fine under Pyramid 1.3 on Python
2, it doesn't work on Python 3 and I have no intent myself to make it
work on Python 3. So there are a few options:
- add a dependency on PasteScript to pyramid_zcml and people who
use Pyramid 1.3 will just have to know to invoke "paster create"
rather than "pcreate" to render its scaffolding.
- Remove the scaffolding from pyramid_zcml.
- Make two scaffolds for pyramid_zcml; one that is registered as
under the "pyramid.scaffold" entry point, and another registered
under the "paste.paster_create_template" scaffold and somehow
make sure both work.. somehow.
I'm apt to do either 1 or 2.
- C
I don't see any particular reason to change it TBH. It does still use
PasteDeploy, so it's marginally relevant.
- C
It should probably use route_url.
> Also, do the *_url methods work correctly behind mod_proxy, where the
> URL of the WSGI server is not something you can make a valid link to.
Yes.
- C
Can you translate this for those of us who barely know what ZCML is?
Does it affect all Pyramid users on Python 3, or only those with
custom ZCA extensions? Does it prevent pcreate/pserve from working at
all?
--
Mike Orr <slugg...@gmail.com>