Metadata-Version: 2.3
Name: fontGit
Version: 0.0.6
Summary: A tool for versioning font files with Git.
License: MIT
Keywords: font,git,ufo,version-control
Author: Bahman Eslami
Author-email: eslami.bahman@gmail.com
Requires-Python: >=3.11
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Text Processing :: Fonts
Requires-Dist: fs (>=2.4.16,<3.0.0)
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
Requires-Dist: ufolib2 (>=0.17.1,<0.18.0)
Project-URL: Bug Tracker, https://github.com/typoman/fontgit/issues
Project-URL: Homepage, https://github.com/typoman/fontgit
Project-URL: Repository, https://github.com/typoman/fontgit
Description-Content-Type: text/markdown

# 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])
```
