Metadata-Version: 1.1
Name: dynamodb-json
Version: 1.0.5
Summary: A DynamoDB json util from and to python objects
Home-page: https://github.com/Alonreznik/dynamodb-json
Author: Alon Reznik
Author-email: alonreznik@gmail.com
License: Mozilla
Description: # DynamoDB Json
        DynamoDB json util to load and dump strings of Dynamodb json format to python object and vise-versa
        
        # Install
        just use pip: 
        ```
        pip install dynamodb-json
        ```
        # Use
        
        The dyson json util works the same as json loads and dumps functions:
        ```python
        import time
        import uuid
        from datetime import datetime
        from decimal import Decimal
        
        from dynamodb_json import json_util as json
        
        json_ = {"MyString": "a",
                 "num": 4,
                 "MyBool": False,
                 "my_dict": {"my_date": datetime.utcnow()},
                 "MyNone": None,
                 "MyZero": 0,
                 "myDecimal": Decimal("19.2"),  # converts Decimal to float, load it as float
                 "myLong": long(1938475658493),
                 "MyNestedDict": {
                     "my_other_nested": {
                         "name": "John",
                         "surname": "Lennon",
                         "MyOtherNone": None,
                         "floaty": float(29.4),
                         "myList": [1, 3, 4, 5, 6, "This Is Sparta!"],
                         "mySet": {1, 3, 4, 5, 6},  # converts set to list, returns as list
                         "myUUID": uuid.uuid4(),  # converts uuid to string, loads it as string
                         "time": time.time()  # converts it to seconds python float, loads it as float
                     }
                 }
            }
        
        dynamodb_json = json.dumps(json_)
        
        # {
        # "my_dict": {"M": {"my_date": {"S": "2017-04-22T14:41:35.780000"}}}, 
        # "MyBool": {"BOOL": false}, "MyNone": {"NULL": true}, 
        # "MyNestedDict": {
        #   "M": {"my_other_nested": {
        #       "M": {"myUUID": {"S": "2f4ad21e098f49b18e22ad209779048b"}, 
        #             "surname": {"S": "Lennon"}, "name": {"S": "John"}, 
        #             "mySet": {"L": [{"N": "1"}, {"N": "3"}, {"N": "4"}, {"N": "5"}, {"N": "6"}]}, 
        #             "floaty": {"N": "29.4"}, "time": {"N": "1492872095.78"}, 
        #             "myList": {"L": [{"N": "1"}, {"N": "3"}, {"N": "4"}, {"N": "5"}, {"N": "6"}, {"S": "This Is Sparta!"}]}, 
        #             "MyOtherNone": {"NULL": true}}
        #             }
        #       }
        #   }, 
        # "myDecimal": {"N": "19.2"}, "num": {"N": "4"}, 
        # "MyString": {"S": "a"}, 
        # "myLong": {"N": "1938475658493"}, 
        # "MyZero": {"N": "0"}
        # }
        
        
        json.loads(dynamodb_json)
        
        # {'my_dict': {'my_date': datetime.datetime(2017, 4, 22, 14, 41, 35, 780000)}, 'MyBool': False, 'MyNone': None,
        #  'MyNestedDict': {
        #      'my_other_nested': {'myUUID': '2f4ad21e098f49b18e22ad209779048b', 
        #                          'surname': 'Lennon', 'name': 'John',
        #                          'mySet': [1, 3, 4, 5, 6], 
        #                          'floaty': 29.4, 
        #                          'time': 1492872095.78,
        #                          'myList': [1, 3, 4, 5, 6, 'This Is Sparta!'], 
        #                          'MyOtherNone': None
        #                          }
        #              }, 
        #  'myDecimal': 19.2,
        #  'num': 4, 
        #  'MyString': 'a', 
        #  'myLong': 1938475658493L, 
        #  'MyZero': 0
        # }
        ```
        
Keywords: python dynamodb amazon json aws
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 2.6
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
