Hi, I've been developing a Pylons application over the past year or so. The functionality has been implemented using examples from the Pylons book. The application has over 20 controllers with more than six functions each and makes use of: "Pylons>=1.0", "SQLAlchemy>=0.5,<=0.5.99", "Mako", "WebHelpers>=1.0", "FormBuild>=3.0,<=3.99", "AuthKit>=0.4.3,<=0.4.99",
Having read your migration guide I find it hard to understand what the most effective way of porting my application to Pyramid would be. Should I start changing things in my exisitng project? What changes do I need to make? Or would it be more productive to start a project from fresh using the paster pyramid_sqla template and copy and paste functionality from my Pylons project? A tutorial describing how to port a simple Pylons project to Pyramid would be very much appreciated. Kind regards, Tjelvar On Mar 11, 5:41 am, Mike Orr <[email protected]> wrote: > Here's a quick status report on Akhet and my Pyramid tutorials for > Pylons users. This is mainly to give Carlos some facts for his PyCon > talk, but it should be useful for those struggling to write an > application and saying, "The Pyramid manual is overwhelming." > "Traversal makes it worse." "What's the equivalent of Pylons ``h``?" > "How do I port my Pylons controllers to Pyramid?" etc. > > Reference links > ============= > > Pyramid Migration Guide (an introduction to Pyramid for Pylons users) > * Online: > https://bytebucket.org/sluggo/pyramid-docs/wiki/html/migration.html > * Source:https://bitbucket.org/sluggo/pyramid-docs > > pyramid_sqla (the "stable" version of a Pylons-like Pyramid template, > with docs) > * PyPI:http://pypi.python.org/pypi/pyramid_sqla > * Docs:https://bytebucket.org/sluggo/pyramid_sqla/wiki/html/index.html > * Source:https://bitbucket.org/sluggo/pyramid_sqla > > Akhet (the next version of pyramid_sqla, almost ready for release) > * no PyPI yet > * Docs: not yet updated from pyramid_sqla > * Source:https://bitbucket.org/sluggo/akhet > > SQLAHelper (a small SQLAlchemy library being spun off from pyramid_sqla) > * no PyPI yet > * Docs not yet updated from pyramid_sqla > * Source:https://bitbucket.org/sluggo/sqlahelper > > What exists now > ============= > > The migration guide is a good overview of Pyramid from a Pylons > perspective, comparing the difference between the frameworks. It's all > written except four chapters (Auth, Testing, Forms, Other Pyramid > features). It answers several of the questions people have been asking > on the list. It will be part of the Pyramid docs as soon as I finish > all these projects. > > pyramid_sqla 1.0rc1 has been stable for five weeks, and only one minor > bug was reported. > If you need to start an application *now* and can't tolerate > exceptions or a changing API, use the application template in this > package. (But you will likely want to paste your code into an Akhet > app when it's 1.0, for better long-term support.) > > Akhet is almost at 1.0b1, which will be released for a short beta test > before 1.0. If you're writing experimental apps and don't mind an > exception or two and a changing API, use this because it's more > long-term. Any bugs you find will lead to a higher quality 1.0. The > app structure is almost the same as pyramid_sqla, just the names are > changed and some features added. Sphinx docs are in the docs directory > but they still refer to pyramid_sqla so you'll have to resolve the > differences. Usage: "paster create -t akhet MyApp". > > SQLAHelper is almost at 1.0b1. It's unchanged from pryamid_sqla except > that I'm removing the code to create engines. It was just too complex > to document the different argument combinations to do this. So the > next checkin will require you to create your own engines, and the > Akhet app template will be adjusted for this. The next checkin will > also update the docs. > > Current Features in pyramid_sqla, Akhet, and SQLAHelper > ============================================== > - application template: pyramid_sqla or akhet > - complete documentation (as of the pyramid_sqla era, see pyramid_sqla > docs link above) > - SQLAlchemy model using pyamid_sqla or SQLAHelper, similar to Pylons > - SQLAlchemy transaction management via repoze.tm2, as in TurboGears > but not Pylons > - Static files served under "/" overlayed with dynamic URLs, as in Pylons > - A helpers.py module tied to an ``h`` variable in templates > - URL dispatch and view handlers, similar to Pylons > - Templates ending in .html are passed to Mako (or to your desired templater) > - Listen on localhost:5000 by default, as in Pylons > - A logger for the application package is configured (this may be in > Pyramid's templates now, but it wasn't) > - A command-line script to create your database, replacing "paster > setup-app" in Pylons > > Current features in Akhet dev code > ============================ > - ``config.add_static_route`` is now a config method (via an includeme) > - handler routes are defined in a handlers.includeme function instead > of directly in the intit module; useful for larger apps > - ``url`` variable in templates is now a URLGenerator instance with > convenience methods for route URLs, traversal URLs, etc. Available in > views as ``self.request.url_generator``. (Untested, will be tested > after 1.0b1 is released.) > - Add comments to init module explaining what each section does, with > commented code for advanced use cases > - Create 'lib' package, move helpers.py to it, to match Pylons. Adds > more space for user code in larger apps. > - Convert 'handlers' and 'models' from modules to packages, for larger apps. > - Add base handler class, because ppl will often want to share init > code and methods between handlers. > > Planned features in Akhet 1.0b1 (to be released in a few days or a week) > ========================================================== > - Update docs. > - Add a SQLAlchemy question to the app template, to create > non-SQLAlchemy apps easily. > - Add a question to choose a transaction manager: repoze.tm2, > pyramid_tm, or none. We probably want to go with pyramid_tm long term > but it's so new I think we need to give a choice now. > - Documentation on HTTP method tunneling (doing a pseudo-PUT via POST) > > After that > ======= > - Finish Akhet 1.0, SQLAHelper 1.0, and the Migration Guide. > - Integrate documentation into Pyramid docs. > - Jonathan Vanasco has a higher-level app template to add to Akhet. > - A form comparison demo, comparing several form libraries > - Eric Rasmussen has an auth demo and a larger demo, and will write > the Auth chapter in the Migration Guide. > - A program to test application templates. > - My own applications, which may lead to a traversal-based CMS app template. > > -- > Mike Orr <[email protected]> -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
