Add `dkit update-data` to refresh the data files from the official docs
Maintainers usually reply within 1 day
@gtref is already working on this.
Since Oct 27, 2026.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
Research direction
Start with CONTRIBUTING.md’s “Updating the data files” section and trace how the existing CLI commands load and write their JSON data. The issue does not name specific source files or tests, so locate the command entry points and data fixtures first. Add the opt-in maintainer command, then test parsing against committed .mdx fixtures; done means --check detects a stale value and --write produces a clean diff.
Written by the indexing model from the issue text.
Description
Updating a data file is currently a careful manual diff (see CONTRIBUTING.md). A maintainer command could do the fetching and parsing, while keeping the human in the loop.
What to build
An opt-in maintainer command that fetches the four .mdx sources from discord/discord-api-docs, parses the relevant tables, and reports differences:
dkit update-data --check→ exit1if a data file is out of date, printing a diff. Ideal for a scheduled CI job.dkit update-data --write→ update the JSON files and bumplast_verified.
Important design constraint
dkit's promise is that it works entirely offline with no dependencies, and this command must not break that:
- Use
urllib.requestonly — no new dependencies. - Import the networking lazily inside
run(), so no other command can reach network code. - Document it clearly as a maintainer tool, and consider gating it behind an extra such as
pip install dkit-cli[maintainer]. - Never fetch at runtime for a normal command.
Done when --check detects a deliberately stale value, --write produces a clean diff, and the parsers are tested against committed sample .mdx fixtures rather than live network calls.
- Dominant language
- Python
- Stars
- 1
- Forks
- 7
- Avg merge
- 5h 37m
- Merged PRs (30d)
- 31
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Bytewave1/dkit
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
test: fail when a file in `src/dkit/data/` is not registered in `DATASETS`Possibly taken A pull request linked to this issue is open or already merged. Opengood first issue testing
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement good first issue new command
Difficulty 3/5 1-2 days Newbie friendliness 48/100
Maintainers usually reply within 1 day
-
enhancement good first issue new command
Difficulty 3/5 1-2 days Newbie friendliness 75/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
aws-samples/sample-per-model-bedrock#639 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 86/100
awslabs/visual-asset-management-system#937 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
project-codeflare/codeflare-sdk#1195 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
pandas-dev/pandas-stubs#2051 ·
Maintainers usually reply within 1 day