Luqum

Latest version: v1.0.0

Safety actively analyzes 714736 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.0.0

==================

Fixed
-----

* parsetab.py file
* PyPI distribution procedure for devs

Added
-----

* Requirements for build and twine for devs

0.14.0

===================

Added
-----

* Support for Python 3.11, 3.12 and 3.13 (97 and 111, thanks to cclauss and alexgarel)
* Support for negative values in range (101, thanks to mesemus)
* Docs on OpenRangeTransformer (110, thanks to alexgarel)

Removed
-------

* Support for Python 3.6, 3.7, 3.8 and 3.9 (111, thanks to alexgarel)

Fixed
-----

* Improved global state management for lexer (109, thanks to Morikko)
* Recognize E_NESTED override (103, thanks to maksle)

0.13.0

===================

Added
-----

* Add support for unbounded ranges

Support is added for open ranges, i.e. inequality operators in
front of a term. In tree form, the < is named To, and > is named From.

Additionally, a TreeTransformer is also added, to convert these
open ranges to more traditional Range objects.

To properly support escaping, some adjustments were made to how escaping
sequences work. After careful evaluation of how Apache Lucene handles
escape sequences, it appears that random characters can be escaped, even
if they result in unknown escape sequences: the escaped character is
always yielded. This makes support for operations such as `<\=foo` a lot
less complicated.

There is no support in the ElasticsearchQueryBuilder.

0.12.1

===================

Fixed
-----

- Precedence for unknown operation and boost (89, thanks to JSCU-CNI)

0.12.0

===================

Changed
-------

- Boost can be implicit ; by default, the boost factor is 1

Added
-----

- Add support for Lucene and Elasticsearch Boolean operations (71, thanks to linefeedse):

* Introduce the BooleanOperation
* add its resolution in ElasticSearch transformer
* add it as a possible resolver for the unknown operation (no explicit operator in query)

- Set E element as ElasticsearchQueryBuilder's attributes (75, thanks to qcoumes):

This allows to override elements such as EMust, EWord, ...,
without the need of overriding ElasticsearchQueryBuilder's methods.

- Explicit support for Python 3.9 and Python 3.10 (76)
- Add a thread safe parse function (82)

Fixed
-----

- Cast TokenValue.__str__ return value to string (74, thanks to delkopiso)
- Isolated comma should be parsed as a Word (80)
- Better handling of escaped wildcards

Docs
----

- Add boolean operation to doc
- Fix quick start documentation
- Updated readthedocs instructions

CI
--

- Run tests with github actions
- Update all libraries for dev:

* switch from nose to pytest as nose is not python3.10 compatible
* remove old travis tests

0.11.0

===================

Changed
-------

- completely modified the naming module and `auto_name` function, as it was not practical as is.

Added
-----

- added tools to build visual explanations about why a request matches a results
(leveraging `elasticsearch named queries`__.
- added a visitor and transformer that tracks path to element while visiting the tree.

__ https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#request-body-search-queries-and-filters

Fixed
-----

- fixed the handling of names when transforming luqum tree to elasticsearch queries
and added integration tests.

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.