{"id":13721469,"url":"https://github.com/fonttools/fontbakery","last_synced_at":"2025-04-15T03:52:37.261Z","repository":{"id":6978699,"uuid":"8233105","full_name":"fonttools/fontbakery","owner":"fonttools","description":"🧁 A font quality assurance tool for everyone ","archived":false,"fork":false,"pushed_at":"2025-04-10T14:16:25.000Z","size":82104,"stargazers_count":593,"open_issues_count":447,"forks_count":105,"subscribers_count":48,"default_branch":"main","last_synced_at":"2025-04-15T03:52:05.133Z","etag":null,"topics":["command-line-tool","font","quality-assurance"],"latest_commit_sha":null,"homepage":"https://fontbakery.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fonttools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-16T07:47:27.000Z","updated_at":"2025-04-01T20:52:28.000Z","dependencies_parsed_at":"2023-10-14T15:20:02.637Z","dependency_job_id":"65dc62a4-9bdb-4810-a3a5-c97b380dcd07","html_url":"https://github.com/fonttools/fontbakery","commit_stats":null,"previous_names":["fonttools/fontbakery","googlefonts/fontbakery"],"tags_count":142,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonttools%2Ffontbakery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonttools%2Ffontbakery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonttools%2Ffontbakery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonttools%2Ffontbakery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fonttools","download_url":"https://codeload.github.com/fonttools/fontbakery/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003954,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","font","quality-assurance"],"created_at":"2024-08-03T01:01:17.484Z","updated_at":"2025-04-15T03:52:37.234Z","avatar_url":"https://github.com/fonttools.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![Latest PyPI Version](https://img.shields.io/pypi/v/fontbakery.svg?style=flat)](https://pypi.python.org/pypi/fontbakery/)\n[![Python](https://img.shields.io/pypi/pyversions/fontbakery.svg?style=flat)](https://pypi.python.org/pypi/fontbakery/)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-brightgreen.svg)](https://github.com/fonttools/fontbakery/blob/main/LICENSE.txt)\n\n# [![Font Bakery](data/logo.png)](http://fontbakery.com)\n\nFont Bakery is a command-line tool for checking the quality of font projects.\n\nFor a quick overview, check out the [list of checks](https://fontbakery.readthedocs.io/en/latest/fontbakery/profiles/index.html) currently offered.\nAnd for a full written introduction [check out our documentation at Read The Docs.](https://fontbakery.readthedocs.io/en/stable)\n\nFor video introductions, see the [TypeCon 2018](https://www.youtube.com/watch?v=5S3cN3VHfBg) and [ATypI 2020](https://www.youtube.com/watch?v=6OKE6p9E0eY)  FontBakery presentations.\n\nFont Bakery has an active community of contributors from foundries around the world, including Adobe Fonts, Dalton Maag, Type Network, and Google Fonts.\n\nFont Bakery is not an official Google project, and Google provides no support for it.\nHowever, throughout 2018-2025 a project maintainer, Felipe Corrêa da Silva Sanches ([@felipesanches](https://github.com/felipesanches)), is commissioned by the Google Fonts team to maintain it.\nThe original software architecture (and maintenance of it) is by Lasse Fister ([@graphicore](https://github.com/graphicore)).\n\n## Run Font Bakery automatically on Github Actions\n\nSimon Cozens prepared a [template git repo](https://github.com/googlefonts/Unified-Font-Repository) that makes it easy to build, check and proof fonts. He's also prepared a nice [1 minute video](https://youtu.be/OyCOnY9BP94) showcasing it.\n\n## License\n\nFont Bakery is available under the Apache 2.0 license.\n\nAll comments on the issue tracker or on pull requests will be treated as also licensed under this license such that they can be incorporated into the project code.\n\n## Install\n\nSee the Font Bakery Installation Guide for your platform:\n\n- [GNU + Linux](https://fontbakery.readthedocs.io/en/latest/user/installation/install-gnu-linux.html)\n- [macOS](https://fontbakery.readthedocs.io/en/latest/user/installation/install-macos.html)\n- [Windows](https://fontbakery.readthedocs.io/en/latest/user/installation/install-windows.html)\n\n## Usage\n\nFont Bakery is primarily a Terminal app, learn more in the [Command Line Usage Guide](https://fontbakery.readthedocs.io/en/latest/user/USAGE.html).\n\nIf you write little Python scripts in your workflow, you can easily [write custom checks](https://fontbakery.readthedocs.io/en/latest/developer/writing-profiles.html).\n\nFor full developer documentation, check out [fontbakery.readthedocs.io](https://fontbakery.readthedocs.io) (a hosted and compiled copy of contents in the `/docs` directory.)\n\n## Contributing\n\nSee the guide to [Getting Started as a Contributor](https://fontbakery.readthedocs.io/en/latest/developer/contrib-getting-started.html).\n\n## History\n\nThe project was initiated by Dave Crossland in 2013 to accelerate the onboarding process for Google Fonts. \nIn 2017 Lasse Fister and Felipe Sanches rewrote it into a modern, modular architecture suitable for both individuals and large distributors.\nFelipe has maintained the check contents since 2016.\n\nIn 2017, Lasse began a sister project, [Font Bakery Dashboard](https://GitHub.com/GoogleFonts/Fontbakery-Dashboard):\nA UI and a cloud system that scales up for checking 1,000s of font files super fast and in parallel, by using 1,000s of \"container\" virtual machines.\nSee his [TypoLabs 2018 talk on YouTube](https://www.youtube.com/watch?v=Kqhzg89zKYw) and its [presentation deck](https://docs.google.com/presentation/d/14dU3cUXelwvpVokhKYmJ6jT51AASDaOFyEUSdxb0RAg/).\nHowever, the project was halted at the end of 2019.\n\nMost of the checks are for OpenType binary files, and project metadata files. \n(Currently, the Google Fonts `METADATA.pb` files are supported.)\n\nIf you are developing a font project publicly with Github (or a similar host) you can set up a Continuous Integration service (such as GHActions) to run Font Bakery on each commit, so that with each update all checks will be run on your files.\n\n## Trivia\n\n* [Advances in Continuous Integration Testing at Google](https://ai.google/research/pubs/pub46593) - 2018 presentation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffonttools%2Ffontbakery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffonttools%2Ffontbakery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffonttools%2Ffontbakery/lists"}