Skip to main content

Provides Details for your GitRepo master manifest file

Project description

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.1 is pushed
    • Builds artifacts and creates a GitHub Release with attached dist/* files

License

MIT

Free Software, Hell Yeah!

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

gitrepoxmlparser-0.3.3.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitrepoxmlparser-0.3.3-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file gitrepoxmlparser-0.3.3.tar.gz.

File metadata

  • Download URL: gitrepoxmlparser-0.3.3.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for gitrepoxmlparser-0.3.3.tar.gz
Algorithm Hash digest
SHA256 b4b193982163ff8b6d99a477051300e9370cc3297d5be717039ed220a7bb5a89
MD5 c3e23e817aa0654c3a6d76f7e39a40c4
BLAKE2b-256 37043282b4f462f01ee09eb74b6d28883c74b6a84a7cc8a217985f1b451f426d

See more details on using hashes here.

File details

Details for the file gitrepoxmlparser-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: gitrepoxmlparser-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for gitrepoxmlparser-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b36fb37e8e7d52b1e79233640082a049a1bb0149c9479b311e9f094488403f
MD5 4d1f7da9035bd9a90c823059be4a1585
BLAKE2b-256 c7af259a1a66655b263c84f38f6c7a2a2a72914bc304e8a369b0f23239fb85ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page