Skip to main content

A collection of court seals that can be used in any project.

Project description

This is a collection of court seals that can be cloned and used in any project. Original files can be found in the orig directory and converted versions can be found in the numerical directories.

The goal of this project is to collect and maintain an updated repository of all the seals that courts have created and to create seals for those rare courts that lack them altogether.


This project is blissfully easy to contribute to and we need lots of help gathering or making files. The process for this is pretty simple.

  1. Find or make the image and ensure it follows our quality guidelines (below).
  2. Add the image file to the orig directory.
  3. Edit seals.json to include the relevant fields for your new file.

That’s it!

index.html is a tool for quickly being able to see the progress on obtaining seals and quickly check the quality of the seals that have been obtained. You can refresh this file by opening it and pasting in the contents of seals.json where indicated (sloppy but effective).

If you wish to get involved as a developer, you’ll want to install this repository from git. Do the following:

  1. Install imagemagick:

    sudo apt-get install imagemagick
  2. Download and link up the code:

    sudo git clone /usr/local/seal_rookery
  3. Install from your local source:

    python install
  4. Update the local copies of the images:

    update-seals -f

Installation for Non-Developers

Basic usage doesn’t require any installation, but if you wish to import the seals.json file into a Python program, you may want to install the Seal Rookery as a Python module in your system. To do so:

  1. Install imagemagick

    sudo apt-get install imagemagick
  2. Install the seal rookery

    pip install seal_rookery
  3. Update the seals

    update-seals -f

You can then import the seals.json information into your project using:

from seal_rookery import seals_data

And you will have various sizes of all the seals ready to go on your system.

In the future, when you get the latest version of the rookery, run update-seals again to generate copies of any new images at various sizes. To see more information about this command run update-seals --help.

Quality Guidelines

Fact is, images are hard to work with and courts don’t always do the best job. Follow these guidelines so we can have nice things:

  1. Convert your original file to png or svg, as appropriate. If you have the ps file, include that as well.
  2. If you use transparency or the file has it, make sure the file looks OK on a background other than white. If it looks bizarre on an orange or blue background, fix it by adding a white layer on the bottom.
  3. Trim any extraneous margins and if the seal is circular, make the corners transparent.
  4. If the item was previously a jpeg or gif, it’s good to clean up the splotchiness created by the jpeg compression. You’ll see it if you zoom in.


We know of no instances where courts have requested a take down of their seal, however usage of government seals has caused a few stirs in the past. Don’t attempt to represent the government or its agents.


Every push to master is pulled into docker hub and builds a new version or the docker seal-rookery image. So we recommend any large changes to seal rookery be done in branches to validate tests prior to pushing.


Testing can run with the following command.

python -m unittest -v test

Tests are also run on every push to Github at

For more information on testing checkout the Github workflows directory.


Deploying can be handled in two ways.

  1. Update the version info in
  2. Commit to github with a tag in format v*.*.* (ex. v1.0.0)


  1. Update the version info in

  2. Install the requirements in requirements-dev.txt

  3. Set up a config file at ~/.pypirc containing the upload locations and authentication credentials.

  4. Generate a distribution:

    python sdist
  5. Upload the distribution:

    twine upload dist/* -r pypi

Credit Where Due

This project inspired by the initial visualization work of @nowherenearithaca.

Download files

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

Files for seal-rookery, version 0.10.0
Filename, size File type Python version Upload date Hashes
Filename, size seal_rookery-0.10.0-py3-none-any.whl (14.7 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size seal_rookery-0.10.0.tar.gz (14.7 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page