# Contentstack Utils

> Use for Stack initialization, queries, entries, assets, live preview, taxonomy, and variants in contentstack-python.

- Skill: `contentstack/contentstack-utils` (Agent Skill)
- Install (CLI): `npx skillmds@latest add contentstack/contentstack-utils`
- Raw SKILL.md: https://api.skillmd.com/api/skills/contentstack/contentstack-utils/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, Integrations & APIs
- Author: contentstack (https://skillmd.com/u/contentstack)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/contentstack/contentstack-utils

---


# Contentstack CDA SDK – Contentstack Python CDA SDK

## When to use

- Implementing or changing `Stack`, content-type, query, entry, or asset behavior.
- Working with live preview, taxonomy, global fields, variants, or image transforms.
- Assessing CDA API alignment or extending the public SDK surface.

## Instructions

### Stack entry

- **`Stack`** in `contentstack/stack.py`: validates `api_key`, `delivery_token`, `environment`; resolves `region → host` via `ContentstackRegion`; builds `endpoint`; wires `HTTPSConnection` with `headers`, `timeout`, `urllib3.Retry`, and optional `live_preview` / `branch` / `early_access`.

### Features

- **Content types & entries** — `contenttype.py`, `entry.py`, `entryqueryable.py`.
- **Queries** — `basequery.py`, `query.py`; chain methods align with CDA query parameters.
- **Assets** — `asset.py`, `assetquery.py`.
- **Taxonomy, global fields, variants, image transform** — `taxonomy.py`, `globalfields.py`, `variants.py`, `image_transform.py`.
- **Sync** — `Stack.sync_init`, `pagination`, `sync_token` → `/stacks/sync` via `__sync_request`.

### Live preview

- `live_preview` dict (`enable`, `host`, `authorization`, etc.) merged in `deep_merge_lp.py` / stack setup; keep behavior aligned with `tests/test_live_preview.py`.

### HTTP layer

- `https_connection.py` — `requests.Session`, `HTTPAdapter`, `get_request` from `controller.py`; user-agent uses `contentstack.__title__` / `__version__`.

### Extending

- Add query or stack methods consistent with [CDA query parameters](https://www.contentstack.com/docs/developers/apis/content-delivery-api/).
- Keep transport logic in `HTTPSConnection` / `controller` rather than duplicating `requests` setup.

### Dependencies

- `requests`, `urllib3` (`Retry`), `python-dateutil`

