Metadata-Version: 2.1
Name: objectmodel
Version: 0.1
Summary: Python typed object schema validation
Home-page: https://github.com/bshishov/objectmodel
Author: Boris Shishov
Author-email: borisshishov@gmail.com
License: MIT
Description: # objectmodel
        Python typed object model for schema creation and validation
        
        A bit unpythonic object definition, but sometimes things should be strict and typed :)
        Ideal for protocols and schemas.
        
        Objects populated by ObjectModel class guarantee to match the desired state and fully serializable at any time.
        
        # Installation
        
        This library is still in a development state, so please dont use it right away - the API might change at any time
        ```
        pip install -i https://test.pypi.org/simple/ objectmodel
        ```
        
        
        # TODO
        
        * Performance benchmarks (ObjectModel vs plain object, namedtuple, dict)
        * `__state__: Dict[str, Any]` vs dynamically populated `__slots__`
        * Better validation and state ensurance
        * Strict collections (`ObjectModelList` and `ObjectModelDict`)?
          * Separate key and value validation for collections
        * Better field API
          * Predefined fields (`StringField`, `IntField`, `FloatField`)
        * Proxy fields:
           * `MethodField` or `ComputedField`
        * Readonly fields
        * More tests!
        * More examples
        * Auto-deployment to PyPI
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.5
Description-Content-Type: text/markdown
