Skip to main content

Utils for managing Azure DevOps code repositories

Project description

jps-ado-repo-utils

Build Publish to PyPI codecov

Utils for managing Azure DevOps code repositories

🚀 Overview

jps-ado-repo-utils is a Python utility for scanning multiple git repositories to identify dependencies on specific Python packages. It's particularly useful for managing large codebases across multiple repositories in Azure DevOps environments.

The tool clones repositories, analyzes both project configuration files (like pyproject.toml, setup.py, requirements.txt) and Python source files for import statements, then generates comprehensive reports on where dependencies are found.

Features

Parallel Processing — Scan multiple repositories concurrently with configurable worker threads

🔍 Comprehensive Scanning — Detects dependencies in:

  • Project configuration files (pyproject.toml, setup.py, setup.cfg, requirements.txt, Pipfile)
  • Python source files (import statements)
  • Git submodules (.gitmodules)

📊 Detailed Reporting — Generates structured reports with:

  • Successfully scanned repositories
  • Repositories with found dependencies
  • Repositories without dependencies
  • Failed git clone operations
  • Scan errors with detailed diagnostics

🔒 SSH Support — Designed for Azure DevOps SSH URLs

📝 Structured Logging — Comprehensive logging with timestamps and severity levels

Example Usage

# Install the package
pip install jps-ado-repo-utils

# Scan repositories for a specific package dependency
jps-ado-repo-utils-dependency-finder \
    --infile repos.txt \
    --package my-package-name \
    --max-workers 10

Create a repos.txt file with one repository URL per line:

git@vs-ssh.visualstudio.com:v3/org/project/repo1
git@vs-ssh.visualstudio.com:v3/org/project/repo2
git@vs-ssh.visualstudio.com:v3/org/project/repo3

The tool will generate:

  • A detailed log file tracking all operations
  • A comprehensive report showing which repositories use the specified package

For detailed usage instructions, see USAGE.md.

📦 Installation

make install

🧪 Development

make fix && make format && make lint
make test

📜 License

MIT License © Jaideep Sundaram

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

jps_ado_repo_utils-0.4.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

jps_ado_repo_utils-0.4.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file jps_ado_repo_utils-0.4.0.tar.gz.

File metadata

  • Download URL: jps_ado_repo_utils-0.4.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for jps_ado_repo_utils-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a0234f61b38ac117030f452306f7922b9f8e378c0bb63b066653da03775f95df
MD5 18211689716585d61c29c6483fafb3d7
BLAKE2b-256 b34137fa7215d429ede71d25634aced4cea86412e9c0d921a0d84e9ac4b34493

See more details on using hashes here.

File details

Details for the file jps_ado_repo_utils-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jps_ado_repo_utils-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e87fa3f9665f03f5c418188f77f0d8a1e562a601f1eb352868cd784bc80aeddf
MD5 4bde8430bfdbd35f2549a5a503c5c526
BLAKE2b-256 8a809bf1bdb474e4b53394f7f0d0059c099393f1c5afdaa5f118003ffce19557

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