Metadata-Version: 2.4
Name: votekit
Version: 3.4.0
Summary: A Swiss army knife for computational social choice research.
Project-URL: repository, https://github.com/mggg/VoteKit
Author-email: MGGG <code@mggg.org>
License-File: LICENSE
Requires-Python: <3.14,>=3.11
Requires-Dist: apportionment<2.0,>=1.0
Requires-Dist: jinja2<4.0,>=3.1.6
Requires-Dist: matplotlib<4.0,>=3.10.5
Requires-Dist: networkx<4.0,>=3.5
Requires-Dist: numba<0.62.2,>=0.62.1
Requires-Dist: numpy<3.0,>=2.3.3
Requires-Dist: pandas>2.2
Requires-Dist: psutil<8.0.0,>=7.1.0
Requires-Dist: pydantic<3.0,>=2.11.9
Requires-Dist: scikit-learn<2.0,>=1.7.1
Requires-Dist: scipy<2.0,>=1.16.1
Requires-Dist: seaborn<0.14.0,>=0.13.2
Requires-Dist: types-networkx<4.0.0.0,>=3.5.0.20250728
Requires-Dist: types-psutil<8.0.0.0,>=7.0.0.20250822
Requires-Dist: types-seaborn<0.14.0.0,>=0.13.2.20250728
Provides-Extra: animation
Requires-Dist: manim<0.20.0,>=0.19.0; extra == 'animation'
Description-Content-Type: text/markdown

## VoteKit

`VoteKit` is a Swiss army knife for computational social choice research.

**Helpful links:** [Source Repository](https://github.com/mggg/VoteKit) |
[Documentation](https://votekit.readthedocs.io/en/latest/) |
[Issues & Feature Requests](https://votekit.readthedocs.io/en/latest/package_info/issues/) |
[Contributing](https://votekit.readthedocs.io/en/latest/package_info/contributing/) |
[MGGG.org](https://mggg.org/)


[![PyPI badge](https://badge.fury.io/py/votekit.svg)](https://badge.fury.io/py/votekit)
![Test badge](https://github.com/mggg/VoteKit/workflows/Test%20&%20Lint/badge.svg)

## Installation
Votekit can be installed through any standard package management tool:

    pip install votekit

For more detailed instructions, please see the
[installation](https://votekit.readthedocs.io/en/latest/#installation) section of the VoteKit
documentation.


## Issues and Contributing
This project is in active development in the
[mggg/VoteKit](https://github.com/mggg/VoteKit) GitHub repository, where
[bug reports and feature requests](https://votekit.readthedocs.io/en/latest/package_info/issues/),
as well as
[contributions](https://votekit.readthedocs.io/en/latest/package_info/contributing/), are welcome.

VoteKit uses `uv` for dependency management and `go-task` for common development commands. To set
up a contributor environment, install `go-task` and run `task setup` from the repository root.
That bootstraps Astral's official standalone `uv`, installs Python 3.11 if needed, and keeps the
managed tooling under `.task-tools/`.

Before making a pull request, run the following:
- `task format`
- `task lint`
- `task typecheck`
- `task test`
- `task coverage`

To scope a test run to a subdirectory or file, use `task test -- tests/<path>` or
`task test:tests/<path>`.

If you already have `uv` on your `PATH`, you can also run the underlying commands directly with
`uv run`, for example `uv run pytest tests --cov=src/votekit --cov-report=term-missing` for a
coverage run or `uv run pytest tests --runslow` for the full test suite. The repository
root [`CONTRIBUTING.md`](CONTRIBUTING.md) contains the current contributor workflow, code style
guidance, and pull request expectations.
