{"id":28545537,"url":"https://github.com/crate/about","last_synced_at":"2025-07-07T04:32:04.760Z","repository":{"id":288112262,"uuid":"966737328","full_name":"crate/about","owner":"crate","description":"Information about CrateDB, for humans and machines.","archived":false,"fork":false,"pushed_at":"2025-07-03T00:40:08.000Z","size":232,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-03T01:29:08.840Z","etag":null,"topics":["cratedb","knowledgebase","llm-context","llms-txt","llmstxt"],"latest_commit_sha":null,"homepage":"https://cdn.crate.io/about/v1/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crate.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-15T11:32:33.000Z","updated_at":"2025-07-03T00:40:09.000Z","dependencies_parsed_at":"2025-05-09T12:19:54.117Z","dependency_job_id":"fb7e87cd-4eae-4d2b-8fab-922aa0b32de5","html_url":"https://github.com/crate/about","commit_stats":null,"previous_names":["crate/about"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/crate/about","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fabout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fabout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fabout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fabout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crate","download_url":"https://codeload.github.com/crate/about/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fabout/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263244693,"owners_count":23436478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cratedb","knowledgebase","llm-context","llms-txt","llmstxt"],"created_at":"2025-06-09T23:08:02.107Z","updated_at":"2025-07-07T04:32:04.755Z","avatar_url":"https://github.com/crate.png","language":"Python","readme":"# About CrateDB\n\n[![Status][badge-status]][project-pypi]\n[![CI][badge-ci]][project-ci]\n[![Coverage][badge-coverage]][project-coverage]\n[![Downloads per month][badge-downloads-per-month]][project-downloads]\n\n[![License][badge-license]][project-license]\n[![Release Notes][badge-release-notes]][project-release-notes]\n[![PyPI Version][badge-package-version]][project-pypi]\n[![Python Versions][badge-python-versions]][project-pypi]\n\n» [Documentation]\n| [Releases]\n| [Issues]\n| [Source code]\n| [License]\n| [CrateDB]\n| [Community Forum]\n| [Bluesky]\n\nA high-level description about [CrateDB], with cross-references\nto relevant resources in the spirit of a curated knowledge backbone.\n\n\u003e CrateDB is a distributed and scalable SQL database for storing and\n\u003e analyzing massive amounts of data in near real-time, even with\n\u003e complex queries. It is based on Lucene, inherits technologies from\n\u003e Elasticsearch, and is compatible with PostgreSQL.\n\n## What's inside\n\nA workbench rig for information and knowledge management,\naiming to compress content authoring and curation processes,\nnothing big.\n\n### Abstract\n\n- **Structured documentation** based on a basic and generic [hierarchical outline].\n\n- **Utility programs** to parse [YAML] outline files and generate outputs\n  (e.g., [Markdown], [llms-txt]), supporting the authoring and\n  production process.\n\n- **Python API** that offers selective access to documentation\n  and knowledge resources by providing basic querying primitives to\n  inquire elements from the outline tree.\n\n### Applied\n\n- The `ask` subcommand uses [llms-txt] context files to answer questions\n  about a topic domain that would otherwise yield incomprehensible,\n  incomplete, or weak responses.\n\n- The compact Python API can be used by a [Model Context Protocol (MCP)]\n  documentation server to acquire information about the relevant topic\n  domain on demand.\n\n### Concrete\n\n- The outline file [cratedb-outline.yaml] file indexes documents about\n  what CrateDB is, what you can do with it, and how.\n\n- Context bundle files are published to the [about/v1] folder.\n  They can be used to provide better context for conversations about\n  CrateDB, for example, by using the `cratedb-about ask` subcommand.\n\n- The documentation subsystem of the [cratedb-mcp] package uses the\n  Python API to serve and consider relevant documentation resources\n  within its data flow procedures. It selects relevant resources mostly\n  based on the value of the `description` attribute of the outline\n  data model.\n\n## Install\n\nThe authors recommend using the [uv] package manager. Alternative\noptions are to use `pipx` or `pip install --user`.\n\n### From PyPI\n```shell\nuv tool install --upgrade 'cratedb-about[all]'\n```\n### From Repository\n```shell\nuv tool install --upgrade 'cratedb-about[all] @ git+https://github.com/crate/about'\n```\n\n## Usage\n\nThe `cratedb-about` package provides three subsystems.\n\n- Outline: Read and inquire outline files.\n- Bundle: Produce a context bundle from an outline file.\n- Query: Use context information for conversations with LLMs.\n\n### Outline\n\n#### CLI\nConvert knowledge outline from built-in `cratedb-outline.yaml` into Markdown format.\n```shell\ncratedb-about outline --format=\"markdown\" \u003e outline.md\n```\nUse the `llms-txt` format to directly generate [llms-txt] compatible output.\n```shell\ncratedb-about outline --format=\"llms-txt\" \u003e llms.txt\n```\nUse the `--optional` flag to include the \"Optional\" section for\ngenerating the `llms-full.txt` file.\n```shell\ncratedb-about outline --format=\"llms-txt\" --optional \u003e llms-full.txt\n```\n\nUse a custom outline file on a local or remote filesystem.\n```shell\ncratedb-about outline --url https://github.com/crate/about/raw/refs/heads/main/src/cratedb_about/outline/cratedb-outline.yaml\n```\nWhen using this option, you will need to minimally install the package including\nits `manyio` extra like `cratedb-about[manyio]`. After opting in, you can address\nresources on many filesystems through the excellent [filesystem-spec] package.\nAlternatively to the `--url` option, you can also use the `ABOUT_OUTLINE_URL`\nenvironment variable.\n\n#### API\nUse the Python API to retrieve individual sets of outline items, for example,\nby section name. The standard section names are: Docs, API, Examples, Optional.\n```python\nfrom cratedb_about import CrateDbKnowledgeOutline\n\n# Load information from the built-in YAML file.\noutline = CrateDbKnowledgeOutline.load()\n\n# Load information from a remote YAML file.\n# outline = CrateDbKnowledgeOutline.load(\"http://example.org/outline.yaml\")\n\n# List available section names.\noutline.get_section_names()\n\n# Retrieve information about resources from the \"Docs\" and \"Examples\" sections.\noutline.find_items(section_name=\"Docs\").to_dict()\noutline.find_items(section_name=\"Examples\").to_dict()\n\n# Convert outline into Markdown format.\noutline.to_markdown()\n\n# Convert outline into llms-txt format (medium).\noutline.to_llms_txt()\n\n# Convert outline into llms-txt format (full).\noutline.to_llms_txt(optional=True)\n```\n\n### Bundle\nThe Markdown file `outline.md` serves as the source for producing the\n`llms.txt` files. Generate multiple `llms.txt` files along with any\nauxiliary output files.\n```shell\ncratedb-about bundle --format=llm --outdir=./public_html\n```\nBy default, the bundler will use the built-in `cratedb-outline.yaml` as input file.\nYou can select an alternative input file using the `--url` option, or the\n`ABOUT_OUTLINE_URL` environment variable. The output directory can\nalso be specified using the `OUTDIR` environment variable.\n\n### Query\nAsk questions about CrateDB from the command line.\n#### CLI\n```shell\nexport OPENAI_API_KEY=\u003cYOUR_OPENAI_API_KEY\u003e\ncratedb-about ask \"CrateDB does not seem to provide an AUTOINCREMENT feature?\"\n```\nIf you are running out of questions, get inspired by the standard library.\n```shell\ncratedb-about list-questions\n```\n#### API\nUse the Python API to ask questions about CrateDB.\n```python\nfrom cratedb_about import CrateDbKnowledgeConversation\n\nknowledge = CrateDbKnowledgeConversation()\nknowledge.ask(\"CrateDB does not seem to provide an AUTOINCREMENT feature?\")\n```\n#### Notes\n- To configure a different context file, use the `ABOUT_CONTEXT_URL`\n  environment variable. It can be a remote URL or a path on the local filesystem.\n  The default value is \u003chttps://cdn.crate.io/about/v1/llms-full.txt\u003e.\n- Remote resources will be cached for one hour (3600 seconds) to strike the\n  balance between freshness and resource saving. Use the `ABOUT_CACHE_TTL`\n  environment variable to reconfigure that value in seconds.\n\n## FAQ\n\n- Q: Seriously, how do I use this?\n\n  A: As mentioned above, this repository includes content and a few utilities\n  to manage corresponding information. Users will directly use the produced\n  [llms.txt] and [llms-full.txt] files. Developers will install the [cratedb-about]\n  package to access fundamental outline information in their own programs\n  programmatically, or to invoke fragments of the production machinery\n  on their premises, either ad hoc, or by including it in automated pipelines.\n\n- Q: It looks like the knowledge base machinery is missing important information\n  about CrateDB. I've asked it about matters of polymer sharding, and the answer\n  wasn't very insightful.\n\n  A: Well, we can understand your disappointment. To improve the situation,\n  we are constantly curating content, and you can support the process by giving\n  us hints about which fragments of information to include in the set of\n  curated information. To learn about what this means, see also [ABOUT-24].\n\n## Project Information\n\n### Acknowledgements\nKudos to the authors of all the many software components and technologies\nthis project is building upon.\n\n### Contributing\nThe `cratedb-about` package is an open source project, and is [managed on\nGitHub]. Contributions of any kind are welcome and appreciated.\n\n### Status\nThe software is in the pre-alpha (planning) stage. Version pinning is strongly\nrecommended, especially if you use it as a library.\n\n\n[ABOUT-24]: https://github.com/crate/about/issues/24\n[about/v1]: https://cdn.crate.io/about/v1/\n[CrateDB]: https://cratedb.com/database\n[cratedb-about]: https://pypi.org/project/cratedb-about/\n[cratedb-mcp]: https://github.com/crate/cratedb-mcp\n[cratedb-outline.yaml]: https://github.com/crate/about/blob/main/src/cratedb_about/outline/cratedb-outline.yaml\n[filesystem-spec]: https://filesystem-spec.readthedocs.io/\n[hierarchical outline]: https://en.wikipedia.org/wiki/Outline_(list)\n[llms-txt]: https://llmstxt.org/\n[llms.txt]: https://cdn.crate.io/about/v1/llms.txt\n[llms-full.txt]: https://cdn.crate.io/about/v1/llms-full.txt\n[Markdown]: https://daringfireball.net/projects/markdown/\n[Model Context Protocol (MCP)]: https://modelcontextprotocol.io/introduction\n[uv]: https://docs.astral.sh/uv/\n[YAML]: https://en.wikipedia.org/wiki/Yaml\n\n[Bluesky]: https://bsky.app/search?q=cratedb\n[Community Forum]: https://community.cratedb.com/\n[Documentation]: https://github.com/crate/about\n[Issues]: https://github.com/crate/about/issues\n[License]: https://github.com/crate/about/blob/main/LICENSE\n[managed on GitHub]: https://github.com/crate/about\n[Source code]: https://github.com/crate/about\n[Releases]: https://github.com/crate/about/releases\n\n[badge-ci]: https://github.com/crate/about/actions/workflows/tests.yml/badge.svg\n[badge-coverage]: https://codecov.io/gh/crate/about/branch/main/graph/badge.svg\n[badge-downloads-per-month]: https://pepy.tech/badge/cratedb-about/month\n[badge-license]: https://img.shields.io/github/license/crate/about.svg\n[badge-package-version]: https://img.shields.io/pypi/v/cratedb-about.svg\n[badge-python-versions]: https://img.shields.io/pypi/pyversions/cratedb-about.svg\n[badge-release-notes]: https://img.shields.io/github/release/crate/about?label=Release+Notes\n[badge-status]: https://img.shields.io/pypi/status/cratedb-about.svg\n[project-ci]: https://github.com/crate/about/actions/workflows/tests.yml\n[project-coverage]: https://app.codecov.io/gh/crate/about\n[project-downloads]: https://pepy.tech/project/cratedb-about/\n[project-github]: https://github.com/crate/about\n[project-license]: https://github.com/crate/about/blob/main/LICENSE\n[project-pypi]: https://pypi.org/project/cratedb-about\n[project-release-notes]: https://github.com/crate/about/releases\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrate%2Fabout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrate%2Fabout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrate%2Fabout/lists"}