READMEΒΆ

                     _____________________________

                               README.TXT

                      martinslouf@sourceforge.net
                     _____________________________


Table of Contents
_________________

1 Description
2 Installation
.. 2.1 Installing from PyPI (Python Package Index)
.. 2.2 Installing from source distribution
3 Test suite
4 Examples and documentation
5 Files and Directories
6 Release notes
7 TODO Todo list [2/7]





1 Description
=============

  Summer is light weight Python 3 application framework to support some
  common tasks in variety of applications. It tries to assist you with
  business object management, helps with ORM (mapping, transactions),
  LDAP, AOP, localization, config files.  Inspired by famous Java Spring
  application framework.

  Since 0.5.2 Python 3 is required.

  Project web page: [http://py-summer.sourceforge.net/].


2 Installation
==============

2.1 Installing from PyPI (Python Package Index)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  ,----
  | pip install py-summer
  `----


2.2 Installing from source distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Installation uses Python /setuptools/ -- just run from distribution
  top dir:

  ,----
  | python setup.py install
  `----

  or you may prefer

  ,----
  | python setup.py install --prefix=/usr/local/
  `----

  This will copy the package into appropriate directory for third-party
  modules of your Python installation.


3 Test suite
============

  Once you checked out the sources, you can run tests from within the
  top directory:

  ,----
  | git clone git://git.code.sf.net/p/py-summer/code py-summer
  | cd py-summer
  | make clean tests
  `----

  Commands above will clone official Git repository and execute popular
  Python test runner `nosetests3' (nosetests for Python 3).


4 Examples and documentation
============================

  Pack of commented examples is in [file:summer/tests/examples]
  directory.  Accessible once you download the source.

  Reference documentation can be generated by /sphinx/ tool from source
  tree and placed in [file:doc/html/index.html].  It is also accessible
  through project web page: [http://py-summer.sourceforge.net/].


5 Files and Directories
=======================

  ,----
  | # tree --charset ascii --dirsfirst -L 1 -F
  | .
  | |-- doc/               ... documentation (including release notes and examples)
  | |-- summer/            ... source code
  | |-- summer.egg-info/   ... PyPI info
  | |-- COPYING            ... GPL copy
  | |-- COPYING.LESSER     ... LGPL copy
  | |-- README.txt         ... this README document
  | `-- setup.py           ... Python distutils file
  `----


6 Release notes
===============

  See [file:doc/release_notes].


7 TODO Todo list [2/7]
======================

  - [ ] intelligent context -- context that would inspect an object
    (@component annotation), auto-create proxy and auto-inject
    dependency (@inject annotation)
  - [ ] livecycle callbacks

  ,----
  | ContextListener:
  |     def context_initialized(context): pass
  |     def context_destroyed(context): pass
  |
  | ComponentListener:
  |     def component_deployed(context): pass
  |     def component_undeployed(context): pass
  `----

  - [X] fix stringutils.wrap
  - [X] add Python 3 type annotations
  - [ ] improve PCG -- it accepts an iterable and starts multiple
    threads to process it.  It can return an iterable (preserving
    the element order) of the results
  - [ ] reimplement PC (and PCG) with multiprocessing support to
    side-step the GIL
  - [ ] reimplement command line parser with argparse (optparse is
    deprecated)