https://github.com/seignovert/python-flickr-apollo-archive
Python package to list and download all original images from Flickr Apollo Archive
https://github.com/seignovert/python-flickr-apollo-archive
apollo archive flickr flickr-api nasa python
Last synced: 21 days ago
JSON representation
Python package to list and download all original images from Flickr Apollo Archive
- Host: GitHub
- URL: https://github.com/seignovert/python-flickr-apollo-archive
- Owner: seignovert
- License: mit
- Created: 2019-01-09T20:07:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-01-14T00:22:28.000Z (over 7 years ago)
- Last Synced: 2025-09-24T07:21:03.958Z (7 months ago)
- Topics: apollo, archive, flickr, flickr-api, nasa, python
- Language: Jupyter Notebook
- Homepage: https://pypi.org/project/apollo-archive
- Size: 286 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.md
Awesome Lists containing this project
README
Flickr Apollo Archive
=====================
|Build| |Coverage| |PyPI| |Status| |Version| |Python| |License| |Tutorial|
.. |Build| image:: https://travis-ci.org/seignovert/python-flickr-apollo-archive.svg?branch=master
:target: https://travis-ci.org/seignovert/python-flickr-apollo-archive
.. |Coverage| image:: https://coveralls.io/repos/github/seignovert/python-flickr-apollo-archive/badge.svg?branch=master
:target: https://coveralls.io/github/seignovert/python-flickr-apollo-archive?branch=master
.. |PyPI| image:: https://img.shields.io/badge/PyPI-apollo--archive-blue.svg
:target: https://pypi.org/project/apollo-archive
.. |Status| image:: https://img.shields.io/pypi/status/apollo-archive.svg?label=Status
:target: https://pypi.org/project/apollo-archive
.. |Version| image:: https://img.shields.io/pypi/v/apollo-archive.svg?label=Version
:target: https://pypi.org/project/apollo-archive
.. |Python| image:: https://img.shields.io/pypi/pyversions/apollo-archive.svg?label=Python
:target: https://pypi.org/project/apollo-archive
.. |License| image:: https://img.shields.io/pypi/l/apollo-archive.svg?label=License
:target: https://pypi.org/project/apollo-archive
.. |Tutorial| image:: https://img.shields.io/badge/Jupyter%20Notebook-tutorial-blue.svg
:target: https://nbviewer.jupyter.org/github/seignovert/python-flickr-apollo-archive/blob/master/apolloarchive.ipynb
Python package to list and download all original images from
`Flickr Apollo Archive `_.
|Moon|
.. |Moon| image:: As11-40-5949.jpg
:target: https://www.flickr.com/photos/projectapolloarchive/21660108915/in/album-72157658601662068/
`Project Apollo Archive `_
/
`Apollo 11 Magazine 40/S (v1 / levels-adj) `_
/
`AS11-40-5949 `_
Install
-------
With ``pip``:
.. code:: bash
$ pip install apollo-archive
With the ``source files``:
.. code:: bash
$ 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:
.. code:: bash
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:
.. code:: bash
$ export FLICKR_API_KEY=1234567890
$ export FLICKR_API_SECRET=ABCDEF
Python usage
------------
Query Flickr API:
.. code:: python
>>> 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:
.. code:: python
>>> 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:
.. code:: bash
$ 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.