Metadata-Version: 2.1
Name: jsonmetamodel
Version: 0.1a0
Summary: Creates metaclasses for parameter definition and checking with taking respect to the jsonschema defined by https://json-schema.org/
Home-page: https://gitlab.com/david.scheliga/jsonschemamodel
Author: David Scheliga
Author-email: david.scheliga@gmx.de
License: GNU General Public License v3 (GPLv3)
Project-URL: Source Code Repository, https://gitlab.com/david.scheliga/jsonschemamodel
Description: # jsonmetamodel
        
        *jsonmetamodel* is used to provide a definition of struct like classes with direct
        type conversion, which are returning a *Mapping* type like *dict*.
        
        ## Installing
        
        Installing the latest release using pip is recommended.
        
        ````shell script
        $ pip install jsonmetamodel
        ````
        
        ## Basic Usage
        ```` python
        >>> from jsonmetamodel import JsonModel, JsonInteger, JsonString
        >>> class Person(JsonModel):
        ...     name = JsonString()
        ...     age = JsonInteger()
        ...
        >>> person = Person({"age": "65", "name": "Max Power"})
        >>> person
        MappingTreeItem({"age": 65, "name": "Max Power"})
        >>> person["age"]
        65
        >>> person.age
        65
        >>> person.age = 66
        >>> person.age
        66
        >>> dict(person)
        {"age": 65, "name": "Max Power"}
        ````
        
        ## Contribution
        
        Any contribution by reporting a bug or desired changes are welcomed. The preferred 
        way is to create an issue on the gitlab's project page, to keep track of everything 
        regarding this project.
        
        ### Contribution of Source Code
        #### Code style
        This project follows the recommendations of [PEP8](https://www.python.org/dev/peps/pep-0008/).
        The project is using [black](https://github.com/psf/black) as the code formatter.
        
        #### Workflow
        
        1. Fork the project on Gitlab.
        2. Commit changes to your own branch.
        3. Submit a **pull request** from your fork's branch to our branch *'dev'*.
        
        ## Authors
        
        * **David Scheliga** 
            [@gitlab](https://gitlab.com/david.scheliga)
            [@Linkedin](https://www.linkedin.com/in/david-scheliga-576984171/)
            - Initial work
            - Maintainer
        
        ## License
        
        This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the
        [LICENSE](LICENSE) file for details
        
        ## Acknowledge
        
        - [Code style: black](https://github.com/psf/black)
        - [PurpleBooth](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2)
        - [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
        
Keywords: jsonschema,dict,interfaces
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
