jps-ado-repo-utils
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)
| File | Size | Uploaded | |
|---|---|---|---|
| jps_ado_repo_utils-0.4.0.tar.gz | 17.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|