pykeepass

class pykeepass.pykeepass.PyKeePass(filename, password=None, keyfile=None, transformed_key=None)

Open a KeePass database

Args:
filename (str, optional): path to database or stream object.
If None, the path given when the database was opened is used.
password (str, optional): database password. If None,
database is assumed to have no password
keyfile (str, optional): path to keyfile. If None,
database is assumed to have no keyfile
transformed_key (bytes, optional): precomputed transformed
key.
Raises:
CredentialsError: raised when password/keyfile or transformed key
are wrong
HeaderChecksumError: raised when checksum in database header is
is wrong. e.g. database tampering or file corruption
PayloadChecksumError: raised when payload blocks checksum is wrong,
e.g. corruption during database saving
Todo:
  • raise, no filename provided, database not open
dump_xml(filename)

Dump the contents of the database to file as XML

Args:
filename (str): path to output file
encryption_algorithm

str: encryption algorithm used by database during decryption. Can be one of ‘aes256’, ‘chacha20’, or ‘twofish’.

entries

list of Entry: list of all Entry objects in database, excluding history

groups

list of Group: list of all Group objects in database

kdf_algorithm

str: key derivation algorithm used by database during decryption. Can be one of ‘aeskdf’, ‘argon2’, or ‘aeskdf’

read(filename=None, password=None, keyfile=None, transformed_key=None)

See class docstring.

Todo:
  • raise, no filename provided, database not open
root_group

Group: root Group of database

save(filename=None, transformed_key=None)

Save current database object to disk.

Args:
filename (str, optional): path to database or stream object.
If None, the path given when the database was opened is used.
transformed_key (bytes, optional): precomputed transformed
key.
transformed_key

bytes: transformed key used in database decryption. May be cached and passed to open for faster database opening

tree

lxml.etree._ElementTree: database XML payload

version

tuple: Length 2 tuple of ints containing major and minor versions. Generally (3, 1) or (4, 0).

xml()

Get XML part of database as string

Returns:
str: XML payload section of database.