asof

v0.1.2 safe
3.0
Low Risk

(No description)

🤖 AI Analysis

Final verdict: SAFE

The package is assessed to be safe with low risks for both obfuscation and credential harvesting. However, it has moderate metadata risk due to low maintainer activity and poor metadata quality.

  • No obfuscation or credential harvesting detected
  • Low maintainer activity and poor metadata quality
Per-check LLM notes
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The package shows low maintainer activity and poor metadata quality, raising concerns but not conclusive evidence of malicious intent.

📦 Package Quality Overall: Medium (5.6/10)

✦ High Test Suite 9.0

Test suite present — 3 test file(s) found

  • Test runner config found: pyproject.toml
  • 3 test file(s) detected (e.g. test_canonical_names.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://github.com/maxkapur/asof.py
  • Detailed PyPI description (1532 chars)
○ Low Contributing Guide 2.0

No contributing guide or governance files found

  • No CONTRIBUTING, CODE_OF_CONDUCT, or governance files found
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 29 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 57 commits in maxkapur/asof.py
  • Single author but highly active (57 commits)

🔬 Heuristic Checks

Outbound Network Calls score 3.0

Found 2 network call pattern(s)

  • nsole import asof session = requests.Session() @cache def get_con(console: Console) -> sqlite3.Connecti
  • PI at {url}"): resp = requests.get( url, headers={"Accept": "applicatio
Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution score 4.0

Found 2 shell execution pattern(s)

  • try: subprocess.run([command], capture_output=True) return comma
  • x.join(cmd)}"): res = subprocess.run(cmd, capture_output=True) no_matches_msg = f"No matches
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: maxkapur.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History score 2.5

Git history flags: Repository has zero stars and zero forks

  • Repository has zero stars and zero forks
Maintainer History score 6.0

3 maintainer concern(s) found

  • Author name is missing or very short
  • Author "" appears to have only 1 package on PyPI (new or inactive account)
  • Package has no PyPI classifiers (low effort / metadata quality)
Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

💡 AI App Starter Prompt

Use this prompt to build a project with asof
Create a time-traveling package manager utility called 'PastPack' that leverages the 'asof' package to retrieve information about software packages as of a specific historical date. This utility will allow users to explore the state of popular Python libraries at any point in the past, up until the current date. Users can input a date and a package name to see what versions of that package were available on that date through both PyPI and conda repositories.

### Key Features:
- **Date Input**: Allow users to specify a date in the format YYYY-MM-DD.
- **Package Name Input**: Accept the name of a Python package as input.
- **Version Retrieval**: Use the 'asof' package to fetch the versions of the specified package available on the given date from both PyPI and conda.
- **Output Format**: Display the retrieved information in a user-friendly format, including the package name, repository name, version number, and publication date.
- **Error Handling**: Implement error handling to manage cases where no versions are found for the specified package on the given date.
- **Interactive Mode**: Provide an option for users to interactively query multiple packages without exiting the application.
- **History Log**: Keep a log of all queries made by the user, allowing them to review previous searches.
- **Help Documentation**: Include comprehensive help documentation within the application to guide users on how to use the various features.

💬 Discussion Feed

Leave a comment

No discussion yet. Be the first to share your thoughts!