A Python client library to interact with a Mooltipass device via Moolticuted WebSocket.
## Description
This project provides a Python library for interacting with Mooltipass devices through the Moolticuted daemon. It allows you to manage logins, get/set passwords, and more.
## Features
- Real-time communication with the Mooltipass device via moolticuted WebSocket.
- Convenience methods for common use cases, like getting passwords or setting credentials.
- CLI usage
## Installation
```
pip install moolticutepy
```
## Library Usage
To use this library, simply import it into your Python project and start using its functions. For example:
```python
client = MoolticuteClient()
# Get a password for a specific service
response = client.get_password("example.com")
password = response.data.password
# Set a new credential for another service
response = client.set_password(
"other.example.com",
password="new_password",
login="username",
description="A description"
)
```
## CLI
The moolticutepy CLI provides a command-line interface to interact with your Mooltipass device. It allows you to list, get, and set passwords for various services.
### Commands
#### list_logins
Lists all logins stored on the Mooltipass device.
**Usage:** `list_logins`
**Example:**
```
$ moolticutepy list_logins
Entering management mode. Please approve prompt on device ...[OK]
- example.com []:
* {'category': '0', 'date_created': '2024-07-30', 'date_last_used': '2024-07-30', 'description': 'description', 'favorite': -1, 'login': 'user@example.com'}
* {'category': '0', 'date_created': '2024-07-30', 'date_last_used': '2024-07-30', 'description': 'description', 'favorite': -1, 'login': 'other.user@example.com'}
- other.example.com []:
* {'category': '2', 'date_created': '', 'date_last_used': '2024-09-04', 'description': 'description', 'favorite': 20, 'login': 'username@example.com'}
```
#### get
Retrieves a password for a specific service.
**Usage:** `get <service> [-f|--fallback-service <fallback_service>] [-l|--login <login>]`
- `<service>`: the name of the service (required)
- `-f` or `--fallback-service`: an optional fallback service to use if the primary service is not available
- `-l` or `--login`: an optional login to use with the password
**Example:**
```
$ moolticutepy get private.example.com -f example.com
password123
```
#### set
Sets a password for a specific service.
**Usage:** `set <service> [-l|--login <login>] [-p|--password <password>] [-d|--description <description>]`
- `<service>`: the name of the service (required)
- `-l` or `--login`: an optional login to associate with the password
- `-p` or `--password`: the new password to set (optional, will prompt for input if not provided)
- `-d` or `--description`: an optional description to store with the password
**Example:**
```
$ moolticutepy set example.com -l admin -p newPassword123
Credentials stored for example.com [OK]
```
## License
This project is licensed under the [MIT License](https://github.com/rsrdesarrollo/moolticutepy/blob/master/LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "moolticutepy",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": "moolticute, moolticuted, mootlipass, mooltipassminible, mooltipassble, password, password manager",
"author": "Raul Sampedro",
"author_email": "5142014+rsrdesarrollo@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/4e/00/69d815700e3e2f002b5caadc0e9db033bfc4a0960ee2f1741b38150f32ed/moolticutepy-0.3.4.tar.gz",
"platform": null,
"description": "A Python client library to interact with a Mooltipass device via Moolticuted WebSocket.\n\n## Description\n\nThis project provides a Python library for interacting with Mooltipass devices through the Moolticuted daemon. It allows you to manage logins, get/set passwords, and more.\n\n## Features\n\n- Real-time communication with the Mooltipass device via moolticuted WebSocket.\n- Convenience methods for common use cases, like getting passwords or setting credentials.\n- CLI usage\n\n## Installation\n\n```\npip install moolticutepy\n```\n\n## Library Usage\n\nTo use this library, simply import it into your Python project and start using its functions. For example:\n\n```python\n\nclient = MoolticuteClient()\n\n# Get a password for a specific service\nresponse = client.get_password(\"example.com\")\npassword = response.data.password\n\n# Set a new credential for another service\nresponse = client.set_password(\n \"other.example.com\",\n password=\"new_password\",\n login=\"username\",\n description=\"A description\"\n)\n```\n\n## CLI\n\nThe moolticutepy CLI provides a command-line interface to interact with your Mooltipass device. It allows you to list, get, and set passwords for various services.\n\n### Commands\n\n#### list_logins\n\nLists all logins stored on the Mooltipass device.\n\n**Usage:** `list_logins`\n\n**Example:**\n\n```\n$ moolticutepy list_logins\nEntering management mode. Please approve prompt on device ...[OK]\n- example.com []:\n * {'category': '0', 'date_created': '2024-07-30', 'date_last_used': '2024-07-30', 'description': 'description', 'favorite': -1, 'login': 'user@example.com'}\n * {'category': '0', 'date_created': '2024-07-30', 'date_last_used': '2024-07-30', 'description': 'description', 'favorite': -1, 'login': 'other.user@example.com'}\n- other.example.com []:\n * {'category': '2', 'date_created': '', 'date_last_used': '2024-09-04', 'description': 'description', 'favorite': 20, 'login': 'username@example.com'}\n```\n\n#### get\n\nRetrieves a password for a specific service.\n\n**Usage:** `get <service> [-f|--fallback-service <fallback_service>] [-l|--login <login>]`\n\n- `<service>`: the name of the service (required)\n- `-f` or `--fallback-service`: an optional fallback service to use if the primary service is not available\n- `-l` or `--login`: an optional login to use with the password\n\n**Example:**\n\n```\n$ moolticutepy get private.example.com -f example.com\npassword123\n```\n\n#### set\n\nSets a password for a specific service.\n\n**Usage:** `set <service> [-l|--login <login>] [-p|--password <password>] [-d|--description <description>]`\n\n- `<service>`: the name of the service (required)\n- `-l` or `--login`: an optional login to associate with the password\n- `-p` or `--password`: the new password to set (optional, will prompt for input if not provided)\n- `-d` or `--description`: an optional description to store with the password\n\n**Example:**\n\n```\n$ moolticutepy set example.com -l admin -p newPassword123\nCredentials stored for example.com [OK]\n```\n\n## License\n\nThis project is licensed under the [MIT License](https://github.com/rsrdesarrollo/moolticutepy/blob/master/LICENSE).\n\n\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "Library an CLI to speak with moolticute service",
"version": "0.3.4",
"project_urls": {
"Homepage": "https://github.com/rsrdesarrollo/moolticutepy"
},
"split_keywords": [
"moolticute",
" moolticuted",
" mootlipass",
" mooltipassminible",
" mooltipassble",
" password",
" password manager"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1a1d16b0008768a97972ba25a6be810e2470d86ecec0ed80a34e3c953b47f687",
"md5": "878f72bbb74674f89f2aa94ee1331810",
"sha256": "d2843ed8afcfe836eadc2413f8002843cc6ff898ce54a798519df826153d303c"
},
"downloads": -1,
"filename": "moolticutepy-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "878f72bbb74674f89f2aa94ee1331810",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 9686,
"upload_time": "2024-10-29T09:21:27",
"upload_time_iso_8601": "2024-10-29T09:21:27.254955Z",
"url": "https://files.pythonhosted.org/packages/1a/1d/16b0008768a97972ba25a6be810e2470d86ecec0ed80a34e3c953b47f687/moolticutepy-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4e0069d815700e3e2f002b5caadc0e9db033bfc4a0960ee2f1741b38150f32ed",
"md5": "2e7a890ca40084045a7848da990a17fa",
"sha256": "e9fa1dd667786b6a9697f7afa15baf2fbad5efe8153227c307637a8d607f100e"
},
"downloads": -1,
"filename": "moolticutepy-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "2e7a890ca40084045a7848da990a17fa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 8805,
"upload_time": "2024-10-29T09:21:28",
"upload_time_iso_8601": "2024-10-29T09:21:28.542536Z",
"url": "https://files.pythonhosted.org/packages/4e/00/69d815700e3e2f002b5caadc0e9db033bfc4a0960ee2f1741b38150f32ed/moolticutepy-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-29 09:21:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rsrdesarrollo",
"github_project": "moolticutepy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "moolticutepy"
}