Enable creation and edition of xapi file from git source
Project description
GitToXApi
Library used to turn git change log data to xapi format
Format
The file consists of a list of xApi statements with each statement that represent a commit of the master branch. To store git differential on a statement we use extensions in object.definition
"git": [
{
"objectType": "Differential",
"file": "test.txt",
"parts": [
{
"a_start_line": 0,
"a_interval": 2,
"b_start_line": 0,
"b_interval": 2,
"content": [
" Hello",
"-wold",
"+World !",
]
}
]
}
]
Installation
Use pip to install this library : pip install GitToXApi
Example
Conversion
import GitToXApi.utils as utils
from tincan import Statement
import git
import json
repo = git.Repo("path/to/example_repo")
stmts: list[Statement] = utils.generate_xapi(repo)
# With custom git diff arguments
stmts: list[Statement] = utils.generate_xapi(repo, {"unified": 1000})
Serialization
import json
with open("dump.json", "w") as f:
f.write(utils.serialize_statements(stmts))
# With custom serializing params
f.write(utils.serialize_statements(stmts, indent=2))
Deserialization
import GitToXApi.utils as utils
stmts = None
with open("dump.json", "r") as f:
stmts = utils.deserialize_statements(f)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gittoxapi-0.2.2.tar.gz
(6.0 kB
view details)
File details
Details for the file gittoxapi-0.2.2.tar.gz.
File metadata
- Download URL: gittoxapi-0.2.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc040b01941512441a253f2af01bddfba875ff04ea7fa8a145884026d0e89805
|
|
| MD5 |
1b8f21de22f77b3b72b919b84211facb
|
|
| BLAKE2b-256 |
bd86b418634c84ca437a599dde36149701efdf5d8ab234093c23d34a78673ff6
|