Skip to main content

Python wrapper for ot-sanitizer

Project description

pyots (PYthon OT Sanitizer)

Run Tests Build Python Wheels

PyPI PyPI

macOS ubuntu windows

Python wrapper for OpenType Sanitizer, also known as just "OTS". It is similar to and partially based on ots-python, but builds OTS as a Python C Extension (instead of as an executable and calling through subprocess as ots-python does).

NOTE: Although this package is similar to ots-python, it is not a drop-in replacement for it, as the Python API is different.

Requirements

The project builds pip-installable wheels for Python 3.10, 3.11, 3.12, 3.13, or 3.14 under Mac, Linux, or Windows. It is possible this project will build and run with other Pythons and other operating systems, but it has only been tested with the listed configurations.

Installation with pip

If you just want to use pyots, you can simply run python -m pip install -U pyots (in one of the supported platforms/Python versions) which will install pre-built, compiled, ready-to-use Python wheels. Then you can skip down to the Use section.

Installation/setup for developing pyots

If you'd like to tinker with the pyots code, you will want to get your local setup ready:

  • clone this repo
  • run python setup.py download to download the OTS source (which is not included in this project). You can modify the version value in setup.cfg under [download] to specify a different version of OTS. You'll also need to change the sha256 hash value that corresponds to the OTS tar.xz package. Note that this scheme has some limitations: OTS sources older than 8.1.3 might not build correctly since they used different build systems. Also, versions newer than the one specified in this repo might require adjustments in order to build correctly. What can we say, we're dependent on ots...
  • to build and install pyots after downloading OTS, you can run python setup.py install or python -m pip install .
  • while iterating changes, you will want to delete the temporary build and src/ots/build folders.

Testing

There is a test suite defined for exercising the Python extension. It makes use (and assumes the presence of) the downloaded OTS library source's test font data in src/ots so ensure you have run python setup.py download and have the ots folder under src. Invoke the tests with python -m pytest.

If you wish to run tests comparing results from ots-python against pyots, be sure to python -m pip install opentype-sanitizer first, otherwise that set of tests will be skipped.

Use

Simplest case:

import pyots
result = pyots.sanitize('/path/to/font/file.ttf')

result is an OTSResult object with 3 attributes:

  • sanitized Boolean indicating whether the file was successfully sanitized
  • modified Boolean indicating whether the file was modified* during sanitization
  • messages Tuple of message strings generated during sanitization (may be empty)
  • Note: currently the back-end OTS code can modify fonts that are successfully sanitized, even when no changes are performed. Thus modified can sometimes be True when sanitized is True. Usually the modification is only to the modification date and related checksums. Thus, it might be possible to devise a better detection of modification, i.e. ignoring head.modified and other inconsequential modifications, but that was out-of-scope for this work.

Example: sanitizing a folder of font files

# sanitize a folder of fonts. Print messages for any that were not successfully sanitized.
import pyots
from pathlib import Path

for filename in Path("src/ots/tests/fonts/good").rglob("*"):
    result = pyots.sanitize(filename.absolute())
    if not result.sanitized:
        print(f'{filename}:\n{", ".join([m for m in result.messages])}')

Options for sanitize()

  • Specify keyword output=<path_to_output_file> to the sanitize() command and the sanitized file will be saved to that location
  • Use quiet=True for sanitize() to suppress messages
  • Specify font_index=<index_in_TTC> when sanitizing a Collection (OTC/TTC) file and you want to sanitize only a particular index within the Collection (otherwise all will be sanitized per OTS's default behavior)

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

pyots-9.2.0.post3.tar.gz (21.6 kB view details)

Uploaded Source

Built Distributions

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

pyots-9.2.0.post3-cp314-cp314-win_amd64.whl (322.3 kB view details)

Uploaded CPython 3.14Windows x86-64

pyots-9.2.0.post3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (765.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyots-9.2.0.post3-cp314-cp314-macosx_11_0_arm64.whl (397.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyots-9.2.0.post3-cp314-cp314-macosx_10_15_x86_64.whl (401.4 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

pyots-9.2.0.post3-cp313-cp313-win_amd64.whl (313.7 kB view details)

Uploaded CPython 3.13Windows x86-64

pyots-9.2.0.post3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (765.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyots-9.2.0.post3-cp313-cp313-macosx_11_0_arm64.whl (397.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyots-9.2.0.post3-cp313-cp313-macosx_10_13_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyots-9.2.0.post3-cp312-cp312-win_amd64.whl (313.7 kB view details)

Uploaded CPython 3.12Windows x86-64

pyots-9.2.0.post3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (765.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyots-9.2.0.post3-cp312-cp312-macosx_11_0_arm64.whl (397.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyots-9.2.0.post3-cp312-cp312-macosx_10_13_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyots-9.2.0.post3-cp311-cp311-win_amd64.whl (313.7 kB view details)

Uploaded CPython 3.11Windows x86-64

pyots-9.2.0.post3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (765.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyots-9.2.0.post3-cp311-cp311-macosx_11_0_arm64.whl (397.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyots-9.2.0.post3-cp311-cp311-macosx_10_9_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyots-9.2.0.post3-cp310-cp310-win_amd64.whl (313.7 kB view details)

Uploaded CPython 3.10Windows x86-64

pyots-9.2.0.post3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (765.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyots-9.2.0.post3-cp310-cp310-macosx_11_0_arm64.whl (397.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyots-9.2.0.post3-cp310-cp310-macosx_10_9_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyots-9.2.0.post3.tar.gz.

File metadata

  • Download URL: pyots-9.2.0.post3.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyots-9.2.0.post3.tar.gz
Algorithm Hash digest
SHA256 b8397cdb21908b759cc75c9e18133aab2bbbbb4047cc6ff89d0965e905d4f8b0
MD5 d0fe7eb9e9d1dd39613e5a147394c654
BLAKE2b-256 f1d826961f46cdedf42b7e89ea9d9f351b3a152cdc76320a2bccae6b78947880

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3.tar.gz:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyots-9.2.0.post3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 322.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyots-9.2.0.post3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3a00fea044799e56ea734611949d7afda1524b9c12c5bf348e233019bf15cbf3
MD5 80e620f5b9a5c620219d9268aa2160c0
BLAKE2b-256 758b5f52e52f4c66736f5bdab4d1f9e6701663134ed98a5dce6455acf84df55a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp314-cp314-win_amd64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6654a0f987a9b46f881e38d4c35967a79e0e7ccaeac61829e9594cd6da7fc8a4
MD5 e6bfab9b2d87a8cedd60121acea44087
BLAKE2b-256 21ecc3fb8e18dd0e960729a23becf6c6f068c634c558bf40c4c1fd526c03effb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27826bb231a3a1d902801b3018106ce3f88d777040fb33b343d5fc8500c28dc8
MD5 6f31e835d0931589bc67683da6329d50
BLAKE2b-256 15246b7432437ebbea16cc0a0e87c4363478d75287fafcc36c0a86bbd7fdcf60

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 10dba3215d359963d11974da281671c701bbb826de9d96f6d9b84b23cb67e195
MD5 47921968629c86a8d64ed95789dc60f5
BLAKE2b-256 af9cdad0d7b6f25ef80dea23afc0a7568cf1db4da5b45bcf6d41b59b156a17a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyots-9.2.0.post3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 313.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyots-9.2.0.post3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 70e56c876f61cea49d45aad68389acfeaf58a54341ee98b30051f36d027f4b24
MD5 fec71b1fe68e899c6d3e58b5b270ad7a
BLAKE2b-256 cf40febf0150be0acb8ee250e4bde5bd4791b84f19dfff35a9525248cbb801fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp313-cp313-win_amd64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 82564869a0e2af60f33137b012a21feba629d6bda7c8e74d524593f6c0c5abb9
MD5 37649747db4ca864f2684bed58a294e2
BLAKE2b-256 97521493d4cd11b4d2fa87ebf68a62fe40d24d52ac33e9a91b5568bd724a13a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d522f13715cd71c2c23eaf2464e266ab14b0320276cf887a814f8738e4d4480f
MD5 bac63ecc24c20ac15aac5b000d0fa527
BLAKE2b-256 f687e1300d9611630a09537e7fd44085ea0360b879faecd051a74fd9e17cb444

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 aa3d237a396daa268dc8b7cb5ab12257f184708eee8c566e9a13b410ab98cbcd
MD5 e781301815159a941461457a4d7292a0
BLAKE2b-256 e4d19894887fc7caaa98618fdeb7e30a42f7fb86c2d5fe91948c785513a898fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyots-9.2.0.post3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 313.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyots-9.2.0.post3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 de80785a23ade0c8f2ef6e743faa505579303c4690276a72f8d79c32b825e017
MD5 890816178c8c6cb5011c8e3333c27fd5
BLAKE2b-256 1fb8d958fce417ae002e727e251f267422263dd2556c15abd4328da75fac0070

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp312-cp312-win_amd64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9f548bc0e7de391bf9e0831af96e0ff732546741baf42ff50a4ba1248dbc569b
MD5 b8d527841142c633ec5d7b6b09e6fff4
BLAKE2b-256 c5ed0ba4778cb4540c658775ca25951ef854132da847b6257238edf60ff8b496

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d6b12ceba6c88f7680f05b6730082f0d65801b1803a827c6bb087338f0f9e68
MD5 20da46f775eb173b9b5bfc0d43c375b3
BLAKE2b-256 f9ad063872ff9cd1bb28bcd0039cf9a83b488a2946c612eebdc9a86fad6bb4b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b783cf23a7c52c018819577be4102c1a7da8a155dfb78ece3506101b28e5611b
MD5 d7b4c283a44cbaab561f8dc6131288e0
BLAKE2b-256 4be67d9ade597a7f222d89bbc98414eb592a68033e69f2f7240713c76944acf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyots-9.2.0.post3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 313.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyots-9.2.0.post3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 acfc5dc0d86d6bf2f23b8b5046b95e4094b9e813a3e7d9b4032443a8dd877955
MD5 2ea0ed929c10111fe1ebda293ee2543c
BLAKE2b-256 7f1b8c83332dd937f48a64c9621257ea37e080781275d629bd6c33c24920b4e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp311-cp311-win_amd64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2be936e3730ec08072b1559bd93441c186a6fd0e10785fb81c5929b33304a977
MD5 d507b7c3d9201487119ea9b839725ed3
BLAKE2b-256 bb1b20575ff66ffe93baff731db157296e8e007f32ae0c8db7ae7e55a2c44fae

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6736c72270a577c0d6556d2eae8eda2e3f2c97b847b83ed4ffafab670437bb3b
MD5 83dae1a612f79ecc14cfeeb4eb819a49
BLAKE2b-256 db254afd0b88ed9748bf6f120a552b1f2e4da202e91e351429a5dab1c7caf956

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c235282e2c5f41f2770e4f3e1912608427ded7454bd16577172f802a76adfca4
MD5 c0286a81952d5412e78dae6aa5e1e4a9
BLAKE2b-256 1baa72258a9a108549a38a847ae47d36198e7a853d6e630a3c2fa04d790fa5e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyots-9.2.0.post3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 313.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyots-9.2.0.post3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bc09ae396cd2d59641e445a91ed9a8196a0e7c1f84569e4052d759d76273207a
MD5 2d4b4aee830968f5333c9053b2d1ef31
BLAKE2b-256 2bd7533fde60c382023528c0eb6c4cce1883c850d72524a05964183adda2d0cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp310-cp310-win_amd64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 85b3eab1fe1b9c43b58c99f2c5f7e98f78718bc1077ce7b8e959d39ccee60bc0
MD5 f04a0544cc1807cd749d5b4a1fe350c1
BLAKE2b-256 ddcbeaf3d9e5ff1fce7bcdc431784406c970ba240b32e9e17f085ec38eb6b099

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04a0108f545a7363a86d0340d963c7c7b8ebc4273894501f3af68cd2bf29e4d9
MD5 821fa5e334d935110ec1d7383290ccf8
BLAKE2b-256 3cbb462c4ddbc215bf8de5a815bdebc0a7ebe1105e48953b4d1d0bd5d4504890

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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

File details

Details for the file pyots-9.2.0.post3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyots-9.2.0.post3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3fce671f741a465f717c7c842bab4083a59fd595a1b9c52d0a4061b359d8ebc9
MD5 a98e550349cf4b3a126d74900d9a5722
BLAKE2b-256 a3ddd38d4fda058374c2c79ee2c56c65996038ad43e276382299608fab8181fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyots-9.2.0.post3-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yml on adobe-type-tools/pyots

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