Metadata-Version: 2.1
Name: cromlech.marshallers
Version: 0.1
Summary: A collection of data marshallers for various generic uses
Home-page: https://github.com/Cromlech
Author: The Cromlecch Team
Author-email: dolmen@list.dolmen-project.org
License: ZPL
Description: cromlech.marshallers
        ====================
        
        `cromlech.marshallers` provides ways to convert 
        data between Python objects and other formats. 
        
        Currently, `cromlech.marshallers` supports :
        
          - JSON (native & RapidJSON)
          - pickle (native)
          - marshal (native)
          - msgpack
          - YAML
          - BSON
        
        Marshallers using third party libraries use conditionnal import.
        Check the `setup.py` `extra_requires` to include them transparently.
        
        
        Examples
        --------
        
          >>> from cromlech.marshallers import JSONMarshaller
          >>> marshaller = JSONMarshaller()
          >>> struct = [1, "two", 3]
          >>> data = marshaller.dumps(struct)
          >>> assert marshaller.loads(data) == struct
        
        
        Features
        --------
        
        Each marshaller can handle strings or bytes (according to their binary
        nature), streams and files.
        
           >>> marshaller.dumps(struct)
           >>> marshaller.loads(data)
           >>> marshaller.dump(struct, stream)
           >>> marshaller.load(stream)
        
        File access is watched by a lock that prevents concurrency. This lock
        can be configured to include a comprehensive timeout.
        
           >>> marshaller.dump_to(struct, path, timeout=2)
           >>> marshaller.load_from(path, timeout=2)
        
        In addition to that, the marshaller can be used as a decorator, in
        order to marshal the result of a function or method :
        
           >>> @marshaller.wraps
           ... def hello():
           ...     return 'world'
        
        
        You can read the detailed usages
        `here <./src/cromlech/marshallers/tests>`_
        
        Changelog
        =========
        
        0.1 (2020-11-27)
        ----------------
        
          - First release
        
Keywords: Cromlech
Platform: UNKNOWN
Classifier: Programming Language :: Python
Provides-Extra: bson
Provides-Extra: msgpack
Provides-Extra: rapidjson
Provides-Extra: test
Provides-Extra: yaml
