Skip to main content

Highly flexible, no magic input validation library

Project description

pycerberus is a framework 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.

Changelog

0.4.2 (05.05.2011)

  • More fixes for source distribution because of missing files in tar.gz

0.4.1 (16.04.2011)

  • Fix source distribution (distribution_helpers.py were not included)

0.4 (13.04.2011)

  • pycerberus now supports Python 3!

  • Fix installation/egg generation without babel

  • Added a schema which can parse positional parameters from a string into a dict before processing the data like a normal schema would do

0.3.3 (04.07.2010)

  • Fix installation issue: pycerberus is actually not zip-safe

0.3.2 (05.06.2010)

  • Fix egg file generation: Include all necessary packages in eggs

  • added babel support to setup.py

  • updated pot file and completed German translation

  • fix exception if translations for preferred locale are not available (fall back to english messages)

0.3.1 (07.04.2010)

  • Fixed bug due to duplicated message in DomainNameValidator/EmailAddressValidator

  • Validator can now strip inputs (False by default)

  • StringValidator now also treats ‘’ as empty value (as well as None)

0.3 (27.03.2010)

  • Python 2.3 compatibility

  • Schema can raise error if unknown items are processed

  • Basic domain name validator

  • Basic email address validator

0.2 (16.03.2010)

  • You now can declare custom messages as a class-level dict

  • Added interface to retrieve error details from InvalidDataErrors

  • Added validation schemas to validate a set of values (typically a web form). Schemas can also inherit from other schemas to avoid code duplication.

  • Validators try to make thread-safety violations obvious

  • Nicer API to retrieve error details from an InvalidDataError

0.1 (30.01.2010)

  • initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycerberus-0.4.2.tar.gz (113.9 kB view details)

Uploaded Source

Built Distributions

pycerberus-0.4.2-py3.1.egg (61.8 kB view details)

Uploaded Source

pycerberus-0.4.2-py2.7.egg (61.2 kB view details)

Uploaded Source

pycerberus-0.4.2-py2.4.egg (61.9 kB view details)

Uploaded Source

File details

Details for the file pycerberus-0.4.2.tar.gz.

File metadata

  • Download URL: pycerberus-0.4.2.tar.gz
  • Upload date:
  • Size: 113.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycerberus-0.4.2.tar.gz
Algorithm Hash digest
SHA256 5de70249a64e79f681a670a496f50e38c6a3f4e6fbcba5ecc38bce39824c5001
MD5 8cd0dfe96541c9af46c084e79249c820
BLAKE2b-256 f439a733c37f86150b645029b047214e086b9009cf2f8ba01ab7005fc110e2fb

See more details on using hashes here.

File details

Details for the file pycerberus-0.4.2-py3.1.egg.

File metadata

File hashes

Hashes for pycerberus-0.4.2-py3.1.egg
Algorithm Hash digest
SHA256 6f15e97139c9219abd4a14f6f7ec42ba0fb9f28b9041a562750fe77a380b48eb
MD5 3664c854803d11152d65c1bcf9de93c5
BLAKE2b-256 bbbb2f9ab9e7b9ba20bc9e244d5c165895c4c4db77ab3a8d50a6f5f92e6b25c7

See more details on using hashes here.

File details

Details for the file pycerberus-0.4.2-py2.7.egg.

File metadata

File hashes

Hashes for pycerberus-0.4.2-py2.7.egg
Algorithm Hash digest
SHA256 1d4534e4f75ee904a7e5dd636304545809accc5a727cb8062e679bfdf76117c7
MD5 afacc74fcef0c4732cf8a84e3d13be1d
BLAKE2b-256 4315aa5b692af6ce1d49f9f0e1b5044640e3a3a2281b9c8e68b0e769965198d5

See more details on using hashes here.

File details

Details for the file pycerberus-0.4.2-py2.4.egg.

File metadata

File hashes

Hashes for pycerberus-0.4.2-py2.4.egg
Algorithm Hash digest
SHA256 f727afcf89c3d56e43d3de2a39b333a463e2575e54cd07c10c15ebe892641636
MD5 f2281e6a754e11ef68b44d313a456763
BLAKE2b-256 3ee34e3e49c07e54b94316730197c51d8bf928e6305be65ad2fea07b493da113

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page