Tryton



Tryton is a three-tier high-level general purpose computer application platform on top of which is built a business solution (or ERP) through a set of so-called Tryton modules. The Tryton platform is organised around a three-tiers architecture: The Tryton client, the Tryton server and the DBMS (mainly PostgreSQL). The platform along with the official modules is licenced under the GPL-3. The name Tryton refers to Triton, the largest moon of planet Neptune, and Python, the implementation language. The release process is organised around series. A series is a set of releases with the same two first numbers (E.G. 1.0 or 1.2) that shares the same API and the same database scheme. A new series appears every six months and new versions in older release are introduced when bugfixes are available.

Module and functional coverage
The official modules provide a coverage of the following functional fields:
 * Accounting and analytic accounting
 * Sale management
 * Purchase management
 * Inventory management
 * Timesheet and project management
 * Calendar management

Technical features
The client and the server applications are written in Python, the client use GTK+ as graphical toolkit. Both are available on Linux, MacOS and Windows. A standalone version including client and server exists and is named Neso.

The kernel provides the technical foundations needed by most business applications. However it is not linked to any particular functional field hence constituting a general purpose framework:


 * Data persistence: ensured by accessor objects called Models, they allow easy creation, migration and access to records.
 * User Management: The kernel comes with the base features of user management: user groups, access rules by models and records, etc.
 * Workflow Engine: allows to activate a workflow on any business model.
 * Report Engine: The report engine is based on relatorio that uses ODT files as templates and generate ODT or PDF reports.
 * Internationalisation: Tryton is currently available in English, French, German, Spanich and Italian. New translations can be added directly from the client interface.
 * Historical data: Data historization may be enabled on any business model allowing for example to get the list of all the past value of the cost price of any product. It also allows to dynamically access historized record at any time in the past: for instance the customer information on each open invoice will be the ones of the day the invoice was opened.
 * Support for DAV protocols: WebDAV, CalDAV and CardDAV. This allow out-of-the-box document management and synchronizations of calendars and contacts.
 * Support for XML-RPC protocols.
 * Database independence is allowed since the 1.2 series and is used in the 1.4 series for the SQLite backend.
 * Built-in automatic migration mechanism: it allows to update the underlying database scheme without any human manipulation. Migration is ensured from series to series (releases inside the same series doesn't require migration). This automation is possible because the migration process is taken into account and tested continually within the development.
 * Advanced modularity: The modularity allows to provide a layered approach of the business concepts along with a great flexibility, which speeds up custom developments.