
pycerberus documentation
************************

pycerberus is a library to check user data thoroughly so that you can protect
your application from malicious (or just garbled) input data.

* **Remove stupid code which converts input values:** After values are validated, you 
  can work with real Python types instead of strings - e.g. 42 instead of '42', 
  convert database IDs to model objects transparently.
* **Implement custom validation rules:** Writing custom validators is 
  straightforward, everything is well documented and pycerberus only uses very 
  little Python magic.
* **Focus on your value-adding application code:** Save time by implementing every 
  input validation rule only once, but 100% right instead of implementing a 
  dozen different half-baked solutions.
* **Ready for global business:** i18n support (based on GNU gettext) is built in, 
  adding custom translations is easy.
* **Tune it for your needs:** You can implement custom behavior in your validators,
  e.g. fetch translations from a database instead of using gettext or define
  custom translations for built-in validators.
* **Use it wherever you like:** pycerberus is used in a SMTP server, trac 
  macros as well as web applications - there are no dependencies on a specific 
  context like web development.

.. highlight:: python


Documentation
==============================

.. toctree::
    :maxdepth: 2
    
    install
    background
    status
    using
    Available validators <available_validators>
    writing_your_own
    i18n
    schemas
    schema_inheritance
    schema_parsing
    python3



Getting Help
==============================

There is a `mailing list <http://groups.google.com/group/pycerberus/>`_ where you
ask for help or discuss new features 


License
==============================

pycerberus is licensed under the MIT license. As there are no other dependencies
(besides Python itself), you can easily use pycerberus in proprietary as well
as GPL applications.

