Awesome
Python Flickr API
A Python implementation of the Flickr API.
The project provides an almost exhaustive access to the Flickr API, through an object-oriented Python interface.
Quick Start
- Install the package via PyPI (or manually cloning the repo):
pip install flickr_api
-
Acquire Flickr API keys and set up authorisation as per the Wiki
-
Start using the OO interface!
Here's an example of fetching a list of a specific users' public photos:
user = flickr_api.Person.findByUserName("tomquirkphoto")
photos = user.getPhotos()
If you've authorised yourself as a user, you can do cooler things like upload photos:
flickr_api.upload(photo_file="path_to_the_photo_file", title="My title")
And even create albums (a.k.a Photosets):
photoset = flickr_api.Photoset.create(title="The title of the photoset", primary_photo=cover_photo)
Features
Consult the API Reference for a (semi) complete list
- Object Oriented implementation
- (Almost) comprehensive implementation
- Uses OAuth for authentication
- Context-sensitive objects (depending on the query context, objects may exhibit different attributes)
- An interface for direct seamless calls to the Flickr API.
- A (Django-compliant) caching mechanism
Requires:
- python >= 2.7
- python-oauth2
- six
- requests
Please note that flickrapi
on PyPI is a different distribution by a different author.
API Guide
A brief guide is available in the Wiki section.
Projects using this API
create a PR to add your project here!
- FlickrBox - A Dropbox-like backup experience for your free 1TB Flickr library!
- Album Sorter - Sort flickr albums into date taken order
- Flickr Download - Download photos, sets, etc from Flickr
Development
This project uses pipenv to create a virtualenv for development and control dependencies.
To run tests you can simply run it with:
pipenv install --dev
pipenv run nose2
To evoke the unittest module directly, one can run from the root directory (the directory with this file):
python -m unittest discover test
Notes
Any help, including bug reports, is appreciated!