Streamline policy evaluation workflows with AI-driven analysis and evaluation framework-agnostic processing
Project description
Evaluatr
What is Evaluatr?
Evaluatr is an AI-powered system that automates the creation of
Evidence Maps - structured, visual tools that organize what we know
(and don’t know) about programs, policies, and interventions. It
transforms hundreds of hours of manual document review into an
automated, intelligent process.
The Challenge We Solve
Traditional evidence mapping requires hundreds of staff-hours manually reviewing and tagging evaluation documents. EvalStack automates this process while maintaining accuracy through human-AI collaboration, making evidence mapping accessible and efficient.
Key Features
- 📚 Multi-Format Repository Reading: Standardized processing of evaluation repositories from different organizations
- 🤖 AI-Powered Analysis: Automated extraction of program details, context, and findings
- 🗂️ Framework Agnostic: Works with various evaluation frameworks (IOM Strategic Results Framework, Global Compact on Migration, etc.)
- Interactive Visualizations: Generate bubble maps, heatmaps, and gap analysis
- 🔍 Hybrid Search: Vector database storage with semantic and keyword search capabilities
Workflow Overview
graph LR
A[Evaluation Repositories] --> B[Standardized Reading]
B --> C[Document Processing]
C --> D[AI Analysis]
D --> E[Evidence Mapping]
E --> F[Interactive Visualizations]
Current Implementation ✅
Step 1: Repository Reading - EvalStack can read and standardize evaluation repositories from different organizations:
from evaluatr.readers import IOMRepoReader
# Read IOM evaluation repository
reader = IOMRepoReader('files/test/eval_repo_iom.xlsx')
evaluations = reader() # Returns standardized format
# Each evaluation contains:
# - id: Unique identifier
# - docs: Associated documents with URLs and descriptions
# - meta: All metadata in standardized format
Coming Soon 🚧
- Step 2: Document Processing (OCR, chunking, embeddings)
- Step 3: Structured Information Extraction (AI-powered)
- Step 4: Evidence Mapping & Analysis (cross-evaluation patterns)
️ Installation
From PyPI (Recommended)
pip install evaluatr
From GitHub
pip install git+https://github.com/franckalbinet/evaluatr.git
Development Installation
# Clone the repository
git clone https://github.com/franckalbinet/evaluatr.git
cd evaluatr
# Install in development mode
pip install -e .
# Make changes in nbs/ directory, then compile:
nbdev_prepare
Quick Start
Reading an IOM Evaluation Repository
from evaluatr.readers import IOMRepoReader
# Initialize reader with your Excel file
reader = IOMRepoReader('files/test/eval_repo_iom.xlsx')
# Process the repository
evaluations = reader()
# Each evaluation is a standardized dictionary
for eval in evaluations[:3]: # Show first 3
print(f"ID: {eval['id']}")
print(f"Title: {eval['meta']['Title']}")
print(f"Documents: {len(eval['docs'])}")
print("---")
ID: 1a57974ab89d7280988aa6b706147ce1
Title: EX-POST EVALUATION OF THE PROJECT: NIGERIA: STRENGTHENING REINTEGRATION FOR RETURNEES (SRARP) - PHASE II
Documents: 2
---
ID: c660e774d14854e20dc74457712b50ec
Title: FINAL EVALUATION OF THE PROJECT: STRENGTHEN BORDER MANAGEMENT AND SECURITY IN MALI AND NIGER THROUGH CAPACITY BUILDING OF BORDER AUTHORITIES AND ENHANCED DIALOGUE WITH BORDER COMMUNITIES
Documents: 2
---
ID: 2cae361c6779b561af07200e3d4e4051
Title: Final Evaluation of the project "SUPPORTING THE IMPLEMENTATION OF AN E RESIDENCE PLATFORM IN CABO VERDE"
Documents: 2
---
Export to JSON
reader.to_json('processed_evaluations.json')
Documentation
- Full Documentation: GitHub Pages
- API Reference: Available in the documentation
- Examples: See the
nbs/directory for Jupyter notebooks
Contributing
We welcome contributions! Here’s how you can help:
- Fork the repository
- Create a feature branch
(
git checkout -b feature/amazing-feature) - Make your changes in the
nbs/directory - Compile with
nbdev_prepare - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
# Install development dependencies
pip install -e .
# Make changes in nbs/ directory
# ...
# Compile changes to evalstack package
nbdev_prepare
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with nbdev for literate programming
- Uses pandas for data processing
- Powered by rich for beautiful terminal output
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [Your email here]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evaluatr-0.0.2.tar.gz.
File metadata
- Download URL: evaluatr-0.0.2.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7e8799bbae551e9ea1068f037a952e9ff7a48a0b48352065a83b13b9fcee8db
|
|
| MD5 |
4f041d256fee44dde005ec49974cad5d
|
|
| BLAKE2b-256 |
e4d2bd192f95cf51fcaab0a9f6bab38d001e82b9413520c6e3cf12341fbba1bd
|
File details
Details for the file evaluatr-0.0.2-py3-none-any.whl.
File metadata
- Download URL: evaluatr-0.0.2-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8e202cf758bfbacc98c1743500021d77048b7ec482213405b549b231690be9f
|
|
| MD5 |
b12982268b2545fdf5258257763af033
|
|
| BLAKE2b-256 |
41adae72e1a5ae58e86ef70cf19ae891cb9aff3d9e2929ac0d91fd1ce529e08f
|