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 |