atcnd

v0.5.3 safe
4.0
Medium Risk

Adaptive Topic and Cluster Number Determination via structured search

🤖 AI Analysis

Final verdict: SAFE

The package appears safe based on the low scores for network, shell, and credential risks. However, the recent creation date of the repository and lack of detailed author information slightly increase suspicion.

  • Low risk scores across all categories
  • Repository created recently with minimal author information
Per-check LLM notes
  • Network: No network calls suggest the package does not engage in external communications which is normal unless it's supposed to.
  • Shell: No shell executions detected, indicating no direct command execution risks.
  • Obfuscation: The provided code snippet appears to be part of a typical machine learning training loop and does not indicate malicious obfuscation.
  • Credentials: No patterns indicative of credential harvesting were detected in the given code snippet.
  • Metadata: The repository was created very recently and the maintainer has a new or inactive account with no author information provided.

📦 Package Quality Overall: Medium (5.6/10)

✦ High Test Suite 9.0

Test suite present — 1 test file(s) found

  • Test runner config found: pyproject.toml
  • 1 test file(s) detected (e.g. test_atcnd.py)
◈ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (14907 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 46 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 24 commits in CodeOfMe/ATCND
  • Single author but highly active (24 commits)

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • opt.step() model.eval() total_loss = 0.0 n = 0 with torch.
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: outlook.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History score 2.5

Git history flags: Repository created very recently: 4 day(s) ago (2026-06-03T09:43:15Z)

  • Repository created very recently: 4 day(s) ago (2026-06-03T09:43:15Z)
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 atcnd
Create a mini-application called 'TopicExplorer' that leverages the 'atcnd' package to analyze large text datasets and automatically determine the optimal number of topics and clusters within the dataset. The application should have a user-friendly interface where users can upload their text files, select parameters such as the minimum and maximum number of topics they would like to explore, and then visualize the results in an interactive manner.

Core Features:
- Text file upload functionality
- Automatic topic and cluster determination using 'atcnd'
- Interactive visualization of topics and clusters (e.g., word clouds, graphs)
- User-defined parameters for controlling the analysis (min/max topics)
- Export options for the analyzed data (CSV, JSON)

Detailed Steps:
1. Set up a basic Flask web application framework for the frontend.
2. Integrate the 'atcnd' package into your backend to handle the topic and cluster determination process.
3. Develop a form in HTML/CSS/JavaScript for uploading text files and setting analysis parameters.
4. Implement the backend logic to process the uploaded text files, use 'atcnd' to determine the optimal number of topics and clusters, and store the results.
5. Create visualizations using libraries like Plotly or Matplotlib to display the topics and clusters in an interactive way.
6. Add functionality to allow users to export the results in CSV or JSON formats.
7. Test the application thoroughly to ensure it handles various input sizes and types effectively.

💬 Discussion Feed

Leave a comment

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