8000 docs: document local platform stack testing by bjoaquinc · Pull Request #27 · dlt-hub/dlthub-init · GitHub
[go: up one dir, main page]

Skip to content

docs: document local platform stack testing - #27

Merged
bjoaquinc merged 1 commit into
develfrom
chore/docs-local-stack
Sep 9, 2026
Merged

bjoaquinc merged 1 commit into
develfrom
chore/docs-local-stack

Conversation

@bjoaquinc
@bjoaquinc bjoaquinc commented Sep 9, 2026 •
Copy link
Copy Markdown
Contributor

Documents what happens after make workspace-local. The target pins the stack
URLs and prints the DLT_RUNTIME_INSECURE hint, but nothing covered login,
workspace connect or deploy, so every attempt rediscovers the same failures.

CONTRIBUTING.md

New ## Testing against a local platform stack section, placed next to Telemetry
and in the same shape (prose, env-var table, copy-paste commands):

  • TLS: DLT_RUNTIME_INSECURE (what workspace-local already prints) or
    SSL_CERT_FILE pointed at the mkcert root. Without one, every remote dlthub
    command dies on CERTIFICATE_VERIFY_FAILED.
  • Login: the device flow works; the default browser loopback flow fails against
    the local mock identity service with invalid_grant.
  • workspace connect and deploy, the __deployment__.py cron trigger snippet,
    and two gotchas: deploy registers schedules but never runs jobs, and
    destination="warehouse" is not defined in the scaffold.

Scoped to workspace-local. workspace-dev shares the connect and deploy steps
but not the TLS or login workarounds, since it sets neither DLT_RUNTIME_INSECURE
nor AUTH_BASE_URL; the section says so and says it is untested.

Verification

make lint passes. Every command in the section was run end to end against the
local stack: device login, workspace connect --create, then deploy
registering three cron-triggered jobs.

Worth a second look: the table lists DLT_RUNTIME_INSECURE first to match what
workspace-local prints, though SSL_CERT_FILE is the option that keeps TLS
verification on.

@bjoaquinc
bjoaquinc force-pushed the chore/docs-local-stack branch from c4ede11 to b4f769b Compare September 9, 2026 11:00
@bjoaquinc
bjoaquinc merged commit 6979fc5 into devel Sep 9, 2026
5 checks passed
@bjoaquinc
bjoaquinc deleted the chore/docs-local-stack branch September 9, 2026 11:02
bjoaquinc added a commit that referenced this pull request Sep 16, 2026
* Refresh uv.lock files (#17)

* Refresh uv.lock files

Ran uv lock --upgrade on the root project and the minimal_workspace scaffold.
Notable scaffold bumps: dlt 1.29.0 -> 1.29.1, duckdb 1.5.4 -> 1.5.5, sqlglot
30.13 -> 30.14, cryptography 49.0 -> 50.0, marimo 0.23.14 -> 0.23.16. Root bumps:
posthog, ruff, certifi. Added an [Unreleased] CHANGELOG entry for the scaffold
refresh.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Cap ruff below 0.16 to hold the lint ruleset

ruff 0.16 turns on new default lint rules that flag pre-existing code; adopting
them is a separate migration. Pin ruff <0.16 so the lock refresh does not drag
in a new ruleset. Re-locked the root (scaffold lock unaffected).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Release v0.2.6 (#18)

Refreshed the bundled minimal workspace uv.lock (dlt 1.29.0 -> 1.29.1, duckdb
1.5.4 -> 1.5.5, sqlglot 30.13 -> 30.14, cryptography 49.0 -> 50.0, marimo
0.23.14 -> 0.23.16). Capped ruff below 0.16 to hold the lint ruleset.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Refresh uv.lock files (#20)

Ran uv lock --upgrade on the root project and the minimal_workspace scaffold.
Notable scaffold bumps: dlt 1.29.1 -> 1.30.0, dlthub 0.29.0 -> 0.30.0, starlette
1.3.1 -> 1.6.0, sqlglot 30.14 -> 30.17, setuptools 83.0 -> 84.0. Root bumps:
ast-serialize, librt, mypy, posthog, charset-normalizer, packaging. ruff stays
capped below 0.16. Added an [Unreleased] CHANGELOG entry for the scaffold refresh.

* Release v0.2.7 (#21)

Refreshed the bundled minimal workspace uv.lock (dlt 1.29.1 -> 1.30.0, dlthub
0.29.0 -> 0.30.0, starlette 1.3.1 -> 1.6.0, sqlglot 30.14 -> 30.17, setuptools
83.0 -> 84.0) plus the root dev toolchain lock.

* Refresh uv.lock files (#22)

Ran uv lock --upgrade on the root project and the minimal_workspace scaffold.
Scaffold bumps: marimo 0.23.16 -> 0.24.0, dlthub-client 0.28.2 -> 0.28.3,
authlib 1.7.2 -> 1.8.0, cyclopts 4.22.5 -> 4.23.3, cryptography 50.0.0 ->
50.0.1, pydantic 2.13.4 -> 2.13.5, plus transitives; colorama dropped. Root
bumps: posthog 7.39.1 -> 7.45.1, pygments 2.20.0 -> 2.21.0, idna 3.18 -> 3.19.
dlt and dlthub had no in-constraint bump available.

This scaffold ships no marimo notebook, so the 0.24 bump needs no session
snapshot lockstep here. Added an [Unreleased] CHANGELOG entry. make ci is green.

* Release v0.2.8 (#23)

Bump 0.2.7 -> 0.2.8 (pyproject.toml + uv.lock) and promote the [Unreleased]
CHANGELOG section to 0.2.8.

Ships the lockfile refresh from #22: bundled minimal workspace scaffold picks up
marimo 0.23.16 -> 0.24.0, dlthub-client 0.28.2 -> 0.28.3, authlib 1.7.2 -> 1.8.0,
cyclopts 4.22.5 -> 4.23.3, cryptography 50.0.0 -> 50.0.1, pydantic 2.13.4 ->
2.13.5, plus transitives. Root dev toolchain picks up posthog 7.39.1 -> 7.45.1,
pygments and idna.

Patch level: dependency refresh only, no CLI behavior or API change. make ci and
dlthub-init --help are green.

* Run check-skills in CI (#26)

'make check-skills' was only reachable via 'make ci' locally, so skills/
drifting from the pinned workbench ref would not fail a pull request. Adds a
skills-check job mirroring lock-check.

Placed above lock-check rather than as another step in it, so this does not
collide with the workspace deps drift check landing in a separate PR.

* chore(scaffold): sync workspace deps with dlt WORKSPACE_DEPS and check for drift (#25)

* Add workspace deps sync and drift check

The bundled scaffold's dependency list is a copy of dlt's WORKSPACE_DEPS,
which upstream documents as kept in sync but nothing enforced. The copy sat
frozen at dlt's 2026-05-10 state and drifted.

scripts/sync_workspace_deps.py reads WORKSPACE_DEPS from the dlt wheel the
scaffold's uv.lock resolves, so the lock stays the only pin. It parses the
wheel rather than importing dlt, since dlthub-init deliberately does not
depend on dlt. 'make scaffold-deps-sync' rewrites the list, and
'make scaffold-deps-check' fails on drift in CI and 'make ci'.

BASE_SPECS (dlt[hub], dlthub, dlthub-client) is this repo's own prefix and is
never rewritten by a sync; trimming those is a separate decision.

* Sync scaffold deps with dlt 1.30.0 WORKSPACE_DEPS

Applies the first sync: adds s3fs>=2022.4.0 (dlt-hub/dlt#4044) and drops the
python_version >= '3.10' markers on ibis-framework and fastmcp, which upstream
removed with Python 3.9 support (dlt-hub/dlt#4074). Re-resolves the bundled
uv.lock.

s3fs pulls aiobotocore/aiohttp/botocore, taking a synced workspace from 415 MB
/ 120 packages to 444 MB / 133. Upstream carries it so the job and module
launchers can prune it from their runtime requirements and get it pinned from
the workspace lock instead of installing it unpinned at deploy time.

* Document local platform stack testing workflow (#27)

* feat(minimal-workspace): ship a .mcp.json registering the dlt workspace MCP server (#28)

* feat(minimal-workspace): ship a .mcp.json registering the dlt workspace MCP server

* docs(changelog): note the scaffolded .mcp.json

* test(scaffold): cover .mcp.json and guard the packaged payload (#29)

* Cover scaffold .mcp.json and guard the packaged payload

* Document .mcp.json in the README

* Release v0.2.9 (#30)

* chore(scaffold): bump dlthub-client 0.28.3 to 0.28.4

* Release v0.2.10 (#32)

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Hiba Jamal <35984866+hibajamal@users.noreply.github.com>
Co-authored-by: Anton Burnashev <anton.burnashev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0