Skip to content
Shivashis Padhi edited this page Nov 3, 2019 · 10 revisions

Welcome to the unsplashcl's development wiki!

UnsplashCL during development would be separated into three parts

This module would be used to interact with https://unsplash.com, manage local data(downloads, uploads, lists), manage online data on source website to manage account data, likes etc.

This module would be used to interact with desktop i.e different OSes like Linux, Windows, OSX, and desktop-managers like Gnome, KDE, Unity etc., to change wallpapers, and live-wallpapers when extended. This library can be separated later as a python-module.

This module would have the user-interface of unsplashcl app. The Argparse/Click command-line interface's code would interact with unsplash-interactor and desktop-interactor and only be used for I/O purposes.

List of features to be implemented - A development roadmap

setup

  • We'll use pypi to deploy our application for 0.1.0 release
  • unsplashcl would use OAuth to authenticate an user. This library can be used to implement an OAuth client.
  • Every installation of CLI would have a different API access key(which the users have to get from the website, else the service has to be paid 🤒), we can provide user with a config option.

usage

Following are some features I've thought of, please to suggest more.

Public

  • downloading an image
  • downloading a collection
  • search list by category

Auth

  • like an image
  • save an image to collection
  • remove an image from collection
  • add collection

Desktop based

  • changing wallpaper of desktop directly from an url, or file
  • live wallpapers based on categories or randomly(I'm feeling lucky?)

final product

unsplashcl get [url][image id]

unsplashcl livewp --theme "fire" #live wallpaper

unsplashcl auth

unsplashcl like [url][image id]