Metadata-Version: 2.4
Name: evidion
Version: 3.0.0
Summary: Open Research Intelligence for the terminal
Author: Evidion contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/EvidionAI/evidion
Project-URL: Repository, https://github.com/EvidionAI/evidion
Project-URL: Issues, https://github.com/EvidionAI/evidion/issues
Project-URL: Changelog, https://github.com/EvidionAI/evidion/blob/main/CHANGELOG.md
Project-URL: Security, https://github.com/EvidionAI/evidion/security/policy
Keywords: ai,cli,research,searxng,terminal
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: keyring<25,>=24.3
Dynamic: license-file

# EVIDION

[![Tests](https://github.com/EvidionAI/evidion/actions/workflows/tests.yml/badge.svg)](https://github.com/EvidionAI/evidion/actions/workflows/tests.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

**Open Research Intelligence for the terminal.**

Evidion turns a question into a transparent research process. It starts by
showing you a research plan. You can approve it, add constraints, or cancel.
Only after approval does it search and write a source-linked report.

Evidion is free and open source under the [MIT License](LICENSE).

## What it does today

1. Understands a question and proposes a plan before searching.
2. Searches a SearXNG instance that you control.
3. Safely reads public HTML sources; local/private network destinations,
   unsafe redirects, and non-HTML responses are blocked.
4. Saves sources, extracted source statements, possible conflicts, research
   gaps, and the confirmed plan in a resumable session.
5. Exports Markdown, text, HTML, and JSON reports.
6. Uses local or API-backed model providers for structured plan generation.

The evidence checks are deliberately conservative. A source-reported claim is
not an independently verified fact, and a possible conflict is a signal to
inspect—not an automatic verdict.

## Install

Evidion supports Python 3.8 or newer on macOS, Windows, and Linux. A current
Python release is recommended, but the lower baseline keeps Evidion usable on
more existing computers.

### From PyPI

Once the first PyPI publication is complete:

```bash
python3 -m pip install --user evidion
```

### From GitHub now

The released source can already be installed directly:

```bash
python3 -m pip install --user "git+https://github.com/EvidionAI/evidion.git@v1.0.0"
```

After either installation, start Evidion from any directory:

```bash
evidion
```

If the command is not found, add Python's user scripts directory to your
shell `PATH`. Typical locations are:

```bash
# macOS (replace 3.9 with your Python minor version)
export PATH="$HOME/Library/Python/3.9/bin:$PATH"

# Linux
export PATH="$HOME/.local/bin:$PATH"

# Windows PowerShell
$env:Path += ";$env:APPDATA\\Python\\Python38\\Scripts"
```

For development:

```bash
git clone https://github.com/EvidionAI/evidion.git
cd evidion
python3 -m pip install -e .
```

## Quick start

Web research needs a SearXNG instance with JSON output. If you run one locally,
configure it once:

```bash
evidion config set --searxng-url http://localhost:8080
```

Then ask a question:

```bash
evidion research "Are local AI models useful for small companies?" --mode normal
```

Evidion displays the plan first. Press Enter to approve, write `add` to include
constraints such as “focus on Switzerland”, or write `cancel` to stop before
any web search happens.

## Commands at a glance

| Command | What it does |
| --- | --- |
| `evidion` | Opens an interactive prompt for several questions in one session. |
| `evidion plan "QUESTION"` | Shows a plan only; it never searches the web. |
| `evidion research "QUESTION"` | Shows a plan, waits for approval, researches, and writes reports. |
| `--mode fast` | Uses the smallest bounded search pass for a quick overview. |
| `--mode normal` | Uses a broader, multi-round search and follows up on basic coverage gaps. |
| `--mode deep` | Raises limits; fully dynamic deep research is planned for a later release. |
| `--max-pages N` | Caps the number of pages Evidion may read. |
| `--export all` | Writes Markdown, text, HTML, and JSON reports. |
| `--output PATH` | Stores reports and session data in a chosen directory. |
| `evidion sessions` | Lists saved research sessions. |
| `evidion resume latest` | Continues the latest incomplete session. |
| `evidion config show` | Shows the active model, storage, and search configuration. |

See [the command guide](docs/commands.md) for complete examples.

## Model providers and API keys

Evidion supports local Ollama and LM Studio, plus OpenAI, Anthropic, Google
Gemini, OpenRouter and several OpenAI-compatible APIs. API keys are stored in
the operating system credential store, not in the configuration file: macOS
Keychain, Windows Credential Manager, or the configured Linux credential
backend. To ensure a key is never saved, select environment-only mode.

```bash
evidion providers
evidion keys set openrouter
evidion models openrouter --free
evidion doctor
evidion config set --key-storage environment
```

Read [the provider guide](docs/providers.md) before adding a provider key.

## Where files are stored

By default Evidion stores data under `~/Documents/Evidion/`:

```text
~/Documents/Evidion/
├── Reports/     # Markdown, text, HTML, and JSON exports
└── Sessions/    # Resumable research state
```

Set `EVIDION_HOME` to choose another data directory, or `EVIDION_CONFIG` to
use a different configuration file. The default configuration file is
platform-native:

- macOS: `~/Library/Application Support/Evidion/config.json`
- Windows: `%APPDATA%\\Evidion\\config.json`
- Linux: `$XDG_CONFIG_HOME/evidion/config.json` (or `~/.config/evidion/config.json`)

## Privacy and safety

- Search queries go only to the configured SearXNG instance.
- Web content is treated as untrusted data, never as instructions.
- The reader refuses local/private addresses, unsafe redirects, unsupported
  protocols, and non-HTML content.
- No API keys are included in web-research prompts.

See [SECURITY.md](SECURITY.md) and [docs/security.md](docs/security.md).

## Publishing to PyPI

The distribution name is `evidion`. The official PyPI API returned `404` for
that name on 24 July 2026, so it appears available now; a name is only claimed
by a successful first upload. The project is prepared for passwordless Trusted
Publishing from GitHub Actions. Follow [the PyPI guide](docs/pypi-publishing.md)
to make `pip install evidion` available.

## Contributing

Issues and pull requests are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md),
the [Code of Conduct](CODE_OF_CONDUCT.md), and the
[architecture overview](docs/architecture.md).

## License

[MIT](LICENSE)
