# Keeper-Security/keeper-sdk-python
### Keeper SDK for Python
### Installation
```bash
pip install keepersdk
```
### Clone source code
```bash
$ git clone https://github.com/Keeper-Security/keeper-sdk-python
```
### Example
```python
import os
from login import auth, configuration, endpoint
from vault import sqlite_storage, vault_online, vault_record
config_filename = os.path.join(os.path.dirname(__file__), 'config.json')
config = configuration.JsonConfigurationStorage(file_name=config_filename)
keeper_endpoint = endpoint.KeeperEndpoint(config)
login_auth = auth.LoginAuth(keeper_endpoint)
login_auth.login('username@company.com')
while not login_auth.login_step.is_final():
if isinstance(login_auth.login_step, auth.LoginStepPassword):
password = input('Enter password: ')
login_auth.login_step.verify_password(password)
if isinstance(login_auth.login_step, auth.LoginStepTwoFactor):
channel = login_auth.login_step.get_channels()[0]
code = input(f'Enter 2FA code for {channel.channel_name}: ')
login_auth.login_step.send_code(channel.channel_uid, code)
else:
raise NotImplementedError()
if isinstance(login_auth.login_step, auth.LoginStepConnected):
keeper_auth = login_auth.login_step.keeper_auth()
vault_storage = sqlite_storage.SqliteVaultStorage(file_name=':memory:',
vault_owner=keeper_auth.auth_context.username)
vault = vault_online.VaultOnline(keeper_auth, vault_storage)
vault.sync_down()
# List records
for record in vault.records():
print(f'Title: {record.title}')
if record.version == 2:
legacy_record = vault.load_record(record.record_uid)
if isinstance(legacy_record, vault_record.PasswordRecord):
print(f'Username: {legacy_record.login}')
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Keeper-Security/keeper-sdk-python",
"name": "keepersdk",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "security,password",
"author": "attr: keepersdk.__init__.__author__",
"author_email": "commander@keepersecurity.com",
"download_url": "",
"platform": null,
"description": "# Keeper-Security/keeper-sdk-python\n### Keeper SDK for Python\n\n### Installation\n```bash\npip install keepersdk\n```\n\n### Clone source code \n```bash\n$ git clone https://github.com/Keeper-Security/keeper-sdk-python\n```\n\n### Example\n\n```python\nimport os\nfrom login import auth, configuration, endpoint\nfrom vault import sqlite_storage, vault_online, vault_record\n\nconfig_filename = os.path.join(os.path.dirname(__file__), 'config.json')\nconfig = configuration.JsonConfigurationStorage(file_name=config_filename)\nkeeper_endpoint = endpoint.KeeperEndpoint(config)\nlogin_auth = auth.LoginAuth(keeper_endpoint)\nlogin_auth.login('username@company.com')\n\nwhile not login_auth.login_step.is_final():\n if isinstance(login_auth.login_step, auth.LoginStepPassword):\n password = input('Enter password: ')\n login_auth.login_step.verify_password(password)\n if isinstance(login_auth.login_step, auth.LoginStepTwoFactor):\n channel = login_auth.login_step.get_channels()[0]\n code = input(f'Enter 2FA code for {channel.channel_name}: ')\n login_auth.login_step.send_code(channel.channel_uid, code)\n else:\n raise NotImplementedError()\n\nif isinstance(login_auth.login_step, auth.LoginStepConnected):\n keeper_auth = login_auth.login_step.keeper_auth()\n vault_storage = sqlite_storage.SqliteVaultStorage(file_name=':memory:',\n vault_owner=keeper_auth.auth_context.username)\n vault = vault_online.VaultOnline(keeper_auth, vault_storage)\n vault.sync_down()\n\n # List records\n for record in vault.records():\n print(f'Title: {record.title}')\n if record.version == 2:\n legacy_record = vault.load_record(record.record_uid)\n if isinstance(legacy_record, vault_record.PasswordRecord):\n print(f'Username: {legacy_record.login}')\n```\n",
"bugtrack_url": null,
"license": "attr: keepersdk.__init__.__license__",
"summary": "Keeper SDK for Python 3",
"version": "0.9.10",
"project_urls": {
"Homepage": "https://github.com/Keeper-Security/keeper-sdk-python"
},
"split_keywords": [
"security",
"password"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "16b9d47be94b98c0a963fc4dc7827bbace0d35634c63d1da4f88f38d748f783a",
"md5": "838bc36953183675754faad8990c26cf",
"sha256": "75363f258c3149199e51f94ff19933fd49ea5286f497bc832a978662f1015599"
},
"downloads": -1,
"filename": "keepersdk-0.9.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "838bc36953183675754faad8990c26cf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 233977,
"upload_time": "2023-05-04T00:27:12",
"upload_time_iso_8601": "2023-05-04T00:27:12.689656Z",
"url": "https://files.pythonhosted.org/packages/16/b9/d47be94b98c0a963fc4dc7827bbace0d35634c63d1da4f88f38d748f783a/keepersdk-0.9.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-04 00:27:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Keeper-Security",
"github_project": "keeper-sdk-python",
"github_not_found": true,
"lcname": "keepersdk"
}