Metadata-Version: 2.4
Name: solidago
Version: 0.5.0
Summary: A toolbox for Solid Algorithmic Governance
Project-URL: Homepage, https://github.com/tournesol-app/tournesol/tree/main/solidago
Project-URL: Bug Tracker, https://github.com/tournesol-app/tournesol/issues
Project-URL: Documentation, https://solidago.tournesol.app
Author-email: Tournesol Association <hello@tournesol.app>
License-Expression: LGPL-3.0-or-later
License-File: LICENSE
License-File: LICENSE.LESSER
Keywords: collaborative recommendations,comparison based,judgement aggregation,mehestan,tournesol
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.13
Requires-Dist: numba==0.63.*
Requires-Dist: numpy>=2.3
Requires-Dist: pandas<3.0,>=1.5.3
Provides-Extra: docs
Requires-Dist: markdown-include==0.8.1; extra == 'docs'
Requires-Dist: mkdocs-material==9.*; extra == 'docs'
Requires-Dist: mkdocstrings[python]==0.*; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest<9.0.0,>=7.1.3; extra == 'test'
Provides-Extra: torch
Requires-Dist: torch<3,>=2.2; extra == 'torch'
Description-Content-Type: text/markdown

# Solidago

[![PyPi](https://img.shields.io/pypi/v/solidago)](https://pypi.org/project/solidago)
[![License](https://img.shields.io/pypi/l/solidago.svg)](https://github.com/tournesol-app/tournesol/tree/main/solidago#copyright--license)
[![CI status](https://github.com/tournesol-app/tournesol/actions/workflows/solidago-test.yml/badge.svg)](https://github.com/tournesol-app/tournesol/actions/workflows/solidago-test.yml)

A toolbox for **Solid** **A**lgorithmic **Go**vernance, used by the Tournesol platform.

**Documentation**: https://solidago.tournesol.app

---

## Development

### Tests

To run tests, setup a virtual environment, activate it, install dependencies and run pytest.
```sh
python3 -m venv devenv
source devenv/bin/activate
pip install -e .[test]
pytest
```
Depending on the platform, you may need to replace ```source devenv/bin/activate``` by another call.
See the [venv doc](https://docs.python.org/3/library/venv.html#how-venvs-work) for more information.

### Docs

The documentation website (deployed to https://solidago.tournesol.app) is built using [MkDocs](https://www.mkdocs.org/) and [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/).

To build the documentation locally:

1. Install the "docs" dependencies in your virtual environment
```sh
pip install -e .[docs]
```

2. Start the MkDocs development server
```sh
mkdocs serve -a localhost:9000
```
Find more options on https://www.mkdocs.org/user-guide/cli/


## Synthetic experiments

To run experiments, once the virtual environement setup, you may run the experiments on synthetic data using.
```
python3 experiments/synthetic.py experiments/resilience.json
python3 experiments/synthetic.py experiments/engagement_bias.json
```
The results will be exported in ```experiments/results```.
You may modify the experiments by editing ```experiments/resilience.json```, 
or by creating a new ```.json``` file.


## Publish a new release

1. In a Pull Request, update the version number in [`./src/solidago/__version__.py`](./src/solidago/__version__.py)
2. The package will be published automatically when the new version is merged into "main", by [this Github Action](../.github/workflows/solidago-publish.yml).


## Copyright & License

Copyright 2023-2025 Tournesol Association and contributors.

This program is free software: you can redistribute it and/or modify it under the terms of the [**GNU Lesser General Public License**](./LICENSE.LESSER) as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.
