apify-shared

v2.2.0 safe
4.0
Medium Risk

Tools and constants shared across Apify projects.

🤖 AI Analysis

Final verdict: SAFE

The package shows low risks in terms of network, shell, obfuscation, and credential misuse. However, the incomplete maintainer's author information slightly increases the metadata risk, making it necessary to monitor future updates.

  • Low network, shell, obfuscation, and credential risks.
  • Incomplete maintainer's author information.
Per-check LLM notes
  • Network: No network calls detected, which is normal if the package does not require external API interactions.
  • Shell: No shell execution detected, indicating no direct system command invocations within the package.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The maintainer's author information is incomplete and may be new or inactive, which raises some concern but does not strongly indicate malice.

📦 Package Quality Overall: Medium (6.6/10)

✦ High Test Suite 9.0

Test suite present — 2 test file(s) found

  • Test runner config found: pyproject.toml
  • 2 test file(s) detected (e.g. test_consts.py)
◈ Medium Documentation 5.0

Some documentation present

  • Brief PyPI description (625 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 4 type-annotated function signatures (partial)
✦ High Multiple Contributors 10.0

Active multi-contributor project

  • 12 unique contributor(s) across 96 commits in apify/apify-shared-python
  • Active community — 5 or more distinct contributors

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

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: apify.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository apify/apify-shared-python appears legitimate

Maintainer History score 4.0

2 maintainer concern(s) found

  • 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 apify-shared
Create a fully-functional mini-application that helps users manage their personal task lists using the Python package 'apify-shared'. This application will allow users to add tasks, mark them as completed, and delete them when they're done. Additionally, it should support categorizing tasks into different groups such as 'Work', 'Home', 'Personal', etc.

### Features:
1. **Task Management:** Users should be able to add new tasks, mark existing tasks as completed, and remove completed tasks from their list.
2. **Categorization:** Tasks should be categorized into predefined groups. Users can filter their task list by category.
3. **Persistence:** Utilize 'apify-shared' to ensure that the task data persists even after the application is closed. Use the appropriate storage mechanisms provided by the package.
4. **User Interface:** Develop a simple command-line interface (CLI) for interacting with the task management system.
5. **Help and Usage Guide:** Include a help command that explains how to use the application effectively.

### Steps to Build the Application:
1. **Setup Environment:** Install Python and the necessary packages including 'apify-shared'.
2. **Define Task Structures:** Define how tasks will be stored, including their properties like title, status (completed/uncompleted), and category.
3. **Implement Core Functions:** Write functions to add, complete, and delete tasks. Ensure these functions interact with the storage mechanism provided by 'apify-shared'.
4. **Add Categorization Support:** Implement functionality to categorize tasks and provide a way to filter tasks by category.
5. **Develop CLI Interface:** Create a user-friendly CLI where users can input commands to manage their tasks.
6. **Test Application:** Test the application thoroughly to ensure all functionalities work as expected.
7. **Documentation:** Document the code and create a README file explaining how to set up and run the application.

### How 'apify-shared' Will Be Utilized:
- For storing and retrieving task data, you will use the storage capabilities provided by 'apify-shared'. This ensures that the data remains persistent across sessions.
- Leverage any other utilities or constants offered by the package to enhance the functionality or performance of your application.

By the end of this project, you'll have a practical understanding of how to use 'apify-shared' to develop applications that require data persistence.