web2py 1.91.4 - new LGPL3 license
Thanks to our 100+ contributors. This is our best release ever. [download here](http://www.web2py.com/examples/default/download). -- Free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications. Written and programmable in Python. LGPLv3 License -- Over time we added lots of new features. Integrated Database Abstraction Layer with support for SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine (CouchDB support experimental). Automatic migrations (both create table and alter table). Wed based IDE with [wizard](http://www.web2py.com/demo_admin/wizard/index), [designer](http://www.web2py.com/demo_admin/default/design/demo_app1), [editor](http://www.web2py.com/demo_admin/default/edit/demo_app1/models/db.py), [internationalization interface](http://www.web2py.com/demo_admin/default/edit_language/demo_app1/languages/it-it.py), database administrative interface, [testing](http://www.web2py.com/demo_admin/default/test/demo_app1), [ticketing system](http://www.web2py.com/demo_admin/default/errors/demo_app1), shell, mercurial integration and [ready layouts](http://www.web2py.com/layouts) and plugins. Powerful Role Based Access Control and integration with OpenID, Oauth, CAS, PAM, Facebook, Linkedin, Google, Twitter, Janrain. API to create web services (json, xml, rss, jsonrpc, xmlrpc, amfrpc, soap) generate RTF, Latex and PDF, send SMS services and accept Credit Card payments with AuthorizeNet and Google checkout [via plugin](http://web2py.appspot.com/plugin_checkout/default/checkout) Authomatic form generation and processing. [Very secure](http://www.pythonsecurity.org/wiki/web2py/): granular access control, XSS prevention, SQL-Injection prevention, form validation and url validation, csrf prevention, hashed password, signed urls, HTML sanitization. The most pythonic template language with full python support + include/extend/blocks. [Lots of users](http://groups.google.com/group/web2py), [many apps deployed in production ](http://www.web2py.com/poweredby), and many [example apps](http://web2py.com/appliances). [Excellent online documentation](http://web2py.com/book) (537 pages when printed) In the last year the database abstraction layer and the template language have been completely re-written (each implemented in one file each, [template.py](http://code.google.com/p/web2py/source/browse/gluon/template.py) and [dal.py](http://code.google.com/p/web2py/source/browse/gluon/dal.py)) so can be used with other python frameworks. All in one package without dependencies. Does not require installation and can run off a USB stick (like having a Python based Heroku in your pocket). Runs on CPython 2.4-2.7, Jython and PyPy (experimental). Runs on Google App Engine. [Professional support and long term support agreements](http://experts4solutions.com) for those who want/need it. The license changed today from GPL2+exception to LGPL3. You can release your web2py apps commercially and closed source (python bytecode compiled). -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
buckingham 1.0
Dimensional Analysis / Formula Validation/ Units Conversion / Error Propagation In one single small file without dependencies buckingham.py http://code.google.com/p/buckingham/ based on the Buckingham Theorem How to use download the module download Python start Python import the module: from buckingham import Number, sin, cos, exp, log, allunits, pm Example of dimensional analysis and conversions a = Number(10,dims='meter/second') b = Number(2,dims='yard/minute') c = a + b print c.convert('kilometer/hour') (36.109728 ± 0) Number(1,dims='joule').convert('eV').value 6.2415096471204178e+18 print c.value, c.error, c.units() 10.03048 0.0 meter*second^-1 Without conversion results are always in: meters, seconds, grams, ampere, kelvin, currency (and combination) The error is the standard deviation assuming the true value is Normal distributed Error propagation assumes independence a = Number(1,dims='decimeter^3') b = Number(2,dims='liter') c = Number(5,dims='gram/centimeter^3') d = (a + b)*c print d.convert('kilogram') (15.00 ± 0) Simplified syntax globals().update(allunits()) length = (4+pm(0.5)) * meter velocity = 5 * meter/second time = length/velocity print time (8.00 ± 1.00)/10 Example of formula validation a = Number(10,dims='meter/second') b = Number(2,dims='yard^3') c = a + b Traceback (most recent call last): ... RuntimeError: Incompatible Dimensions Examples of error propagation a = Number(10,error=2,dims='meter/second') # (10±2)m/s b = Number(5,error=1,dims='hour') # (5±1)h c = a*b print c.convert('kilometer') (1.800 ± 0.509)x10^2 print c.convert('lightyear') (1.903 ± 0.538)/10^11 print c.convert('kilometer').value 180.0 print c.convert('kilometer').error 50.9116882454 Examples of more complex formulas c = a**4/(7*b) print '%s %s' % (c,c.units()) (7.94 ± 6.54)/10^2 meter^4*second^-5 For pure numbers sin, cos, exp, log are also defined. You can use a.is_pure() to check if a number is pure. Financial application example coupon = Number(200,error=1,dims=dollar/day) expiration = Number(1,error=0,dims=year) payoff = coupon*expiration print payoff.convert('dollar') (7.3048 ± 0.0365)x10^4 I.e. $73048 dollars with $365 dollars of one sigma uncertainly Latex Output print payoff.as_latex() (7.3048 \pm 0.0365)\times 10^{4} Rouding Notice the output as a string always uses scientific notation and value is automatically rounded compatibly with error/uncertainty in result. Supported units and combination of ampere, angstrom, atm, attoL, attoampere, attoangstrom, attoatm, attoau, attobar, attocalorie, attocoulomb, attocurrency, attoday, attodollar, attoeV, attoev, attofarad, attofaraday, attofermi, attofoot, attogram, attohenry, attohour, attohz, attoinch, attojoule, attokelvin, attolightyear, attoliter, attometer, attomho, attomile, attominute, attommhg, attonewton, attoohm, attopascal, attopound, attopsi, attopure, attoquart, attosecond, attosiemens, attovolt, attowatt, attoweber, attoyard, attoyear, au, bar, calorie, centiL, centiampere, centiangstrom, centiatm, centiau, centibar, centicalorie, centicoulomb, centicurrency, centiday, centidollar, centieV, centiev, centifarad, centifaraday, centifermi, centifoot, centigram, centihenry, centihour, centihz, centiinch, centijoule, centikelvin, centilightyear, centiliter, centimeter, centimho, centimile, centiminute, centimmhg, centinewton, centiohm, centipascal, centipound, centipsi, centipure, centiquart, centisecond, centisiemens, centivolt, centiwatt, centiweber, centiyard, centiyear, coulomb, currency, day, deciL, deciampere, deciangstrom, deciatm, deciau, decibar, decicalorie, decicoulomb, decicurrency, deciday, decidollar, decieV, deciev, decifarad, decifaraday, decifermi, decifoot, decigram, decihenry, decihour, decihz, deciinch, decijoule, decikelvin, decilightyear, deciliter, decimeter, decimho, decimile, deciminute, decimmhg, decinewton, deciohm, decipascal, decipound, decipsi, decipure, deciquart, decisecond, decisiemens, decivolt, deciwatt, deciweber, deciyard, deciyear, dekaL, dekaampere, dekaangstrom, dekaatm, dekaau, dekabar, dekacalorie, dekacoulomb, dekacurrency, dekaday, dekadollar, dekaeV, dekaev, dekafarad, dekafaraday, dekafermi, dekafoot, dekagram, dekahenry, dekahour, dekahz, dekainch, dekajoule, dekakelvin, dekalightyear, dekaliter, dekameter, dekamho, dekamile, dekaminute, dekammhg, dekanewton, dekaohm, dekapascal, dekapound, dekapsi, dekapure, dekaquart, dekasecond, dekasiemens, dekavolt, dekawatt, dekaweber, dekayard, dekayear, dollar, eV, ev, exaL, exaampere, exaangstrom, exaatm, exaau, exabar, exacalorie, exacoulomb, exacurrency, exaday, exadollar, exaeV, exaev, exafarad, exafaraday, exafermi, exafoot, exagram, exahenry, exahour, exahz, exainch, exajoule, exakelvin, exalightyear, exaliter, exameter, examho, examile, examinute, exammhg, exanewton, exaohm, exapascal, exapound, exapsi, exapure,
web2py book 3rd ed
The third edition of the web2py book is out: http://www.lulu.com/product/paperback/web2py-%283rd-edition%29/12199578 also available in pDF and online for free in html at http://web2py.com/book It includes documentation about many features not documented in the 2nd edition including: - alternate login methods (openid, oauth, rpx, etc.) - application level routes - computed fields and virtual fields - recursive selects and dal shortcuts - field type list:linteger, list:string, list:reference - more deployment recipes and scalability suggestions - more details about GAE deployment - building modular apps with components and plugins - info about plugin_wiki (more or less described in this video: http://vimeo.com/13485916) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
P3D visualization package
http://www.web2py.com/p3d A Python library that generates processing.js code for 3D rendering and visualization including a pure python algorithm for computing iso- surfaces from VTK files. The generated 3D objects can rotated in the browser. Requires a browser with canvas support, jquery and processing.js. This is implemented in modules/p3d.py and works with any python web framework including web2py, Django and Pylons. License BSD. Massimo -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Sneaky web server 0.1
A fast portable pure-python multithreaded experimental WSGI web server in 300 lines of code: Python 2.4,2.5,2.6 version: http://code.google.com/p/web2py/source/browse/trunk/gluon/sneaky.py Python 3.0,3.1 version: http://code.google.com/p/web2py/source/browse/trunk/gluon/ sneaky3.py 1) Some third party benchmarks are in the doc strings but you should run them yourself. These are benchmarks for the servers, not the frameworks. 2) We are not sure it is perfectly WSGI compliant but it is very similar to Cherrypy wsgiserver 3.2. 3) Experimental means we are still ironing down WSGI compliance and we have not tested chunked uploads (only regular uploads). 4) This is distributed with web2py, it works with web2py, but until we have more tests done, web2py still uses cherrypy's wsgi server in production. 5) The license is GPL but we are going change it to MIT of BSD or Apache when done. 6) We are posting here because we hope you will give it a try and report compatibility issues with your favorite framework and browser. This will help us fix problems and turn into a fast production server. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
web2py 1.66.2 is OUT. New web2py book (2nd Ed.) is out too.
The new web2py book is available on lulu.com http://www.lulu.com/content/e-book/web2py/4968879 Lots of new stuff with100 more pages (341 pages in total). Covers Auth, Crud, Services, interaction with Pyjamas, PyAMF, and better deployment recipes. Massimo -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
web2py 1.64.0
web2py 1.64.0 is out http://www.web2py.com new features: - full Jython support, including xzJDBC for sqlite and postgresql. install jython and run: jython web2py.py -h - models are 2.5x faster - better LDAP support - custom forms Example: #in model db.define_table('person',SQLField('name') # in controller def index(): return dict(form=crud.create(db.person)) # instead of usual view {{=form}} # now you can use a custom view: {{=form.custom.begin}} {{=form.cusom.label.name}}: {{=form.custom.widget.name}} {{=form.custom.submit}} {{=form.custom.end}} -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
web2py 1.63 is OUT
web2py 1.63 is OUT Check out the new features in this slides: http://www.scribd.com/doc/16085263/web2py-slides-version-163 Massimo P.S. with love and respect to all other python programmers out there! -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
web2py 1.62.1
Hello everybody web2py 1.62.1 is out http://www.web2py.com Here is a video of some of the new features: http://www.screencast.com/t/OH8Uc5ab6 New features: - admin interface reads web2py twits - deploy on Google App Engine directly from the web based admin - commit your apps to mercurial repos directly from admin (requires easy_install mercurial) - every app has its own ajax shell (allows multiline commands and database interaction) - when files uploaded in database are downloaded, original filename is used to set content-disposition. - new welcome scaffolding app has Authentication, Role Based Access Control, CRUD, and Menu turned on by default - choice of third party authentication mechanisms including BASIC, GMAIL, LDAP - new .w2p file format for distributing zipped applications - new MENU helper for pure CSS popup and cascading menus. - WingIDE support - Better internationalization - runs with Python 2.4, 2.5, 2.6.2 and some of it runs on Jython and IronPython (the database drivers and web server do not). The rest is backward compatible as usual. IMPORTANT: web2py includes the only Database Abstraction Layer / ORM that works on both the Google App Engine and relational databases (sqlite, mysql, postgresql, mssql, firebird, oracle, db2). You write once and it runs everywhere. You DO NOT NEED to use the Google API to access the Google Datastore as you do when you use other web frameworks on GAE. web2py writes SQL for you (and you don't even need to see it) and automatically creates a web based interface to your data. web2py includes a web base administrative interface for installing, creating, editing, debugging, testing, deploying and managing your applications. You only use the os shell if you chose to. web2py includes a ticketing system that logs all errors and issues tickets to visitors. web2py runs everywhere python runs including iPhone, Windows CE, N800 and of course, Windows, Mac, Linux. Massimo -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
web2py 1.59
web2py 1.59 is out http://www.web2py.com Check out this video about the new features: http://www.vimeo.com/3703345 What is web2py? = - It is the web framework used by PyCon 2009 for registration. - It a very easy and very powerful Python web framework. - It is fast and rock solid. - It has a very clean design and it is strong on security. - Includes a web based development environment, maintenance environment, and database administrative interface. - Includes a Database Abstraction Layer that works with SQLite, MySQL, PostgreSQL, FireBird, MSSQL, Oracle, DB2 the Google App Engine. The DAL does migrations, handles aggregates, nested selects, inner and outer joins. - Includes a pure Python based template language with no indentation requirements. - Includes jQuery, simplejson, markdown, feedparser, PyRSS2, nicEdit, EditArea, Amy Editor. - Runs on any platform that runs python. The binary versions can run off a USB drive. - The same apps can run on a PC with Oracle or on the Google App Engine or on Windows Mobile, without changes, including the DAL. - Includes API for authentication and record-level group based access control. New features In 1.59: = - DB2 support - new Service interface to expose functions in CSV, XML, JSON, JSONRPC, XMLRPC and AMFRPC (Flash//Flex) - optional Amy editor (instead of edit_area) has keyboard shortcuts and autocompletion -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
web2py 1.56.4
web2py 1.56.4 is out http://www.web2py.com What is web2py? = - It is the web framework used by PyCon 2009 for registration. - It a very easy and very powerful Python web framework. - It is fast and rock solid. It has a very clean design and it is strong on security. - Includes a web based development environment, maintenance environment, and database administrative interface. - Includes a Database Abstraction Layer that works with SQLite, MySQL, PostgreSQL, FireBird, MSSQL, Oracle, AND the Google App Engine. The DAL does migrations. - Includes a pure Python based template language with no indentation requirements. - Includes jQuery, simplejson, markdown, feedparser, PyRSS2, nicEdit, EditArea and a lot more. - Runs on any platform that runs python. The binary versions can even run off a USB drive without dependences. - The same apps can run on a PC with Oracle or on the Google App Engine or on Windows Mobile, without changes, including DB API. New features In 1.56.4: = - Bugs fixes in docs and new authentication API New features In 1.56: = - Authentication - Authorization (Role Based Access Controller) - CRUD - portable url fetch function - portable geocoding function - PEP8 compliant - Python 2.5 - Runs on Jython (although without db drivers) - Runs on IronPython (although without CSV, db drivers and internal web-server) - DAL shortcuts - SQLFORM has default image preview - new generic.html view - more examples and documentation - always backward compatible Example of code = ## in model db.py from gluon.tools import * db=SQLDB('sqlite://storage.db') db.define_table('puppy', db.Field('name'), db.Field('image','upload')) auth=Auth(globals(),db) auth.define_tables() crud=Crud(globals(),db) ## in controller default.py def user(): to expose register, login, logout, etc return dict(form=auth()) @auth.requires_login() def data(): to expose select, create, update, delete, etc return dict(form=crud()) @auth.requires_login() def download(): for downloading uploaded images return response.download(request,db) ## in view default/user.html {{extend 'layout.html'}} div{{=form}}/div ## in view default/data.html {{extend 'layout.html'}} div{{=form}}/div This code will allow to register, login, change password, upload images of puppies (with relative names), select puppies, edit records, read and preview images, enforce authorization, and more. Thanks to all the contributors: === * Attila Csipa (cron job) * Bill Ferrett (modular DAL design) * CJ Lazell (tester) * DenesL (validators) * Douglas Andrade (2.6 compliance, docstrings) * Francisco Gama (bug fixing) * Fran Boon (authorization and authentication) * Fred Yanowski (XHTML compliance) * Jonathan Benn (is_url validator and tests) * Jose Jachuf (Firebird support) * Kyle Smith (javascript) * Limodou (winservice) * Marcel Leuthi (Oracle support) * Mark Larsen (taskbar widget) * Mark Moore (databases and daemon scripts) * Markus Gritsch (bug fixing) * Martin Hufsky (expressions in DAL) * Mateusz Banach (stickers) * Michael Willis (shell) * Nathan Freeze (admin design) * Niall Sweeny (MSSQL support) * Niccolo Polo (epydoc) * Ondrej Such (MSSQL support) * Pai (internationalization) * Phyo Arkar Lwin (web hosting and Jython tester) * Robin Bhattacharyya (Google App Engine support) * Sharriff Aina (tester and PyAMF integration) * Sterling Hankins (tester) * Stuart Rackham (MSSQL support) * Telman Yusupov (Oracle support) * Timothy Farrell (python 2.6 compliance, windows support) * Yarko Tymciurak (design) * Younghyun Jo (internationalization) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
web2py 1.56 is OUT
web2py 1.56 is out, including a new web site with better documentation http://www.web2py.com What is web2py? = - It is the web framework used by PyCon 2009 for registration. - It a very easy and very powerful Python web framework. - It is fast and rock solid. It has a very clean design and it is strong on security. - Includes a web based development environment, maintenance environment, and database administrative interface. - Includes a Database Abstraction Layer that works with SQLite, MySQL, PostgreSQL, FireBird, MSSQL, Oracle, AND the Google App Engine. The DAL does migrations. - Includes a pure Python based template language with no indentation requirements. - Includes jQuery, simplejson, markdown, feedparser, PyRSS2, nicEdit, EditArea and a lot more. - Runs on any platform that runs python. The binary versions can even run off a USB drive without dependences. - The same apps can run on a PC with Oracle or on the Google App Engine or on Windows Mobile, without changes, including DB API. New features Include: = - Authentication - Authorization (Role Based Access Controller) - CRUD - portable url fetch function - portable geocoding function - PEP8 compliant - Python 2.5 and Python 2.6 compliant - Runs on Jython (although without db drivers) - Runs on IronPython (although without CSV, db drivers and internal web-server) - DAL shortcuts - SQLFORM has default image preview - new generic.html view - more examples and documentation - always backward compatible Example of code (complete app) = ## in model db.py from gluon.tools import * db=SQLDB() db.define_table('puppy', db.Field('name'), db.Field('image','upload')) auth=Auth(globals(),db) crud=Crud(flobals(),db) ## in controller default.py def user(): to expose register, login, logout, etc return dict(form=auth()) @auth.requires_login() def data(): to expose select, create, update, delete, etc return dict(form=crud()) @auth.requires_login() def download(): for downloading uploaded images return response.download(request,db) ## in view default/user.html {{extend 'layout.html'}} div{{=form}}/div ## in view default/data.html {{extend 'layout.html'}} div{{=form}}/div This complete code will allow to register, login, change password, upload images of puppies (with relative names), select puppies, edit records, read and preview images, enforce authorization, and more. Thanks to all the contributors: === * Attila Csipa (cron job) * Bill Ferrett (modular DAL design) * CJ Lazell (tester) * DenesL (validators) * Douglas Andrade (2.6 compliance, docstrings) * Francisco Gama (bug fixing) * Fran Boon (authorization and authentication) * Fred Yanowski (XHTML compliance) * Jonathan Benn (is_url validator and tests) * Jose Jachuf (Firebird support) * Kyle Smith (javascript) * Limodou (winservice) * Marcel Leuthi (Oracle support) * Mark Larsen (taskbar widget) * Mark Moore (databases and daemon scripts) * Markus Gritsch (bug fixing) * Martin Hufsky (expressions in DAL) * Mateusz Banach (stickers) * Michael Willis (shell) * Nathan Freeze (admin design) * Niall Sweeny (MSSQL support) * Niccolo Polo (epydoc) * Ondrej Such (MSSQL support) * Pai (internationalization) * Phyo Arkar Lwin (web hosting and Jython tester) * Robin Bhattacharyya (Google App Engine support) * Sharriff Aina (tester and PyAMF integration) * Sterling Hankins (tester) * Stuart Rackham (MSSQL support) * Telman Yusupov (Oracle support) * Timothy Farrell (python 2.6 compliance, windows support) * Yarko Tymciurak (design) * Younghyun Jo (internationalization) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
T3 on GAE
http://web2py.appspot.com/t3/default/wiki/main(there is a video tutorial) T3 version 0.2 is out. Now you can develop for GAE on GAE and it could not get any easier. T3 is a development platform (built on web2py) that works like a WIKI and it lets you embed python code and components in wiki pages. Components include CRUD forms, attachments, reviews, comments, google checkout buttons, charts, all web2py helpers, functions and validators, and any user defined function. T3 lets you create models, procedures, and edit stylesheet using the web interface. Everything is stored in the database. Nothing on filesystem. The entire platform runs everywhere python runs, including GAE. Massimo -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Google Checkout Level 1 and Level 2 ported to the Google App Engine
Live demo with examples: http://web2py.appspot.com/plugin_checkout Source code: http://mdp.cti.depaul.edu/appliances/default/show/43 -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
web2py 1.40 is out
web2py 1.40 is out A web2py book is out too: http://he-cda.wiley.com/WileyCDA/Section/id-321954.html Here is a sample: http://mdp.cti.depaul.edu/examples/static/web2py_manual_cut.pdf Here are some videos: http://www.vimeo.com/videos/search:web2py version 1.40 includes: - Database Abstraction Layer for SQLite, MySQL, PostgreSQL, MSSQL, FireBird, Oracle, and the Google App Engine. - More handlers for wsgi, fastcgi, mod_python and cgi (for the google app engine). - Setup scripts for production deployment. SUPER EASY === Here is an example of a complete minimalist web app: def index(): return Hello World Here is an example of a complete minimalist web app with a counter: def index(): session.counter=session.counter+1 if session.counter else 1 return dict(counter=session.counter) EXPRESSIVE === Here is an example of a complete app that asks your name and greats you with an AJAX flash message: def index(): form=FORM(INPUT(_name='your_name',requires=IS_NOT_EMPTY ()),INPUT(_type='submit')) if form.accepts(request.vars): response.flash='Hello '+form.vars.your_name return dict(form=form) POWERFUL == Here is an example of a complex query (nested select): rows=db(db.table1.field1.belongs(db()._select (db.table2.field2)).select(orderby=db.table1.field2,limitby=(10,20)) a left join: rows=db().select(db.table1.ALL,db.table2.ALL,left=db.table2.on (db.table1.field1==db.table2.field2)) Have fun! Massimo -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
KPAX CMS - The human CMS from another planet
Hello everybody, I just released the KPAX CMS 1.0 beta (based on web2py). Create web pages, wikis with locking and versioning, blogs, chats, surveys, video/audio streams. No programming required. Runs off a USB drive too. The name is temporary. Here is a screencast/tutorial http://www.vimeo.com/1098656 Download from http://mdp.cti.depaul.edu/appliances Massimo Some features: Lots of a Ajax for user friendly interaction. Granular Access Control mechanism based on group membership. Users can create and join groups. Group owner can require approval of memberships applications. Users can post news and turn them into RSS feeds. Users can create folders and insert pages in folders. Users can create surveys and assignments (including anonymous). Users can create and join chat lines. Chats synchronously and asynchronously, like a discussion board. Folder pages can be public web pages, public or private wikis, can accept comments, and can contain documents. Pages have versions and can be compared with previous versions. Wiki pages have locking so no conflicts. Documents in pages can be media files. If they are large they are streamed. Media files are played by the built-in flash player. Movies can be played full-screen. Assignment are automatically graded and generate reports and statistics. WYSIWYG editor (similar to but easer than Word) System errors result in tickets issued to the visitors. All errors/ tickets are logged. Web based administrative interface. Web based database administrative interface. Secure. Secure cookies Server-side sessions. Server-side form validation. No SQL Injection flaws. Scalable using threads and/or processes (multiple installation behind load-balancer). Uploaded documents/media can be stored in filesystem or database. Server runs on Windows, Mac, and Linux. Client/Ajax code compatible with IE6+, Firefix 2+, Safari 3+. Works with Sqlite (built-in), MySql, PostgreSql, and Oracle. Transaction safe. SQL generated via meta-programming. Works with any CGI, FastCGI and WSGI server including CherryPy’s (built-in), Apache, and Lighttpd. Written in Python. The code is concise and readable. All web forms are automatically generated. Automatic migrations for easy upgrade.-- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html