{"id":15708008,"url":"https://github.com/andersy005/dash-docsets","last_synced_at":"2026-04-08T03:00:51.339Z","repository":{"id":37842326,"uuid":"234809034","full_name":"andersy005/dash-docsets","owner":"andersy005","description":"My Dash (https://kapeli.com/dash) docsets. Live on the bleeding edge. Let the buyer beware ⚠️;)","archived":false,"fork":false,"pushed_at":"2026-04-08T01:02:09.000Z","size":2129,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-08T01:16:57.396Z","etag":null,"topics":["dash","dash-docsets","docsets","zeal"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andersy005.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-01-18T22:56:02.000Z","updated_at":"2026-04-08T00:51:48.000Z","dependencies_parsed_at":"2023-11-07T00:32:50.761Z","dependency_job_id":"b6f32f43-76f3-42e3-b118-e92f5ecdd192","html_url":"https://github.com/andersy005/dash-docsets","commit_stats":{"total_commits":287,"total_committers":3,"mean_commits":95.66666666666667,"dds":0.1149825783972126,"last_synced_commit":"1eb67ecbb51be292f87db3ed68055dff1afc76b3"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/andersy005/dash-docsets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersy005%2Fdash-docsets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersy005%2Fdash-docsets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersy005%2Fdash-docsets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersy005%2Fdash-docsets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andersy005","download_url":"https://codeload.github.com/andersy005/dash-docsets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersy005%2Fdash-docsets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31537791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dash","dash-docsets","docsets","zeal"],"created_at":"2024-10-03T20:43:33.268Z","updated_at":"2026-04-08T03:00:51.333Z","avatar_url":"https://github.com/andersy005.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/andersy005/dash-docsets/CI?logo=github\u0026style=for-the-badge)](https://github.com/andersy005/dash-docsets/actions)\n\n# Dash Docsets\n\nThis repo builds Dash docsets from upstream project docs and publishes them as release assets.\n\nThe short version is this:\n\n- It tracks fast-moving projects.\n- It rebuilds from current project docs.\n- It favors practical automation over perfect consistency.\n\nIf docs break upstream, a config tweak is usually enough to get back on track.\n\n![](./images/navigate.png)\n\n## What Gets Produced\n\n- `docsets/*.tar.gz` docset archives\n- `feeds/*.xml` Dash feed entries (one per docset)\n- optionally `feeds/README.md` when you run `update-feed-list`\n\n## Build Model\n\n`builder.py` drives the full process:\n\n1. clone or reuse each source repo under a temp workspace\n2. build docs using project-specific settings\n3. convert HTML output to a Dash docset (`doc2dash` or `html2dash`)\n4. archive docsets and write feed XML files\n\nBy default, each project is built in its own Pixi environment inside the cloned repo at:\n\n`\u003ccloned-repo\u003e/.dash-docsets-pixi/pyproject.toml`\n\nThis keeps project dependencies isolated and avoids polluting the root tooling environment.\nAll local commands now go through `builder.py`.\n\n## Prerequisites\n\n- [Pixi](https://pixi.sh/latest/)\n- Git\n- `tar`\n- `rsync` (used by `html2dash.py`)\n\n## Quick Start\n\n```bash\n# install root tooling environment\npixi install\n\n# build one config set\npixi run python builder.py build configs/arctic.yaml\n\n# regenerate local feed index markdown from local docsets/\npixi run python builder.py update-feed-list\n```\n\nBuild with an explicit release base URL:\n\n```bash\npixi run python builder.py build configs/arctic.yaml \\\n  --docset-base-url \"https://github.com/\u003cowner\u003e/\u003crepo\u003e/releases/download/docsets-latest\"\n```\n\n## CI and Release Flow\n\nGitHub Actions builds configured docsets, uploads artifacts, and refreshes a rolling release tag:\n\n`docsets-latest`\n\nBuild outputs from CI:\n\n- `*.tar.gz` docset archives\n- `*.xml` feed files\n- feed `README.md`\n\nUseful env vars in CI or local runs:\n\n- `DOCSET_BASE_URL` for archive links in feed entries\n- `FEED_ROOT_URL` for feed README links\n\n## Configuration\n\nBuild configs are YAML lists under `configs/` (for example `configs/arctic.yaml`).\n\nEach project entry supports:\n\n- `name` (required): docset name\n- `repo` (required): GitHub `owner/repo`\n- `generator`: `doc2dash` or `html2dash` (default: `doc2dash`)\n- `doc_dir`: docs root inside the repo (default: `docs`)\n- `doc_build_cmd`: command run in `doc_dir`\n- `html_pages_dir`: built HTML path relative to `doc_dir` (default: `_build/html`)\n- `install`: run `python -m pip install -e .` before build (default: `true`)\n- `use_pixi_env`: build in per-project Pixi env (default: `true`)\n- `pixi_python`: Python spec for project env (default: `3.13.*`)\n- `pixi_channels`: Pixi channels for project env (default: `[\"conda-forge\"]`)\n- `pixi_platforms`: Pixi platforms for project env (default: `[\"linux-64\", \"osx-arm64\"]`)\n- `pixi_dependencies`: extra per-project dependencies map\n\nExample:\n\n```yaml\n- name: xarray\n  repo: pydata/xarray\n  doc_dir: doc\n  html_pages_dir: _build/html\n  doc_build_cmd: sphinx-build -T -E -b html ./ _build/html\n  use_pixi_env: true\n  pixi_python: \"3.13.*\"\n  pixi_dependencies:\n    sphinx: \"\u003e=8\"\n    make: \"*\"\n```\n\n## Feeds\n\nPublished feed docs and feed XML files are attached to the rolling release tag:\n\n`docsets-latest`\n\nFor subscription instructions, see:\n\nhttps://github.com/andersy005/dash-docsets/releases/download/docsets-latest/README.md\n\n## Zeal Notes\n\nZeal can fail when subscribing to these feeds directly in some setups.\n\nIf that happens:\n\n1. Download the `.tar.gz` docset from the latest release assets.\n2. In Zeal, open `Edit -\u003e Preferences` and find your docset storage directory.\n3. Extract the archive into that directory:\n\n```bash\ntar -xzvf docset.tar.gz --directory /path/to/zeal/docsets\n```\n\n![](./images/zeal-failure.png)\n![](./images/zeal-failure-diag.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersy005%2Fdash-docsets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandersy005%2Fdash-docsets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersy005%2Fdash-docsets/lists"}