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.1 (2026-03-20)
Move package metadata from setup.py to pyproject.toml.
Add support for Python 3.14.
Drop support for Python 3.9.
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.
Release files for grokcore.catalog 5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grokcore_catalog-5.1.tar.gz | 20.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| grokcore_catalog-5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.9 kB
Release files / grokcore_catalog-5.1.tar.gz
| Download URL | grokcore_catalog-5.1.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ca5bf7789067320a93563109ee03076bea230932cefbd2997fc4b68c50a24df
|
|
BLAKE2b-256 checksum How to use checksums |
f9e875bc756dde6b89729b12d06b50e0c11a44b67ebc5ed85f33df8054171a93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / grokcore_catalog-5.1-py3-none-any.whl
| Download URL | grokcore_catalog-5.1-py3-none-any.whl |
|---|---|
| Size | 33.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
101dd0931f5954c33d6aec3eb85bce3901a92d144582c6ade7ac4c1e1dae5b3f
|
|
BLAKE2b-256 checksum How to use checksums |
be3b818a195a4db3333f9820c84407726e970d070ffd6e2d092a5ebcd39e5d5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|