Contributing
Lens is built by and for the research community. We welcome contributions of all kinds.
Local Development Setup
Clone the repository and install dependencies in editable mode:
# Clone the repo
git clone https://github.com/developer8sarthak/lens-research.git
# Install in dev mode
pip install -e ".[dev]"
Creating a New Collector
The most common way to contribute is by adding a new data source. All collectors must inherit from the base Collector class:
from lens.collectors import BaseCollector
class MyNewSource(BaseCollector):
def fetch(self, query: str):
# Implementation logic here
pass See our Wikipedia implementation for a reference of a production-grade collector.
Submission Process
1
Open an Issue
Discuss your proposed change with the core maintainers first.
2
Fork & Branch
Create a feature branch following our naming convention feat/name or fix/name.
3
Tests & Linting
Ensure all tests pass by running pytest and linting with ruff.