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 |
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
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 3.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| baseshift-3.7.2-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for baseshift-3.7.2-py3-none-win_amd64.whl |
| baseshift-3.7.2-py3-none-manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details for baseshift-3.7.2-py3-none-manylinux2014_x86_64.whl |
| baseshift-3.7.2-py3-none-manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details for baseshift-3.7.2-py3-none-manylinux2014_aarch64.whl |
| baseshift-3.7.2-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for baseshift-3.7.2-py3-none-macosx_11_0_arm64.whl |
| baseshift-3.7.2-py3-none-macosx_10_9_x86_64.whl | Python 3 | none | macOS 10.9+ x86-64 | Details for baseshift-3.7.2-py3-none-macosx_10_9_x86_64.whl |
Total release size: 104.9 MB
Release files / baseshift-3.7.2-py3-none-win_amd64.whl
| Download URL | baseshift-3.7.2-py3-none-win_amd64.whl |
|---|---|
| Size | 21.6 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
941a727721177da6ee4b1faff57ad1f70056826c8bc39b2cc8186f839cbb675b
|
|
BLAKE2b-256 checksum How to use checksums |
e4e4e50c40c0ae5bf29194df2aee9ad02af42a2dfd073f951df1110a489268a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift-3.7.2-py3-none-manylinux2014_x86_64.whl
| Download URL | baseshift-3.7.2-py3-none-manylinux2014_x86_64.whl |
|---|---|
| Size | 21.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
c6a96793db8973edc4297827b88b40b5d1f4547b6c79b6ebbd6d730ee808685b
|
|
BLAKE2b-256 checksum How to use checksums |
f800714947c63db7792810b38fe032514e197be63f98f9735c5d46a706800345
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift-3.7.2-py3-none-manylinux2014_aarch64.whl
| Download URL | baseshift-3.7.2-py3-none-manylinux2014_aarch64.whl |
|---|---|
| Size | 19.3 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
78675c582db192272c6b2bd5b595aca615a378874e58aa0f66f8c1aa75b5416b
|
|
BLAKE2b-256 checksum How to use checksums |
b45e13eff2b38168593c82feb3436688450e84892da976dcd6459b066044ae06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift-3.7.2-py3-none-macosx_11_0_arm64.whl
| Download URL | baseshift-3.7.2-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 20.9 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
dd9b4c1bec189e52158f07df8fa4874754802bb3c01c9848245104367a9282af
|
|
BLAKE2b-256 checksum How to use checksums |
17a7eb97c257724e0fbb19e094569c0547fceca9da6c61b81f389d1ef00e6db6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / baseshift-3.7.2-py3-none-macosx_10_9_x86_64.whl
| Download URL | baseshift-3.7.2-py3-none-macosx_10_9_x86_64.whl |
|---|---|
| Size | 22.0 MB |
| Tags | Python 3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
38d371bf204f6bf6020f8f30f23092d6cbbf5c9b1f14ebbe209021079ea590d1
|
|
BLAKE2b-256 checksum How to use checksums |
4498ff2ab5f3f3433fac2e14424854e139281ec5318ced752f779157c50c468d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Security for baseshift 3.7.2
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.