Projects
View on GitHub
jelmer/python-fastimport
jelmer/python-fastimport has 26 GitHub stars and 11 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and 0 in 15 days. Last checked 2026-11-15 06:51 UTC. Last push 2026-09-13.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- 0
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Git Fastimport parser and generator in Python
Developer ToolsREADME.md
Originalpython-fastimport
This package provides a parser for and generator of the Git fastimport format. (https://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html)
Installation
pip install fastimport
Example
Here's a simple example of how to parse a fastimport stream:
from fastimport import parser
# Parse a fastimport stream from a file
with open('export.dat', 'rb') as f:
p = parser.ImportParser(f)
for cmd in p.iter_commands():
if cmd.name == b'commit':
print(f"Commit to branch: {cmd.ref}")
print(f"Author: {cmd.author}")
print(f"Message: {cmd.message}")
elif cmd.name == b'blob':
print(f"Blob mark: {cmd.mark}, size: {len(cmd.data)}")
And here's how to generate a fastimport stream:
from fastimport import commands
# Create a new blob
blob = commands.BlobCommand(
mark=b'1',
data=b'Hello, World!\n',
lineno=0
)
# Create a commit
commit = commands.CommitCommand(
ref=b'refs/heads/main',
mark=b'2',
author=(b'John Doe', b'[email protected]', 1234567890, 0),
committer=(b'John Doe', b'[email protected]', 1234567890, 0),
message=b'Initial commit\n',
from_=None,
merges=None,
file_iter=[
commands.FileModifyCommand(
path=b'hello.txt',
mode=0o100644,
dataref=b':1',
data=None
)
]
)
# Write to a fastimport stream
with open('import.dat', 'wb') as f:
f.write(bytes(blob))
f.write(b'\n')
f.write(bytes(commit))