Ownership Attribution for Python Packages
Project description
skip_trace
Who owns your dependencies
- Can they be linked to a real person or company in the real world
- Can they be contacted
Of course all packages have a pypi user. The list of users isn't academic, you care about them because you want to communicate with them.
Installation
Requires
- Github key
- Initializing
spacygit clone,uv sync- OR
python -m spacy download en_core_web_sm - OR
python -c 'import spacy.cli; spacy.cli.download("en_core_web_sm")'
- (Not implemented yet) Openrouter/OpenAI key
Usage
skip-trace who-owns requests
What you will see is the owner table and the maintainer tables.
The owner table is pretty close to all the names, email addresses and custom domains I can find.
Use Cases
- You are worried about supply chain attacks and are concerned that a package is actually maintained by North Korean government backed hackers
- You need to file a bug report and there isn't an issue link
- You want to hire, buy something from the maintainer, or charitably donate money
- You want to do a PEP 541 take over
- You want to volunteer to take over an abandoned package instead of forking it
- You want to find out if your project is now unreachable. If you are conscientious enough to run this on your own packages, you probably are not the person to rigorously avoid adding contact information.
- You are trying to publish anonymously and want to check to see if the package is actually anonymous
Unreachable
See PEP 541 for exact text
- Do you have a real email address in your metadata
- Do you have a link to a page with your real email address or other means to reach you
Name Squatting
If a package has take a good name but the user has published nothing to it, that is Name Squatting
Prior Art
Nothing I could find.
Project Health & Info
| Metric | Health | Metric | Info |
|---|---|---|---|
| Tests | License | ||
| Coverage | PyPI | ||
| Lint / Pre-commit | Python Versions | ||
| Quality Gate | Docs | ||
| CI Build | Downloads | ||
| Maintainability | Last Commit |
| Category | Health |
|---|---|
| Open Issues | |
| Stars |
Project details
Release history Release notifications | RSS feed
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 skip_trace-0.1.0.tar.gz.
File metadata
- Download URL: skip_trace-0.1.0.tar.gz
- Upload date:
- Size: 37.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
610389f900ba25cceba19f2c9b60b119caf616e7b5bd5082f0b484aaf36190ba
|
|
| MD5 |
162531f54930ca4c767ce1f0ee80d2a8
|
|
| BLAKE2b-256 |
158346bea822e7b3d36cdf93e6c559e5b49fba8d7de90634704649ef2e525c81
|
Provenance
The following attestation bundles were made for skip_trace-0.1.0.tar.gz:
Publisher:
publish_to_pypi.yml on matthewdeanmartin/skip_trace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skip_trace-0.1.0.tar.gz -
Subject digest:
610389f900ba25cceba19f2c9b60b119caf616e7b5bd5082f0b484aaf36190ba - Sigstore transparency entry: 601235680
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/skip_trace@444083549cec084025c319bf04d42a08c711096d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@444083549cec084025c319bf04d42a08c711096d -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file skip_trace-0.1.0-py3-none-any.whl.
File metadata
- Download URL: skip_trace-0.1.0-py3-none-any.whl
- Upload date:
- Size: 45.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecf0d409e44f98606ffc6d2e1ee9428e587e1096f1989e861e2671c3e886ce59
|
|
| MD5 |
cd5745c58f21d54c34d049018a9394ca
|
|
| BLAKE2b-256 |
317f12bb11fa85290d47691950467be2773693a3d7399b5847283fea1e2b5a7a
|
Provenance
The following attestation bundles were made for skip_trace-0.1.0-py3-none-any.whl:
Publisher:
publish_to_pypi.yml on matthewdeanmartin/skip_trace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skip_trace-0.1.0-py3-none-any.whl -
Subject digest:
ecf0d409e44f98606ffc6d2e1ee9428e587e1096f1989e861e2671c3e886ce59 - Sigstore transparency entry: 601235681
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/skip_trace@444083549cec084025c319bf04d42a08c711096d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@444083549cec084025c319bf04d42a08c711096d -
Trigger Event:
workflow_dispatch
-
Statement type: