Port variant py310
Summary JSON Matching Expressions (3.10)
Package version 1.0.0
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants py39
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 27 MAR 2022, 15:43:20 UTC
Port created 28 SEP 2017, 20:31:25 UTC
Subpackage Descriptions
single JMESPath ======== JMESPath (pronounced "james path") allows you to declaratively specify how to extract elements from a JSON document. For example, given this document:: {"foo": {"bar": "baz"}} The jmespath expression ```` will return "baz". JMESPath also supports: Referencing elements in a list. Given the data:: {"foo": {"bar": ["one", "two"]}} The expression: ``[0]`` will return "one". You can also reference all the items in a list using the ``*`` syntax:: {"foo": {"bar": [{"name": "one"}, {"name": "two"}]}} The expression: ``[*].name`` will return ["one", "two"]. Negative indexing is also supported (-1 refers to the last element in the list). Given the data above, the expression ``[-1].name`` will return "two". The ``*`` can also be used for hash types:: {"foo": {"bar": {"name": "one"}, "baz": {"name": "two"}}} The expression: ``foo.*.name`` will return ["one", "two"]. Installation ============ You can install JMESPath from pypi with: .. code:: bash pip install jmespath API === The ```` library has two functions that operate on python data structures. You can use search and give it the jmespath expression and the data: .. code:: python >>> import jmespath >>> path ='', {'foo': {'bar': 'baz'}}) 'baz' Similar to the re module, you can use the compile function to compile the JMESPath expression and use this parsed expression to perform repeated searches: .. code:: python >>> import jmespath >>> expression = jmespath.compile('') >>>{'foo': {'bar': 'baz'}}) 'baz' >>>{'foo': {'bar': 'other'}}) 'other' This is useful if you're going to use the same jmespath expression to search multiple documents. This avoids having to reparse the JMESPath expression each time you search a new document. Options ------- You can provide an instance of ``jmespath.Options`` to control how a JMESPath expression is evaluated. The most common scenario for using an Options instance is if you want to have ordered output of your dict keys. To do this you can use either of these options: .. code:: python >>> import jmespath >>>'{a: a, b: b}', ... mydata, ... jmespath.Options(dict_cls=collections.OrderedDict)) >>> import jmespath >>> parsed = jmespath.compile('{a: a, b: b}') >>>, ... jmespath.Options(dict_cls=collections.OrderedDict)) Custom Functions ~~~~~~~~~~~~~~~~ The JMESPath language has numerous `built-in functions
Configuration Switches (platform-specific settings discarded)
PY310 ON Build using Python 3.10 PY39 OFF Build using Python 3.9
Package Dependencies by Type
Build (only) python-pip:single:py310
Build and Runtime python310:single:standard
Download groups
main mirror://PYPIWHL/ca/be/48152dbe2e16b1960fb7987639b2426a0609245041d63a2fa96d1ef88da3
Distribution File Information
e8dcd576ed616f14ec02eed0005c85973b5890083313860136657e24784e4c04 23602 jmespath-1.0.0-py3-none-any.whl
Ports that require python-jmespath:py310
python-botocore:py310 Low-level, data-driven core of boto 3 (3.10)