Skip to main content

Monsters for your language games.

Project description

     .─') _                                       .─') _                  
    (  OO) )                                     ( OO ) )            
  ░██████  ░██ ░██   ░██               ░██       ░██ ░██                                 
 ░██   ░██ ░██       ░██               ░██       ░██                                     
░██        ░██ ░██░████████  ░███████ ░████████  ░██ ░██░████████   ░████████ ░███████  
░██  █████ ░██ ░██   ░██    ░██('─.░██ ░██    ░██ ░██ ░██░██    ░██ ░██.─')░██ ░██        
░██     ██ ░██ ░██   ░██    ░██( OO ) ╱░██    ░██ ░██ ░██░██    ░██ ░██(OO)░██ ░███████  
  ░██  ░███ ░██ ░██   ░██   ░██    ░██ ░██    ░██ ░██ ░██░██    ░██ ░██  o░███      ░██ 
  ░█████░█ ░██ ░██   ░████   ░███████  ░██    ░██ ░██ ░██░██    ░██  ░█████░██ ░███████  
                                                                    ░██            
                                                                ░███████             

                        Every language game breeds monsters.

Python Versions PyPI version Wheel Linting and Typing
Entropy Budget Chaos Charm
Lore Compliance

Glitchlings are utilities for corrupting the text inputs to your language models in deterministic, linguistically principled ways.
Each embodies a different way that documents can be compromised in the wild.

If reinforcement learning environments are games, then Glitchlings are enemies to breathe new life into old challenges.

They do this by breaking surface patterns in the input while keeping the target output intact.

Some Glitchlings are petty nuisances. Some Glitchlings are eldritch horrors.
Together, they create truly nightmarish scenarios for your language models.

After all, what good is general intelligence if it can't handle a little chaos?

-The Curator

Quickstart

pip install -U glitchlings

Glitchlings requires Python 3.10 or newer.

from glitchlings import Auggie, SAMPLE_TEXT

auggie = (
    Auggie(seed=404)
    .typo(rate=0.015)
    .confusable(rate=0.01)
    .homophone(rate=0.02)
)

print(auggie(SAMPLE_TEXT))

One morning, when Gregor Samsa woke from troubld dreams, he found himself transformed in his bed into a horible vermin. He layed on his armour-like back, and if he lifted his head a little he could see his brown belly, slightly domed and divided by arches into stiff sections. The bedding was hardly able to cover it and seemed ready to slide off any moment. His many legs, pitifully thin compared with the size of the rest of him, waved about helplessly as he looked.

Or, the equivalent using Gaggle directly:

from glitchlings import Gaggle, SAMPLE_TEXT, Typogre, Mim1c, Ekkokin

gaggle = Gaggle(
    [
        Typogre(rate=0.015),
        Mim1c(rate=0.01),
        Ekkokin(rate=0.02),
    ],
    seed=404
)

print(gaggle(SAMPLE_TEXT))

Consult the Glitchlings Usage Guide for end-to-end instructions spanning the Python API, CLI, HuggingFace, PyTorch, and Prime Intellect integrations, and the compiled Rust pipeline (always enabled).

Motivation

If your model performs well on a particular task, but not when Glitchlings are present, it's a sign that it hasn't actually generalized to the problem.

Conversely, training a model to perform well in the presence of the types of perturbations introduced by Glitchlings should help it generalize better.

Your First Battle

Summon your chosen Glitchling (or a few, if ya nasty) and call it on your text or slot it into Dataset.map(...), supplying a seed if desired. Glitchlings are standard Python classes, so you can instantiate them with whatever parameters fit your scenario:

from glitchlings import Gaggle, Typogre, Mim1c

custom_typogre = Typogre(rate=0.1)
selective_mimic = Mim1c(rate=0.05, classes=["LATIN", "GREEK"])

gaggle = Gaggle([custom_typogre, selective_mimic], seed=99)
print(gaggle("Summoned heroes do not fear the glitch."))

Calling a Glitchling on a str transparently calls .corrupt(str, ...) -> str. This means that as long as your glitchlings get along logically, they play nicely with one another.

When summoned as or gathered into a Gaggle, the Glitchlings will automatically order themselves into attack waves, based on the scope of the change they make:

  1. Document
  2. Paragraph
  3. Sentence
  4. Word
  5. Character

They're horrible little gremlins, but they're not unreasonable.

Command-Line Interface (CLI)

Keyboard warriors can challenge them directly via the glitchlings command:

# Discover which glitchlings are currently on the loose.
glitchlings --list
   Typogre — scope: Character, order: early
     Hokey — scope: Character, order: first
     Mim1c — scope: Character, order: last
   Ekkokin — scope: Word, order: early
    Pedant — scope: Word, order: late
  Jargoyle — scope: Word, order: normal
  Rushmore — scope: Word, order: normal
  Redactyl — scope: Word, order: normal
 Spectroll — scope: Word, order: normal
Scannequin — scope: Character, order: late
    Zeedub — scope: Character, order: last
# Review the full CLI contract.
glitchlings --help
usage: glitchlings [-h] [-g SPEC] [-s SEED] [-f FILE] [--sample] [--diff]
                   [--list] [-c CONFIG]
                   [text ...] {build-lexicon} ...

Summon glitchlings to corrupt text. Provide input text as an argument, via
--file, or pipe it on stdin.

positional arguments:
  text                  Text to corrupt. If omitted, stdin is used or --sample
                        provides fallback text.
  {build-lexicon}
    build-lexicon       Generate synonym caches backed by vector embeddings.

options:
  -h, --help            show this help message and exit
  -g SPEC, --glitchling SPEC
                        Glitchling to apply, optionally with parameters like
                        Typogre(rate=0.05). Repeat for multiples; defaults to
                        all built-ins.
  -s SEED, --seed SEED  Seed controlling deterministic corruption order
                        (default: 151).
  -f FILE, --file FILE  Read input text from a file instead of the command
                        line argument.
  --sample              Use the included SAMPLE_TEXT when no other input is
                        provided.
  --diff                Show a unified diff between the original and corrupted
                        text.
  --list                List available glitchlings and exit.
  -c CONFIG, --config CONFIG
                        Load glitchlings from a YAML configuration file.
# Run Typogre against the contents of a file and inspect the diff.
glitchlings -g typogre --file documents/report.txt --diff

# Configure glitchlings inline by passing keyword arguments.
glitchlings -g "Typogre(rate=0.05)" "Ghouls just wanna have fun"

# Pipe text straight into the CLI for an on-the-fly corruption.
echo "Beware LLM-written flavor-text" | glitchlings -g mim1c

# Load a roster from a YAML attack configuration.
glitchlings --config experiments/chaos.yaml "Let slips the glitchlings of war"

Attack configurations live in plain YAML files so you can version-control experiments without touching code:

# experiments/chaos.yaml
seed: 31337
glitchlings:
  - name: Typogre
    rate: 0.04
  - "Rushmore(rate=0.12, unweighted=True)"
  - name: Zeedub
    parameters:
      rate: 0.02
      characters: ["\u200b", "\u2060"]

Pass the file to glitchlings --config or load it from Python with glitchlings.load_attack_config and glitchlings.build_gaggle.

Development

Follow the development setup guide for editable installs, automated tests, and tips on enabling the Rust pipeline while you hack on new glitchlings.

Starter 'lings

For maintainability reasons, all Glitchling have consented to be given nicknames once they're in your care. See the Monster Manual for a complete bestiary.

Typogre

What a nice word, would be a shame if something happened to it.

Fatfinger. Typogre introduces character-level errors (duplicating, dropping, adding, or swapping) based on the layout of a keyboard (QWERTY by default, with Dvorak and Colemak variants built-in).

Args

  • rate (float): The maximum number of edits to make as a percentage of the length (default: 0.02, 2%).
  • keyboard (str): Keyboard layout key-neighbor map to use (default: "CURATOR_QWERTY"; also accepts "QWERTY", "DVORAK", "COLEMAK", and "AZERTY").
  • seed (int): The random seed for reproducibility (default: 151).

Apostrofae

It looks like you're trying to paste some text. Can I help?

Paperclip Manager. Apostrofae scans for balanced runs of straight quotes, apostrophes, and backticks before replacing them with randomly sampled smart-quote pairs from a curated lookup table. The swap happens in-place so contractions and unpaired glyphs remain untouched.

Args

  • seed (int): Optional seed controlling the deterministic smart-quote sampling (default: 151).

Mim1c

Wait, was that...?

Confusion. Mim1c replaces non-space characters with Unicode Confusables, characters that are distinct but would not usually confuse a human reader.

Args

  • rate (float): The maximum proportion of characters to replace (default: 0.02, 2%).
  • classes (list[str] | "all"): Restrict replacements to these Unicode script classes (default: ["LATIN", "GREEK", "CYRILLIC"]).
  • banned_characters (Collection[str]): Characters that must never appear as replacements (default: none).
  • seed (int): The random seed for reproducibility (default: 151).

Hokey

She's soooooo coooool!

Passionista. Hokey sometimes gets a little excited and elongates words for emphasis.

Args

  • rate (float): Share of high-scoring tokens to stretch (default: 0.3).
  • extension_min / extension_max (int): Bounds for extra repetitions (defaults: 2 / 5).
  • word_length_threshold (int): Preferred maximum alphabetic length; longer words are damped instead of excluded (default: 6).
  • base_p (float): Base probability for the heavy-tailed sampler (default: 0.45).
  • seed (int): The random seed for reproducibility (default: 151).

Apocryphal Glitchling contributed by Chloé Nunes

Scannequin

How can a computer need reading glasses?

OCR Artifacts. Scannequin mimics optical character recognition errors by swapping visually similar character sequences (like rn↔m, cl↔d, O↔0, l/I/1).

Args

  • rate (float): The maximum proportion of eligible confusion spans to replace (default: 0.02, 2%).
  • seed (int): The random seed for reproducibility (default: 151).

Zeedub

Watch your step around here.

Invisible Ink. Zeedub slips zero-width codepoints between non-space character pairs, forcing models to reason about text whose visible form masks hidden glyphs.

Args

  • rate (float): Expected number of zero-width insertions as a proportion of eligible bigrams (default: 0.02, 2%).
  • characters (Sequence[str]): Optional override for the pool of zero-width strings to inject (default: curated invisibles such as U+200B, U+200C, U+200D, U+FEFF, U+2060).
  • seed (int): The random seed for reproducibility (default: 151).

Ekkokin

Did you hear what I heard?

Echo Chamber. Ekkokin swaps words with curated homophones so the text still sounds right while the spelling drifts. Groups are normalised to prevent duplicates and casing is preserved when substitutions fire.

Args

  • rate (float): Maximum proportion of eligible words to replace with homophones (default: 0.02, 2%).
  • seed (int): The random seed for reproducibility (default: 151).

Jargoyle

Uh oh. The worst person you know just bought a thesaurus.

Sesquipedalianism. Jargoyle, the insufferable Glitchling, replaces words from selected parts of speech with synonyms at random, without regard for connotational or denotational differences.

Args

  • rate (float): The maximum proportion of words to replace (default: 0.01, 1%).
  • part_of_speech: The WordNet-style part(s) of speech to target (default: nouns). Accepts wn.NOUN, wn.VERB, wn.ADJ, wn.ADV, any iterable of those tags, or the string "any" to include them all. Vector/graph backends ignore this filter while still honouring deterministic sampling.
  • seed (int): The random seed for reproducibility (default: 151).

Rushmore

I accidentally an entire word.

Tactical Scrambler. Rushmore now orchestrates the full word-level triad—deletions, duplications, and adjacent swaps—that previously lived in separate glitchlings. Select the behaviours you need with the modes parameter (or pass "all") and Rushmore executes them in a deterministic order while sharing one RNG.

Args

  • modes: Choose which word-level attacks to enable. Accepts "delete", "duplicate", "swap", any iterable of those tokens, a corresponding RushmoreMode, or the string "all".
  • rate (float): Global rate applied when per-mode rates are unspecified (default: 0.01, 1%).
  • delete_rate, duplicate_rate, swap_rate (float): Optional per-mode overrides.
  • unweighted (bool): Apply uniform sampling to all modes (default: False).
  • delete_unweighted, duplicate_unweighted (bool | None): Per-mode overrides for weighting strategy.
  • seed (int): The random seed for reproducibility (default: 151).

Redactyl

Oops, that was my black highlighter.

FOIA Reply. Redactyl obscures random words in your document like an NSA analyst with a bad sense of humor.

Args

  • replacement_char (str): The character to use for redaction (default: FULL_BLOCK).
  • rate (float): The maximum proportion of words to redact (default: 0.025, 2.5%).
  • merge_adjacent (bool): Whether to redact the space between adjacent redacted words (default: False).
  • unweighted (bool): Sample words uniformly instead of biasing toward longer tokens (default: False).
  • seed (int): The random seed for reproducibility (default: 151).

Field Report: Uncontained Specimens

Containment procedures pending

  • nylingual backtranslates portions of text.
  • glothopper introduces code-switching effects, blending languages or dialects.
  • palimpsest rewrites, but leaves accidental traces of the past.
  • vesuvius is an apocryphal Glitchling with ties to [Nosy, aren't we? -The Curator]

Apocrypha

Cave paintings and oral tradition contain many depictions of strange, otherworldly Glitchlings.
These Apocryphal Glitchling are said to possess unique abilities or behaviors.
If you encounter one of these elusive beings, please document your findings and share them with The Curator.

Ensuring Reproducible Corruption

Every Glitchling should own its own independent random.Random instance. That means:

  • No random.seed(...) calls touch Python's global RNG.
  • Supplying a seed when you construct a Glitchling (or when you summon(...)) makes its behavior reproducible.
  • Re-running a Gaggle with the same master seed and the same input text (and same external data!) yields identical corruption output.
  • Corruption functions are written to accept an rng parameter internally so that all randomness is centralized and testable.

At Wits' End?

If you're trying to add a new glitchling and can't seem to make it deterministic, here are some places to look for determinism-breaking code:

  1. Search for any direct calls to random.choice, random.shuffle, or set(...) ordering without going through the provided rng.
  2. Ensure you sort collections before shuffling or sampling.
  3. Make sure indices are chosen from a stable reference (e.g., original text) when applying length‑changing edits.
  4. Make sure there are enough sort keys to maintain stability.

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

glitchlings-0.7.2.tar.gz (219.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

glitchlings-0.7.2-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

glitchlings-0.7.2-cp313-cp313-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

glitchlings-0.7.2-cp313-cp313-macosx_11_0_universal2.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ universal2 (ARM64, x86-64)

glitchlings-0.7.2-cp313-cp313-macosx_10_13_universal2.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

glitchlings-0.7.2-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

glitchlings-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

glitchlings-0.7.2-cp312-cp312-macosx_11_0_universal2.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ universal2 (ARM64, x86-64)

glitchlings-0.7.2-cp312-cp312-macosx_10_13_universal2.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

glitchlings-0.7.2-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

glitchlings-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

glitchlings-0.7.2-cp311-cp311-macosx_11_0_universal2.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ universal2 (ARM64, x86-64)

glitchlings-0.7.2-cp311-cp311-macosx_10_12_universal2.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)

glitchlings-0.7.2-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

glitchlings-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

glitchlings-0.7.2-cp310-cp310-macosx_13_0_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

glitchlings-0.7.2-cp310-cp310-macosx_11_0_universal2.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file glitchlings-0.7.2.tar.gz.

File metadata

  • Download URL: glitchlings-0.7.2.tar.gz
  • Upload date:
  • Size: 219.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for glitchlings-0.7.2.tar.gz
Algorithm Hash digest
SHA256 76e0888df306e5d2bf1c03f6c3cf6d82ad66353eb7e77ea35d5aa548288b4122
MD5 4ae1bda878f16c8b44e50660c01888d9
BLAKE2b-256 74f9257f5dd77b77723c6e33effaab0c3817de9b8111438a64989aecbadbbb81

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2.tar.gz:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cb9fd94d0c1c0746bf26c7ddc86c34e6e5080f19fc05fceff0f9e3f40bcb6def
MD5 d08b571794eeafe3e8fd3ab9b88f40fa
BLAKE2b-256 925659a8142e3c16dc6706eec398c2f3c97da13e0dd585dbd7b0b188886fc094

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 404b169e6034eed4f1c727661d3ab7f7131022812265130353770ce8641a8892
MD5 76a3a905d3a7fed59832afd9c6683415
BLAKE2b-256 7243465dc8972d13ce639d8fcbe89ee46a3d6e016fff7f323fdda584d28daf82

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp313-cp313-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 91de277f5f19ecee23b7c9f0f1bb7541883838dd3b4d6647de11b7cf820852c5
MD5 f0315c2dbd04430b1ea680ba78968d20
BLAKE2b-256 905ad8df64edb8548341ccc6ef058825dfd79050f6385ed612902ec33940817e

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp313-cp313-macosx_11_0_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 dc4b020789fe902c860fd6c58c749407691d5fd778a5e27bdc9c7822d4749ccb
MD5 b58dccfb649564aa2a48f0402cbe64df
BLAKE2b-256 8d63a1707d110d20217cd3f8515357cf8f8ebb3c80e7a2921e47efa325c789a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5342ead3e668db2c447a234d7a27033532305abd4a50a12af8903889f6050341
MD5 60960b80a6236b302f4eaf6564be8f0d
BLAKE2b-256 9905dbccdfd215ea2924fee2a0445d8f4437206771eb5dc9134629241cec85e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e8004dea9492320311b83c97da6b8d6cdfcd939ab4db7232877c1d80164851c7
MD5 5af1416016f7f475676ebd7244fd434c
BLAKE2b-256 01e217eb32ac5f03fc1d41ed6e311b202caf5128187580b2ad6d3038e85d7106

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp312-cp312-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 feafaa4f6f744666901cfcfee834774f2dc55606c70ea120e1e8a97c13691316
MD5 d8bba3fa558c03d5e3b5bd4a06ce8efb
BLAKE2b-256 b72a3a0e1c712a4cc7037732f4bcee31eb0295c1cb32fafa929bccf8e725fb4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp312-cp312-macosx_11_0_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 df36a4dbb91d523299993aacc460f0e3e3a13ccd12e32cff9b091ca174446c67
MD5 e6b486e33008fc876d01c05a4017cf30
BLAKE2b-256 d51e5485935290ec5f904333827cf765f41a8d50561056607b0e2dc891d09544

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4a401a6b33c152b7b93b8040f2de742839c77b79daa4c8071d58cf0ae3bf0db0
MD5 9e0e3dd9bce9a9ccdbab4bb162d50ea1
BLAKE2b-256 b7bdb6deb62fd68e120ead7cfdd95fa83ce572366b0cb828952a339c851380a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf2eb916930589eb520d0255fc54db694e8b1ae6ec415b87cb35a173e17bfe4d
MD5 b6f852bc6a8ccf2dd2b7084258a4f86e
BLAKE2b-256 7813c0bca9652408498fb9a26fba3a538d03497009945c8ec770824f1712e0c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp311-cp311-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp311-cp311-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 d1659fce460e7efb7cb5d5d29cf3ec80c9bae3ab3299aa1a01a1e2b411fea851
MD5 f52fa2fb35cdeef5593b5c6b5481a3f2
BLAKE2b-256 291803f44ffff36cb3111aad936590f4e2f7d92c687f795807cb91504b051602

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp311-cp311-macosx_11_0_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp311-cp311-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp311-cp311-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ec376edcba151cb7d34dc5a1c6e94c0b8fa1be2b11395f4b52c32655d221bedc
MD5 41a3024900ce1941dfd45da85da19d16
BLAKE2b-256 a712f88e553192bbafeac98aaf5f2004fbb9e06b6fa257d1a6b5794182eb3fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp311-cp311-macosx_10_12_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3ae9be188caa52d2b065baa5e3454ea05e0b397a952d08e1013fc8d817081eca
MD5 356eb89dbe6a7d4e9cd2ba24088b55a2
BLAKE2b-256 3b18fbdd48be2e9308cff39267ba2554e57dab8b574c50c1c021d08a0daaea38

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5944047a300684bde87019e9df64eb3a10d207f5a3a4be1e0a9498762bac666
MD5 990e6026bdca37c94a37f6ee79c5a185
BLAKE2b-256 4fd57a4aa1a3ad1a372b1e73dabe60f1280fe0eff357f3efa4a9d0071a158af7

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 85a62514bea997b4279fa73e1fbc3f35f421f3b9a944dbbd3f2741bee4c23053
MD5 74769b781209608e8be2b5fb0fc351f4
BLAKE2b-256 8d8ee4abdac0d390cfb14f6ea3f70da3d6c58241d785851e5cc1d2c8729a2ad1

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glitchlings-0.7.2-cp310-cp310-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for glitchlings-0.7.2-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 eab8c2fb2178041f119fb1546dd6ceefe81af09f538901902f382c4b3bddb8c8
MD5 de9f31823a043a5fadfbd4fedecad050
BLAKE2b-256 ee51cee8afd3fcc89d6f0626e1ba6f0705cfc2896c496530d2cb810a8b28fe1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for glitchlings-0.7.2-cp310-cp310-macosx_11_0_universal2.whl:

Publisher: publish.yml on osoleve/glitchlings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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