astrologyapi

v2.0.0 suspicious
6.0
Medium Risk

Official Python SDK for AstrologyAPI.com

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits a high metadata risk score due to its newness and limited maintainer history, raising concerns about potential malicious intent. However, there are no direct indicators of malicious activity in the code itself.

  • High metadata risk
  • No direct evidence of malicious code
Per-check LLM notes
  • Network: The use of HTTP requests and retries is common in packages that need to interact with external APIs, but the presence of mock transport suggests testing or simulation which could be benign or indicate more complex behavior.
  • Shell: No shell execution patterns detected, indicating low risk.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The package shows signs of being potentially malicious due to its newness, lack of maintainer history, and minimal git activity.

📦 Package Quality Overall: Medium (5.0/10)

✦ High Test Suite 9.0

Test suite present — 3 test file(s) found

  • 3 test file(s) detected (e.g. test_client.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://docs.astrologyapi.com
  • Detailed PyPI description (5305 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

  • 219 type-annotated function signatures detected in source
○ Low Multiple Contributors 2.0

Single-author or unverifiable project

  • 1 unique contributor(s) across 2 commits in astrologyapi/astro-api-python-client
  • Single author with few commits — possibly a personal or throwaway project

🔬 Heuristic Checks

Outbound Network Calls score 4.5

Found 3 network call pattern(s)

  • retries self.client = httpx.Client(timeout=timeout) def __enter__(self) -> "HttpClient":
  • retries self.client = httpx.AsyncClient(timeout=timeout) async def __aenter__(self) -> "AsyncHt
  • ) client.client = httpx.Client(transport=httpx.MockTransport(handler)) response = clien
Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution

No shell execution patterns detected

Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: astrologyapi.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History score 5.0

Git history flags: Very few commits: 2 total

  • Very few commits: 2 total
  • Single contributor with only 2 commit(s) — possibly throwaway account
Maintainer History score 6.0

3 maintainer concern(s) found

  • Only one version has ever been released — brand new package
  • Author name is missing or very short
  • Author "" appears to have only 1 package on PyPI (new or inactive account)
Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

💡 AI App Starter Prompt

Use this prompt to build a project with astrologyapi
Create a personalized horoscope reader app using the AstrologyAPI Python SDK. This app will allow users to input their birth date, time, and location to receive a daily horoscope based on their zodiac sign. Additionally, the app should provide compatibility scores between two zodiac signs and offer a feature to generate a natal chart for a given birth date and time.

Steps:
1. Install the AstrologyAPI Python SDK via pip.
2. Set up an API key from AstrologyAPI.
3. Design a simple user interface that allows users to input their birth information.
4. Use the AstrologyAPI SDK to fetch daily horoscopes for each zodiac sign and display it for the selected user.
5. Implement a compatibility checker that takes two zodiac signs as inputs and returns a compatibility score.
6. Add functionality to generate and display a natal chart for a given birth date and time.
7. Ensure error handling for invalid inputs and API errors.
8. Test the app thoroughly to ensure all features work as expected.

Suggested Features:
- User authentication to save horoscope preferences.
- A calendar view of past and future horoscopes.
- Notifications for daily horoscope updates.
- Integration with a weather API to suggest activities based on horoscope predictions.

How to Utilize AstrologyAPI SDK:
- For fetching horoscopes: Use the 'get_horoscope' method from the AstrologyAPI SDK with parameters like date and zodiac sign.
- For compatibility scores: Use the 'get_compatibility' method, passing two zodiac signs as parameters.
- For natal charts: Use the 'generate_natal_chart' method, providing birth date, time, and location data.

💬 Discussion Feed

Leave a comment

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