Flickr Apollo Archive
Python package to list and download all original images from Flickr Apollo Archive.
Project Apollo Archive / Apollo 11 Magazine 40/S (v1 / levels-adj) / AS11-40-5949
Install
With pip
:
$ pip install apollo-archive
With the source files
:
$ git clone https://github.com/seignovert/python-flickr-apollo-archive.git apollo-archive
$ cd apollo-archive ; python setup.py install
Note
You need FlickrAPI key
and secret
tokens. They can be generated here.
Use the prompt input to init the key variables on the first load of the module:
Warning: Some environnement variables are missing.
> Go to https://www.flickr.com/services/api/keys/ to setup your keys.
FLICKR_API_KEY: 1234567890
FLICKR_API_SECRET: ABCDEF
or you can set then globally:
$ export FLICKR_API_KEY=1234567890
$ export FLICKR_API_SECRET=ABCDEF
Python usage
Query Flickr API:
>>> from apolloarchive import User
>>> user = User()
Flickr User: Apollo Image Gallery (136485307@N06) | 107 albums
>>> albums = user.albums
[
Album: "Announcements" (3 photos),
Album: "Apollo 7 Magazine 3/M" (46 photos),
Album: "Apollo 7 Magazine 4/N" (55 photos),
...
Album: "Apollo 17 Magazine 163/TT" (72 photos)
]
>>> albums[0].slug
'Announcements'
>>> albums[0].photos
[
Photo: "(also) Follow Project Apollo Archive on Facebook",
Photo: "About the Project Apollo Archive Flickr Gallery",
Photo: "The Project Apollo Archive is best experienced in the "Albums" view"
]
>>> albums[0].photos[0].url
'https://farm1.staticflickr.com/622/21878909302_a369c0c4de_o.jpg'
>>> albums[0].photos[0].filename
'Also-follow-project-apollo-archive-on-facebook.jpg'
Sync Flickr photosets:
>>> from apolloarchive import sync
>>> sync(album=0, ncpu=4, overwrite=True)
Sync Announcements: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโ| 3/3 [00:00<00:00, 3.89it/s]
> Download: Also-follow-project-apollo-archive-on-facebook
> Download: About-the-project-apollo-archive-flickr-gallery
> Download: The-project-apollo-archive-is-best-experienced-in-the-albums-view
CLI usage
Sync Flickr photosets:
$ apollo-archive --help
usage: apollo-archive [-h] [--user-id USER_ID] [--username USERNAME]
[--album ALBUM] [--ncpu NCPU] [--overwrite]
Sync Flickr folder(s)
optional arguments:
-h, --help show this help message and exit
--user-id USER_ID, -i USER_ID User ID
--username USERNAME, -u USERNAME Username
--album ALBUM, -a ALBUM Album number to sync
--ncpu NCPU, -n NCPU Number of thread during for download
--overwrite, -o Re-download all
$ apollo-archive --album 0 --ncpu 4 --overwrite
Sync Announcements: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโ| 3/3 [00:00<00:00, 3.89it/s]
> Download: Also-follow-project-apollo-archive-on-facebook
> Download: About-the-project-apollo-archive-flickr-gallery
> Download: The-project-apollo-archive-is-best-experienced-in-the-albums-view
Warning
The complete archive is very large (~62 Gb).
Dependencies
- flickrapi
- python-slugify
- wget
- tqdm
- argparse
Disclaimer
This project is not supported or endorsed by either JPL or NASA. The code is provided "as is", use at your own risk.