A Wireshark-like display filter for dictionaries.
Project description
Python Dictionary Display Filter
A Wireshark-like display filter for Python dictionaries. This tool allows you to easily filter, analyze, and manipulate data in Python dictionaries. It offers a range of features including comparison operators, combining operators, membership operators, and more.
Table of Contents
Quick Start
Here's a simple example to get you started. First, install the package:
pip3 install python-dict-display-filter
Then, use it to filter a list of dictionaries:
from pydictdisplayfilter import DictDisplayFilter
actors = [
{"name": ["Laurence", "Fishburne"], "age": {"born": "1961"}, "gender": "male"},
{"name": ["Keanu", "Reeves"], "age": {"born": "1964"}, "gender": "male", "power": ["flight", "bullet-time"]},
{"name": ["Joe", "Pantoliano"], "age": {"born": "1951"}, "gender": "male"},
{"name": ["Carrie-Anne", "Moss"], "age": {"born": "1967"}, "gender": "female"}
]
ddf = DictDisplayFilter(actors)
# This will filter the list to show only male actors born between 1960 and 1965 whose names end with 'e'
filtered_actors = ddf.filter("gender == male and (age.born > 1960 and age.born < 1965) and name matches .*e$")
print(list(filtered_actors))
[{'name': ['Laurence', 'Fishburne'], 'age': {'born': '1961'}, 'gender': 'male'}]
For more details, please refer to the User Guide.
Features
Python Dictionary Display Filter supports a wide range of features, including:
- Comparison Operators:
==
,!=
,<=
,<
,>=
,>
,~=
,~
,&
- Combining Operators:
and
,or
,xor
,not
- Membership Operators:
in
- Types:
Text
,Number
,Date & Time
,Ethernet-
,IPv4-
,IPv6-Address
- Slicing:
Text
,Ethernet-
,IPv4-
,IPv6-Address
- Functions:
upper
,lower
,len
- Data Sources:
CSV
,Dictionaries
,JSON
,SQLite
For a detailed description of the individual features check out the User Guide.
Examples
For detailed examples of how the display filter can be utilized, please refer to the following:
Acknowledgements
This project wouldn't be possible without these awesome projects:
- wireshark display filter: Display filter for filtering network packages
- parameterized: Parameterized testing with any Python test framework
- pyparsing: Creating PEG-parsers made easy
- ipranger: Parsing and matching IPv4-addresses
- python-dateutil: Parsing and comparing dates
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python-dict-display-filter-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9c0ea92a73ad4ca563e12e2c4bc53cf463e56be9a617ae7295b9644d7aa38ce |
|
MD5 | 492ad44987d5131e7a2c48f0fb8b620c |
|
BLAKE2b-256 | 24eafd79fed36b547ac85578c18ea66b527ea61767deb7a797ad9c98945669fc |
Hashes for python_dict_display_filter-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1be865c3fc94e12ed6785d03865a7be6654310ddf5ed826e433dc2aea8a1a661 |
|
MD5 | f4f94868d4c8cd5a59252d04d0de22e5 |
|
BLAKE2b-256 | 9a7a82e1d0f6032781ad328ec9ff6a26ca8112da51b9b8da2217baba37693030 |