aprspy

v0.6.0 safe
3.0
Low Risk

APRS packet parser for Python

🤖 AI Analysis

Final verdict: SAFE

The package shows no signs of malicious activity, with low risks across all categories. The metadata risk is slightly elevated due to the maintainer having only one package, but this alone does not indicate a supply-chain attack.

  • No network calls or shell executions detected
  • Low risk of obfuscation and credential harvesting
  • Maintainer has only one package
Per-check LLM notes
  • Network: No network calls detected, which is normal unless the package's functionality requires external communications.
  • Shell: No shell execution detected, indicating the package does not execute system commands.
  • Obfuscation: No obfuscation patterns detected, indicating low risk of malicious obfuscation.
  • Credentials: No credential harvesting patterns detected, suggesting no risk of secret theft.
  • Metadata: The maintainer has only one package, which might indicate a new or less active account, but no other red flags are present.

📦 Package Quality Overall: Low (3.2/10)

○ Low Test Suite 1.0

No test suite detected

  • No test files or test-runner configuration detected
◈ Medium Documentation 5.0

Some documentation present

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

Partial type annotation coverage

  • Type checker (mypy / pyright / pytype) referenced in project
  • 155 type-annotated function signatures detected in source
○ Low Multiple Contributors 1.0

Unable to verify contributor count: no GitHub repository found

  • No GitHub repository linked — contributor count unavailable

🔬 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: nsnw.ca

Suspicious Page Links

All external links appear legitimate

Git Repository History

No GitHub repository linked

  • No GitHub repository link found
Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Andy Smith" 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 aprspy
Create a real-time APRS (Automatic Packet Reporting System) tracking application using Python's 'aprspy' package. This application will serve as a monitoring tool for amateur radio enthusiasts who use APRS to transmit position reports and other data. The goal is to develop a user-friendly interface where users can input their APRS callsigns to track the movement and status of various stations in real-time.

### Core Features:
1. **Real-Time Data Parsing:** Utilize 'aprspy' to parse incoming APRS packets and extract relevant information such as callsigns, latitudes, longitudes, and timestamps.
2. **User Interface:** Design a simple yet effective graphical user interface (GUI) using Tkinter or another Python GUI framework. The UI should allow users to enter one or multiple APRS callsigns they wish to monitor.
3. **Map Integration:** Integrate a map component (using a library like Folium or Plotly) to visually display the locations of tracked stations on a map.
4. **Alert System:** Implement an alert system that notifies users via pop-ups or sounds when a tracked station changes its position or sends out a new status message.
5. **Data Logging:** Optionally, include functionality to log the parsed data into a local SQLite database for historical tracking and analysis.

### Detailed Steps:
1. **Setup Environment:** Ensure you have Python installed along with 'aprspy'. You may also need additional packages like Tkinter, Folium, and sqlite3.
2. **Parsing APRS Packets:** Use 'aprspy' to establish a connection to an APRS-IS server and start receiving packets. Parse these packets to extract necessary information.
3. **Designing the GUI:** Create a main window where users can enter callsigns and start/stop tracking. Include buttons to refresh the map and clear logs if applicable.
4. **Map Display:** On the map, place markers corresponding to the positions of the tracked stations. Update these markers in real-time as new data comes in.
5. **Alert Implementation:** Set up conditions to trigger alerts based on changes in position or messages from tracked stations.
6. **Logging:** If logging is enabled, write parsed data to a SQLite database. Provide options to query this database through the GUI for historical data.
7. **Testing and Debugging:** Thoroughly test your application under different scenarios to ensure it works as expected.
8. **Documentation:** Write clear documentation on how to install dependencies, run the application, and interpret the results.

This project not only leverages the power of 'aprspy' but also integrates several useful features that make it valuable for amateur radio operators interested in APRS tracking.