» Documentation | Releases | Issues | Source code | License | CrateDB | Community Forum
A high-level description about CrateDB, with cross-references to relevant resources in the spirit of a curated knowledge backbone.
CrateDB is a distributed and scalable SQL database for storing and analyzing massive amounts of data in near real-time, even with complex queries. It is based on Lucene, inherits technologies from Elasticsearch, and is compatible with PostgreSQL.
-
A few tidbits of structured docs.
-
The cratedb-outline.yaml file indexes documents about what CrateDB is and what you can do with it.
-
The about/v1 folder includes llms.txt files generated from cratedb-outline.yaml by expanding all links. They can be used to provide better context for conversations about CrateDB.
uv tool install --upgrade 'cratedb-about[all]'
uv tool install --upgrade 'cratedb-about[all] @ git+https://github.com/crate/about'
Convert knowledge outline from builtin cratedb-outline.yaml
into Markdown format.
cratedb-about outline --format=markdown > outline.md
Use a custom outline file on a local or remote filesystem.
cratedb-about outline --url https://github.com/crate/about/raw/refs/heads/main/src/cratedb_about/outline/cratedb-outline.yaml
When using this option, you will need to minimally install the package including
its manyio
extra like cratedb-about[manyio]
. After opting in, you can address
resources on many filesystems through the excellent filesystem-spec package.
Alternatively to the --url
option, you can also use the ABOUT_OUTLINE_URL
environment variable.
Use the Python API to retrieve individual sets of outline items, for example, by section name. The standard section names are: Docs, API, Examples, Optional. The API can be used to feed information to a Model Context Protocol (MCP) documentation server, for example, a subsystem of cratedb-mcp.
from cratedb_about import CrateDbKnowledgeOutline
# Load information from builtin YAML file.
outline = CrateDbKnowledgeOutline.load()
# Load information from remote YAML file.
# outline = CrateDbKnowledgeOutline.load("http://example.org/outline.yaml")
# List available section names.
outline.get_section_names()
# Retrieve information about resources from the "Docs" and "Examples" sections.
outline.find_items(section_name="Docs", as_dict=True)
outline.find_items(section_name="Examples", as_dict=True)
# Convert outline into Markdown format.
outline.to_markdown()
The Markdown file outline.md
serves as the source for generating the llms.txt
file.
llms_txt2ctx --optional=true outline.md > llms-full.txt
Generate multiple llms.txt
files along with any auxiliary output files.
export OUTDIR=./public_html
cratedb-about build
Ask questions about CrateDB from the command line.
export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
cratedb-about ask "CrateDB does not seem to provide an AUTOINCREMENT feature?"
Use the Python API to ask questions about CrateDB.
from cratedb_about import CrateDbKnowledgeConversation
knowledge = CrateDbKnowledgeConversation()
knowledge.ask("CrateDB does not seem to provide an AUTOINCREMENT feature?")
If you are running out of questions, get inspired by the standard library.
cratedb-about list-questions
To configure a different context file, use the CRATEDB_CONTEXT_URL
environment
variable. The default value is https://cdn.crate.io/about/v1/llms-full.txt.
Kudos to the authors of all the many software components and technologies this project is building upon.
The cratedb-about
package is an open source project, and is managed on
GitHub. Contributions of any kind are very much appreciated.