Skip to main content

VirgoFash Advanced

VirgoFash is a local-first deterministic Python search and answer engine.

Important

VirgoFash does not use an LLM, AI model, OpenAI/Gemini API, or paid API.

It produces answers using:

  • deterministic NLP
  • built-in knowledge
  • concurrent web search
  • result ranking
  • snippet extraction
  • duplicate removal
  • deterministic response templates

So it can produce an LLM-like experience for supported tasks, but it is not a real language model.

Requirements

  • Python 3.10+
  • Internet connection for web search
  • httpx
  • pytest
  • pytest-asyncio

Project structure

virgofash/
├── __init__.py
├── __main__.py
├── answer.py
├── core.py
├── exceptions.py
├── knowledge.py
└── nlp.py

tests/
├── test_answer.py
└── test_core.py

1. Install

From the project root:

python -m pip install -e .
python -m pip install pytest pytest-asyncio httpx

2. Run tests

python -m pytest -q

Expected: all tests pass.

3. Test one question

python -c "import asyncio; from virgofash import ask; r=asyncio.run(ask('What is AI?')); print(r.answer)"

4. Interactive mode

This is the easiest way to use VirgoFash:

python -m virgofash

Then:

You: hello
VirgoFash: Hello! How can I help you?

You: What is AI?
VirgoFash: ...

You: What is Python?
VirgoFash: ...

You: What is FastAPI?
VirgoFash: ...

You: exit

5. Web-search question

For questions not in the built-in knowledge base, VirgoFash searches its providers:

You: What happened in ...

The answer is built from returned search snippets. Provider failures are isolated.

6. Python API

import asyncio
from virgofash import ask

result = asyncio.run(ask("What is FastAPI?"))

print(result.answer)

for source in result.sources:
    print(source.title)
    print(source.url)

7. What this project can and cannot do

Can

  • answer common built-in definitions
  • detect greetings/questions/search queries
  • search multiple providers concurrently
  • rank and deduplicate results
  • construct deterministic summaries from snippets
  • expose a clean Python API
  • run as an interactive terminal assistant

Cannot

  • reason like a neural language model
  • reliably understand every natural-language question
  • generate arbitrary original explanations with LLM-level fluency
  • guarantee provider availability
  • replace a real LLM

Troubleshooting

ImportError: cannot import name 'ask'

Make sure virgofash/__init__.py contains:

from .answer import AnswerEngine, AnswerResponse, AnswerSource, ask

PowerShell accidentally receives Python code

Do not paste Python source directly into PowerShell. Put Python code inside .py files. PowerShell is for commands such as:

python -m pytest -q
python -m virgofash

Internet provider failure

A provider may fail because of network restrictions, rate limits, HTML changes, or temporary downtime. VirgoFash records failed providers instead of crashing the whole aggregation.

License

MIT

Release files for virgofash 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virgofash 0.2.0
File Size Uploaded
virgofash-0.2.0.tar.gz 12.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for virgofash 0.2.0
File Interpreter ABI Platform
virgofash-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 25.6 kB

Release files / virgofash-0.2.0.tar.gz

Download URL virgofash-0.2.0.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c1fe45a65b071bc6ee89e9e8407810eed653dcd4ea6cb57c216f7224bd50696d
BLAKE2b-256 checksum
How to use checksums
c9b4882de0f7dc8f97e81a3ce343f6e5f89bfcb3206fdc175d6a54bbee140178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / virgofash-0.2.0-py3-none-any.whl

Download URL virgofash-0.2.0-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4947732e5b2584c86fd62c108b3f75ff9b3eca2a18b4ae24c643679be450b245
BLAKE2b-256 checksum
How to use checksums
82e672ca4b5690819648b766fa983721960e7d2552f80922d3a2e2465e35bc0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page