Skip to main content

KeePass database SFTP sync.

Project description

Keepuppy is a Python package and associated scripts to keep a Keepass database file in sync between the local filesystem of multiple clients and an SFTP server. Optionally a command can be executed if the local file is updated. An example script is provided to restart KeePassX.

Scripts is a script to perform the file synchronisation. is a script to restart an application, KeePassX by default, which can be called by when the local file is updated.

Configuration values are set via environment variables. I recommend using a tool such as envdir.
  • KEEPUPPY_CACHE_FILE: File to store file hashes (default ‘~/.keepuppy_cache.json’)
  • KEEPUPPY_LOCAL_FILE: Path to the local file (required)
  • KEEPUPPY_REMOTE_FILE: Path on the SFTP server to the file (required)
  • KEEPUPPY_RESTART_COMMAND: Script or shell command to execute when the local file is updated
  • KEEPUPPY_SFTP_HOST_NAME: SFTP server name (default ‘localhost’)
  • KEEPUPPY_SFTP_HOST_PORT: SFTP server port (default ‘22’)

If the KEEPUPPY_RESTART_COMMAND value contains [file_name] it with be replaced with the name of the updated local file.
  • KEEPUPPY_RESTART_PROCESS_NAME: name of the process to restart (default ‘KeePassX’)
  • KEEPUPPY_RESTART_TIMEOUT: time in seconds to wait for the process to stop (default ‘30’)
  • KEEPUPPY_RESTART_START_COMMAND: script or shell command to execute to start the new process (default ‘open -a “KeePassX”’)


To work with KeePassX, and not lose data when restarted by script, check Preferences -> General (2) -> Automatically save database after every change.


Copyright (c) 2014 Warren Moore

This software may be redistributed under the terms of the MIT License. See the file LICENSE for details.


      @wamonite     - twitter
       \ - web
warren____________/ - email

Project details

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
keepuppy-1.0.9.tar.gz (7.9 kB) Copy SHA256 hash SHA256 Source None Mar 1, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page