amplpy-gurobi

v0.2.4 safe
4.0
Medium Risk

Gurobi extension for amplpy

⚠ Tarball exceeded 25 MB β€” source code analysis was limited to package metadata only.

πŸ€– AI Analysis

Final verdict: SAFE

The package amplpy-gurobi v0.2.4 presents a low risk profile with no indications of malicious activity or network/shell interactions. However, the metadata risk score slightly elevates the overall risk due to the maintainer's single package and a non-HTTPS link.

  • Low risk in network and shell execution
  • No obfuscation or credential harvesting detected
  • Metadata concerns due to single package and non-HTTPS link
Per-check LLM notes
  • Network: No network calls detected, which is normal unless the package requires external services.
  • Shell: No shell executions detected, indicating the package does not perform system-level commands without user interaction.
  • Obfuscation: No obfuscation patterns detected, indicating low risk of malicious intent.
  • Credentials: No credential harvesting patterns detected, indicating secure handling of secrets.
  • Metadata: The maintainer has only one package, which may indicate a new or less active account. The non-HTTPS link could pose some risk.

πŸ“¦ Package Quality Overall: Low (3.4/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

  • Brief PyPI description (795 chars)
β—‹ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
β—‹ Low Type Annotations 1.0

No type annotations detected

  • No type annotations, py.typed marker, or stub files detected
β—ˆ Medium Multiple Contributors 6.0

Limited contributor diversity

  • 2 unique contributor(s) across 100 commits in ampl/ampls-api
  • Two distinct contributors found

πŸ”¬ 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: ampl.com

⚠ Suspicious Page Links score 2.0

Found 1 suspicious link(s) on the package page

  • Non-HTTPS external link: http://ampl.com/
βœ“ Git Repository History

Repository ampl/ampls-api appears legitimate

⚠ Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Filipe BrandΓ£o" 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 amplpy-gurobi
Your task is to develop a mini-application named 'OptiRoute' that helps businesses optimize their delivery routes using advanced mathematical programming techniques. This application will leverage the power of the 'amplpy-gurobi' package to handle complex route optimization problems efficiently. Here’s a detailed breakdown of the project requirements:

1. **Project Overview**: OptiRoute is designed to take in a set of delivery locations and calculate the most efficient route that minimizes travel distance or time. The application will use Gurobi as its solver through the amplpy-gurobi interface.

2. **Core Features**:
   - **Input Handling**: Users should be able to input a list of delivery addresses either manually or through a CSV file upload.
   - **Distance Calculation**: Utilize a service like Google Maps API to fetch distances between each pair of locations.
   - **Route Optimization**: Implement a function that formulates and solves the Traveling Salesman Problem (TSP) or Vehicle Routing Problem (VRP) using Gurobi via amplpy-gurobi.
   - **Visualization**: Display the optimized route on a map using a library such as Folium or Plotly.
   - **Report Generation**: Generate a PDF report summarizing the optimized route details including total distance/time and sequence of stops.

3. **Implementation Steps**:
   - Set up your development environment with Python and necessary libraries including amplpy, gurobi, googlemaps, folium, and reportlab.
   - Create a user-friendly GUI using Tkinter or Streamlit to facilitate easy interaction.
   - Develop functions to process user inputs, fetch distances, formulate the optimization problem, solve it with Gurobi, and visualize the results.
   - Ensure error handling and validation throughout the application to provide meaningful feedback to users.

4. **Utilization of amplpy-gurobi**:
   - Use amplpy to define the model structure for the optimization problem, incorporating constraints and objectives relevant to TSP/VRP.
   - Leverage Gurobi's capabilities through amplpy-gurobi to solve these models efficiently.
   - Extract solutions from Gurobi and interpret them within your application logic.

5. **Testing and Deployment**:
   - Test your application thoroughly with various sets of locations to ensure reliability and accuracy.
   - Consider deploying your application online so that others can benefit from it too.

By completing this project, you'll not only gain practical experience with advanced optimization tools but also create a valuable resource for logistics and transportation companies looking to streamline their operations.

πŸ’¬ Discussion Feed

Leave a comment

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