Skip to main content
AirFrame
===============================

.. image:: https://badge.fury.io/py/airframe.png
:target: http://badge.fury.io/py/airframe

.. image:: https://pypip.in/d/airframe/badge.png
:target: https://crate.io/packages/airframe?version=latest

Download images from an authenticated Flickr account (or local filesystem) and
push them wirelessly to a Toshiba FlashAir Wifi SD card mounted in a digital
photo frame.

* Free software: ASL2 license
* Documentation: http://documentup.com/virantha/airframe
* Source: http://github.com/virantha/airframe
* API docs: http://virantha.github.com/airframe/html

Features
--------

* Authenticates to Flickr to get your private photos
* Only downloads photos with specified tags
* Alternativly, can sync files from a local directory
* Caches and syncs the photos to the Wifi SD card


Installation
------------

.. code-block:: bash

$ pip install airframe

Usage
-----

First, go to Flickr and get a private key at http://www.flickr.com/services/api/misc.api_keys.html

Then, create a directory from where you will start airframe, and create a file called flickr_api.yaml:

.. code-block:: yaml

key: "YOUR_API_KEY"
secret: "YOUR_API_SECRET"

Then, setup your FlashAir card as described in `this post's
<http://virantha.com/2014/01/09/hacking-together-a-wifi-photo-frame-with-a-toshiba-flashair-sd-card-wireless-photo-uploads>`__
"Enabling the FlashAir" section.

Now, you're ready to sync some photos! Just run:

.. code-block:: bash

$ airframe -n 100 -t photoframe YOUR_AIRFRAME_IP

This will download and sync the 100 most recent photos tagged with "photoframe" to your
AirFrame.

.. warning:: Any other image files in the FlashAir upload directory will be deleted, so make sure you backup anything you want to keep from your SD card.

The image files from Flickr will be cached in a sub-directory called
``.airframe`` in the location you invoked airframe from, so as long as you rerun
from the same directory, the script will only download new files from Flickr. If you want to
redownload all the files from scratch, just ``rm .airframe`` these files.

The script will also only upload new images to the FlashAir card, and ignore any files that are
already present on the card. If you want to force a clean upload, do the following:

.. code-block:: bash

$ airframe -n 100 -t photoframe -f YOUR_AIRFRAME_IP

This will delete all images already on the card, and upload every image again.

Alternatively, you can sync files directly from your local computer by pointing
the script at a directory of ``.jpg`` files:

.. code-block:: bash
$ airframe -l /path/to/photos YOUR_AIRFRAME_IP

Note: other flags are ignored in this mode.


.. :changelog:

History
-------

0.1.0 (2014-01-10)
++++++++++++++++++

* First release on PyPI.

Todo list
=========
- Add tests
- Add docstrings
- Travis integration
- Use docopt instead of argparse
- Better error handling

Metadata

Release files for airframe 0.2.0

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

Source distribution (sdist)

Source distribution for airframe 0.2.0
File Size Uploaded Provenance
airframe-0.2.0.tar.gz 13.8 kB Without provenance Details

Release files / airframe-0.2.0.tar.gz

Download URL airframe-0.2.0.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6a37281fca11c8d397727de0e6adadb91a316e8a036aa77d9a8a997c6756047d
BLAKE2b-256 checksum
How to use checksums
45a49f3dda1d2d551aea5bb412c0815e61f38a3b4df748c3f9f17a0fa09507b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for airframe 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file No provenance

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