Skip to main content

szpont

Install-and-run for Diplomat (Szpont Yon) - the menu-bar / system-tray applet that reviews your pull requests, fixes your own, resolves conflicts, and keeps one device per agent.

pip install szpont && szpont     # or:  npx szpont

That is the whole install. macOS and Linux.

What it actually does

Diplomat is built out of the checkout it runs from - a SwiftUI bundle on macOS, a PySide6 package plus the diplomat-core Swift binary on Linux - and it keeps being that checkout: the Update button, the daily 06:00 timer and the commit the panel reports are all git operations on it. A wheel holding a copy would be a second Diplomat that no update could reach.

So this distribution is the steps in between, and every one of them runs a script that is already in the repository:

macOS Linux
get it git clone into ~/.diplomat/checkout, or fast-forward it same
build it install/build-app.shDiplomat.app install/build-core.sh when the prompt binary is missing
set it up - a venv at ~/.diplomat/venv with requirements.txt in it
start it open Diplomat.app the package's own ./diplomat, on the venv's interpreter

Nothing is rebuilt that does not need to be: a venv is left alone until requirements.txt changes, and the Swift prompt binary is only built when the applet would not find one. git is needed to fetch Diplomat, and a Swift toolchain to build it - if one is missing you are told which and where to get it, before anything is downloaded.

szpont --plan        # print what would be run, as JSON, and do none of it
szpont --no-update   # launch the checkout as it stands
szpont -- --dump     # everything after -- goes to the applet

DIPLOMAT_SELF_REPO points at a checkout of your own - the same variable the running applet reads, and one this launcher never updates, because a working copy may have work in it. DIPLOMAT_REPO_URL clones from a fork.

The same name on both indexes

npx szpont runs the same launcher, and that is all either name installs: one file of standard library on each side, no dependency on either index. What keeps them one command is packages/szpont-npm/test/parity-with-python.mjs - every machine shape in test/scenarios.mjs goes through both planners, and the two answers have to be identical.

The protocol Diplomat's machines find each other over is SzpontNet, published separately as szpontnet; nothing here imports it, and installing this does not install it.

Its own tests

pip install pytest
pytest packages/szpont/tests -q

Note on the name

szpont names three things, and they share the namespace rather than compete for it: this command, its npm twin, and the conformance tester, run as python -m szpont from its own directory.

Only the tester is precarious. It is never installed, and the working directory precedes site-packages on sys.path, so it wins from where it is run - but publishing it under this name is what the three could not share. The console script cannot collide with it at all: an entry point is a file in bin/, not a name on the import path, and the module this one lives in is szpont_launcher.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

szpont-0.57.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

szpont-0.57.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file szpont-0.57.0.tar.gz.

File metadata

  • Download URL: szpont-0.57.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for szpont-0.57.0.tar.gz
Algorithm Hash digest
SHA256 56a615510b2c8fedf943d959b3ed3240ff6f2e6a5fe4a81970879f37629edb0a
MD5 1bc76022b5fac1daecf87ab8cb4625d5
BLAKE2b-256 3aed6b27d37e0dc48f24c3345b2e913e699e5e969a7577e1f7b4c904fe92e00b

See more details on using hashes here.

Provenance

The following attestation bundles were made for szpont-0.57.0.tar.gz:

Publisher: release-szpont.yml on latekvo/Diplomat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file szpont-0.57.0-py3-none-any.whl.

File metadata

  • Download URL: szpont-0.57.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for szpont-0.57.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3778541841f35c3391bfa59b17d99d1a70e3522e37b4db39c6fed1ba4bd7f307
MD5 6810e646743a35e30f6446e9d272ffbd
BLAKE2b-256 2db168b4b2d5f63267e3b35faff773403dad0fc9f03fddde430a98d6baaa6b6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for szpont-0.57.0-py3-none-any.whl:

Publisher: release-szpont.yml on latekvo/Diplomat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.74.0

2 files

0.73.0

2 files

0.72.0

2 files

0.71.0

2 files

0.70.0

2 files

0.69.0

2 files

0.68.0

2 files

0.67.0

2 files

0.66.0

2 files

0.65.0

2 files

0.64.0

2 files

0.63.0

2 files

0.62.0

2 files

0.61.0

2 files

0.60.0

2 files

0.59.0

2 files

0.58.0

2 files

This release

0.57.0 This release

2 files

0.56.0

2 files

0.55.0

2 files

0.54.0

2 files

0.53.0

2 files

0.52.0

2 files

0.51.0

2 files

0.50.0

2 files

0.49.0

2 files

0.48.0

2 files

0.47.0

2 files

0.46.0

2 files

0.45.0

2 files

0.44.0

2 files

0.43.0

2 files

0.42.0

2 files

0.41.0

2 files

0.40.0

2 files

0.39.0

2 files

0.38.0

2 files

0.37.0

2 files

0.36.0

2 files

0.35.0

2 files

0.34.0

2 files

0.33.0

2 files

0.32.0

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page