# FontGit
FontGit is an experimental package that loads fonts from a specific commit in a git repo. You don't have to check out any commits, or reset the repo to a specific commit, fontgit loads everything lazily. This means only the requested parts of the fonts is loaded which makes the reading faster.
## Example
```python
from fontGit import FontGit
font_path = 'tests/test_repo/fonts/font_1.ufo' # font should be inside a repo with a commit history
# Open a font at latest commit
font = FontGit.open_at_commit(font_path)
# get list of all commit hashes in the repo
from fontGit.utils import RepoCache
sample_repo = RepoCache(font_path) # it will resolve to the repo root even if font path is given
commits = sample_repo.commits
# get a font at a spcific commit
font = FontGit.open_at_commit(font_path, commit_sha=commits[1])
```
Raw data
{
"_id": null,
"home_page": "https://github.com/typoman/fontgit",
"name": "fontGit",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "font, git, ufo, version-control",
"author": "Bahman Eslami",
"author_email": "eslami.bahman@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/84/b2/3a5f948365de749c6901e7fa6a7ca0ec0b7857d520c9eb6ea557adbee9fb/fontgit-0.0.7.tar.gz",
"platform": null,
"description": "# FontGit\nFontGit is an experimental package that loads fonts from a specific commit in a git repo. You don't have to check out any commits, or reset the repo to a specific commit, fontgit loads everything lazily. This means only the requested parts of the fonts is loaded which makes the reading faster.\n\n## Example\n\n```python\nfrom fontGit import FontGit\n\nfont_path = 'tests/test_repo/fonts/font_1.ufo' # font should be inside a repo with a commit history\n\n# Open a font at latest commit\nfont = FontGit.open_at_commit(font_path)\n\n# get list of all commit hashes in the repo\nfrom fontGit.utils import RepoCache\nsample_repo = RepoCache(font_path) # it will resolve to the repo root even if font path is given\ncommits = sample_repo.commits\n\n# get a font at a spcific commit\nfont = FontGit.open_at_commit(font_path, commit_sha=commits[1])\n```",
"bugtrack_url": null,
"license": "MIT",
"summary": "A tool for versioning font files with Git.",
"version": "0.0.7",
"project_urls": {
"Bug Tracker": "https://github.com/typoman/fontgit/issues",
"Homepage": "https://github.com/typoman/fontgit",
"Repository": "https://github.com/typoman/fontgit"
},
"split_keywords": [
"font",
" git",
" ufo",
" version-control"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6a2c266ef7e7cdd4b005044f6b1cd93b248dc58d2ff268ff84e43c6eaab11b4a",
"md5": "cca652e4832e2ef31b25bf76c3740c99",
"sha256": "7819c27be10e59a913ff2cf12a83fa0686dfecf3989f0890e7c80046581f148e"
},
"downloads": -1,
"filename": "fontgit-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cca652e4832e2ef31b25bf76c3740c99",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 8483,
"upload_time": "2025-08-04T09:45:13",
"upload_time_iso_8601": "2025-08-04T09:45:13.557075Z",
"url": "https://files.pythonhosted.org/packages/6a/2c/266ef7e7cdd4b005044f6b1cd93b248dc58d2ff268ff84e43c6eaab11b4a/fontgit-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84b23a5f948365de749c6901e7fa6a7ca0ec0b7857d520c9eb6ea557adbee9fb",
"md5": "400df8362c179d0bbd34923d78460430",
"sha256": "1ab13fa0371b4353cf0ecf9041ff0e7658494f2ed6b19f62ae5945af0b4a8e32"
},
"downloads": -1,
"filename": "fontgit-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "400df8362c179d0bbd34923d78460430",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 7207,
"upload_time": "2025-08-04T09:45:14",
"upload_time_iso_8601": "2025-08-04T09:45:14.929283Z",
"url": "https://files.pythonhosted.org/packages/84/b2/3a5f948365de749c6901e7fa6a7ca0ec0b7857d520c9eb6ea557adbee9fb/fontgit-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-04 09:45:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "typoman",
"github_project": "fontgit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "fontgit"
}