Metadata-Version: 2.1
Name: grokcore.catalog
Version: 4.0
Summary: Grok-like configuration for catalog and indexes
Home-page: https://github.com/zopefoundation/grokcore.catalog
Author: Grok Team
Author-email: zope-dev@zope.dev
License: ZPL 2.1
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Framework :: Zope :: 3
Provides-Extra: test
License-File: LICENSE.txt

Grok
****

What is grok?
=============

Grok is a smashing web framework based on `Zope Toolkit`_ technology.

.. _`Zope Toolkit`: http://docs.zope.org/zopetoolkit

Grok uses the Component Architecture and builds on Zope concepts like
content objects (models), views, and adapters.  Its simplicity lies in
using **convention over configuration** and **sensible defaults** when
wiring components together.  That means neither a configuration
language like ZCML nor a lot of repetition are needed to create a web
application with grok.

You can find out much more about Grok at our http://grok.zope.org
website.

Who is grok?
============

Grok is a friendly caveman from the Stone Age.  He has a big club that
he hunts mammoths with.  He will also use this club to smash anything
he doesn't like.

"ME GROK SMASH ZCML!"

Getting grok
============

The easiest way to get started with grok is to install the
`grokproject <https://pypi.org/project/grokproject/>`_ package
(e.g. via ``pip install grokproject``) and then create a new project
area by calling the ``grokproject`` script like so::

  $ grokproject MyProject
  ... many lines of output here

This will create a project area in ``MyProject`` as well as download
and install grok.

You can also get grok from GitHub::

  git clone git@github.com:zopefoundation/grok.git

Then follow the instructions of ``INSTALL.txt``.

CHANGES
*******

4.0 (2023-07-12)
================

- Add support for Python 3.7, 3.8, 3.9, 3.10, 3.11.

- Drop support for Python 2.7, 3.4, 3.5, 3.6.

- Fix tests to be able to run with ``zope.component >= 5``.


3.0.1 (2018-01-12)
==================

- Rearrange tests such that Travis CI can pick up all functional tests too.

3.0.0 (2018-01-05)
==================

- Python 3 compatibility.

2.3 (2017-08-11)
================

- Introduce IntId index that is more optimized to index values by their int ids.

2.2.1 (2016-01-29)
==================

- Update tests.

2.2 (2015-11-20)
================

- Introduce Datetime index that's more optimized for index datetime objects.
  Please note the index uses seconds-resolution (the integer timestamp
  representing the datetime's value).

2.1 (2015-06-11)
================

- Make possible to install a catalog in a site on a different event
  than ``IObjectAddedEvent`` using the ``grokcore.site.install_on``
  directive.

2.0 (2013-05-07)
================

- Rename IIndexDefinition and IndexDefinition into IAttributeIndexDefinition
  and AtributeIndexDefinition respectively. This is used for the current
  index "classes" and allow for setup() magic for attribute indexes when
  creating new catalogs.

  This allows for IIndexDefinition and IndexDefinition to be used for
  simpler catalog index definitions where no Grok magic is applied when
  creating catalogs.

1.0 (2012-05-01)
================

* Initial fork from Grok.
