Metadata-Version: 2.4
Name: implicitdict
Version: 4.0.1
Summary: ImplicitDict base class that turns a subclass into a dict indexing attributes, making [de]serialization easy for complex typing-annotated data types.
Author-email: InterUSS Platform <tsc@lists.interussplatform.org>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/interuss/implicitdict
Project-URL: Bug Tracker, https://github.com/interuss/implicitdict/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: arrow
Requires-Dist: jsonschema
Requires-Dist: pytimeparse
Dynamic: license-file

# implicitdict

This library primarily provides the `ImplicitDict` base class which enables the inheriting class to implicitly be treated like a `dict` with entries corresponding to the fields of the inheriting class.  Simple example:

```python
class MyData(ImplicitDict):
    foo: str
    bar: int = 0
    baz: Optional[float]

data: MyData = ImplicitDict.parse({'foo': 'asdf', 'bar': 1}, MyData)
assert json.dumps(data) == '{"foo": "asdf", "bar": 1}'
```

See [class documentation for `ImplicitDict`](https://github.com/interuss/implicitdict/blob/main/src/implicitdict/__init__.py) and [test_normal_usage.py](https://github.com/interuss/implicitdict/blob/main/tests/test_normal_usage.py) for more information.
