Skip to content
/ about Public

Information about CrateDB, for humans and machines.

License

Notifications You must be signed in to change notification settings

crate/about

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About CrateDB

Bluesky

CI Coverage License Release Notes

Status PyPI Version Python Versions Downloads per month

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

What's inside

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

Install

From PyPI

uv tool install --upgrade 'cratedb-about[all]'

From Repository

uv tool install --upgrade 'cratedb-about[all] @ git+https://github.com/crate/about'

Usage

Outline

CLI

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.

API

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

llms-txt

Build

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

Query

Ask questions about CrateDB from the command line.

CLI

export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
cratedb-about ask "CrateDB does not seem to provide an AUTOINCREMENT feature?"

API

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.

Project Information

Acknowledgements

Kudos to the authors of all the many software components and technologies this project is building upon.

Contributing

The cratedb-about package is an open source project, and is managed on GitHub. Contributions of any kind are very much appreciated.