Skip to content

A python library for instagram filters

License

Notifications You must be signed in to change notification settings

akiomik/pilgram

Repository files navigation

pilgram

DOI PyPI PyPI - Python Version Python CI codecov

A python library for instagram filters.

screenshot

The filter implementations are inspired by CSSgram.

Requirements

Install

pip install pillow>=4.1.0 # or pip install pillow-simd
pip install numpy
pip install pilgram

Usage

Available instagram filters on pilgram:

  • _1977
  • aden
  • brannan
  • brooklyn
  • clarendon
  • earlybird
  • gingham
  • hudson
  • inkwell
  • kelvin
  • lark
  • lofi
  • maven
  • mayfair
  • moon
  • nashville
  • perpetua
  • reyes
  • rise
  • slumber
  • stinson
  • toaster
  • valencia
  • walden
  • willow
  • xpro2
from PIL import Image
import pilgram

im = Image.open('sample.jpg')
pilgram.aden(im).save('sample-aden.jpg')

Similarly, pilgram provides css filters and blend modes as a by-product.

Available css filters on pilgram.css:

  • contrast
  • grayscale
  • hue_rotate
  • saturate
  • sepia
from PIL import Image
import pilgram.css

im = Image.open('sample.jpg')
pilgram.css.sepia(im).save('sample-sepia.jpg')

Available blend modes on pilgram.css.blending:

  • color
  • color_burn
  • color_dodge
  • darken
  • difference
  • exclusion
  • hard_light
  • hue
  • lighten
  • multiply
  • normal
  • overlay
  • screen
  • soft_light
from PIL import Image
import pilgram.css.blending

backdrop = Image.open('backdrop.jpg')
source = Image.open('source.jpg')
pilgram.css.blending.color(backdrop, source).save('blending.jpg')

Demo

Open In Colab

Filter performance comparison with instagram-filters

Open In Colab

filter performance comparison

Test

pipenv install --dev
make test     # pytest
make test-tox # pytest with tox