anxwritter

v1.14.1 safe
3.0
Low Risk

Write i2 Analyst's Notebook Exchange (.anx) files from Python, JSON, or YAML

🤖 AI Analysis

Final verdict: SAFE

The package shows minimal risk indicators with no network calls, no obfuscation, and no evidence of credential harvesting. The subprocess execution should be reviewed but appears legitimate for CLI operations.

  • Shell risk due to subprocess execution
  • Low metadata risk for a single-package maintainer
Per-check LLM notes
  • Network: No network calls detected, which is normal unless the package requires external services.
  • Shell: Subprocess execution may be legitimate for CLI operations, but should be reviewed to ensure it does not execute unauthorized commands.
  • 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 might indicate a new or less active account.

📦 Package Quality Overall: Medium (6.4/10)

✦ High Test Suite 9.0

Test suite present — 34 test file(s) found

  • Test runner config found: pyproject.toml
  • 34 test file(s) detected (e.g. test_attribute_class_type.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://github.com/gustavo-gkmi/anxwritter/blob/main/docs/ge
  • Detailed PyPI description (6238 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
  • 250 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 24 commits in gustavo-gkmi/anxwritter
  • Single author but highly active (24 commits)

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution score 8.0

Found 4 shell execution pattern(s)

  • i"] + list(args) result = subprocess.run( cmd, input=stdin_data, capture_outp
  • ode("utf-8") result = subprocess.run( [sys.executable, "-m", "anxwritter.cli", "--val
  • + list(args) result = subprocess.run( cmd, input=stdin_data,
  • tter.cli", *args] r = subprocess.run(cmd, capture_output=True, text=True, cwd=REPO_ROOT)
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

No author email provided

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository gustavo-gkmi/anxwritter appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "gustavo-gkmi" 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 anxwritter
Develop a Python-based mini-application that leverages the 'anxwritter' package to create, manipulate, and export i2 Analyst's Notebook Exchange (.anx) files. This tool will be particularly useful for analysts who need to work with structured data and network diagrams within the i2 Analyst's Notebook software environment.

The application should include the following features:
1. **Data Input:** Allow users to input data either through a simple command-line interface or via JSON/YAML formatted files. Users should be able to define nodes (entities) and relationships between these nodes.
2. **Graph Visualization:** Implement a basic graph visualization feature where the application can display a simplified version of the .anx file content as a graph using a Python library like NetworkX or Matplotlib.
3. **Export Functionality:** The application should be capable of exporting the defined structure into a valid .anx file format, which can then be opened and further manipulated within i2 Analyst's Notebook.
4. **Error Handling & Validation:** Ensure robust error handling and validation mechanisms are in place to prevent malformed .anx files from being generated due to user input errors.
5. **Customization Options:** Provide options for customization such as setting node attributes, relationship types, and visual styles that align with i2 Analyst's Notebook capabilities.

The 'anxwritter' package will be used extensively throughout the project to handle the creation and writing of .anx files based on the provided inputs. Your task is to design and implement this application, ensuring it is user-friendly, efficient, and adheres to best coding practices.

💬 Discussion Feed

Leave a comment

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