Skip to main content

Automatically upload Signal stickers from a given path and YAML configuration

Project description

Mosaic of custom Signal stickers with the Signal logo in the middle


Automatically upload Signal stickers from a given path and YAML configuration

Install it

The package is available in PyPI, through pip:

  $ pip3 install packpath

But you can also simply checkout this repository and run it as a module:

  $ git clone
  $ cd packpath
  $ python3 -m packpath (plus arguments, see below)

How it works

packpath reads a path and loads a config.yaml file from it to automatically fill a signalstickers-client client, and submit stickers.

It subclasses signalstickers_client.models.LocalStickerPack to add a load_path() method.

You need to provide your username and password, as well as the path to a sticker directory containing a config.yaml file. See below for details on both, or run packpath --help:

  $ packpath --user [uuid_id] --password [password] [path_to_sticker_dir]

  # Most of this README and its instructions are available in the
  # command's help:
  $ packpath --help

YAML format

The YAML format is rather simple:

  title: Your sticker pack title
  author: An author name
  cover: filename-for-the-cover.png

  filename.png: 👀
  another-filename.png: 👋

To save yourself some work, you can use ls to output an almost ready list of filenames to use on your config.yaml:

  $ ls -1 >> config.yaml

Signal credentials


You will need your Signal credentials To obtain them, open the Developer Tools in Signal Desktop, and type window.reduxStore.getState().items.uuid_id to get your USER, and window.reduxStore.getState().items.password to get your PASSWORD.

The above is also available in python3 -m packpath --help.


This is a simple wrapper on top of the very handy signalstickers-client.

Go check it out.


All boiler plate disclaimers apply. But also please be respectful of Signal's service. Don't abuse this or any other script. This is meant to help legitimate users make the most of the service.


Make sure to run flake8 on any changes you make, and also to run the tests:

  $ flake8 packpath
  $ python3 -m unittest discover

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

packpath-0.9.4.tar.gz (5.7 kB view hashes)

Uploaded Source

Built Distribution

packpath-0.9.4-py3-none-any.whl (18.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page