Skip to main content
# keepassc and python-keepass

This provides command line and Python (both 2 and 3) interfaces for operating on
files in KeePass format v3 (used by [KeePass](http://keepass.info/)
1.x, and [KeePassX](http://www.keepassx.org/)). Note, this is not the
format used by the KeePass application version 2.x.

## Notes of caution

Before using this code, understand the its (known) security
and correctness limitations:

* Unlike the KeePass/KeePassX GUI applications this code makes no
attempt to secure its memory. Input files read in are stored in
memory fully decrypted.

* It is quite easy to display the stored passwords in plain text,
although the defaults try to avoid this.

* Specifying the master key on the command line will leave traces in
your shells history and in the process list.

* While input files are treated as read-only, keep backups of any
files written by KeePass/KeePassX until you are assured that files
written by this code are usable.

* Key files are not currently supported.

## Prerequisites and Installation

You will need to install the python-crypto package (providing the
"Crypto" module). On a well behaved system do:

```shell
sudo apt-get install python-crypto
```

If installing into a [virtualenv](http://www.virtualenv.org) this prerequisite will be installed for you:

```shell
virtualenv /path/to/venv
source /path/to/venv/bin/activate
cd python-keepass
python setup.py install
```


## Command line

The command line interface is run like:

```shell
keepassc [general_options] [command command_options] ...
```

Multiple commands can be specified and will be executed in order.
They operate on an in-memory instance of the database file. An
example,

```shell
keepass open -m secret file.kdb \
dump -p -f '%(username)s password is: %(password)s' \
save -m newsecret backup.kdb
```

Online help:

```shell
keepass -h # short usage
keepass help # full usage
```

## Python Modules

### Low level file access

```python
from keepass import kpdb
db = kpdb.Database(filename,masterkey)
print db # warning: displayed passwords in plaintext!
```

# References and Credits

## PyCrypto help

* Main page is found through <http://pycrypto.org/>. The documentation there is a start, but not enough.
* This blog post is useful for the basics: <http://eli.thegreenplace.net/2010/06/25/aes-encryption-of-files-in-python-with-pycrypto/>

## The giants on whose shoulders this works stands

First, thanks to the original authors, contributors and community
behind KeePass and KeePassX. I am merely a user of KeePassX.

A big credit is due to rudi & shirou (same hacker?) for the following:

* <http://d.hatena.ne.jp/rudi/20101003/1286111011>
* <http://github.com/shirou/kptool>

Looking through KeePass/KeePassX source made my head swim. Only after
reviewing their work could I get started.

## License

This package is Free Software licensed to you under the GPL v2 or
later at your discretion. See the [LICENSE.txt](LICENSE.txt) file for details.

Metadata

Release files for keepass 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for keepass 1.2
File Size Uploaded
keepass-1.2.tar.gz 15.0 kB Details

Release files / keepass-1.2.tar.gz

Download URL keepass-1.2.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7fc4dfd7d0c535de8e71642b8fec312327314d9df4ae9b6649136dabfe9df27f
BLAKE2b-256 checksum
How to use checksums
90cba0427dcd2ea2d619807f8a6dc36f0ae4e09054fc77e6e6c5fbc13fe9f53a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.2 This release

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page