animageo

v1.3.0 suspicious
6.0
Medium Risk

Convert GeoGebra constructions into high-quality SVG images and MP4 animations using manim

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package is flagged as suspicious due to the use of 'exec' for dynamic code compilation and incomplete metadata. These factors suggest potential obfuscation or hidden functionality.

  • Use of 'exec' for dynamic code compilation indicates possible obfuscation or evasion techniques.
  • Incomplete metadata and lack of a GitHub repository raise concerns about the package's provenance.
Per-check LLM notes
  • Network: No network calls detected, which is typical for benign packages.
  • Shell: Shell execution detected may be legitimate if the package uses Manim for rendering animations, but requires further investigation to ensure it does not execute arbitrary commands.
  • Obfuscation: The use of 'exec' with dynamically compiled code suggests an attempt to obfuscate the code, which is unusual and may indicate malicious intent.
  • Credentials: No clear patterns for harvesting credentials were detected.
  • Metadata: The package has no associated GitHub repository and the author details are incomplete, indicating potential unreliability.

📦 Package Quality Overall: Low (3.8/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

  • Test runner config found: pyproject.toml
◈ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (10380 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 5.0

Partial type annotation coverage

  • 247 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 score 6.0

Found 3 obfuscation pattern(s)

  • FE_BUILTINS │ └─► exec(compiled, ns, {}) │ └─ factories register c
  • el CamelCase lookups. exec(compiled, ns) finally: reset_current_construction(token
  • form_fn(code) compiled = compile(module, "<dsl>", "exec") ns = build_namespace(constr) # Observe which nam
Shell / Subprocess Execution score 4.0

Found 2 shell execution pattern(s)

  • try: subprocess.run(manim_args, check=True, env=_manim_env()) except
  • try: subprocess.run(['manim', driver, 'Scene_'], check=True, env=_manim_env())
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

No GitHub repository linked

  • No GitHub repository link found
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 animageo
Create a Python-based educational tool that leverages the 'animageo' package to convert complex GeoGebra geometric constructions into both static SVG images and dynamic MP4 animations. This tool aims to help educators and students visualize mathematical concepts more effectively.

### Project Scope:
- **User Interface**: Develop a simple GUI using Tkinter that allows users to upload a GeoGebra file (.ggb).
- **Conversion Functionality**: Implement the core functionality to use 'animageo' to convert the uploaded GeoGebra construction into an SVG image and an MP4 animation.
- **Output Options**: Provide options for saving the output files locally on the user's device.
- **Customization Features**: Allow users to customize certain aspects of the SVG and MP4 outputs such as background color, line thickness, and animation speed.
- **Error Handling**: Ensure robust error handling to manage cases where the GeoGebra file might be corrupted or incorrectly formatted.

### Implementation Steps:
1. **Setup Environment**: Install necessary packages including 'animageo', 'tkinter', and any dependencies required for 'animageo'.
2. **Design UI**: Use Tkinter to design a user-friendly interface where users can select their GeoGebra file and choose output settings.
3. **File Processing**: Integrate 'animageo' functions to process the selected GeoGebra file into an SVG and MP4 format based on user inputs.
4. **Output Management**: Implement functionality to save the generated files to a specified directory chosen by the user.
5. **Testing & Refinement**: Test the application thoroughly to ensure all features work as expected and refine based on feedback.

### Example Workflow:
1. User launches the application and sees a clean interface with options to browse for a GeoGebra file.
2. After selecting a file, the application processes it using 'animageo' and generates a preview of the SVG image and MP4 animation.
3. Users can adjust settings like background color and animation speed before confirming to generate the final output.
4. Once confirmed, the application saves the files to a location chosen by the user.

This project will serve as a valuable tool for anyone looking to enhance their understanding of geometry through visual aids.