Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Snappy 2

PyPI version


Snappy2 provides a user-friendly way to create fun and engaging image overlays. It uses a neural network to detect face keypoints to draw overlays such as glasses, mustaches, hats, ears, and custom overlays on the face. The library is easy to use and comes with several code examples to get started quickly with a variety of drawing options:

  • draw glasses
  • draw mustache
  • draw hat
  • draw ears
  • draw any overlay
  • draw text

[ Cover Image ]


  1. Snappy2: main class object and one place for all snappy library control.
  2. Detector: provides advanced functionality for getting face keypoints.
  3. FacePainter: helper functions for drawing on top of images based on the received keypoints.

[ Snappy2 Structure ]

The library is designed to be easy and has several code examples to help users get started quickly.


Pip setup

Snappy2 can be easily installed using pip:

pip install snappy2

Github setup

Download the required libraries for code using following terminal command:

  • Install the requirements:
cd requirements
pip install -r requirements.txt
cd ..
  • Run the demo:


from snappy2 import Snappy2

Code Examples (How to)

  • Draw Mustache on face (3 lines)
snappy = Snappy2()

human_image = snappy.load_image('<file_path>')
snappy.set_mustache(human_image, mus_index=0)

[ Mustache Image ]

  • Draw glasses on face (3 lines)
snappy = Snappy2()

human_image = snappy.load_image('<file_path>')
snappy.set_glasses(human_image, gls_index=0)

[ Glass Image ]

  • Draw ears on face (3 lines)
snappy = Snappy2()

human_image = snappy.load_image('<file_path>')
snappy.set_ears(human_image, gls_index=0)

[ Ears Image ]

For more examples and code details check (
For GPU optimized version, download the code from this brunch.


This library utilizes photos that are freely accessible on the web. If any of the example photos have licensing restrictions, please reach out to the library owner directly for clarification or removal.

  • The overlays sourced from Freepik.
  • The faces from the Unsplash free data set.


The MIT License (MIT)

Copyright (c) 2017 Ahmad Barqawi (

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.


Snappy2 detects faces in images and applies custom image filters as overlays. With Snappy2, developers can easily add fun and engaging image filters to their applications.








No packages published