vkarious
vkarious is a tool to create snapshots and branches of PostgreSQL databases.
Important: This project is an active work-in-progress. Expect rapid changes, occasional instability, and breaking changes as features evolve. To get notified about updates, use the Watch button on the repository (choose "All Activity"). Manage your watch settings for this repo at: https://github.com/ybrs/vkarious/subscription
Configuration
Set the VKA_DATABASE environment variable to your PostgreSQL connection string:
export VKA_DATABASE="postgresql://username:password@localhost:5432/database_name"
Optionally, set VKA_PG_DATA_PATH to override the detected PostgreSQL data directory. This is useful when PostgreSQL runs in a container but vkarious runs on the host and needs a host-visible path for copying database files (e.g., COW file copies):
# Example: host path where the container's PGDATA is mounted
export VKA_PG_DATA_PATH="/Users/me/docker-volumes/postgres-data"
Usage
List all databases:
vkarious databases list
Create a snapshot:
vkarious snapshot database_name
Create a branch with a custom name:
vkarious branch database_name branch_name
When VKA_PG_DATA_PATH is set, vkarious uses that directory for physical file operations instead of querying SHOW data_directory from PostgreSQL.
List snapshots:
vkarious snapshots list
Restore from a snapshot:
vkarious snapshots restore database_name snapshot_name
Delete a snapshot:
vkarious snapshots delete snapshot_name
Check version:
vkarious version
Example
export VKA_DATABASE="postgresql://@localhost:5432/postgres"
(vkarious) $ uv run vkarious databases list
OID Database Name
------------------------------
14042 postgres
4 template0
1 template1
65786 test
Development
Install the project in editable mode and run the CLI using uv:
uv venv
uv pip install -e .
uv run vkarious --help
Run the test suite with:
uv run pytest
Metadata
Release files for vkarious 0.1.0
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 | |
|---|---|---|---|---|
| vkarious-0.1.0.tar.gz | 16.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vkarious-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.8 kB
Release files / vkarious-0.1.0.tar.gz
| Download URL | vkarious-0.1.0.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6d65ec3f8ff849a2b751167e990de46b37bf9944270d46a94dc09bf70e437454
|
|
BLAKE2b-256 checksum How to use checksums |
5cbca963710044da6138234322a7b795e5e3fab64c433074388f69e7a1a949c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.9
|
Release files / vkarious-0.1.0-py3-none-any.whl
| Download URL | vkarious-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e305d7faf890e2d0577a88b8baf3bd00b584fdd33b0fcfa190d43bb603c3fc8
|
|
BLAKE2b-256 checksum How to use checksums |
db2c571710eeb61faec56592dffedb5f429fde4bc38470560f34f163aa25b2d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.9
|
Security for vkarious 0.1.0
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.