phoenix-sqlean

Maintains the vendored sqlean.py fork by bumping pinned SQLite, sqlean, and xxHash versions.

11.3k|1.1k|Updated Nov 9, 2022
One-click install
npx skills add https://github.com/Arize-ai/phoenix --skill phoenix-sqlean
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: phoenix-sqlean
Source: https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/phoenix-sqlean
Command: npx skills add https://github.com/Arize-ai/phoenix --skill phoenix-sqlean

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Keeping the vendored arize-phoenix-sqlean package current is error-prone: version pins for SQLite, sqlean, and xxHash must move together, checksums must be verified, and wheel publishing across many platforms can silently break. This Skill encodes the exact procedures and gotchas for safely bumping those pins and touching the publish path.

Core Features & Use Cases

  • Coordinated version bumps: Explains which Makefile pins must move together (SQLITE_VERSION with its release year and SHA256, SQLEAN_COMMIT with SQLEAN_VERSION in both Makefile and setup.py, XXHASH_TAG with its commit and hash).
  • Automated upstream checks: Documents scripts/check-upstream.sh for detecting and applying new upstream releases, plus the weekly phoenix-sqlean-upstream.yml workflow that opens draft bump PRs.
  • Wheel and publishing guidance: Covers the cibuildwheel matrix (cp310-cp314 across Linux, macOS, Windows), trusted PyPI publishing, and release-please tagging constraints.
  • Use Case: When a new SQLite release ships, run the check-upstream script with --apply, verify the build chain with make and the test suite, and let CI validate the wheel matrix before release-please tags the publish.

Quick Start

Ask the assistant to bump the bundled SQLite version in packages/phoenix-sqlean and verify the build and tests still pass.

Frequently Asked Questions about phoenix-sqlean

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bump the bundled SQLite version in a vendored package?

Update SQLITE_VERSION, SQLITE_RELEASE_YEAR, and SQLITE_SHA256 together in the Makefile, since the download URL embeds both version and year. Verify the download against the SHA3-256 on sqlite.org before recording the SHA-256, then run the full make chain and tests.

How do I check for new upstream sqlean releases automatically?

Run scripts/check-upstream.sh with the component name to detect new releases, adding --apply to rewrite the pins. The phoenix-sqlean-upstream.yml workflow runs this weekly and opens one draft PR per component without building anything.

Why does changing SQLEAN_VERSION not trigger a recompile?

SQLEAN_VERSION only moves a -D compiler flag, and build_ext keys rebuilds on source file mtime. After editing the version, touch src/sqlean.c or the version test will fail against a stale binary.

Why does patch fail on sqlean-time-msvc.patch after a sqlean bump?

The patch failure is an intended tripwire signaling that upstream sqlean sources changed shape. Regenerate the patch against the new sqlean sources rather than treating it as a breakage.

What Python versions and platforms does the sqlean wheel matrix support?

The cibuildwheel matrix covers cp310 through cp314 across Linux x86_64 and aarch64, macOS x86_64 and arm64, and Windows AMD64 and ARM64, plus an sdist of the C sources. Windows ARM64 skips Python 3.10 because CPython publishes no build for it.

Why must the package version stay plain SemVer for release-please?

Release-please uses an unanchored version regex, so versions like 3.53.4.1 or 3.53.4.post1 truncate to 3.53.4 and silently collide with an existing tag. Keep the package version plain SemVer and independent of the bundled SQLite version.