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.1.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.1-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

authswap-1.0.1-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.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (2.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

authswap-1.0.1-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.1.tar.gz.

File metadata

  • Download URL: authswap-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 52d578f42c1a16aac4b06695b50a8c96ee8b3a2c9d7cb8b14a954c7a8192f5f1
MD5 0ec4d04a591df7319f1e17ec75e37cc1
BLAKE2b-256 8e796c7d50143ab48de842fa00734b0ca2324340fc8581d3a7e6f6085cb62bce

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1.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.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: authswap-1.0.1-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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 10a5076b4d3f9c5eaface825a05450e6a710f658f1df4ce79c81731305635a8b
MD5 7bac675367c762cb0a0741409dafb58f
BLAKE2b-256 44e48b4bdfe4d0780c0248b6879e43139e8924c29cf8e7edc10471d2dc4b24ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: authswap-1.0.1-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.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c2f50f973b0a1a32e7c4c0732c13177b384f9c58f8389d53c40794ec0c4d0fbc
MD5 785dc6595360ca30eaaa6c4d6222929c
BLAKE2b-256 80547dd327eebd62ef8277202bbc049229d9477aa6c0fcadc608b657c2cbc627

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-win32.whl.

File metadata

  • Download URL: authswap-1.0.1-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.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 7da4abbda3397cfeaf1a72d87aa8213a1852337ddd647b122568045624cad926
MD5 a6542cb008ec26ab5f9a28a865891692
BLAKE2b-256 011aec5345b8dfdf052ce86f3da3d8790873f7e8e967b73b4219556b0acccc9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for authswap-1.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 948301f3b77c752fd6d23da5a5a0fb8e60237e1eb77832ff023a33b780e69e99
MD5 65c3fe74667bc9f7ca95542701d90c15
BLAKE2b-256 12df4f88bb9f0465bc840a7f41717a7bbba4383317c088918793be1e1bc07c68

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for authswap-1.0.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6d25c62138745d0673e2ac331851ff131fe938b37fc002e1bb56190def6730b6
MD5 276b41bb427baed72b5808c3cebad23d
BLAKE2b-256 3acb7b5954b0e6a606cf0c259438f18b6d284cce8a38a9a211e8710ce8e8bfc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for authswap-1.0.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 08e63056a424af8e363074be5fbb11ba3f36a4eef86e9f4bef15d17327744345
MD5 db5240d08c39ab7f0ff9bca951c18863
BLAKE2b-256 dca201c6ebebf083431a9b912f157e8fa5b1ee08b91f921b8299e66578498a9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for authswap-1.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b4c50e96e2dcbf80869743e6a155ff46c061132498af3a545486544deef6448
MD5 1f66f7d20fab6ef8cb87eb56f0a49c46
BLAKE2b-256 2bce27d0ac62b592f26559821bdce35db79c1e5b373e2c38db65be65e0518deb

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for authswap-1.0.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4019833f6715c571f121b22bf37edc4e4a21f3002361025e20b2a73f5c90305a
MD5 5d4f5d5ec7ea06330a61d893a0163065
BLAKE2b-256 b55b77ad8db83da555e5cdf6fd6b927d24dc07f9626ba8ae97413f8cc129127e

See more details on using hashes here.

Provenance

The following attestation bundles were made for authswap-1.0.1-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