Skip to main content

A CLI tool to sync encrypted .env files with GitHub

Project description

envsync

A CLI tool to sync encrypted .env files with GitHub securely.

Features

  • Encryption: Uses age encryption (via python-age) to secure your .env files.
  • GitHub Integration: Automatically syncs encrypted files to your repository.
  • Key Management: Securely stores encryption keys in your system's keychain.
  • Easy Workflow: Simple open, seal, and status commands to manage your environment.

Installation

Python (pip)

The recommended way to install the CLI directly with Python is via the published package envsync-cli:

pip install envsync-cli

# then use the CLI:
envsync --help

Node.js (npm / pnpm)

If you prefer installing via the JavaScript ecosystem, there is an npm wrapper that sets up the Python CLI for you:

# npm
npm install -g envsync

# pnpm
pnpm add -g envsync

# then use the same CLI:
envsync --help

Usage

Initialize

Initialize envsync in your project repository. This will detect your git repo, authenticate with GitHub, generate an encryption key, and store it in your keychain.

envsync init

Decrypt Environment

Decrypt your .env.enc file to a usable .env file.

envsync open

Encrypt Environment

Encrypt your .env file to .env.enc for safe committing.

envsync seal

Check Status

View the status of your environment files and sync state.

envsync status

Development

For local development of envsync itself, clone the repo and install in editable mode:

git clone https://github.com/yourusername/envsync.git
cd envsync
pip install -e .

Then run tests using pytest:

pytest

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envsync_cli-0.1.1.tar.gz (9.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envsync_cli-0.1.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file envsync_cli-0.1.1.tar.gz.

File metadata

  • Download URL: envsync_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 9.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for envsync_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 559ad01c974e7611328231c40c58a5c81db1536df51e7c596683dbf583d0becd
MD5 44f8d0ea36c2a8edbb5a6eb726ea3a1d
BLAKE2b-256 cb017340070b34fdce2862eb5675796dc0eccade91e67a7167b1aff5cd73180b

See more details on using hashes here.

File details

Details for the file envsync_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: envsync_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for envsync_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 229281135485c7bcf588280e8009fab5d30877d0c2b60a9a9a78ee4319bb9f35
MD5 1bb335000f8af918a996986360fcf73e
BLAKE2b-256 09083eaf5ff8969cb03c042d0aad7c4b451b1d9c5fa9b53eb0eed2724f711832

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page