Skip to main content

Flask-based EyeFi Server

Project description


Simple Flask-based Python3 EyeFi server


I use an Eye-Fi SD card in my portable scanner. Unfortunately, it used to upload directly to Evernote, but no longer supports uploading directly to any service that suits my needs. Additionally, they don’t provide a Linux version of their server software.

EyeFlask is a simple Flask-based Eye-Fi server written for Python >= 3.4. The Eye-Fi card can connect to it and will upload images to the folder specified in the config. EyeFlask attempts to verify the file integrity using the same security protocols used by Eye-Fi Server.


  • Python >= 3.4
  • Flask >= 0.10.1


  1. Clone the repo: git clone && cd    eyeflask
  2. Make a virtualenv: python3 -m venv venv
  3. Copy the config sample: cp instance/eyeflask{-sample,}.cfg
  4. Edit the config to include your upload directory and upload_key (see below): vim eyeflask.cfg
  5. Install dependencies: venv/bin/pip install -r requirements.txt
  6. Run: venv/bin/python
  7. Scan some stuff, see if it ends up in your uploads folder


Much of the code for EyeFlask came from or was inspired by the following projects / links. Many thanks to the authors for their work! If I’ve forgotten anyone, let me know.

Troubleshooting / FAQ

Where do I find my upload key?

You’ll need a supported platform (OS X or Windows) with Eye-Fi installed, and need to have uploaded photos to that computer at least once. This ensures everything is working, and generates the Settings.xml file, from which you need to copy the upload key into instance/eyeflask.cfg.

  • OS X: ~/Library/Eye-Fi/Settings.xml
  • Windows 7: C:\Users\[user]\AppData\Roaming\Eye-Fi\Settings.xml (source)
  • Windows XP: C:\Documents and Settings\[user]\Application   Data\Eye-Fi\Settings.xml (source)

Is it okay to be running this with the built-in Flask server?

It’s not perfect, but it seems to work okay for me and my single Eye-Fi card setup. You’d probably be better off running it behind gunicorn or a gunicorn / nginx setup, but I’m running it behind Flask alone for simplicity and because I haven’t had any issues so far.


0.1.0 ::

  • Initial release to GitHub, PyPI

Project details

Download files

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

Files for eyeflask, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size eyeflask-0.1.0-py3-none-any.whl (15.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size eyeflask-0.1.0.tar.gz (20.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

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