Utils for managing Azure DevOps code repositories
Project description
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0234f61b38ac117030f452306f7922b9f8e378c0bb63b066653da03775f95df
|
|
| MD5 |
18211689716585d61c29c6483fafb3d7
|
|
| BLAKE2b-256 |
b34137fa7215d429ede71d25634aced4cea86412e9c0d921a0d84e9ac4b34493
|
File details
Details for the file jps_ado_repo_utils-0.4.0-py3-none-any.whl.
File metadata
- Download URL: jps_ado_repo_utils-0.4.0-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e87fa3f9665f03f5c418188f77f0d8a1e562a601f1eb352868cd784bc80aeddf
|
|
| MD5 |
4bde8430bfdbd35f2549a5a503c5c526
|
|
| BLAKE2b-256 |
8a809bf1bdb474e4b53394f7f0d0059c099393f1c5afdaa5f118003ffce19557
|