aiorabbit

v1.0.2 safe
2.0
Low Risk

An AsyncIO RabbitMQ Client Library

🤖 AI Analysis

Final verdict: SAFE

The package shows no signs of malicious activity based on the provided checks. It does not engage in network calls, shell executions, or any form of obfuscation or credential harvesting.

  • No network calls
  • No shell execution detected
  • No obfuscation patterns
  • No credential harvesting patterns
Per-check LLM notes
  • Network: No network calls suggest the package does not engage in external communications which is unusual but not necessarily indicative of malicious intent without further context.
  • Shell: No shell execution detected, indicating the package likely does not execute system commands, which is normal for a library focused on AI and RabbitMQ interaction.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The maintainer has only one package, which may indicate a new or less active account but does not strongly suggest malicious intent.

📦 Package Quality Overall: Medium (7.4/10)

✦ High Test Suite 9.0

Test suite present — 14 test file(s) found

  • 14 test file(s) detected (e.g. test_basic.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://aiorabbit.readthedocs.io
  • Detailed PyPI description (4438 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
  • Type checker (mypy / pyright / pytype) referenced in project
  • 54 type-annotated function signatures detected in source
✦ High Multiple Contributors 10.0

Active multi-contributor project

  • 6 unique contributor(s) across 100 commits in gmr/aiorabbit
  • 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: gmail.com

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository gmr/aiorabbit appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Gavin M. Roy" 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 aiorabbit
Create a real-time messaging application using Python's 'aiorabbit' library, which is an AsyncIO-based RabbitMQ client. Your task is to develop a simple yet functional chat application where users can send messages to each other in real time. The application will consist of two main components: a message sender and a message receiver, both interacting via RabbitMQ as the message broker.

**Step 1: Setup Environment**
- Install the required packages (`aiorabbit`, `aiohttp` for web interaction).
- Set up a RabbitMQ server if not already running.

**Step 2: Define the Application Structure**
- Design a basic HTML/CSS frontend for sending/receiving messages.
- Implement backend services using aiohttp for handling HTTP requests.

**Step 3: Implement Message Sender Functionality**
- Use 'aiorabbit' to create a connection to the RabbitMQ server.
- Define a queue for outgoing messages.
- Create a function to publish messages to RabbitMQ when a user sends a message.

**Step 4: Implement Message Receiver Functionality**
- Similarly, use 'aiorabbit' to connect to RabbitMQ.
- Subscribe to the queue where messages are published.
- Continuously listen for new messages and display them on the frontend.

**Suggested Features:**
- Real-time updates without needing to refresh the page.
- Displaying user names along with their messages.
- Ability to see past messages upon joining a chat session.
- A simple login mechanism to ensure only registered users can chat.

**Utilizing 'aiorabbit':**
- Establish an asynchronous connection to RabbitMQ using 'aiorabbit'.
- Utilize 'aiorabbit' channels to declare queues and exchanges.
- Publish messages asynchronously to RabbitMQ queues.
- Subscribe to queues and consume messages asynchronously, ensuring non-blocking behavior.

By following these steps, you'll build a functional, real-time chat application leveraging RabbitMQ for reliable message delivery and 'aiorabbit' for efficient asynchronous operations.