Commits

slug...@gmail.com  committed ac4dc1d

Bump dev version to 2.0. Reorganize documentation.

  • Participants
  • Parent commits df391c9

Comments (0)

Files changed (9)

File BUGS.txt

-Bugs
-
-
-* None. :)
-
-Todo
-
-
-* Add a production.ini and test.ini.
-* Add a database demo such as a wiki.
-* Allow keyword args to supplement settings in ``add_engine()``.
-* Add an appendix explaining the different ways to initialize the database
-  and why we chose an "-m" script over a bin script, Paster plugin, or
-  websetup.
-* Add an article explaining the exact differences in the application 
-  template compared to the standard Pyramid templates, and why it was
-  made that way.
+2.0 (unreleased)
+----------------
+- Revamp documentation to focus on Pyramid's 'alchemy' scaffold.
+
 1.0.2 (2011-07-20)
 ------------------
--Adjust app skeleton to match URLGenerator.app fix in 1.0.1.
+- Adjust app skeleton to match URLGenerator.app fix in 1.0.1.
 
 1.0.1 (2011-07-18)
 ------------------
+Delete 'akhet' scaffold and 'paster_templates' directory; remove entry points.

File docs/bugs.rst

-Bugs and TODO
-=============
-
-.. include:: ../BUGS.txt

File docs/conf.py

 # built documents.
 #
 # The short X.Y version.
-version = '1.0.2'
+version = '2.0'
 # The full version, including alpha/beta/rc tags.
-release = '1.0.2'
+release = '2.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.

File docs/index.rst

 Akhet
 =====
-:Version: 1.0.2, released 2011-07-20
+:Version: 2.0, released XXXX-XX-XX
 :PyPI: http://pypi.python.org/pypi/Akhet
 :Docs: http://docs.pylonsproject.org/projects/akhet/dev/
 :Source: https://bitbucket.org/sluggo/akhet (Mercurial)
 :Bugs: https://bitbucket.org/sluggo/akhet/issues
 :Discuss: pylons-discuss_ list
 
+Akhet is a set of tutorial-level documentation and convenience code for
+Pyramid_. Version 2 focuses more heavily on documentation, and does not contain
+an application scaffold [#]_. Instead of a scaffold, the
+documentation shows how to customize Pyramid's built-in scaffolds to give a
+Pylons-like environment. The Akhet library (the ``akhet`` Python package) is
+still around; it's unchanged in this release.
 
-**Akhet** is a Pylons-like application template (or "skeleton") for the
-Pyramid_ web framework, along with a small support library to make Pyramid a
-bit easier to use. This manual explains Akhet and also attempts to be a gentle
-introduction to the Pyramid manual, which some people find overwhelming at
-first. This manual assumes you're familiar with Python web development.
+Akhet 2.0 runs on Python 2.5 - 2.7.   The next version will probably add
+Python 3 support and drop Python 2.5, as Pyramid 1.3 is doing.
 
-Version 1.0.2 fixes a bug in ``URLGenerator.app`` (aka ``url.app`` in
-templates).
 
-**Existing Akhet applications:** Akhet 1.1 will be released soon, and will
-depend on Pyramid 1.1. If you don't want to upgrade, set your dependencies in your
-application's *setup.py*: "Akhet>= 1.0, <= 1.0.99" and "pyramid>=1.0a10, <=
-1.0.99".
-
-.. _Pyramid: http://docs.pylonshq.com/pyramid/dev/
-.. _pylons-discuss: http://groups.google.com/group/pylons-discuss
-
-Features
---------
-
-* URL dispatch and view handlers, similar to Pylons' Routes and controllers.
-* Asks whether to configure SQLAlchemy.
-* Sets up a transaction manager for request-wide commit and rollback.
-* A script to initialize the database (replaces "paster setup-app").
-* Serves static files under "/", mixed with your dynamic URLs.
-* Listens on localhost:5000 by default.
-* Logging configured in development.ini and production.ini.
-* Templates ending in .html are passed to Mako (or to your desired templater)
-* A helpers.py module tied to the ``h`` template global.
-  (You can also choose your own template globals.)
-* "handlers", "models", and "lib" are packages to give plenty of room for large
-  applications.
-* An extensible home page template, site template, and default stylesheet.
-
-
-Documentation
--------------
 
 .. toctree::
    :maxdepth: 1
 
+   intro
+   vocabulary
    usage
-   vocabulary
    paster
    architecture
    default_content
    upgrading
    api
    other_pyramid_features
-   bugs
    changes
 
 * :ref:`genindex`
 * :ref:`search`
 
 
-Akhet was previously called "pyramid_sqla"; it was changed
-to reflect its evolution from a SQLALchemy application skeleton to a more
-full-fledged Pylons-like skeleton.  The SQLAlchemy library from pyramid_sqla
-was spun off to the "SQLAHelper" package.
-
 The word "akhet" is the name of the hieroglyph that is Pylons' icon: a sun
 shining over two pylons. It means "horizon" or "mountain of light".
 
-Akhet was developed on Python 2.6 and Ubuntu Linux 10.10. Pyramid runs on
-Python 2.4 - 2.7; Mac, Windows, Unix; CPython, Jython, and Google App Engine.
-It does not run on Python 3 yet; several dependencies are being updated for
-that.
+
+
+.. [#] The term "scaffold" has replaced "application template" and "paster
+   template" to avoid confusion with HTML templates. 
+
+
+.. _Pyramid: http://docs.pylonshq.com/pyramid/dev/
+.. _pylons-discuss: http://groups.google.com/group/pylons-discuss
+

File docs/intro.rst

+Introduction to Akhet 2
+%%%%%%%%%%%%%%%%%%%%%%%
+
+Akhet was created as a bridge between Pylons 1 and Pyramid, for Pylons
+developers who were trying to understand the new framework.  Now that Pyramid is a
+year old, we can see what application developers are doing after trying both
+Akhet and "raw" Pyramid side by side.  Pyramid itself is evolving, adding
+features and moving away from Paste, and Akhet must evolve along with it. We
+also see users persistently asking for "more tutorials" and raising new
+usage questions.
+
+The 'akhet' scaffold (=application template) was widely used and worked well,
+but it was a significant burden to maintain.  
+
+
+The 'alchemy' scaffold
+======================
+
+
 """
 
 setup(name="Akhet",
-      version="1.0.2",
+      version="2.0",
       description="Pyramid application templates inspired by Pylons 1.",
       long_description=README,
       #long_description=README + "\n\n" +  CHANGES,

File unfinished/route_directive.py

+::
+
+    class BulkAdder(object):
+        def __init__(self, config, route_name):
+            self.config = config
+            self.route_name = route_name
+
+        def add_view(self, view, **kw):
+            config.add_view(view, route_name=self.route_name, **kw)
+
+        def __enter__(self):
+            pass
+
+        def __exit__(self, type, value, traceback):
+            pass
+
+    def bulk_add_route(config, name, pattern, **kw):
+        config.add_route(name, pattern, **kw)
+        return BulkAdder(config, name)
+
+    config.add_directive('bulk_add_route', bulk_add_route)
+
+    with config.bulk_add_route('foo', '/foo/{action}') as r:
+        r.add_view(foo_view)
+        r.add_view(foo_json_view, xhr=True, renderer='json')
+        r.add_view(foo_json_post_view, request_method='POST', xhr=True, renderer='json')