Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python package to list and download all original images from Flickr Apollo Archive

Project description

Build Coverage PyPI Status Version Python License Tutorial

Python package to list and download all original images from Flickr Apollo Archive.

Moon

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.

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 apollo-archive, version 1.3
Filename, size File type Python version Upload date Hashes
Filename, size apollo_archive-1.3-py2.py3-none-any.whl (9.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size apollo-archive-1.3.tar.gz (281.3 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