Skip to content

Releasing to PyPI from this repo #18

Open

Description

@tae898

Releases of this repo are published to PyPI by trusted publishing (OIDC, no tokens) from this repo's own workflows. This issue tracks what is left before the first release. It started as a question (the spec of this repo lists PyPI publishing as a non-goal, so how should releases work); the answer was to port the release workflow here (#22), and the repo now has two distributions (#66).

Distributions

  • arcadedb: the GraalVM native build (the default), released by release-native.yml.
  • arcadedb-jvm: the JVM build with a bundled JRE (platform wheels for Linux x86_64 and ARM64, macOS ARM64 and Windows x86_64), released by release-jvm.yml.

Both are imported as arcadedb. The tag is the bare version (26.11.1, 26.11.1.dev0, 26.11.1.post1; no v), and the same tag starts both workflows; each one checks it against its own PyPI project with scripts/check_version.py and verifies the published package after the tag with scripts/after_tag_verify.sh (#43).

Checklist

  • Repo rename: the repository is ArcadeData/arcadedb-python.
  • Release workflows in this repo: release-jvm.yml and release-native.yml (Add release workflow publishing to PyPI by trusted publishing #22, reworked for two distributions in Build two distributions: arcadedb (native) and arcadedb-jvm (JVM) #66).
  • GitHub environments in this repo: pypi (native, project arcadedb) and pypi-jvm (project arcadedb-jvm). Neither has required reviewers.
  • Trusted publishers configured on PyPI: arcadedb-jvm from release-jvm.yml with environment pypi-jvm, and arcadedb from release-native.yml with environment pypi.
  • First release run end to end (tag, build, publish, after-tag verification). No release has run yet. The native readiness bar is met on main (5df565c); the first release waits for upstream ArcadeDB 26.11.1.
  • Decide where the PyPI projects live. They are owned by personal PyPI accounts today, and ArcadeData has no PyPI organization (the organization named arcadedb lists no projects). This does not block the first release.
  • Retire the old names after the first release from here (planned): arcadedb-embedded becomes a shim that installs arcadedb, arcadedb-embedded-native is archived, and arcadedb-native stays reserved.

Until a release from this repo has worked end to end, nothing changes for users of the existing packages.

Activity

  1. tae898 commented on Oct 26, 2026

    @tae898
    CollaboratorAuthor

    Status 2026-10-26: the first pre-release went out from this repository. arcadedb 26.11.1.dev0 (native): 4 wheels (py3-none: manylinux_2_28 x86_64 and aarch64, macOS arm64, Windows x64). arcadedb-jvm 26.11.1.dev0: 16 wheels (cp311-cp314 x the same 4 platforms). The first attempt failed in our own release guards (CRLF in the Windows wheel's METADATA); fixed in #91, then the same tag was re-cut. Next: #92 makes the JVM wheels py3-none-<platform> (4 per release instead of 16, requires-python >=3.11,<3.15 until jpype1 ships cp315 wheels); the final 26.11.1 follows the upstream ArcadeDB 26.11.1 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions