hurry.query


Namehurry.query JSON
Version 4.0 PyPI version JSON
download
home_pagehttps://github.com/zopefoundation/hurry.query
SummaryHigher level query system for zope.catalog.
upload_time2023-05-04 06:27:40
maintainer
docs_urlNone
authorInfrae
requires_python>=3.7
licenseZPL 2.1
keywords zope zope3 catalog index query
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Hurry Query
===========

The hurry query system for the zope.catalog builds on its catalog
indexes, as well as the indexes in zc.catalog. It is in part inspired
by AdvancedQuery for Zope 2 by Dieter Maurer, though has an independent
origin.

You can have a look at the doc tests in the package for more
information regarding the usage.


CHANGES
=======

4.0 (2023-05-04)
----------------

- Drop support for Python 2.7, 3.5, 3.6.

- Add support for Python 3.9, 3.10, 3.11.


3.2 (2020-11-16)
----------------

- Add support for Python 3.7.

- Add support for Python 3.8.

- Drop support for Python 3.4.

- Replace `time.clock` with `time.perf_counter` and fix deprecation warnings.

3.1 (2018-08-08)
----------------

- Add ``Ids`` term that include already known intids in a query.

3.0.0 (2018-01-19)
------------------

- Support for python 3.4, 3.5 and 3.6 in addition to python 2.7

- Cleanup in preparation for python3 support:

  Bugfixes:

  - API change: fix And(weighted=) keyword argument typo

  - API change: remove utterly broken ``include_minimum`` and ``include_maximum``
    arguments to SetBetween(), provide ``exclude_min`` and ``exclude_max`` instead.

  - API change: fix broken SetBetween.apply(): introduce ``cache`` arg

  - Fix ExtentNone() super delegation bug

  - Fix TimingAwareCaching.report() edge condition bug

  Major:

  - Remove unsupported transaction_cache

  Minor:

  - Clarify HURRY_QUERY_TIMING environment and searchResults(timing=) type

  - Fix TimingAwareCaching.report() output typo

  - Clarify Query.searchResults(caching=) argument type

  - Remove unreachable code path from And()

  Dev:

  - Maximize test coverage

  - Add Travis and Tox testing configurations

  - Bypass bootstrap.py

  - Various python3 compatibility preparations


2.6 (2018-01-10)
----------------

- Update dependencies not to rely on ZODB3 anymore.

2.5 (2017-07-17)
----------------

- `sort_field` can be a index name or an object providing `IIndexSort` itself.

- `searchResults()` accepts optional parameter `locate_to` and `wrapper`. The
  `locate_to` is used as the `__parent__` for the location proxy put arround
  the resulting objects. The `wrapper` is a callable callback that should
  accept one argument for its parameter.

2.4 (2017-06-22)
----------------

- Don't throw a TypeError slicing unsorted results, fixes #6

2.3 (2017-04-26)
----------------

- Define a "no result" result object, useful for case where application code
  has an custom API for building query terms, but this application code
  decides there is no query. Callers might still expect a result-like
  object.

2.2 (2017-04-26)
----------------

- The caching option to searchResults now accepts a dict-like value and it
  will use that to allow for caching results over multiple searchResults()
  calls. The cache invalidation then is the responsibility of the caller.

2.1 (2017-02-07)
----------------

- Add the possibility to time how long a query takes. It can be
  controlled with the new ``timing`` option to ``searchResults`` or
  the ``HURRY_QUERY_TIMING`` environment variable.

2.0.1 (2016-09-08)
------------------

- Fix log line in Text term for invalid text search.

2.0 (2016-09-07)
----------------

- Add new term: Difference. It does a difference between the first and
  the following terms passed as arguments.

- Add new term: Objects. It creates a result out of the objects passed
  in arguments. It let you mix real objects with existing catalog
  queries (with And, Or or Difference for instance).

- Add an option start to searchResult to skip the first results in the
  results set.

- Extend the result from searchResult. You have addition information
  on the result, including the total number of results without
  start/limit restriction. A method called first() return only the
  first result if available or none.

- Add an option caching to searchResult to cache the result of each
  terms within a Zope transaction, speeding similar queries. If
  disabled, terms will still be cached within the same query.


1.2 (2015-12-16)
----------------

* Add support for an All query.

1.1.1 (2012-06-22)
------------------

* ExtentNone in set.py missed a parameter ``index_id``. Thanks to Danilo
  Botelho for the bug report.

1.1.0 (2010-07-12)
------------------

* Allow the searchResults method of a Query to take an additional keyword
  argument `sort_field` that defines that defines (catalog_name, index_name) to
  sort on. That index in that catalog should implement IIndexSort.

  In addition to this keyword argument, `limit` and `reverse` keyword arguments
  can be passed too, that will limit the sorted resultset and/or reverse its
  order.

* Allow the searchResults method of a Query object to take an additional
  optional context argument. This context will determine which catalog
  the search is performed on.

1.0.0 (2009-11-30)
------------------

* Refresh dependencies. Use zope.catalog and zope.intid instead of
  zope.app.catalog and zope.app.intid respectively. Don't zope.app.zapi.

* Make package description more modern.

* Clean up the code style.

0.9.3 (2008-09-29)
------------------

* BUG: NotEq query no longer fails when all values in the index
  satisfy the NotEq condition.

0.9.2 (2006-09-22)
------------------

* First release on the cheeseshop.

0.9.1 (2006-06-16)
------------------

* Make zc.catalog a dependency of hurry.query.

0.9 (2006-05-16)
----------------

* Separate hurry.query from the other hurry packages. Eggification work.

* Support for ValueIndex from zc.catalog.

0.8 (2006-05-01)
----------------

Initial public release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zopefoundation/hurry.query",
    "name": "hurry.query",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "zope zope3 catalog index query",
    "author": "Infrae",
    "author_email": "zope-dev@zope.dev",
    "download_url": "https://files.pythonhosted.org/packages/00/ab/a42e79cc3e06c925c0a3045818963d4b79eae3149372a7e657add70a2739/hurry.query-4.0.tar.gz",
    "platform": null,
    "description": "Hurry Query\n===========\n\nThe hurry query system for the zope.catalog builds on its catalog\nindexes, as well as the indexes in zc.catalog. It is in part inspired\nby AdvancedQuery for Zope 2 by Dieter Maurer, though has an independent\norigin.\n\nYou can have a look at the doc tests in the package for more\ninformation regarding the usage.\n\n\nCHANGES\n=======\n\n4.0 (2023-05-04)\n----------------\n\n- Drop support for Python 2.7, 3.5, 3.6.\n\n- Add support for Python 3.9, 3.10, 3.11.\n\n\n3.2 (2020-11-16)\n----------------\n\n- Add support for Python 3.7.\n\n- Add support for Python 3.8.\n\n- Drop support for Python 3.4.\n\n- Replace `time.clock` with `time.perf_counter` and fix deprecation warnings.\n\n3.1 (2018-08-08)\n----------------\n\n- Add ``Ids`` term that include already known intids in a query.\n\n3.0.0 (2018-01-19)\n------------------\n\n- Support for python 3.4, 3.5 and 3.6 in addition to python 2.7\n\n- Cleanup in preparation for python3 support:\n\n  Bugfixes:\n\n  - API change: fix And(weighted=) keyword argument typo\n\n  - API change: remove utterly broken ``include_minimum`` and ``include_maximum``\n    arguments to SetBetween(), provide ``exclude_min`` and ``exclude_max`` instead.\n\n  - API change: fix broken SetBetween.apply(): introduce ``cache`` arg\n\n  - Fix ExtentNone() super delegation bug\n\n  - Fix TimingAwareCaching.report() edge condition bug\n\n  Major:\n\n  - Remove unsupported transaction_cache\n\n  Minor:\n\n  - Clarify HURRY_QUERY_TIMING environment and searchResults(timing=) type\n\n  - Fix TimingAwareCaching.report() output typo\n\n  - Clarify Query.searchResults(caching=) argument type\n\n  - Remove unreachable code path from And()\n\n  Dev:\n\n  - Maximize test coverage\n\n  - Add Travis and Tox testing configurations\n\n  - Bypass bootstrap.py\n\n  - Various python3 compatibility preparations\n\n\n2.6 (2018-01-10)\n----------------\n\n- Update dependencies not to rely on ZODB3 anymore.\n\n2.5 (2017-07-17)\n----------------\n\n- `sort_field` can be a index name or an object providing `IIndexSort` itself.\n\n- `searchResults()` accepts optional parameter `locate_to` and `wrapper`. The\n  `locate_to` is used as the `__parent__` for the location proxy put arround\n  the resulting objects. The `wrapper` is a callable callback that should\n  accept one argument for its parameter.\n\n2.4 (2017-06-22)\n----------------\n\n- Don't throw a TypeError slicing unsorted results, fixes #6\n\n2.3 (2017-04-26)\n----------------\n\n- Define a "no result" result object, useful for case where application code\n  has an custom API for building query terms, but this application code\n  decides there is no query. Callers might still expect a result-like\n  object.\n\n2.2 (2017-04-26)\n----------------\n\n- The caching option to searchResults now accepts a dict-like value and it\n  will use that to allow for caching results over multiple searchResults()\n  calls. The cache invalidation then is the responsibility of the caller.\n\n2.1 (2017-02-07)\n----------------\n\n- Add the possibility to time how long a query takes. It can be\n  controlled with the new ``timing`` option to ``searchResults`` or\n  the ``HURRY_QUERY_TIMING`` environment variable.\n\n2.0.1 (2016-09-08)\n------------------\n\n- Fix log line in Text term for invalid text search.\n\n2.0 (2016-09-07)\n----------------\n\n- Add new term: Difference. It does a difference between the first and\n  the following terms passed as arguments.\n\n- Add new term: Objects. It creates a result out of the objects passed\n  in arguments. It let you mix real objects with existing catalog\n  queries (with And, Or or Difference for instance).\n\n- Add an option start to searchResult to skip the first results in the\n  results set.\n\n- Extend the result from searchResult. You have addition information\n  on the result, including the total number of results without\n  start/limit restriction. A method called first() return only the\n  first result if available or none.\n\n- Add an option caching to searchResult to cache the result of each\n  terms within a Zope transaction, speeding similar queries. If\n  disabled, terms will still be cached within the same query.\n\n\n1.2 (2015-12-16)\n----------------\n\n* Add support for an All query.\n\n1.1.1 (2012-06-22)\n------------------\n\n* ExtentNone in set.py missed a parameter ``index_id``. Thanks to Danilo\n  Botelho for the bug report.\n\n1.1.0 (2010-07-12)\n------------------\n\n* Allow the searchResults method of a Query to take an additional keyword\n  argument `sort_field` that defines that defines (catalog_name, index_name) to\n  sort on. That index in that catalog should implement IIndexSort.\n\n  In addition to this keyword argument, `limit` and `reverse` keyword arguments\n  can be passed too, that will limit the sorted resultset and/or reverse its\n  order.\n\n* Allow the searchResults method of a Query object to take an additional\n  optional context argument. This context will determine which catalog\n  the search is performed on.\n\n1.0.0 (2009-11-30)\n------------------\n\n* Refresh dependencies. Use zope.catalog and zope.intid instead of\n  zope.app.catalog and zope.app.intid respectively. Don't zope.app.zapi.\n\n* Make package description more modern.\n\n* Clean up the code style.\n\n0.9.3 (2008-09-29)\n------------------\n\n* BUG: NotEq query no longer fails when all values in the index\n  satisfy the NotEq condition.\n\n0.9.2 (2006-09-22)\n------------------\n\n* First release on the cheeseshop.\n\n0.9.1 (2006-06-16)\n------------------\n\n* Make zc.catalog a dependency of hurry.query.\n\n0.9 (2006-05-16)\n----------------\n\n* Separate hurry.query from the other hurry packages. Eggification work.\n\n* Support for ValueIndex from zc.catalog.\n\n0.8 (2006-05-01)\n----------------\n\nInitial public release.\n",
    "bugtrack_url": null,
    "license": "ZPL 2.1",
    "summary": "Higher level query system for zope.catalog.",
    "version": "4.0",
    "project_urls": {
        "Homepage": "https://github.com/zopefoundation/hurry.query"
    },
    "split_keywords": [
        "zope",
        "zope3",
        "catalog",
        "index",
        "query"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93c07e078b5bff4bf15edeb95710851b87cf2a7edc3b8851e72730c4e74c8974",
                "md5": "071f4fac0b47f37cc094ff709d3ff99f",
                "sha256": "4c3e380ae8f8740d82e01c3e176052d7dd06c24428365b55a55daf5225b493a1"
            },
            "downloads": -1,
            "filename": "hurry.query-4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "071f4fac0b47f37cc094ff709d3ff99f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 17868,
            "upload_time": "2023-05-04T06:27:36",
            "upload_time_iso_8601": "2023-05-04T06:27:36.633239Z",
            "url": "https://files.pythonhosted.org/packages/93/c0/7e078b5bff4bf15edeb95710851b87cf2a7edc3b8851e72730c4e74c8974/hurry.query-4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "00aba42e79cc3e06c925c0a3045818963d4b79eae3149372a7e657add70a2739",
                "md5": "84a004c5ca53121048eb1b2e0a785df7",
                "sha256": "cae6bd1784cf227a7f0e8ab3aca29062ee2288a5886be4fadb4cdcb72251ab4f"
            },
            "downloads": -1,
            "filename": "hurry.query-4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "84a004c5ca53121048eb1b2e0a785df7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 23244,
            "upload_time": "2023-05-04T06:27:40",
            "upload_time_iso_8601": "2023-05-04T06:27:40.429097Z",
            "url": "https://files.pythonhosted.org/packages/00/ab/a42e79cc3e06c925c0a3045818963d4b79eae3149372a7e657add70a2739/hurry.query-4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-04 06:27:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zopefoundation",
    "github_project": "hurry.query",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "hurry.query"
}
        
Elapsed time: 0.06255s