Thanks for your interest in improving the OSDU Python samples.
This project uses uv:
uv sync --extra devosdu-python-client and osdu-python-models are resolved as editable path
dependencies from sibling checkouts ([tool.uv.sources] in pyproject.toml), so
clone all three under the same parent directory — uv sync then picks up your
local changes to the libraries automatically.
- Add a module under
src/osdu_samples/welllogs/with a singlerun(ctx: SampleContext)function decorated with@sample("name", "one-line description", writes=<bool>). - Register it by adding the module to the import list in
src/osdu_samples/welllogs/__init__.py— import order is display/run order, so place it where it belongs in the table. - Mark anything that creates, updates or deletes data with
writes=True; those only run under--write. - Add a row to the table in
README.md.
Keep each sample small and readable — it doubles as documentation. Read inputs
from ctx.demo / ctx.well_log_id, and use ctx.require_well_log_id() /
ctx.demo.require(...) to fail with a friendly message when config is missing.
uv run ruff check src
uv run pytest -q # if/when tests are addedCommits follow Conventional Commits (feat:, fix:, docs:, chore:, ...),
matching the sibling library repositories.