audiobooker

v0.7.0 safe
3.0
Low Risk

Audiobook scraper — search and stream from Librivox, LoyalBooks, and more

🤖 AI Analysis

Final verdict: SAFE

The package appears to be legitimate based on its description and analysis notes. While there are some minor risks related to shell execution and metadata, these do not indicate malicious intent or a supply-chain attack.

  • Low network and shell execution risks
  • No signs of obfuscation or credential harvesting
  • Minor concerns about metadata and maintainer history
Per-check LLM notes
  • Network: The network call is likely for downloading audio content, which aligns with the package's probable functionality.
  • Shell: The shell execution patterns are used to open files in a platform-specific manner, suggesting legitimate functionality but could pose risks if paths are not sanitized.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: Low risk due to lack of suspicious flags, but potential issues with maintainer history suggest caution.

📦 Package Quality Overall: Medium (5.8/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_cache.py)
◈ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (9899 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

  • 74 type-annotated function signatures detected in source
✦ High Multiple Contributors 8.0

Active multi-contributor project

  • 4 unique contributor(s) across 81 commits in OpenJarbas/audiobooker
  • Small but multi-author team (3–4 contributors)

🔬 Heuristic Checks

Outbound Network Calls score 1.5

Found 1 network call pattern(s)

  • try: resp = requests.get(url, stream=True, timeout=30) resp.raise_for_sta
Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution score 4.0

Found 2 shell execution pattern(s)

  • platform == "darwin": subprocess.Popen(["open", str(path)]) elif sys.platform == "win32":
  • (str(path)) else: subprocess.Popen(["xdg-open", str(path)]) # -------------------------------
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: mailfence.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository OpenJarbas/audiobooker appears legitimate

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 audiobooker
Create a Python-based audiobook discovery and streaming app called 'AudiobookExplorer'. This application will leverage the 'audiobooker' package to provide users with an easy-to-use interface to discover, download, and listen to free audiobooks from various sources like Librivox and LoyalBooks. The app should include the following features:

1. **Search Functionality**: Users should be able to search for audiobooks by title, author, or keyword. The app will use 'audiobooker' to scrape relevant data from supported websites.
2. **Book Information Display**: For each search result, display key information such as book title, author, narrator, duration, and a brief summary. Use 'audiobooker' to fetch this information directly.
3. **Streaming Feature**: Implement a feature that allows users to stream audiobook chapters directly within the app. Again, utilize 'audiobooker' to handle the streaming process.
4. **Download Option**: Provide users with the option to download audiobooks for offline listening. Ensure that 'audiobooker' is used to manage the downloading process efficiently.
5. **Favorites and History**: Allow users to mark their favorite books and keep a history of their listening sessions. This feature should be managed locally but can be enhanced with user authentication for persistent storage.
6. **User Interface**: Develop a simple yet intuitive graphical user interface using a library like PyQt or Tkinter. The UI should be clean, responsive, and user-friendly.
7. **Integration with External Players**: Optionally, integrate with external media players for playing downloaded files if streaming is not preferred.

To start, install the 'audiobooker' package and explore its documentation to understand how to implement these functionalities. Your task is to design and develop this application, ensuring it adheres to good programming practices and provides a seamless user experience.

💬 Discussion Feed

Leave a comment

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