Skip to main content

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

Metadata

Release files for jps-ado-repo-utils 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jps-ado-repo-utils 0.4.0
File Size Uploaded
jps_ado_repo_utils-0.4.0.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jps-ado-repo-utils 0.4.0
File Interpreter ABI Platform
jps_ado_repo_utils-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.8 kB

Release files / jps_ado_repo_utils-0.4.0.tar.gz

Download URL jps_ado_repo_utils-0.4.0.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a0234f61b38ac117030f452306f7922b9f8e378c0bb63b066653da03775f95df
BLAKE2b-256 checksum
How to use checksums
b34137fa7215d429ede71d25634aced4cea86412e9c0d921a0d84e9ac4b34493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / jps_ado_repo_utils-0.4.0-py3-none-any.whl

Download URL jps_ado_repo_utils-0.4.0-py3-none-any.whl
Size 13.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e87fa3f9665f03f5c418188f77f0d8a1e562a601f1eb352868cd784bc80aeddf
BLAKE2b-256 checksum
How to use checksums
8a809bf1bdb474e4b53394f7f0d0059c099393f1c5afdaa5f118003ffce19557
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page