Skip to main content

Universal Python serializer

Project description

d_serialize

===========

Universal converter of all things Python to a dict. So it can be serialized

to JSON.

Install


pip install d-serialize

Usage:


from d_serialize import d_serialize

from objects import SomeObject



some_object = SomeObject()

json_values = d_serialize(some_object)

Usage in Flask


from d_serialize import d_serialize

from flask import jsonify

from objects import SomeObject



@app.route('/a_route')

def a_route():

    some_object = SomeObject()

    json_values = d_serialize(some_object)

    return jsonify(json_values)

d_serialize will enumerate all public properties of your object, set, list or dict and convert them

to a JSON allowable type. IE:

list, dictionary, string, float, integer or boolean.

Any property that is not one of these types will be converted to a string. Enumerables: set

and tuple will be converted to list.

Dictionary, set, tuple and list properties will be followed to ensure all child objects and

values are also converted.

Methods and private properties (starting with _) are not enumerated.

Any property or attribute that raises an exception will be excluded or

have a None value.

Complex objects that refer to themselves will have their str value as the

recursive value instead of the entire complex value.

Example:


Converting a Class instance.

from d_serialize import d_serialize



class TestObject:

    number_value = 1

    float_value = 1.1



    def dont_call_me(self):

        """return self.number_value"""



print(d_serialize(TestObject()))



# dict(number_value=1, float_value=1.1)

Release History

===============

  • 1.0.0 First version of this wondrous package.

  • 1.0.1 Check for None when serializing and return None rather than 'None'. Exceptions on getattr return None for value.

  • 1.0.2 Crummy circular reference test. Convert top level list, set, tuple.

  • 1.0.3 Fix deploy workflow

  • 1.0.4 Allow for readonly objects

  • 1.0.6 Improve recursion check and value

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

d-serialize-1.0.6.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

d_serialize-1.0.6-py2.py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 2 Python 3

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