Kotti is a high-level, Pythonic web application framework. It includes a small and extensible CMS application called the Kotti CMS.
Kotti is most useful when you are developing applications that
Built on top of a number of best-of-breed software components, most notably Pyramid and SQLAlchemy, Kotti introduces only a few concepts of its own, thus hopefully keeping the learning curve flat for the developer.
You can try out the built-in CMS on Kotti’s demo page.
The Kotti CMS is a content management system that’s heavily inspired by Plone. Its main features are:
For developers, Kotti delivers a strong foundation for building different types of web applications that either extend or replace the built-in CMS.
Developers can add and modify through a well-defined API:
Kotti has a down-to-earth API. Developers working with Kotti will most of the time make direct use of the Pyramid and SQLAlchemy libraries. Other notable components used but not enforced by Kotti are Colander and Deform for forms, and Chameleon for templating.
Continuous testing against different versions of Python and with PostgreSQL, MySQL and SQLite and a complete test coverage make Kotti a stable platform to work with.
You can download Kotti from the Python Package Index, it takes only a few moments to install.
Please report any bugs that you find to the issue tracker.
Kotti itself is developed on Github. You can check out Kotti’s source code via its GitHub repostiory. Use this command:
git clone email@example.com:Pylons/Kotti
Before you can run the tests, you must install Kotti’s ‘testing’ extras. Inside your Kotti checkout directory, do:
bin/python setup.py dev
To then run Kotti’s test suite, do:
You can set the pyramid.default_locale_name in your configuration file to choose which language Kotti should serve the user interface (see Configure the user interface language).
In order to compile your .po files to .mo files, do:
bin/python setup.py compile_catalog
To extract messages and update the existing .pot and .po files, do:
bin/python setup.py extract_messages update_catalog
See also Internationalization from the Cookbook.