Skip to main content

Trigram statistics for Icelandic

Project description

https://github.com/mideind/Icegrams/actions/workflows/python-package.yml/badge.svg

Overview

Icegrams is an MIT-licensed Python 3 (>= 3.7) package that encapsulates a large trigram library for Icelandic. (A trigram is a tuple of three consecutive words or tokens that appear in real-world text.)

14 million unique trigrams and their frequency counts are heavily compressed using radix tries and quasi-succinct indexes employing Elias-Fano encoding. This enables the ~43 megabyte compressed trigram file to be mapped directly into memory, with no ex ante decompression, for fast queries (typically ~10 microseconds per lookup).

The Icegrams library is implemented in Python and C/C++, glued together via CFFI.

The trigram storage approach is based on a 2017 paper by Pibiri and Venturini, also referring to Ottaviano and Venturini (2014) regarding partitioned Elias-Fano indexes.

You can use Icegrams to obtain probabilities (relative frequencies) of over a million different unigrams (single words or tokens), or of bigrams (pairs of two words or tokens), or of trigrams. You can also ask it to return the N most likely successors to any unigram or bigram.

Icegrams is useful for instance in spelling correction, predictive typing, to help disabled people write text faster, and for various text generation, statistics and modelling tasks.

The Icegrams trigram corpus is built from the 2017 edition of the Icelandic Gigaword Corpus (Risamálheild), which is collected and maintained by The Árni Magnússon Institute for Icelandic Studies. A mixed, manually vetted subset consisting of 157 documents from the corpus was used as the source of the token stream, yielding over 100 million tokens. Trigrams that only occurred once or twice in the stream were eliminated before creating the compressed Icegrams database. The creation process is further described here.

Example

>>> from icegrams import Ngrams
>>> ng = Ngrams()
>>> # Obtain the frequency of the unigram 'Ísland'
>>> ng.freq("Ísland")
42018
>>> # Obtain the probability of the unigram 'Ísland', as a fraction
>>> # of the frequency of all unigrams in the database
>>> ng.prob("Ísland")
0.0003979926900206475
>>> # Obtain the log probability (base e) of the unigram 'Ísland'
>>> ng.logprob("Ísland")
-7.8290769196308005
>>> # Obtain the frequency of the bigram 'Katrín Jakobsdóttir'
>>> ng.freq("Katrín", "Jakobsdóttir")
3517
>>> # Obtain the probability of 'Jakobsdóttir' given 'Katrín'
>>> ng.prob("Katrín", "Jakobsdóttir")
0.23298013245033142
>>> # Obtain the probability of 'Júlíusdóttir' given 'Katrín'
>>> ng.prob("Katrín", "Júlíusdóttir")
0.013642384105960274
>>> # Obtain the frequency of 'velta fyrirtækisins er'
>>> ng.freq("velta", "fyrirtækisins", "er")
4
>>> # adj_freq returns adjusted frequencies, i.e incremented by 1
>>> ng.adj_freq("xxx", "yyy", "zzz")
1
>>> # Obtain the N most likely successors of a given unigram or bigram,
>>> # in descending order by log probability of each successor
>>> ng.succ(10, "stjórnarskrá", "lýðveldisins")
[('Íslands', -1.3708244393477589), ('.', -2.2427905461504567),
    (',', -3.313814878299737), ('og', -3.4920631097060557), ('sem', -4.566577846795106),
    ('er', -4.720728526622363), ('að', -4.807739903611993), ('um', -5.0084105990741445),
    ('en', -5.0084105990741445), ('á', -5.25972502735505)]

Reference

Initializing Icegrams

After installing the icegrams package, use the following code to import it and initialize an instance of the Ngrams class:

from icegrams import Ngrams
ng = Ngrams()

Now you can use the ng instance to query for unigram, bigram and trigram frequencies and probabilities.

The Ngrams class

  • __init__(self)

    Initializes the Ngrams instance.

  • freq(self, *args) -> int

    Returns the frequency of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the frequency for.

    • returns An integer with the frequency of the unigram, bigram or trigram.

    To query for the frequency of a unigram in the text, call ng.freq("unigram1"). This returns the number of times that the unigram appears in the database. The unigram is queried as-is, i.e. with no string stripping or lowercasing.

    To query for the frequency of a bigram in the text, call ng.freq("unigram1", "unigram2").

    To query for the frequency of a trigram in the text, call ng.freq("unigram1", "unigram2", "unigram3").

    If you pass more than 3 arguments to ng.freq(), only the last 3 are significant, and the query will be treated as a trigram query.

    Examples:

    >>>> ng.freq("stjórnarskrá")
    2973
    >>>> ng.freq("stjórnarskrá", "lýðveldisins")
    39
    >>>> ng.freq("stjórnarskrá", "lýðveldisins", "Íslands")
    12
    >>>> ng.freq("xxx", "yyy", "zzz")
    0
  • adj_freq(self, *args) -> int

    Returns the adjusted frequency of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the frequency for.

    • returns An integer with the adjusted frequency of the unigram, bigram or trigram. The adjusted frequency is the actual frequency plus 1. The method thus never returns 0.

    To query for the frequency of a unigram in the text, call ng.adj_freq("unigram1"). This returns the number of times that the unigram appears in the database, plus 1. The unigram is queried as-is, i.e. with no string stripping or lowercasing.

    To query for the frequency of a bigram in the text, call ng.adj_freq("unigram1", "unigram2").

    To query for the frequency of a trigram in the text, call ng.adj_freq("unigram1", "unigram2", "unigram3").

    If you pass more than 3 arguments to ng.adj_freq(), only the last 3 are significant, and the query will be treated as a trigram query.

    Examples:

    >>>> ng.adj_freq("stjórnarskrá")
    2974
    >>>> ng.adj_freq("stjórnarskrá", "lýðveldisins")
    40
    >>>> ng.adj_freq("stjórnarskrá", "lýðveldisins", "Íslands")
    13
    >>>> ng.adj_freq("xxx", "yyy", "zzz")
    1
  • prob(self, *args) -> float

    Returns the probability of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the probability for.

    • returns A float with the probability of the given unigram, bigram or trigram.

    The probability of a unigram is the frequency of the unigram divided by the sum of the frequencies of all unigrams in the database.

    The probability of a bigram (u1, u2) is the frequency of the bigram divided by the frequency of the unigram u1, i.e. how likely u2 is to succeed u1.

    The probability of a trigram (u1, u2, u3) is the frequency of the trigram divided by the frequency of the bigram (u1, u2), i.e. how likely u3 is to succeed u1 u2.

    If you pass more than 3 arguments to ng.prob(), only the last 3 are significant, and the query will be treated as a trigram probability query.

    Examples:

    >>>> ng.prob("stjórnarskrá")
    2.8168929772755334e-05
    >>>> ng.prob("stjórnarskrá", "lýðveldisins")
    0.01344989912575655
    >>>> ng.prob("stjórnarskrá", "lýðveldisins", "Íslands")
    0.325
  • logprob(self, *args) -> float

    Returns the log probability of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the log probability for.

    • returns A float with the natural logarithm (base e) of the probability of the given unigram, bigram or trigram.

    The probability of a unigram is the adjusted frequency of the unigram divided by the sum of the frequencies of all unigrams in the database.

    The probability of a bigram (u1, u2) is the adjusted frequency of the bigram divided by the adjusted frequency of the unigram u1, i.e. how likely u2 is to succeed u1.

    The probability of a trigram (u1, u2, u3) is the adjusted frequency of the trigram divided by the adjusted frequency of the bigram (u1, u2), i.e. how likely u3 is to succeed u1 u2.

    If you pass more than 3 arguments to ng.logprob(), only the last 3 are significant, and the query will be treated as a trigram probability query.

    Examples:

    >>>> ng.logprob("stjórnarskrá")
    -10.477290968535172
    >>>> ng.logprob("stjórnarskrá", "lýðveldisins")
    -4.308783672906165
    >>>> ng.logprob("stjórnarskrá", "lýðveldisins", "Íslands")
    -1.1239300966523995
  • succ(self, n, *args) -> list[tuple]

    Returns the N most probable successors of a unigram or bigram.

    • int n A positive integer specifying how many successors, at a maximum, should be returned.

    • str[] *args One or two string parameters containing the unigram or bigram to query the successors for.

    • returns A list of tuples of (successor unigram, log probability), in descending order of probability.

    If you pass more than 2 string arguments to ng.succ(), only the last 2 are significant, and the query will be treated as a bigram successor query.

    Examples:

    >>>> ng.succ(2, "stjórnarskrá")
    [('.', -1.8259625296091855), ('landsins', -2.223111581475692)]
    >>>> ng.succ(2, "stjórnarskrá", "lýðveldisins")
    [('Íslands', -1.1239300966523995), ('og', -1.3862943611198904)]
    >>>> # The following is equivalent to ng.succ(2, "lýðveldisins", "Íslands")
    >>>> ng.succ(2, "stjórnarskrá", "lýðveldisins", "Íslands")
    [('.', -1.3862943611198908), (',', -1.6545583477145702)]

Notes

Icegrams is built with a sliding window over the source text. This means that a sentence such as "Maðurinn borðaði ísinn." results in the following trigrams being added to the database:

("", "", "Maðurinn")
("", "Maðurinn", "borðaði")
("Maðurinn", "borðaði", "ísinn")
("borðaði", "ísinn", ".")
("ísinn", ".", "")
(".", "", "")

The same sliding window strategy is applied for bigrams, so the following bigrams would be recorded for the same sentence:

("", "Maðurinn")
("Maðurinn", "borðaði")
("borðaði", "ísinn")
("ísinn", ".")
(".", "")

You can thus obtain the N unigrams that most often start a sentence by asking for ng.succ(N, "").

And, of course, four unigrams are also added, one for each token in the sentence.

The tokenization of the source text into unigrams is done with the Tokenizer package and uses the rules documented there. Importantly, tokens other than words, abbreviations, entity names, person names and punctuation are replaced by placeholders. This means that all numbers are represented by the token [NUMBER], amounts by [AMOUNT], dates by [DATEABS] and [DATEREL], e-mail addresses by [EMAIL], etc. For the complete mapping of token types to placeholder strings, see the documentation for the Tokenizer package.

Prerequisites

This package runs on CPython 3.6 or newer, and on PyPy 3.6 or newer. It has been tested on Linux (gcc on x86-64 and ARMhf), MacOS (clang) and Windows (MSVC).

If a binary wheel package isn’t available on PyPI for your system, you may need to have the python3-dev package (or its Windows equivalent) installed on your system to set up Icegrams successfully. This is because a source distribution install requires a C++ compiler and linker:

# Debian or Ubuntu:
sudo apt-get install python3-dev

Installation

To install this package:

$ pip install icegrams

If you want to be able to edit the source, do like so (assuming you have git installed):

$ git clone https://github.com/mideind/Icegrams
$ cd Icegrams
$ # [ Activate your virtualenv here if you have one ]
$ python setup.py develop

The package source code is now in ./src/icegrams.

Tests

To run the built-in tests, install pytest, cd to your Icegrams subdirectory (and optionally activate your virtualenv), then run:

$ python -m pytest

Changelog

  • Version 1.1.2: Minor bug fixes. Cross-platform wheels provided. Now requires Python 3.7+. (2022-12-14)

  • Version 1.1.0: Python 3.5 support dropped; macOS builds fixed; PyPy wheels generated

  • Version 1.0.0: New trigram database sourced from the Icelandic Gigaword Corpus (Risamálheild) with improved tokenization. Replaced GNU GPLv3 with MIT license.

  • Version 0.6.0: Python type annotations added

  • Version 0.5.0: Trigrams corpus has been spell-checked

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

icegrams-1.1.2.tar.gz (38.5 MB view details)

Uploaded Source

Built Distributions

icegrams-1.1.2-pp39-pypy39_pp73-win_amd64.whl (38.5 MB view details)

Uploaded PyPy Windows x86-64

icegrams-1.1.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

icegrams-1.1.2-pp38-pypy38_pp73-win_amd64.whl (38.5 MB view details)

Uploaded PyPy Windows x86-64

icegrams-1.1.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

icegrams-1.1.2-pp37-pypy37_pp73-win_amd64.whl (38.5 MB view details)

Uploaded PyPy Windows x86-64

icegrams-1.1.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

icegrams-1.1.2-cp311-cp311-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

icegrams-1.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-cp311-cp311-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

icegrams-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

icegrams-1.1.2-cp310-cp310-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

icegrams-1.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-cp310-cp310-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

icegrams-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

icegrams-1.1.2-cp39-cp39-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

icegrams-1.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-cp39-cp39-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

icegrams-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

icegrams-1.1.2-cp38-cp38-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

icegrams-1.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-cp38-cp38-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

icegrams-1.1.2-cp38-cp38-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

icegrams-1.1.2-cp37-cp37m-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.7m Windows x86-64

icegrams-1.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

icegrams-1.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file icegrams-1.1.2.tar.gz.

File metadata

  • Download URL: icegrams-1.1.2.tar.gz
  • Upload date:
  • Size: 38.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for icegrams-1.1.2.tar.gz
Algorithm Hash digest
SHA256 4846c1f7db67bcf2a3c2c64b5d07de9033abc597db5c83c17a3493bc9f954caa
MD5 f0becb5d4b66ff6178369e0b8737b2c1
BLAKE2b-256 d5cba889c40d8c2c67532462fd7b7bd371bc3f53b02c4499e37be58608fd59e2

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 bc7bdc6dc6fd91e7a0376394984165d5359323319e351c2674f3557cc77128e8
MD5 8e2da6919326ae12ff4c26e0162cb75e
BLAKE2b-256 ef0f16bca9d4a0a6efb2dd1072cc5616a7cc77a819d16d217cbf5b389461bc28

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5bed03a8d61ebc2390ec793821d5172ec6bf576385675e2d0b9bdbf44e46675
MD5 e4589a7d5441ff6d865df57af0833600
BLAKE2b-256 2ca516c8fd0a3ab14f074ae9bd07bda487b760434ab22613538644f1998b34e9

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 72842c73f7d0da1c86d65baa2d29d76406285733a5b55ceb468833e2bafd0515
MD5 804a67a13c8ec7e23fe252c18bc5801e
BLAKE2b-256 3871f167e0cadfeed5867f7bf8c22cb3b29ee156b5237f4cb6f5d2724db2a5cf

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 314713500ccf6d5bfc5ead5fb4224fa597a3e2a0dcfde3339203c39bde9a71bc
MD5 51cec383567099ff29e304a6c9b33490
BLAKE2b-256 2dcb4cb6a49a5089bfe339a83d3a9e37d91111e87a4d0fe971740f69685a818c

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed034acab5a4a912c49e91be54cb3eb760b5ea7b720f0818abb784b7e6b8ef0a
MD5 1bfbc02c711e700cff2136ced913598e
BLAKE2b-256 db39d243bb6f9ee4a43ee002fe1e9226274bc141d405232220ddb534d9f1ec9a

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fedcea70bc490cdfaeb995006aea4b9723be16966d7a1d7e09e938c949019e0b
MD5 cf55561f251ba219e500a99a8ebe46a2
BLAKE2b-256 c718afca62116f60e3e15bd7b75e861439ba37f94006d84f3acb36b03b2ff573

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d84963209d1fe7dc835e6d22c92f879048db99d87a49e002b3e32ce044ec5229
MD5 c5694866d19968637efdd0f08fb72d66
BLAKE2b-256 22070ede01ed6a79cd38835769a7768fa69bf2c5a2a4fda99c89191099f3a53b

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33f6e7b8871e8aa76a45af6f837c0555ad47ebf04c880c6ff526c9b130a99497
MD5 5e0f82215093d1ad3a3a82bb754cd2d8
BLAKE2b-256 582986147cb2a9b63342db940f225a95db6e87c10b9ccf08d556b04ddb4193b1

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 be6bf6fedcde60d97cc42c0189dcac9aa3a2ccffe14267a8db50e9dbbb90a28f
MD5 ad2846dfe7cb2d4185af1b3dbeabde99
BLAKE2b-256 91b07a1d37f9a784b27e7415bce43ff97054cb26f3b3c04464402f7830f7475f

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for icegrams-1.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3e792b4419c07cd56f277cc2f1f3a63e18ab9cfdc53fd1dee6523157efcede42
MD5 72b5230a5e0f788f1cafc0e1bb87d878
BLAKE2b-256 8e2c42e963f319a92658b36ed18c73f77c84d67bcadab19e4db0159119419f31

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e931671d81991bac6579738d14f56369e74e22047da90e20a9df5b8b09883d8f
MD5 0412757e7ba9c8112c86fa429f2d91f0
BLAKE2b-256 8ab5b18531d92f87bf9617671ff5866a8a7d9e2eed17e090426090ddf33dad05

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2e1988d4900a2998064960af102538978c6be420d2c6ffc18e965b3ad1be8d4
MD5 2d0ea8efa3a3762586d533a407c8d302
BLAKE2b-256 d0e9e05f7b9e06dcf4bd97b80a2dbee429d433d09d04b9917f6e42f5db871a0a

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 62f0e17f38b4df474755bd686365feab76b02d571f2acc1733966ad683d9736a
MD5 ecc18df4557b557c012643525a384dc7
BLAKE2b-256 b691c7ca18f3a9417303ad66d6ab00ec3b354385d7691e06ef57b2920a7ca6f3

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for icegrams-1.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 237127a579756e0b2f95ef1f8339b957f7a43b72822302edd71d9b29c2ae2054
MD5 f9a91fe972e39af87eea8a740865d51a
BLAKE2b-256 4f13a21ccc73d189ce8d8a80fa6d6ca523ef8216941c638af20ac31e713babe4

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b6fc6d4029d83cf3e4d104e3b7ba5b257b30e21a43c9bef39ced19967e6c918
MD5 6b3ce09b28943b217d695651c911fa32
BLAKE2b-256 d229b564b725765bd2c2aacc85d07334513eb457205eda95fc28e2aa750042b7

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6946af6688f73f35aec35dff72e4bf7485e5d953ffb4e41a2306ffb3a1fc7ad6
MD5 2c1f30a8824a834bf893683880ecdf3d
BLAKE2b-256 b5dc8fb4e835c9ce03933212b5c1cfac794d13c797091af0c8acc8b257e7d86e

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 38a66fb93e8dcd161a973cbc85e41007d5803d976ca3c0d3d5a2d8df8cab42c5
MD5 a730bfa4d930d7d9d17b201dc04c1ab7
BLAKE2b-256 36fb4f885f208df01f2dccb6cd6878ee478acfe81bdae82e6c3ef6b03c79695d

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for icegrams-1.1.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c7c161a1c277dd3e3730355bbadb08539961c43f5799ab5874795040bf639989
MD5 936d4c3e1668827506fd35285e6fddc6
BLAKE2b-256 004c62703f30acb99ca0f85cc7f9e9150eebe5c2376b43261e3c74d676ce23df

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c021f502fa3e0e4f7e61abf06aef77e25a55a05c7cb1aa020862da992bffb7e
MD5 75752cd86ac541fc203917b714a5c808
BLAKE2b-256 1b632dc1832fb77ec4fa5bd18efb134fcdef0878793c77fef045aee248f19166

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12a6360d05e5ec6b80b765df0bc2a13486f4f3ece051b85e922622c93381dd0b
MD5 0b41631cc1f8171bfaf2331821e780f5
BLAKE2b-256 9142a3aa3c6965c0e3177dbf691313785001ab62a0c9da9c2ba9a39c5f35471e

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0ea782c1bb2510d69f09a922c80c1f2a6d024ddc3f6bd7eba55bac6de9847982
MD5 214d352be408aa821e217ca3197d0186
BLAKE2b-256 c1308cdb0115ea8a2787364e862e7793f8506dd2223a6e17340ff51761a37919

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for icegrams-1.1.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0da6495831280a54eb141c42dfb6c14fd76f9c05b1faa37bf2903c5d36d9c55b
MD5 7d745801713a9befc657a846140691b2
BLAKE2b-256 b94ae84f14e55ed714ba68a50892ce5ac20fee62c357891d2d3f5df05f4876f9

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 afae2604ca76ecdf17da2853dfa902a058d44b955d3dc2b6dfd8f647c155044c
MD5 82e967003cb91d1003291d5d74480d39
BLAKE2b-256 66ebf731549049be61940ef7effa74bc469b4d3b4ecc358eca1e5347efb69c0e

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7a22b95d5a85affc153c589c5a3fe92e9ee6d5a09851e34554e3474059ccb50
MD5 1278a52618cc21a2403948f3a6527b51
BLAKE2b-256 cf9962ef62669f5e26fd630d3e69f5e244c56bd919e3bfb6a34ddb226e7f2859

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0fcde80d12b770fccb16e2685719a0f5bb433da8226b7197fdb37b106bcc9370
MD5 7eeaf9227e1ebdc29e30653171abc741
BLAKE2b-256 5d02088adbb111b44342a300c95f3e4dce5d4a2db93ebf6902bf8d097a0499b8

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for icegrams-1.1.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 25b12faca435756f73c2b05544fc1a26460a1d785d4824586281105559ccc013
MD5 591e75207ab8054b0f43c6fb6835d418
BLAKE2b-256 304066a460ed8b769adb8a7a0a8c4099667ff76a8d02a62e42ef7e1584d07c11

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc9f0421ed755439d6b342b8cb38a65e4b86cc049bd23a97d3b7831801bec7d6
MD5 6ba5c1217c43a98710fb680a99a52ce6
BLAKE2b-256 422aa3fd094459f3afc603cb1ba6e96f0b1177c7079aef12d1a08c6ec0b67d62

See more details on using hashes here.

File details

Details for the file icegrams-1.1.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cd0e86b35e8ec7ee8157afc7da2233d15669d01e2df9650317de599c5f933a90
MD5 bc910c5deec6111184841ee370d957b9
BLAKE2b-256 6a804af34c2640e99e15f361854b0f4080fd1aee4709130269cfb9a163e7b9e8

See more details on using hashes here.

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