Since Enpass doesn't make it so easy to escape, this tool helps you to export your data in other Password Managers formats.
Project description
Enpass-Escape
A lightweight Python CLI to migrate passwords from Enpass to Apple Passwords format. Supports both CSV and JSON exports, preserves TOTP/2FA secrets, and consolidates extra fields into notes.
🚀 Features
- Converts Enpass CSV or JSON export to Apple Passwords import CSV
- Preserves TOTP/2FA secrets with proper otpauth URI formatting
- Maintains titles, URLs, usernames, passwords, and notes
- Combines any additional fields into organized notes
- Zero external dependencies except Typer for the CLI interface
📋 Prerequisites
- Python 3.11 or higher
🛠️ Installation
Install from PyPI:
pip install enpass-escape
Or install development version:
git clone https://github.com/ake2l/enpass-apple-migrator.git
cd enpass-apple-migrator
pip install -e .
💻 Usage
Note: The Enpass CSV export does not support all fields completely (e.g., TOTP, notes, extra fields). For best results, it is recommended to use the JSON export from Enpass!
Run the enpass-escape command with your Enpass export and desired output path:
# CSV-to-CSV
enpass-escape enpass-export.csv export-apple-passwords.csv
# JSON-to-CSV
enpass-escape export.json apple-output.csv
# View help
enpass-escape --help
The output CSV will have the header:
Title,URL,Username,Password,OTPAuth URL,Notes
Input Formats
- JSON (recommended): Enpass JSON export (recommended for complete data export)
- CSV: Standard Enpass CSV export (limited field support)
Output Format
Apple Passwords import CSV with the following columns:
Title,URL,Username,Password,Notes,OTPAuth URL
🔒 Security Considerations
- All processing is local; no network calls
- No data is stored or cached
- No external dependencies other than Typer
🤝 Contributing
Contributions welcome! Open an issue or submit a pull request.
📝 License
MIT License. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enpass_escape-0.1.0.tar.gz.
File metadata
- Download URL: enpass_escape-0.1.0.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e7663673ec8accbb3a924d2dac9239cff451b19079bd0a28dfc7a2db8a5df3c
|
|
| MD5 |
727528b5e508923167677d32dc92cb42
|
|
| BLAKE2b-256 |
1576e3cbfbd3348d6ed61a6d003393e046e3753db20ed2674c001cc2cc7128e1
|
Provenance
The following attestation bundles were made for enpass_escape-0.1.0.tar.gz:
Publisher:
publish.yml on ake2l/enpass-escape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
enpass_escape-0.1.0.tar.gz -
Subject digest:
3e7663673ec8accbb3a924d2dac9239cff451b19079bd0a28dfc7a2db8a5df3c - Sigstore transparency entry: 226667188
- Sigstore integration time:
-
Permalink:
ake2l/enpass-escape@a98c7abcd2cfcf6620191065f38948d82e9533e0 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/ake2l
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a98c7abcd2cfcf6620191065f38948d82e9533e0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file enpass_escape-0.1.0-py3-none-any.whl.
File metadata
- Download URL: enpass_escape-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f500a7d0a3a7547950aadfe5a3c7af5b768b1935f32a1172e3d127c9207b7c0e
|
|
| MD5 |
6c39693ff3db3430d0b8ffdb27e85f7b
|
|
| BLAKE2b-256 |
cb85bf36fcc73eb32e8241a1bb53a5d3b8f10bcbd9f4ef1bc2c7840f4470def3
|
Provenance
The following attestation bundles were made for enpass_escape-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on ake2l/enpass-escape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
enpass_escape-0.1.0-py3-none-any.whl -
Subject digest:
f500a7d0a3a7547950aadfe5a3c7af5b768b1935f32a1172e3d127c9207b7c0e - Sigstore transparency entry: 226667191
- Sigstore integration time:
-
Permalink:
ake2l/enpass-escape@a98c7abcd2cfcf6620191065f38948d82e9533e0 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/ake2l
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a98c7abcd2cfcf6620191065f38948d82e9533e0 -
Trigger Event:
push
-
Statement type: