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.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6f1a5ac46e67313fb6c7e0d848b1470abbcf608119196377e4ecfbf967dc235 |
|
MD5 | 10f9b9dd48d1c0f25b10c9992f2b9355 |
|
BLAKE2b-256 | 6574690922044f854c70e9a230374e81d94004898ccd7868d1c57ac7194bee64 |
Hashes for python_dict_display_filter-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c6aed466e51b4dde974a649be5b97fefbac7088a98d3185912641da1a86d0bd |
|
MD5 | c2554c1349f14de7622f124cc2b98a2f |
|
BLAKE2b-256 | d511280321e17a1e9fdff6e548d714c3c911df87a48a86e1628492a0cb11c142 |