Skip to main content

envdrift logo

envdrift

PyPI version Python 3.11+ License: MIT Docs codecov CodSpeed

Sync environment variables across your team. No more "it works on my machine."

Status: stable. envdrift v11 marks the first release the project considers production-ready: core features are covered by integration tests against real backends in CI (LocalStack, HashiCorp Vault, Lowkey Vault emulating Azure) and the real encryption binaries, every bug fix ships a regression test, and changes pass a reliability-first review gate. See the changelog for history.

The Problem

  • New developer joins → spends half a day hunting for the right .env values
  • Someone updates a secret → nobody else knows until production breaks
  • "Can you send me the latest API keys?" in Slack → security nightmare

Paid SaaS solutions exist, but do you really want your production secrets on someone else's infrastructure?

The Solution

envdrift is an open-source CLI that encrypts .env files and syncs them using your existing cloud vault and git. No hosted service, no additional servers, no third-party trust.

  • Your infrastructure — Works with all major cloud providers: Azure Key Vault, AWS Secrets Manager, HashiCorp Vault, GCP Secret Manager
  • Zero trust required — Secrets never leave your cloud
  • No new servers — Just a CLI tool, no client-server architecture
  • Free forever — MIT licensed, no per-seat pricing
# New team member onboarding - one command
envdrift pull

# That's it. Keys synced from vault, .env files decrypted, ready to code.

📘 This is the heart of envdrift. The end-to-end walkthrough — encrypt, push your key to your cloud vault, and have teammates pull and decrypt in one command — lives in the Env File Sync Guide. Start there.

Installation

One-liner (recommended):

# macOS / Linux
curl -sSL https://raw.githubusercontent.com/jainal09/envdrift/main/install.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/jainal09/envdrift/main/install.ps1 | iex

Or via pip:

pip install "envdrift[vault]"  # All vault providers

Quick Start

1. Encrypt and push to vault (once per project):

envdrift encrypt .env.production
envdrift vault-push . my-app-key --env production --provider azure --vault-url https://myvault.vault.azure.net/

2. Team members pull instantly (no config needed):

envdrift vault-pull . my-app-key --env production --provider azure --vault-url https://myvault.vault.azure.net/

vault-pull fetches the key, writes .env.keys, and decrypts .env.production in one step.

3. Daily workflow (config-based, needs [vault.sync] in envdrift.toml):

envdrift pull   # After git pull - sync keys, decrypt
envdrift lock   # Before commit - encrypt, verify keys

Note: pull/lock operate on all services defined in your sync config. For a single secret without any TOML config, use vault-pull/vault-push.

Beyond Sync

Feature Description
Schema Validation Validate .env against Pydantic schemas
Environment Diffing Compare dev vs staging vs production
Vault Integration Azure, AWS, HashiCorp, GCP
Encryption dotenvx and SOPS backends
CI/CD Mode Fail builds on misconfiguration
envdrift validate .env --schema config:Settings
envdrift diff .env.dev .env.prod

Documentation

Full documentation: jainal09.github.io/envdrift

License

MIT

Metadata

Release files for envdrift 11.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for envdrift 11.0.2
File Size Uploaded Provenance Actions
envdrift-11.0.2.tar.gz 5.0 MB Without provenance Details for envdrift-11.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for envdrift 11.0.2
File Interpreter ABI Platform Actions
envdrift-11.0.2-py3-none-any.whl Python 3 none any Details for envdrift-11.0.2-py3-none-any.whl

Total release size: 5.3 MB

Release files / envdrift-11.0.2.tar.gz

Download URL envdrift-11.0.2.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
453d94592837d1d65190fb3a09a22ec4c77222cee1bc291e70b4266584594ae5
BLAKE2b-256 checksum
How to use checksums
000010ddcf927ee74cf4348517dae08f52742615497af62206199248db43b5dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / envdrift-11.0.2-py3-none-any.whl

Download URL envdrift-11.0.2-py3-none-any.whl
Size 386.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
846c25230ab83a7c235f45e2c180073cfac7e3310303374bf4df92bffbb360ff
BLAKE2b-256 checksum
How to use checksums
b240a317127b1ca5babb8c38b21ea66f10f3fb86435efd4c49040b0d680b6f00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for envdrift 11.0.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.

Release history Release notifications | RSS feed

This release

11.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page