GitRepoXMLParser
Capable of processing the AOSP repo's manifest file differentiating from the supplier
GitRepoXMLParser helps you visualize your AOSP manifest files that is fed for repo tool Rich-powered visualization.
Manifest file example
<manifest >
<remote fetch = "url" name = "pj-gerrit" review = "" / >
<include name = "supplier.xml" / >
<include name = "pj_apps.xml" / >
<remove-project name = "pathto/projec" / >
<project name = "supplier/pathto/projectrepo" path = "company/pathto/projectrepo" remote = "pj-gerrit" revision = "branch_name" / >
<project name = "PJ/pathto/projectrepo1" path = "vendor/pathto/projectrepo1" remote = "pj-gerrit" revision = "branch_name" / >
<project name = "PJ/pathto/projectrepo2" path = "vendor/pathto/projectrepo2" remote = "pj-gerrit" revision = "branch_name" / >
</manifest >
Features
- Visualize your manifest.xml files visually
- The table size depends on the screensize of the command line utility that you are running the script
- HTML report supports global search across all tables and sortable columns
Installation
gitrepoxmlparser requires Rich 12.5.1+.
pip install gitrepoxmlparser
Install from source using Make (cross-platform)
make install
Usage
cmd>gitrepoxmlparser -h
usage: -m [-h] -f F -c C -s S [-x]
options:
-h, --help show this help message and exit
-f F manifest xml file
-c C Your company name (Should match with companies folder name in the stack)
-s S Supplier's Company name (just contrasts with only one vendor)
-x, --html For html report
-p PORT, --port PORT Port for web server (default: 8080)
HTML Report
Generate an interactive HTML report with the -x flag:
gitrepoxmlparser -f manifest.xml -c company_name -s supplier_name -x
The HTML report uses Flask + Jinja2 for professional, responsive table rendering:
- Full-width tables that adapt to screen size
- Beautiful gradient header and statistics dashboard
- Clean typography and proper spacing
- Hover effects and alternating row colors for readability
- Emoji icons for visual distinction of sections
- Global search input to filter rows across all rendered tables
- Click-to-sort columns on every table (ascending/descending toggle)
Optional: specify a custom port for the web server (default: 8080):
gitrepoxmlparser -f manifest.xml -c company_name -s supplier_name -x -p 9090
To activate the virtual env
poetry shell
Installing dependencies only
poetry install --no-root
To install the dependencies and install the package (reads the poetry.lock or pyproject.toml file )
poetry install
Run tests
poetry run pytest
Build package artifacts
poetry build
Automation
- CI workflow:
.github/workflows/ci.yml- Runs on push/PR
- Installs dependencies
- Runs tests
- Builds package artifacts
- Release workflow:
.github/workflows/release.yml- Runs when a tag like
v0.3.1is pushed - Builds artifacts and creates a GitHub Release with attached
dist/*files
- Runs when a tag like
License
MIT
Free Software, Hell Yeah!
Metadata
Release files for gitrepoxmlparser 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gitrepoxmlparser-0.3.3.tar.gz | 8.4 kB | Without provenance | Details for gitrepoxmlparser-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gitrepoxmlparser-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for gitrepoxmlparser-0.3.3-py3-none-any.whl |
Total release size: 17.7 kB
Release files / gitrepoxmlparser-0.3.3.tar.gz
| Download URL | gitrepoxmlparser-0.3.3.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4b193982163ff8b6d99a477051300e9370cc3297d5be717039ed220a7bb5a89
|
|
BLAKE2b-256 checksum How to use checksums |
37043282b4f462f01ee09eb74b6d28883c74b6a84a7cc8a217985f1b451f426d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / gitrepoxmlparser-0.3.3-py3-none-any.whl
| Download URL | gitrepoxmlparser-0.3.3-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4b36fb37e8e7d52b1e79233640082a049a1bb0149c9479b311e9f094488403f
|
|
BLAKE2b-256 checksum How to use checksums |
c7af259a1a66655b263c84f38f6c7a2a2a72914bc304e8a369b0f23239fb85ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for gitrepoxmlparser 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.