Skip to main content

Python client for KeePassHTTP to interact with KeePass's credentials

Project description

KeePassHTTP

pypi_version.svg pypi_status.svg pypi_format.svg python_versions.svg license.svg Maintainability travis_build.svg codecov.svg requirements_status.svg code_size.svg pypi_downloads.svg

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 in KeePass password is test
  • set TEST_WITH_KEEPASS environment variable
  • run test normally

Coverage

To run tests with coverage:

pip install pytest-cov
pytest --cov

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keepasshttp-1.4.1.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

keepasshttp-1.4.1-py2.py3-none-any.whl (9.3 kB view details)

Uploaded Python 2 Python 3

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

Hashes for keepasshttp-1.4.1.tar.gz
Algorithm Hash digest
SHA256 24f2fa5a9feca8cbc220419b1c8efa8050c6855aa8c68b191ad62218f66e17ee
MD5 0e4124f1fe2912815082bd8e9a1ba327
BLAKE2b-256 d3133f5c936a64ac67ad9d2981c6ce5b2e855b33ca089ab2baeb4f4d4c48ff68

See more details on using hashes here.

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

Hashes for keepasshttp-1.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7b8be965467ed404f6aade530f202111c34b25aab8b932452c2694cf76f253cf
MD5 c5e620003d1ad39b1fa31ead7d3cb13a
BLAKE2b-256 33722a716ec4d9beffcbd59f7f529ea1dba6d12961be16984d97aff71982e4a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page