Lens

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.

Join the Community

Have questions or want to discuss the roadmap?