Metadata-Version: 2.4
Name: ecosyste_ms_cli
Version: 1.3.2
Summary: CLI for ecosyste.ms API
Author-email: Sebastian Schürmann <sebs@2xs.org>
License-Expression: MIT
Project-URL: Homepage, https://github.com/ecosyste-ms/ecosyste_ms_cli
Project-URL: Repository, https://github.com/ecosyste-ms/ecosyste_ms_cli
Keywords: ecosystems,package-manager,dependencies,security,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click~=8.3.1
Requires-Dist: requests~=2.32.5
Requires-Dist: pyyaml~=6.0.3
Requires-Dist: rich~=14.3.3
Requires-Dist: mcp~=1.26.0
Requires-Dist: openapi-core~=0.23.0
Requires-Dist: packageurl-python~=0.17.6
Requires-Dist: importlib-resources; python_version < "3.9"
Provides-Extra: dev
Requires-Dist: pytest~=9.0.2; extra == "dev"
Requires-Dist: pytest-asyncio~=1.3.0; extra == "dev"
Requires-Dist: black~=26.3.1; extra == "dev"
Requires-Dist: isort~=8.0.1; extra == "dev"
Requires-Dist: flake8~=7.3.0; extra == "dev"
Requires-Dist: bandit~=1.9.4; extra == "dev"
Requires-Dist: complexipy~=5.2.0; extra == "dev"
Requires-Dist: tomli~=2.3.0; python_version < "3.11" and extra == "dev"
Dynamic: license-file

# Ecosystems CLI

> The cli is still in a development phase. Some aspects of documentation or dev-x are lacking and some aspects of this software might have bugs.

[![build-test-lint](https://github.com/ecosyste-ms/ecosyste_ms_cli/actions/workflows/build-test-lint.yml/badge.svg)](https://github.com/ecosyste-ms/ecosyste_ms_cli/actions/workflows/build-test-lint.yml)
[![Latest Release](https://img.shields.io/github/v/release/ecosyste-ms/ecosyste_ms_cli)](https://github.com/ecosyste-ms/ecosyste_ms_cli/releases/latest)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A command-line interface for interacting with ecosyste.ms APIs.

## Installation

Requirements:
- Python >= 3.9

```bash
# Clone the repository
git clone git@github.com:ecosyste-ms/ecosyste_ms_cli.git
cd ecosyste_ms_cli

# Set up virtual environment and install dependencies
make setup
```

## Usage

Each command includes helpful examples in its help text. Use `--help` with any command to see usage examples.

```bash
# Show available commands
ecosystems --help
```

### Global Options

- `--timeout`: Set the timeout in seconds for all HTTP requests (default: 20 seconds)
- `--format`: Set the output format (default: table). Available formats: table, json, tsv, jsonl


## Output Formats

The CLI supports multiple output formats:

```bash
# Example: Set a 30-second timeout for all requests
ecosystems --timeout 30 repos topics

# Example: Get output in JSON format
ecosystems --format json repos topics

# Example: Get output in TSV format (tab-separated values)
ecosystems --format tsv repos topics

# Example: Get output in JSONL format (JSON Lines)
ecosystems --format jsonl repos topics
```

## Available Commands

The CLI provides access to various [ecosyste.ms APIs](https://ecosyste.ms/api). Each command group corresponds to an API endpoint:

- **`advisories`** - Security advisories and vulnerability data
- **`archives`** - Package archive analysis
- **`commits`** - Repository commit data
- **`dependabot`** - Dependabot integration data
- **`diff`** - File and archive comparison
- **`docker`** - Docker image metadata
- **`issues`** - Repository issues and pull requests
- **`licenses`** - License detection and analysis
- **`opencollective`** - Open Collective funding data
- **`packages`** - Package registry information
- **`parser`** - Dependency file parsing
- **`repos`** - Repository data and metadata
- **`resolve`** - Dependency resolution
- **`sbom`** - Software Bill of Materials generation
- **`sponsors`** - GitHub Sponsors data
- **`summary`** - Aggregated summaries
- **`timeline`** - Event timeline data

Use `--help` with any command for detailed usage and examples.

## Examples

* ecosystems packages package npmjs.org react --format json | jq '.name'


## Documentation

- [Development Guide](docs/DEVELOPMENT.md) - Information about development, testing, and release processes
- [MCP Server](docs/MCP.md) - **[Experimental]** Model Context Protocol server for AI assistants
- [License](LICENSE) - MIT License details
