_____________________________
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)