DataTalksClub / DataTalksClub/website

GAP-2: package config API has no grouped batch with revision token and idempotent scope (D0.1b blocking gap)

Open
#359 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

foundation P1
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Blocking gap for D0.1c, found by the D0.1b inventory. The site's core/settings_batch.py provides grouped batch read/update with an optimistic revision token (SettingsRevisionConflict) and an idempotent batch scope (_idempotency_scope(scope, actor_ref)). The released package config API (v0.3.0) offers list/export/import and per-key PUT with no revision token and no batch idempotency. D0.1c must keep settings_batch.py as the writer over package Setting rows, or the package must grow batch support first. Evidence: _docs/adoption/settings-contract-inventory.md GAP-2.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read _docs/adoption/settings-contract-inventory.md for GAP-2, then inspect core/settings_batch.py and the released package config API described in the issue. Compare grouped batch operations, SettingsRevisionConflict, and _idempotency_scope(scope, actor_ref) with the package's list/export/import and per-key PUT behavior. Done means D0.1c has a safe writer path over package Setting rows, with the required batch revision and idempotency support available first.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.