article-cli

v2.0.1 safe
4.0
Medium Risk

CLI tool for managing LaTeX and Typst documents with git integration and Zotero bibliography

🤖 AI Analysis

Final verdict: SAFE

The package has a low risk score with no detected credential harvesting or obfuscation. The network and shell risks, while present, are consistent with expected functionality for an article command-line interface.

  • Low credential and obfuscation risks
  • Reasonable network and shell execution activities for its intended purpose
Per-check LLM notes
  • Network: Network calls might be for fetching articles or other web content, which is reasonable for an 'article-cli' package.
  • Shell: Shell execution could be used for invoking tools like pdftotext or git, suggesting the package may perform tasks such as text extraction from PDFs or version control operations, but requires further investigation to confirm legitimate use.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.

📦 Package Quality Overall: Medium (6.4/10)

✦ High Test Suite 9.0

Test suite present — 17 test file(s) found

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

Some documentation present

  • Documentation URL: "Documentation" -> https://github.com/feelpp/article.cli#readme
  • Detailed PyPI description (15580 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

  • Type checker (mypy / pyright / pytype) referenced in project
  • 263 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 60 commits in feelpp/article.cli
  • Single author but highly active (60 commits)

🔬 Heuristic Checks

Outbound Network Calls score 3.0

Found 2 network call pattern(s)

  • try: response = requests.get( url, headers=headers, allow_redirects=True,
  • eaders self.session = requests.Session() self.session.headers.update( {
Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution score 10.0

Found 6 shell execution pattern(s)

  • ed process.""" return subprocess.run( [str(part) for part in command], cw
  • ng command.""" return subprocess.Popen( [str(part) for part in command], cw
  • return result = subprocess.run( ["pdftotext", str(pdf_path), "-"],
  • try: return subprocess.run( ["git", *args], cwd=cwd or
  • eturn False try: subprocess.run( ["sh", str(hook_path)], check=True,
  • ent try: result = subprocess.run( ["git", "rev-parse", "--show-toplevel"],
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: cemosis.fr>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository feelpp/article.cli appears legitimate

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 article-cli
Your task is to develop a mini-application called 'AcademicDocumentManager' using Python and the 'article-cli' package. This application will streamline the process of managing academic documents, including LaTeX and Typst files, by integrating version control and bibliography management directly into the workflow.

### Features:
1. **Document Management**: Users can create new LaTeX or Typst documents directly from the command line. The application should also allow users to specify initial content for these documents, such as headers, footers, and basic structure.
2. **Version Control Integration**: Automatically set up Git repositories for each document managed by the application. This feature should include initializing a repository, committing changes, and pushing updates to remote repositories like GitHub or GitLab.
3. **Bibliography Management**: Utilize Zotero to manage bibliographies. The application should allow users to import citations from Zotero and automatically format them according to specified citation styles (e.g., APA, MLA).
4. **Syncing Capabilities**: Implement functionality to sync documents and their bibliographies between local storage and cloud-based services (like Zotero's cloud storage).
5. **User Interface**: Develop a simple but effective CLI interface for interacting with the application. Commands should be intuitive and well-documented.
6. **Notifications and Logs**: Provide feedback to users through notifications and maintain logs of all operations performed by the application.

### Steps to Build the Application:
1. **Setup Project Environment**: Initialize a Python environment and install necessary packages, including 'article-cli'. Ensure 'article-cli' is properly configured with access to Git and Zotero.
2. **Define Core Functions**: Create functions for each of the main features listed above. Focus on making these functions modular and reusable.
3. **CLI Development**: Use Python's argparse module to create a CLI parser that handles user commands effectively.
4. **Testing and Validation**: Test each feature thoroughly to ensure it works as expected. Validate the interaction between different components of the application.
5. **Documentation**: Write comprehensive documentation detailing how to use the application, including setup instructions and examples of common tasks.
6. **Deployment**: Prepare the application for deployment, ensuring it can be easily installed and run on various systems.

By following these steps and utilizing the 'article-cli' package's capabilities, you'll create a powerful tool for managing academic documents efficiently.

💬 Discussion Feed

Leave a comment

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