akribes

v0.22.5 suspicious
6.0
Medium Risk

Pythonic async client for the Akribes workflow server

πŸ€– AI Analysis

Final verdict: SUSPICIOUS

The package exhibits high obfuscation risk and has metadata concerns, which raises suspicion about its authenticity and purpose. However, there is no concrete evidence of malicious intent.

  • High obfuscation risk
  • Missing author metadata
Per-check LLM notes
  • Network: Network calls are common in packages that require internet access for functionality, but should be reviewed for destination and data types being transmitted.
  • Shell: No shell execution patterns detected, indicating low risk of direct system command execution.
  • Obfuscation: The observed obfuscation pattern is suspicious and may indicate an attempt to hinder code analysis or reverse engineering.
  • Credentials: No clear evidence of credential harvesting is present, but caution should still be exercised.
  • Metadata: The author's name is missing and the account seems new or inactive, raising some concerns but not conclusive evidence of malice.

πŸ“¦ Package Quality Overall: Medium (5.8/10)

✦ High Test Suite 9.0

Test suite present β€” 27 test file(s) found

  • Test runner config found: pyproject.toml
  • 27 test file(s) detected (e.g. test_backoff.py)
β—ˆ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://akribes.ai/sdks/python/
  • Detailed PyPI description (5214 chars)
β—‹ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
β—ˆ Medium Type Annotations 7.0

Partial type annotation coverage

  • Classifier: Typing :: Typed
  • 562 type-annotated function signatures detected in source
β—‹ Low Multiple Contributors 2.0

Single-author or unverifiable project

  • 1 unique contributor(s) across 7 commits in PodestaAI/akribes-sdks
  • Single author with few commits β€” possibly a personal or throwaway project

πŸ”¬ Heuristic Checks

⚠ Outbound Network Calls score 3.0

Found 2 network call pattern(s)

  • self._http_client = httpx.AsyncClient(timeout=to_seconds(self.timeout)) return self._h
  • self._sse_client = httpx.AsyncClient(timeout=None) return self._sse_client async
⚠ Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • otel=tracer, retry=__import__("akribes_sdk").RetryPolicy.none(), ) as client: from akribes_s
βœ“ 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: podesta.ai>

βœ“ Suspicious Page Links

All external links appear legitimate

βœ“ Git Repository History

Repository PodestaAI/akribes-sdks 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 akribes
Create a real-time task management mini-app using the Python package 'akribes'. This app will allow users to manage their tasks asynchronously through an Akribes workflow server, providing a seamless experience for adding, updating, and tracking tasks. Here’s how you can build it:

1. **Setup Environment**: Start by setting up your Python environment. Ensure you have 'akribes' installed, which provides the necessary tools for interacting with the Akribes workflow server asynchronously.

2. **Define Core Functionality**: Implement functions to add new tasks, update existing tasks, and mark tasks as completed or pending. Each task should include details such as title, description, due date, and status.

3. **User Interface**: Design a simple command-line interface (CLI) where users can interact with the app. Users should be able to see a list of all their tasks, select specific tasks to view more details, and modify them as needed.

4. **Asynchronous Operations**: Utilize 'akribes' to handle all operations asynchronously. This means that while one operation is being processed, others can still be initiated or queried without waiting for the first to complete. For example, a user could start adding a new task, then immediately check the status of another task without waiting for the first task to be fully added.

5. **Error Handling**: Implement robust error handling to deal with issues like network errors, invalid inputs, or server-side errors gracefully. Ensure the app provides meaningful feedback to the user when something goes wrong.

6. **Task Synchronization**: Allow users to synchronize their tasks with the Akribes workflow server regularly. This ensures that any changes made directly on the server or through other clients are reflected in the local app and vice versa.

7. **Advanced Features** (Optional): Consider adding advanced features such as task categorization, priority levels, reminders for upcoming deadlines, and integration with external calendars or email notifications for task updates.

8. **Documentation & Testing**: Write clear documentation for both users and developers explaining how to use the app and how to integrate it into larger workflows. Also, ensure thorough testing of all functionalities to guarantee reliability and performance.

This project aims to showcase the capabilities of 'akribes' in managing asynchronous workflows efficiently and effectively.