Swival
A coding agent for any model.
Swival makes it easy to work with local models and online services in the same tool. Smaller models get the same attention as the largest ones, with careful use of the space available for conversation and working notes. A short setup guide helps connect the model, and switching models doesn't mean changing agents.
For online services, secret encryption can be enabled with a single option to hide supported API keys and tokens before they're sent to the model. Filters can also be added to remove private details, such as customer names and internal URLs.
Longer jobs don't need constant reminders: Swival keeps notes on what it's learned and what's left to do. An interrupted session can pick up where it left off, and setting a goal keeps Swival working toward it.
Checking the work is built in too. A single option adds a review step, so Swival can check its work and try again when the review finds problems. Another model can handle the review instead, and a built-in security audit checks existing code for bugs.
Swival is free, open source, and written in Python, so the code is available to read and change. It also connects to other tools and agents and can run as part of a Python program.
The introduction article explains the ideas behind Swival. The full documentation is at swival.dev.
Quick start
With uv, one command installs Swival:
uv tool install --python 3.14 swival
Or with Homebrew on macOS:
brew trust swival/tap
brew install swival/tap/swival
Then, from the project directory:
swival
On the first run, Swival offers a short setup guide.
For a single task, one command is enough:
swival "Find the cause of the failing tests and fix it"
The setup guide covers installation and the first run in more detail. The rest of the documentation is at swival.dev.
Metadata
Release files for swival 1.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| swival-1.9.1.tar.gz | 1.3 MB | Without provenance | Details for swival-1.9.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| swival-1.9.1-py3-none-any.whl | Python 3 | none | any | Details for swival-1.9.1-py3-none-any.whl |
Total release size: 1.9 MB
Release files / swival-1.9.1.tar.gz
| Download URL | swival-1.9.1.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b09a512c1af60038e45e7d5363994a6f6407370d4385079f2af7d3f6327d390
|
|
BLAKE2b-256 checksum How to use checksums |
74ecfd835774fa579295c20e4034f87b7a50d292578a90891c9f5a2a101bb650
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / swival-1.9.1-py3-none-any.whl
| Download URL | swival-1.9.1-py3-none-any.whl |
|---|---|
| Size | 610.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0ffbfebaf40373f97fb74c92ac254c04a3fab934540823ae6d59fae1f317d84
|
|
BLAKE2b-256 checksum How to use checksums |
2c7881d9533948932188de08626c40d291e14103090de5995b3b6e59932be2b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for swival 1.9.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.