Skip to main content

Grok-like configuration for catalog and indexes

Project description

Grok

What is grok?

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

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 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

5.0 (2025-06-18)

  • Replace pkg_resources namespace with PEP 420 native namespace.

4.1 (2025-05-28)

  • Add support for Python 3.12, 3.13.

  • Drop support for Python 3.7, 3.8.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grokcore_catalog-5.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

grokcore_catalog-5.0-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file grokcore_catalog-5.0.tar.gz.

File metadata

  • Download URL: grokcore_catalog-5.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for grokcore_catalog-5.0.tar.gz
Algorithm Hash digest
SHA256 e2db655d3dda02c7852b2eced9548f52e802e6f732febf63262d83449b659001
MD5 346d92306e08b858eb3c680695ae8703
BLAKE2b-256 5f259a6cc6b5f2a72cae6ae1694807d8e5c9760ff80386e2992f2549caa3b1f2

See more details on using hashes here.

File details

Details for the file grokcore_catalog-5.0-py3-none-any.whl.

File metadata

  • Download URL: grokcore_catalog-5.0-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for grokcore_catalog-5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7eabec72222153eec3c1283d4b9b42f7ff706791ac3eb8bc6fad66d8023b9238
MD5 b2a0a9151d9c41b01b2a252874150a32
BLAKE2b-256 4b351e044d8c59c62f23a90147949200b60d2e686cea825676287a1e8f8ac701

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page