Skip to main content

Python serialization for adults

Project description

Camel is a library that lets you describe how to serialize your objects to YAML — and refuses to serialize them if you don’t.

Quick example:

from camel import Camel, CamelRegistry

class DieRoll(tuple):
    def __new__(cls, a, b):
        return tuple.__new__(cls, [a, b])

    def __repr__(self):
        return "DieRoll(%s,%s)" % self

reg = CamelRegistry()

@reg.dumper(DieRoll, u'roll', version=None)
def _dump_dice(data):
    return u"{}d{}".format(*data)

@reg.loader(u'roll', version=None)
def _load_dice(data, version):
    a, _, b = data.partition(u'd')
    return DieRoll(int(a), int(b))

value = DieRoll(3, 6)
camel = Camel([reg])
print(camel.dump(value))

# !roll 3d6
# ...

Docs: http://camel.readthedocs.org/en/latest/

GitHub: https://github.com/eevee/camel

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

camel-0.1.2.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

camel-0.1.2-py2.py3-none-any.whl (23.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file camel-0.1.2.tar.gz.

File metadata

  • Download URL: camel-0.1.2.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for camel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f61080abbdd68ad40bfe4ecaee9ea34ff07344ad98d1f2041f0ccccbcf42f271
MD5 c0c1df9f8399e67c5622bd11e27c4370
BLAKE2b-256 9b3a6f52fe0ab7a02a9765e5fc79beaaa9b271fee29d483df150feb548774882

See more details on using hashes here.

File details

Details for the file camel-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for camel-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a297440c3f2c41603bad63275e33f26f972329a501a7cb80e6e4934403ccf988
MD5 afcad5ca8925f4337077e99084ed7463
BLAKE2b-256 53eba2dac5267704c2d83f7a3ebd033605b593270c500f7407e84fdc89b7452d

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