Metadata-Version: 2.1
Name: dictf
Version: 1.0.0
Summary: An extended Python dict implementation that supports multiple key selection with a pretty syntax.
Author-email: Eric Mendes <ericvelasco.2000@gmail.com>
Maintainer-email: Eric Mendes <ericvelasco.2000@gmail.com>
License: Copyright (c) 2016 The Python Packaging Authority (PyPA)
        
        Permission is hereby granted, free of charge, to any person obtaining a copy of
        this software and associated documentation files (the "Software"), to deal in
        the Software without restriction, including without limitation the rights to
        use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
        of the Software, and to permit persons to whom the Software is furnished to do
        so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/Eric-Mendes/dictf
Project-URL: Bug Reports, https://github.com/Eric-Mendes/dictf/issues
Project-URL: Source, https://github.com/Eric-Mendes/dictf
Keywords: data structures,data,dict,map
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: dev
License-File: LICENSE

# dictf
An extended Python dict implementation that supports multiple key selection with a pretty syntax.

## How to use it
First you install the package with pip
```bash
pip install dictf
```
Then you can use it like this:
```python
from dictf import dictf


example_dictf = dictf(name="Led Zepellin", singer="Robert Plant", guitarist="Jimmy Page")

print(example_dictf["name"])
>>> 'Led Zepellin'

print(example_dictf[["name"]])
>>> {'name': 'Led Zepellin'}

# The pandas inspired syntax makes it easy to understand how the lib works
print(example_dictf[["name", "singer"]])
>>> {'name': 'Led Zepellin', 'singer': 'Robert Plant'}

# The return type is a dictf whenever you use a list, tuple or set as key
print(type(example_dictf[["name", "singer"]]))
>>> dictf

# If one key doesn't exist, a KeyError is raised
print(example_dictf[["name", "singer", "drummer"]])
>>> KeyError
```
Currently you can not make multiple assignments at the same time, and I'm not sure we need to add this functionality. I'm open to suggestions, though!

## Contributing
Contributions are welcome and appreciated. Make sure to read our [guide for contributing](https://github.com/Eric-Mendes/dictf/blob/main/CONTRIBUTING.md) and don't forget to check out our [code of conduct](https://github.com/Eric-Mendes/dictf/blob/main/CODE_OF_CONDUCT.md).

Also, please do check out our other libs as well such as https://github.com/Eric-Mendes/unexpected-isaves.
