Check python package dependencies across GitLab projects
Project description
GitLab Dependency Checker
A command-line utility to check if Python packages are used in GitLab repositories or groups. It helps you track package usage across your projects.
Installation
The easiest way to install is with uv:
% uv tool install gitlab-depcheck
Now it's available globally. You can check that the installation was successful:
% gitlab-depcheck --version
gitlab-depcheck, version 0.5.3
Next, create a config file .gitlab_depcheck.toml in your project directory or
~/.gitlab_depcheck.toml in your home directory:
[gitlab]
url = "https://gitlab.com" # or your self-hosted GitLab URL
token = "your-personal-access-token"
[search]
group = "foo" # default group to search in
max_concurrent = 20 # parallel API requests (default: 10)
And just run:
% gitlab-depcheck httpx
๐ Searching for package: httpx
โ Found 56 projects to check
Checking projects... โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% 0:00:00
โ Found in 4 projects:
โโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโ
โ Project โ File โ Package โ Line โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ foo/bar-service โ pyproject.toml โ httpx==0.27.1 โ 31 โ
โ foo/tor-service โ pyproject.toml โ httpx[http2]==0.25.2 โ 18 โ
โ foo/org-service โ pyproject.toml โ httpx[brotli,zstd]==0.27.1 โ 49 โ
โ foo/autotests โ pyproject.toml โ httpx>=0.25.1 โ 24 โ
โโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโ
Version distribution:
httpx==0.27.1: 2 project(s)
httpx==0.25.2: 1 project(s)
httpx>=0.25.1: 1 project(s)
Output can be transformed into json or csv, for example:
% gitlab-depcheck numpy --output json > foo_numpy.json
% gitlab-depcheck numpy --output csv > foo_numpy.csv
More options
You can narrow the search by specifying a group:
gitlab-depcheck httpx --group mycompany/backend
or filter by project name:
gitlab-depcheck httpx --search foo-service
A full list of options is available via --help:
% gitlab-depcheck --help
Usage: gitlab-depcheck [OPTIONS] PACKAGE
Check Python package dependencies across GitLab projects.
Examples:
# Search for pandas in all accessible projects
gitlab-depcheck pandas
# Search in specific group
gitlab-depcheck httpx --group mycompany/backend
# Search with project name filter
gitlab-depcheck fastapi --search api
# Include archived projects
gitlab-depcheck django --archived
Configuration file (searches in order):
1. .gitlab_depcheck.toml (project directory)
2. ~/.gitlab_depcheck.toml (home directory)
[gitlab]
url = "https://gitlab.com"
token = "your-token-here"
[search]
group = "mycompany"
max_concurrent = 20
Options:
--version Show the version and exit.
--url TEXT GitLab URL (default: https://gitlab.com or from
config)
--token TEXT GitLab personal access token (or use GITLAB_TOKEN
env var or config)
--group TEXT GitLab group path (e.g., mycompany/backend)
--search TEXT Filter projects by name
--archived Include archived projects
--max-concurrent INTEGER Maximum concurrent API requests
--output [table|json|csv] Output format
--help Show this message and exit.
Requirements
- Python 3.10+
- uv package manager
- wget or curl (for uv installation)
License
This project is licensed under the MIT License.
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 gitlab_depcheck-0.5.4.tar.gz.
File metadata
- Download URL: gitlab_depcheck-0.5.4.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c25e786115654891631df3aeadca6339df22ae46686e1c23bdeb57c2f9e9526
|
|
| MD5 |
6c5a1256f86df7d2663bec7366a8cf91
|
|
| BLAKE2b-256 |
d7828b71550b3c1d0e43d6cdeaa21127e1ec971411ec63ffeac1fa5080799258
|
Provenance
The following attestation bundles were made for gitlab_depcheck-0.5.4.tar.gz:
Publisher:
publish.yml on sesav/gitlab-depcheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gitlab_depcheck-0.5.4.tar.gz -
Subject digest:
8c25e786115654891631df3aeadca6339df22ae46686e1c23bdeb57c2f9e9526 - Sigstore transparency entry: 813581460
- Sigstore integration time:
-
Permalink:
sesav/gitlab-depcheck@ac6a4c8521f1fc6e2548c725b44ba8d34a0c2383 -
Branch / Tag:
refs/tags/0.5.4 - Owner: https://github.com/sesav
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ac6a4c8521f1fc6e2548c725b44ba8d34a0c2383 -
Trigger Event:
release
-
Statement type:
File details
Details for the file gitlab_depcheck-0.5.4-py3-none-any.whl.
File metadata
- Download URL: gitlab_depcheck-0.5.4-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32939cae53249912094173a60f6d2cf0505d2b0758485f9f2962645930797ed5
|
|
| MD5 |
0112681d0fec35d437059c705de188e4
|
|
| BLAKE2b-256 |
5c6bfc704601f98c54ebc3d5c7aa0b46747b610cdb2442baac22b977ac2f3916
|
Provenance
The following attestation bundles were made for gitlab_depcheck-0.5.4-py3-none-any.whl:
Publisher:
publish.yml on sesav/gitlab-depcheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gitlab_depcheck-0.5.4-py3-none-any.whl -
Subject digest:
32939cae53249912094173a60f6d2cf0505d2b0758485f9f2962645930797ed5 - Sigstore transparency entry: 813581461
- Sigstore integration time:
-
Permalink:
sesav/gitlab-depcheck@ac6a4c8521f1fc6e2548c725b44ba8d34a0c2383 -
Branch / Tag:
refs/tags/0.5.4 - Owner: https://github.com/sesav
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ac6a4c8521f1fc6e2548c725b44ba8d34a0c2383 -
Trigger Event:
release
-
Statement type: