Metadata-Version: 2.4
Name: lastpass-vault-py
Version: 0.3.0
Summary: An unofficial Python wrapper for the LastPass CLI (lpass).
Author-email: Paul Engler <kuidaore-open@kuidaore.ninja>
License-Expression: GPL-3.0-only
Project-URL: Homepage, https://github.com/kuidaore-open/lastpass-vault-py
Project-URL: Bug Tracker, https://github.com/kuidaore-open/lastpass-vault-py/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Dynamic: license-file

# LastPass Vault Py

An unofficial, Pythonic wrapper for the [LastPass CLI (`lpass`)](https://github.com/lastpass/lastpass-cli).

> **Disclaimer:** This project is an unofficial, community-driven tool. It is not affiliated with, maintained, or endorsed by LastPass, LogMeIn, or GoTo Technologies. No claim is made to the LastPass name, brand, trademarks, or intellectual property.

## Features

- Secure authentication via the official `lpass` CLI
- Full vault management — list, search, retrieve, add, edit, move, delete, and duplicate entries
- Password generation via `lpass generate`
- Vault backup and restore via CSV export/import
- All sensitive values (passwords, CSV data) transmitted to `lpass` via stdin — never via command-line arguments
- Sync control, background sync, and trust/plaintext-key login options
- Robust error handling and mock-friendly design for testing

## Prerequisites

The LastPass CLI must be installed:

- **Ubuntu/Debian:** `sudo apt install lastpass-cli`
- **macOS:** `brew install lastpass-cli`

## Installation

```bash
pip install lastpass-vault-py
```

## Quick Start

```python
from lastpass_vault import LastPassVault

vault = LastPassVault()

if not vault.is_logged_in():
    vault.login("user@example.com")

items = vault.list_items()
for item in items:
    print(item['name'])

password = vault.get_password("My Site")
```

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for details.

## License

The project code is licensed under the **GNU General Public License v3 (GPLv3)**.
See [LICENSE](LICENSE) for the full text.

