archipy

v4.10.1 safe
4.0
Medium Risk

Architecture + Python – Perfect for structured design.

🤖 AI Analysis

Final verdict: SAFE

The package exhibits some characteristics that raise minor concerns, particularly around network interactions and obfuscation techniques, but there is no clear indication of malicious intent or supply-chain attack.

  • moderate network risk
  • potential obfuscation
Per-check LLM notes
  • Network: The use of proxies and explicit network calls suggests the package may be designed to interact with external services, which could indicate legitimate functionality but also raises concerns about potential unauthorized data transmission.
  • Shell: No shell execution patterns were detected, indicating a low risk of direct command execution.
  • Obfuscation: The presence of base64 decoding suggests potential obfuscation but could also be for legitimate purposes such as data storage.
  • Credentials: No clear evidence of credential harvesting detected.
  • Metadata: The package shows signs of low maintainer activity and metadata quality, but there are no clear indicators of malicious intent.

📦 Package Quality Overall: Medium (6.0/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

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

Some documentation present

  • Documentation URL: "Documentation" -> https://archipy.readthedocs.io/
  • Detailed PyPI description (7186 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Contributing link: "Code of Conduct" -> https://github.com/SyntaxArc/ArchiPy/blob/master/CODE_OF_CON
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 944 type-annotated function signatures detected in source
✦ High Multiple Contributors 8.0

Active multi-contributor project

  • 4 unique contributor(s) across 100 commits in SyntaxArc/ArchiPy
  • Small but multi-author team (3–4 contributors)

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • ): response = requests.get(str(source), timeout=30) response.raise_for_
  • ROXIES: session = requests.Session() session.proxies = configs.PROXIES
  • y: httpx_client = httpx.AsyncClient(proxy=proxy) async_transport = AsyncTransport(cl
  • ROXIES) self.client = httpx.Client(proxy=proxy, timeout=30) logger.info(f"SamanShapara
  • ROXIES) self.client = httpx.AsyncClient(proxy=proxy, timeout=30) logger.info(f"AsyncSamanSh
  • self.smtp_connection = smtplib.SMTP( self.config.SMTP_SERVER, se
Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • ytes): return base64.b64decode(source) raise ValueError(f"Base64 attachment typ
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 SyntaxArc/ArchiPy appears legitimate

Maintainer History score 6.0

3 maintainer concern(s) found

  • Author name is missing or very short
  • Author "" appears to have only 1 package on PyPI (new or inactive account)
  • Package has no PyPI classifiers (low effort / metadata quality)
Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

💡 AI App Starter Prompt

Use this prompt to build a project with archipy
Create a small architectural design tool using the 'archipy' Python package. This tool will serve as a basic CAD-like application for designing simple floor plans and elevations. The application should allow users to create, modify, and save designs with various elements such as walls, windows, doors, and furniture. Here’s a step-by-step guide on how to build this application:

1. **Setup**: Begin by installing the 'archipy' package. Ensure your development environment is set up with Python and necessary libraries.
2. **Design Elements**: Use 'archipy' to define classes for each element you want to include in your design, such as Wall, Window, Door, and Furniture. Each class should have attributes like dimensions, materials, and position.
3. **User Interface**: Develop a simple user interface where users can interact with these elements. Consider using a library like Tkinter for the GUI.
4. **Interaction**: Implement functionality within 'archipy' that allows users to add, move, resize, and delete elements from their design.
5. **Saving and Loading**: Utilize 'archipy' to serialize and deserialize designs so users can save their work and load it back into the application later.
6. **Rendering**: Incorporate a feature to render the final design either as a 2D image or a 3D model. You may use external libraries for rendering if needed.
7. **Additional Features**: Consider adding extra functionalities such as calculating room areas, generating material lists, or even simulating lighting conditions.
8. **Testing**: Test all functionalities of your application thoroughly to ensure they work as expected.
9. **Documentation**: Provide clear documentation on how to use the application, including examples and tutorials.

By following these steps, you’ll create a fully functional mini-app that leverages the structured design capabilities provided by the 'archipy' package.