baseshift
Command-line client for Baseshift. Create dubs (masked or subsetted copies of a source database), take snapshots, and start clones for development and testing.
Install
pip install baseshift
Platform wheels ship for:
- macOS (Intel and Apple Silicon)
- Linux (
x86_64andarm64) - Windows (
amd64)
The default install talks to clones over WireGuard. For Tailscale, install the companion extra so both packages stay on the same version:
pip install 'baseshift[ts]'
Confirm the install:
baseshift --version
baseshift --help
Quick start
# Browser OAuth (default). Use --method=direct for email/password.
baseshift auth login
# Optional: write ~/.baseshift/config (org token and default dub)
baseshift init
# Create a cloud dub with demo data, or point at your own Postgres.
baseshift dub create --name my-dub --use-demo-db --encryption-password MyKey123
baseshift dub list
# Snapshot, then start a clone and print connection details.
baseshift snapshot create --dub my-dub --wait
baseshift server-clone start --dub my-dub
baseshift server-clone list --dub my-dub
baseshift server-clone stop
--dub accepts a name or a UUID. A name is resolved by the API; pass
--org-token (or set BASESHIFT_ORG_TOKEN / orgToken in config) when the
same name exists in more than one org. A UUID never needs --org-token.
dub create and dub list use your only organization when --org-token
is omitted. When you belong to more than one organization, pass
--org-token.
Commands
| Command | What it does |
|---|---|
auth |
Log in, log out, and check authentication status |
init |
Create ~/.baseshift/config with default org and dub |
dub |
Create and manage dubs (cloud or self-hosted Helm) |
data-env |
Create and manage data environments and their snapshots |
server-clone |
Start, stop, and list clones on Baseshift servers |
local-clone |
Pull or run a dub's snapshot image with local Docker |
snapshot |
Create, check, and list snapshots of a dub |
mcp |
Run the Baseshift MCP server on stdio |
Run baseshift <command> --help (and baseshift dub create -h) for flags.
Common dub actions: create, list, describe, status, health-check,
validate-values, configure-source, subset, masking.
Cloud dub against your database
baseshift dub create --name my-dub \
--hostname mydb.example.com --database acme --username app \
--password-stdin --encryption-password MyKey123
Self-hosted dub (Helm values)
baseshift dub create --deployment self-hosted --name my-onprem-dub \
--hostname mydb.example.com --database acme --username dubhub \
--password-stdin --registry-type none
baseshift dub validate-values --values-file values.yaml
Local Docker clone
baseshift local-clone pull --dub my-dub
baseshift local-clone run --dub my-dub -- --publish 5432:5432
Configuration
Values resolve as CLI flag → environment variable → ~/.baseshift/config → default.
baseshift init writes JSON to ~/.baseshift/config:
{
"orgToken": "<org-uuid>",
"dubUuid": "<dub-uuid>"
}
| Setting | Flag | Environment | Config key |
|---|---|---|---|
| Organization | --org-token |
BASESHIFT_ORG_TOKEN |
orgToken |
| Default dub | --dub / --dub-uuid |
BASESHIFT_DUB_UUID |
dubUuid |
Useful environment variables:
BASESHIFT_VERBOSE=1— DEBUG logs and full tracebacks (same as-v)BASESHIFT_DISABLE_SENTRY=1— disable error telemetryBASESHIFT_HELM_BIN— override the bundled Helm binary used bydub validate-values
MCP
baseshift mcp runs an MCP server on stdio (start/stop clones and related
tools). Log in with baseshift auth login first. Example Cursor config:
{
"mcpServers": {
"baseshift": {
"command": "baseshift",
"args": ["mcp"]
}
}
}
Links
- Product: baseshift.com
- App: app.baseshift.com
- PyPI: pypi.org/project/baseshift
License
BSD 2-Clause. See LICENSE, THIRD-PARTY-NOTICES, and
LICENSES-Apache-2.0-Helm.txt (bundled Helm).
Metadata
Release files for baseshift-tailscale 3.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| baseshift_tailscale-3.7.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| baseshift_tailscale-3.7.0-py3-none-manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| baseshift_tailscale-3.7.0-py3-none-manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| baseshift_tailscale-3.7.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| baseshift_tailscale-3.7.0-py3-none-macosx_10_9_x86_64.whl | Python 3 | none | macOS 10.9+ x86-64 | Details |
Total release size: 81.7 MB
Release files / baseshift_tailscale-3.7.0-py3-none-win_amd64.whl
| Download URL | baseshift_tailscale-3.7.0-py3-none-win_amd64.whl |
|---|---|
| Size | 16.1 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
20fddafc22520050366ba4872111537da69d8b7ea34eaa37896413ece9d5e377
|
|
BLAKE2b-256 checksum How to use checksums |
d757cb98f42aa62901c26ce25575d19a6cd8c8a779221f096d0760e2c494d863
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift_tailscale-3.7.0-py3-none-manylinux2014_x86_64.whl
| Download URL | baseshift_tailscale-3.7.0-py3-none-manylinux2014_x86_64.whl |
|---|---|
| Size | 17.6 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
1ff0e59e3fa36daa697545bbbb3966041b1f1cb583a338899e9aa3df5be8cee7
|
|
BLAKE2b-256 checksum How to use checksums |
938ca8a4f12e1cfb6cde919d143e04f7b9b8c536cefc53b69746de525c892b82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift_tailscale-3.7.0-py3-none-manylinux2014_aarch64.whl
| Download URL | baseshift_tailscale-3.7.0-py3-none-manylinux2014_aarch64.whl |
|---|---|
| Size | 16.3 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
5f8637de56cc0cfe9a8c2b29eb1a85e6e7cfd6d653aa8c658f9ed4b6ea569be8
|
|
BLAKE2b-256 checksum How to use checksums |
66c76767490e1b39e2c676d6e539fd7bf5437ea8789b5f0c3b4cb12a11518652
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift_tailscale-3.7.0-py3-none-macosx_11_0_arm64.whl
| Download URL | baseshift_tailscale-3.7.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 15.4 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a5457ea8c999d8ecc3b5b399bfab87cfe48ca4bc014dd6e46b3ef362ffb86cf7
|
|
BLAKE2b-256 checksum How to use checksums |
2febd2c2f3f44b7badc0b1fd4e809123426dd8c3e68e89e779d71c6a07ee4f63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift_tailscale-3.7.0-py3-none-macosx_10_9_x86_64.whl
| Download URL | baseshift_tailscale-3.7.0-py3-none-macosx_10_9_x86_64.whl |
|---|---|
| Size | 16.2 MB |
| Tags | Python 3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
e7ff307e4c2aff2dafc8dc9521d3e1309cd74528203e8b71728fdb426092646d
|
|
BLAKE2b-256 checksum How to use checksums |
8fc204c2ff9ece3f19a8150c94ead8e1ca05a5feef0a8893a9565c6767849d8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|