Metadata-Version: 2.1
Name: python-serializer
Version: 1.0.1
Summary: A Python Object-JSON-Object serializer package
Home-page: https://github.com/ximihoque/python-serializer
Author: Ximi Hoque
Author-email: hoque.ximi@gmail.com
License: UNKNOWN
Description: # Introducing Python Data Contracts
        
        With this package you can define your own data contracts strictly and define **data validations** and **pre-processing** steps which will insure data integrity and capable of serializing to-and-from JSON format. 
        
        ## Example Usage 
            from serializer import Interface
            class IP(Interface):
        
                # Declaring data type validations
                ip_address = str
                host_name = str
        
            class Record(Interface):
                user_name = str
                age = int
                ip = IP
        
                # Pre-processors to standardize data
                def __user_name__(value):
                    return value.capitalize()
                    
            args = {
                'user_name': 'ximi', 
                'age': 21, 
                'ip': IP(ip_address='192.168.2.1', host_name='localhost')
                }
            request = Record(**args)
            print ("Serializing from Object to JSON: \n", request.serialize())
            # Serializing from Object to JSON:  
            # {'user_name': 'Ximi', 'age': 21, 'ip': {'ip_address':'192.168.2.1', 'host_name': 'localhost'}}
            args = {
                'user_name': 'ximi', 
                'age': 21, 
                'ip': {
                    'ip_address': '192.168.2.1',
                    'host_name': 'localhost'
                    }
                }
            request = Record(**args)
            print ("Serialise with Reverse type conversion: \n", request.serialize())
            # Serialise with Reverse type conversion: 
            # {'user_name': 'Ximi', 'age': 21, 'ip': {'ip_address': '192.168.2.1', 'host_name': 'localhost'}}
        
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
