D
Size: a a a
П

ТК
GC
ТК
GC
RI
In [91]: pprint(objs)Внутреннее AST представление:
[{'date': datetime.date(2021, 1, 2), 'name': 'Hello World'},
{'date': datetime.date(2020, 12, 31), 'name': 'Hello World'},
{'date': datetime.date(2021, 1, 3), 'name': 'ololo'}]
In [92]: print(query)
name eq 'Hello World' and date gt 2021-01-01
In [93]: pprint(filter_odata(objs, query))
[{'date': datetime.date(2021, 1, 2), 'name': 'Hello World'}]
BoolOp(op=And(), left=Compare(comparator=Eq(), left=Identifier(name='name'), right=String(val='Hello World')), right=Compare(comparator=Gt(), left=Identifier(name='date'), right=Date(val='2021-01-01')))И всего одна зависимость помимо самой либы. Шикарно.
MM
.
├── Dockerfile
├── __init__.py
├── genproto.py
├── misc
│ ├── __init__.py
│ ├── config.py
│ └── logging.py
├── requirements.txt
└── test_genproto.py
from .genproto import get_version_from_file
__init__.py:1: in <module>
from . import genproto
genproto.py:13: in <module>
from misc import config
E ModuleNotFoundError: No module named 'misc'
from misc import config
MM
pytest test_genproto.py::test_check_generated_version_on_client_for_python
MM
АФ