Metadata-Version: 2.4
Name: openbakery
Version: 1.0.0a12
Summary: A font quality assurance tool for everyone
Home-page: https://github.com/miguelsousa/openbakery/
Author: OpenBakery authors and contributors: Dave Crossland, Felipe Sanches, Lasse Fister, Marc Foley, Nikolaus Waxweiler, Chris Simpkins, Jens Kutilek, Vitaly Volkov, Simon Cozens, Miguel Sousa
Author-email: miguel.sousa@adobe.com
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: AUTHORS.txt
Requires-Dist: fontTools>=4.39.0
Requires-Dist: freetype-py!=2.4.0
Requires-Dist: opentypespec
Requires-Dist: opentype-sanitizer>=7.1.9
Requires-Dist: munkres
Requires-Dist: PyYAML
Requires-Dist: toml
Requires-Dist: cmarkgfm
Requires-Dist: rich
Requires-Dist: packaging
Requires-Dist: pip-api
Requires-Dist: requests
Requires-Dist: beziers>=0.5.0
Provides-Extra: all
Requires-Dist: fontTools[ufo]>=4.39.0; extra == "all"
Requires-Dist: uharfbuzz; extra == "all"
Requires-Dist: font-v; extra == "all"
Requires-Dist: axisregistry>=0.4.8; extra == "all"
Requires-Dist: glyphsets<=0.6.6,>=0.5.0; extra == "all"
Requires-Dist: stringbrewer; extra == "all"
Requires-Dist: ufo2ft>=2.25.2; extra == "all"
Requires-Dist: gflanguages>=0.3.0; extra == "all"
Requires-Dist: vharfbuzz>=0.2.0; extra == "all"
Requires-Dist: beautifulsoup4; extra == "all"
Requires-Dist: protobuf<4,>=3.7.0; extra == "all"
Requires-Dist: collidoscope>=0.5.2; extra == "all"
Requires-Dist: defcon; extra == "all"
Requires-Dist: ufolint; extra == "all"
Requires-Dist: dehinter>=3.1.0; extra == "all"
Requires-Dist: fontTools[lxml,unicode]>=4.39.0; extra == "all"
Provides-Extra: fontwerk
Requires-Dist: axisregistry>=0.4.8; extra == "fontwerk"
Requires-Dist: beautifulsoup4; extra == "fontwerk"
Requires-Dist: dehinter>=3.1.0; extra == "fontwerk"
Requires-Dist: font-v; extra == "fontwerk"
Requires-Dist: fontTools[lxml,unicode]>=4.39.0; extra == "fontwerk"
Requires-Dist: gflanguages>=0.3.0; extra == "fontwerk"
Requires-Dist: glyphsets<=0.6.6,>=0.5.0; extra == "fontwerk"
Requires-Dist: protobuf<4,>=3.7.0; extra == "fontwerk"
Requires-Dist: vharfbuzz>=0.2.0; extra == "fontwerk"
Requires-Dist: collidoscope>=0.5.2; extra == "fontwerk"
Requires-Dist: stringbrewer; extra == "fontwerk"
Requires-Dist: ufo2ft>=2.25.2; extra == "fontwerk"
Requires-Dist: vharfbuzz>=0.2.0; extra == "fontwerk"
Requires-Dist: defcon; extra == "fontwerk"
Requires-Dist: fontTools[ufo]>=4.39.0; extra == "fontwerk"
Requires-Dist: ufo2ft>=2.25.2; extra == "fontwerk"
Requires-Dist: ufolint; extra == "fontwerk"
Provides-Extra: googlefonts
Requires-Dist: axisregistry>=0.4.8; extra == "googlefonts"
Requires-Dist: beautifulsoup4; extra == "googlefonts"
Requires-Dist: dehinter>=3.1.0; extra == "googlefonts"
Requires-Dist: font-v; extra == "googlefonts"
Requires-Dist: fontTools[lxml,unicode]>=4.39.0; extra == "googlefonts"
Requires-Dist: gflanguages>=0.3.0; extra == "googlefonts"
Requires-Dist: glyphsets<=0.6.6,>=0.5.0; extra == "googlefonts"
Requires-Dist: protobuf<4,>=3.7.0; extra == "googlefonts"
Requires-Dist: vharfbuzz>=0.2.0; extra == "googlefonts"
Requires-Dist: collidoscope>=0.5.2; extra == "googlefonts"
Requires-Dist: stringbrewer; extra == "googlefonts"
Requires-Dist: ufo2ft>=2.25.2; extra == "googlefonts"
Requires-Dist: vharfbuzz>=0.2.0; extra == "googlefonts"
Requires-Dist: defcon; extra == "googlefonts"
Requires-Dist: fontTools[ufo]>=4.39.0; extra == "googlefonts"
Requires-Dist: ufo2ft>=2.25.2; extra == "googlefonts"
Requires-Dist: ufolint; extra == "googlefonts"
Provides-Extra: notofonts
Requires-Dist: axisregistry>=0.4.8; extra == "notofonts"
Requires-Dist: beautifulsoup4; extra == "notofonts"
Requires-Dist: dehinter>=3.1.0; extra == "notofonts"
Requires-Dist: font-v; extra == "notofonts"
Requires-Dist: fontTools[lxml,unicode]>=4.39.0; extra == "notofonts"
Requires-Dist: gflanguages>=0.3.0; extra == "notofonts"
Requires-Dist: glyphsets<=0.6.6,>=0.5.0; extra == "notofonts"
Requires-Dist: protobuf<4,>=3.7.0; extra == "notofonts"
Requires-Dist: vharfbuzz>=0.2.0; extra == "notofonts"
Requires-Dist: collidoscope>=0.5.2; extra == "notofonts"
Requires-Dist: stringbrewer; extra == "notofonts"
Requires-Dist: ufo2ft>=2.25.2; extra == "notofonts"
Requires-Dist: vharfbuzz>=0.2.0; extra == "notofonts"
Requires-Dist: defcon; extra == "notofonts"
Requires-Dist: fontTools[ufo]>=4.39.0; extra == "notofonts"
Requires-Dist: ufo2ft>=2.25.2; extra == "notofonts"
Requires-Dist: ufolint; extra == "notofonts"
Provides-Extra: iso15008
Requires-Dist: uharfbuzz; extra == "iso15008"
Provides-Extra: shaping
Requires-Dist: collidoscope>=0.5.2; extra == "shaping"
Requires-Dist: stringbrewer; extra == "shaping"
Requires-Dist: ufo2ft>=2.25.2; extra == "shaping"
Requires-Dist: vharfbuzz>=0.2.0; extra == "shaping"
Provides-Extra: ufo-sources
Requires-Dist: defcon; extra == "ufo-sources"
Requires-Dist: fontTools[ufo]>=4.39.0; extra == "ufo-sources"
Requires-Dist: ufo2ft>=2.25.2; extra == "ufo-sources"
Requires-Dist: ufolint; extra == "ufo-sources"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<p align="center">
  <img src="https://raw.githubusercontent.com/miguelsousa/openbakery/main/data/openbakery.jpg" alt="OpenBakery">
</p>
<p align="center">
    <b>OpenBakery, a font quality assurance tool for everyone</b>
</p>
<p align="center">
<a href="https://github.com/miguelsousa/openbakery/actions/workflows/lint_test.yml" target="_blank">
    <img src="https://github.com/miguelsousa/openbakery/actions/workflows/lint_test.yml/badge.svg" alt="Lint & Test workflow status">
</a>
<a href="https://codecov.io/gh/miguelsousa/openbakery" target="_blank">
  <img src="https://codecov.io/gh/miguelsousa/openbakery/branch/main/graph/badge.svg?token=2K1LW5OCW8"/ alt="Code coverage status"> 
</a>
<a href="https://pypi.org/project/openbakery" target="_blank">
    <img src="https://img.shields.io/pypi/v/openbakery.svg" alt="Package version">
</a>
<a href="https://pypi.org/project/openbakery" target="_blank">
    <img src="https://img.shields.io/pypi/pyversions/openbakery.svg" alt="Minimum Python version">
</a>
</p>

---

**Documentation**: https://miguelsousa.github.io/openbakery

**Source Code**: https://github.com/miguelsousa/openbakery

**Contributing Guide**: https://github.com/miguelsousa/openbakery/blob/main/CONTRIBUTING.md

---

**OpenBakery** is a command-line tool for validating font binaries and, optionally, their source files and metadata.


## Requirements

- **Python** version 3.8 (or greater)
<br>To determine if your system has Python installed and which version, run this command: `python --version`
<br>Please refer to the instructions provided at [python.org](https://www.python.org/) for downloading and installing Python on your platform.

- **`pip`** version 22.0 (or greater)
<br>To determine if your Python environment has `pip` installed and which version, run this command: `python -m pip --version`
<br>Please refer to the instructions provided at [pip.pypa.io](https://pip.pypa.io/en/stable/installation/) for downloading and installing `pip` on your Python environment.

⚠️ **IMPORTANT**: If you have Python 2.x installed in your system, you may have to use `python3` (instead of `python`) in the commands below.


## Installation

Command to install a **stable version** of OpenBakery:

    python -m pip install --upgrade openbakery

Command to install a **beta version** of OpenBakery:

    python -m pip install --upgrade --pre openbakery

OpenBakery's functionality is organized into profiles. Each profile invokes specific font checks. To get a list of all the profiles run this command:

    openbakery --list-subcommands

```
adobefonts
fontbureau
fontwerk
googlefonts
iso15008
notofonts
opentype
ufo-sources
universal
proposals
check-profile
```

The installation commands above enable you to run the `universal` or the `opentype` profiles on a font, like so:

    openbakery universal MyFont-Regular.ttf

To test your fonts with other profiles, you need to install `openbakery` with a corresponding extra. The command below installs `openbakery` with all the necessary dependencies for running the checks in the `googlefonts` profile:

    python -m pip install --upgrade 'openbakery[googlefonts]'


## Usage

If you made it this far, congratulation! You should now be ready to "bake" your fonts. 😀 🥯🍞🥖🥨🥐🫓🧁

The [documentation](https://miguelsousa.github.io/openbakery) contains many examples of how to run `openbakery` with its various options.


## License

This project is licensed under the terms of the Apache 2.0 license.

All comments on issues, pull requests, and discussions will be treated as also licensed under this license such that they can be incorporated into the project's codebase.


## Fork acknowledgment

This project is a fork of [Font Bakery](https://github.com/googlefonts/fontbakery).
