Python client for KeePassHTTP to interact with KeePass's credentials
Project description
KeePassHTTP
Python client for KeePassHTTP to interact with KeePass's credentials.
Install
$ pip install keepasshttp
Usage
import keepasshttp
# get single credential
credential = keepasshttp.get("my_credential_name_or_url")
print(credential.login)
print(credential.password)
# find all credentials's name
credentials = keepasshttp.list()
# fetch all partiall matching credentials
credentials = keepasshttp.search("my_credential_name_or_url")
# create a new keepasshttp entry
keepasshttp.create("login", "password", "url")
# update a keepasshttp entry
credential.password = "new password"
# or
keepasshttp.update("login", "password", "url", "uuid")
Command line
KeePassHTTP can also be called from command line:
$ python -m keepasshttp --help
usage: keepasshttp [-h] [-c CONFIG_PATH] [-u URL]
[-f {python,text,table,json,csv}]
credential [credential ...]
Fetch credentials from keepass
positional arguments:
credential Url or name to match credentials from keepass database
optional arguments:
-h, --help show this help message and exit
-c CONFIG_PATH, --config CONFIG_PATH
alternative path for keepasshttp's AES exchange key
(default: ~/.python_keepass_http)
-u URL, --url URL alternative url for keepasshttp server (default:
'http://localhost:19455/')
-f {python,text,table,json,csv}, --format {python,text,table,json,csv}
output format for credentials
$ python -m keepathhttp my_credential_name_or_url
my_credential_name_or_url
- login: login
- password: password
- name: test
- url: my_credential_name_or_url
- id: ABCDEF1234567890ABCDEF1234567890
- fields: []
Configuration
By default, this module will write AES association key to ~/.python_keepass_http
and use http://localhost:19455/
to connect to the KeePassHTTP server.
To change theses parameters, instantiate keepasshttp.KeePassHTTP
class with different values.
from keepasshttp import KeePassHTTP
kph = KeePassHTTP(
storage="./keepasshttp_key",
url="https://example.com:1337/")
kph.get("...")
...
Testing
You can simply run the tests using:
python -m unittest discover
KeePassHTTP
calls are mocked, to run the tests against a real server, you need to:
- open
tests/test_database.kdbx
inKeePass
password istest
- set
TEST_WITH_KEEPASS
environment variable - run test normally
Coverage
To run tests with coverage:
pip install pytest-cov
pytest --cov
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
File details
Details for the file keepasshttp-1.4.1.tar.gz
.
File metadata
- Download URL: keepasshttp-1.4.1.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24f2fa5a9feca8cbc220419b1c8efa8050c6855aa8c68b191ad62218f66e17ee |
|
MD5 | 0e4124f1fe2912815082bd8e9a1ba327 |
|
BLAKE2b-256 | d3133f5c936a64ac67ad9d2981c6ce5b2e855b33ca089ab2baeb4f4d4c48ff68 |
File details
Details for the file keepasshttp-1.4.1-py2.py3-none-any.whl
.
File metadata
- Download URL: keepasshttp-1.4.1-py2.py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b8be965467ed404f6aade530f202111c34b25aab8b932452c2694cf76f253cf |
|
MD5 | c5e620003d1ad39b1fa31ead7d3cb13a |
|
BLAKE2b-256 | 33722a716ec4d9beffcbd59f7f529ea1dba6d12961be16984d97aff71982e4a2 |