Skip to main content

Rust authswap CLI with WebDAV sync and Codex app-server restart

Project description

authswap

authswap is a Rust command-line tool for switching local Codex auth profiles and optionally syncing those profiles through WebDAV.

Features

  • Interactive account picker for local Codex profiles.
  • Account add, switch, refresh, and delete actions inside the interactive UI.
  • WebDAV sync from the interactive UI.
  • Sanitized config.toml sync that excludes machine-local project sections.
  • PyPI wheel packaging for users who do not have Rust installed.

Commands

authswap

authswap reads and writes the standard Codex auth layout:

~/.codex/auth.json
~/.codex/config.toml
~/.codex/accounts/*.auth.json
~/.codex/accounts/registry.json

Install From PyPI

pip install authswap
authswap

Published wheels include the compiled authswap binary, so end users do not need Rust, Node.js, or npm when a compatible wheel is available.

WebDAV Sync

authswap supports custom WebDAV services. Press w in the account picker to configure the server URL and credentials, test the connection, and push or pull account data. When no local accounts exist, the first-run dialog also offers WebDAV so accounts can be restored without signing in first.

The settings file is stored at ~/.codex/authswap.json with private file permissions.

These files contain active credentials. Sync only to a trusted WebDAV server.

Usage Limits

The interactive account picker shows cached 5-hour and weekly limit usage from ~/.codex/accounts/registry.json. Press r on the selected account to request fresh usage from Codex. Press t to refresh all accounts, with 100ms between requests. Both actions update the local cache.

Limit columns show the remaining percentage and the remaining time until reset, for example 28% 1h 20m.

Press s in the account picker to configure whether authswap restarts codex app-server after switching accounts. The setting is off by default and is saved in ~/.codex/authswap.json.

Project details


Download files

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

Source Distribution

authswap-1.0.2.tar.gz (50.7 kB view details)

Uploaded Source

Built Distributions

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

authswap-1.0.2-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3Windows ARM64

authswap-1.0.2-py3-none-win_amd64.whl (2.2 MB view details)

Uploaded Python 3Windows x86-64

authswap-1.0.2-py3-none-win32.whl (1.9 MB view details)

Uploaded Python 3Windows x86

authswap-1.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

authswap-1.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (2.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

authswap-1.0.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

authswap-1.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

authswap-1.0.2-py3-none-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file authswap-1.0.2.tar.gz.

File metadata

  • Download URL: authswap-1.0.2.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for authswap-1.0.2.tar.gz
Algorithm Hash digest
SHA256 271169023ae52370213bfbade65d0e57db6468bb04248c0da0426d952b281c72
MD5 b788e48cdf9b0e28d2938ab41813d71b
BLAKE2b-256 5118d6dc63ad77a534f456460cef0103d564ddf1d8c113346379546631cb1094

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2.tar.gz:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-win_arm64.whl.

File metadata

  • Download URL: authswap-1.0.2-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for authswap-1.0.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 6ace672715bc6b3881a5380890b72224030ff0cd9dd299f7499bbebda9efd2d9
MD5 d1f36346cc7a21cffaed5cb711826188
BLAKE2b-256 59afff46bee4d13382e1bb191233efdec5888cd566a4d495c993c40418fa00b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-win_arm64.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: authswap-1.0.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for authswap-1.0.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 73acb73e90344199a45fc40ce89a0d764c60258b6a65e80651a42a7cc591a2c1
MD5 8cd0a411eabd7923404b36e19d43ef93
BLAKE2b-256 eedb061bb0bdb9e67740107c8d954c4d7a84eaa90806be6aa0372741c23b6315

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-win_amd64.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-win32.whl.

File metadata

  • Download URL: authswap-1.0.2-py3-none-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for authswap-1.0.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 166c8e0b1053de5d27db524ac5869eba1fda27d2c7fd92cc2304d73dfbc040cc
MD5 59a89b55eab642e6ecdfa9e7bb2fbc5d
BLAKE2b-256 aa6668c6e9eb52660dafce6728173a9e3cfcd8397c1f33608fcd6034c13f9e10

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-win32.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for authswap-1.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51975c3833bfe3630152d0b5599d238314d1253b52cb980fe762cc73191108f6
MD5 aabbba61c0483b50e53459704569e0b5
BLAKE2b-256 d4a63d81ab95d0bd6237d6bb1085b6504508edfa503a8301fde534a277804946

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for authswap-1.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2670b0a7d0f6008f0f2b245ace1fb0642bd9e75e73b04fff42fdb215c718b795
MD5 04640ffd4bbccae81bd6d8f4396c066b
BLAKE2b-256 a5c258c532778a6b3e970edc3493b4e529e708399831bc5c2faec74721655d2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for authswap-1.0.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 71e1fa81fd9bd20f7609788ce1eb5b2344122876dfb8e8325b4fe9e022e7be36
MD5 88109d1eaf8e0e85f02bff4fa1da8392
BLAKE2b-256 82572b0e165bf83c1dddaa84a0692650a4bc40fbb0d669013aa5f6678e9e5b18

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for authswap-1.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c1900051c54017021cd4fa365b8df938d53816675c01442296427d4ecf2ac71f
MD5 20875b6c9d8940ce33d5aed3a291b542
BLAKE2b-256 d7a8a9aa929cb29167b82368436c22402420d24ef3568350ea5817178017682d

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

File details

Details for the file authswap-1.0.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for authswap-1.0.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6749d6ceaf74a05cf22bca2c82a5df5c5923b98bf2f7596951983a14da664908
MD5 92e37214f7ceed0f0407319e6f4190cf
BLAKE2b-256 1e67717aae70d924c0fc4e0429cd6004139d781a16a9929279dfb989a2293468

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.2-py3-none-macosx_11_0_arm64.whl:

Publisher: rust-pypi-wheels.yml on shevekwang/authswap

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page