Skip to content

Commit

Permalink
Dev QOL updates (#249)
Browse files Browse the repository at this point in the history
* Migrate to uv package manager

* Fix install CI

* Fix install CI

* Use venv python

* Add shell var back

* Fill changelog

* Fix last update in readme
  • Loading branch information
gsarti committed Feb 16, 2024
1 parent 05b05c3 commit 585d309
Show file tree
Hide file tree
Showing 18 changed files with 742 additions and 5,360 deletions.
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ __pycache__/
.pytest_cache/
..mypy_cache/

# poetry
# uv
.venv

# C extensions
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,19 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install poetry
- name: Install uv
run: |
make poetry-download
export PATH="$HOME/.poetry/env:$PATH"
make uv-download
- name: Set up cache
uses: actions/cache@v3.0.11
with:
path: .venv
key: venv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('poetry.lock') }}
key: venv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
- name: Install dependencies
run: |
poetry config virtualenvs.in-project true
make install-ci
source .venv/bin/activate
- name: Run style checks
run: |
Expand Down
7 changes: 0 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -251,13 +251,6 @@ target/
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ repos:
exclude: LICENSE

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.1.7
rev: v0.2.1
hooks:
- id: ruff-format
- id: ruff
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Changelog

*This file contains a high-level description of changes that were merged into the Inseq main branch since the last release. Refer to the [releases page](https://github.com/inseq-team/inseq/releases) for an exhaustive overview of changes introduced at each release.*

## 馃殌 Features

- Support for multi-GPU attribution ([#238](https://github.com/inseq-team/inseq/pull/238))
- Added `inseq attribute-context` CLI command to support the [PECoRe framework] for detecting and attributing context reliance in generative LMs ([#237](https://github.com/inseq-team/inseq/pull/237))

## 馃敡 Fixes & Refactoring

- Fix `ContiguousSpanAggregator` and `SubwordAggregator` edge case of single-step generation ([#247](https://github.com/inseq-team/inseq/pull/247))
- Move tensors to CPU right away in the forward pass to avoid OOM when cloning ([#245](https://github.com/inseq-team/inseq/pull/245))
- Fix `remap_from_filtered` behavior on sequence_scores tensors. ([#245](https://github.com/inseq-team/inseq/pull/245))
- Use torch-native padding when converting lists of `FeatureAttributionStepOutput` to `FeatureAttributionSequenceOutput` in `get_sequences_from_batched_steps`. ([#245](https://github.com/inseq-team/inseq/pull/245))
- Bump `ruff` version ([#245](https://github.com/inseq-team/inseq/pull/245))
- Drop `poetry` in favor of [`uv`](https://github.com/astral-sh/uv) to accelerate package installation and simplify config in `pyproject.toml`. ([#249](https://github.com/inseq-team/inseq/pull/249))
- Drop `darglint` in favor of `pydoclint`. ([#249](https://github.com/inseq-team/inseq/pull/249))
- Replace Arxiv with ACL Anthology badge in `README`. ([#249](https://github.com/inseq-team/inseq/pull/249))
- Add first version of `CHANGELOG.md` ([#249](https://github.com/inseq-team/inseq/pull/249))

## 馃摑 Documentation and Tutorials

*No changes*

## 馃挜 Breaking Changes

*No changes*
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at gabriele.sarti996@gmail.com. All
reported by contacting the project team at [info@inseq.org](mailto:info@inseq.org). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Expand Down
9 changes: 6 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,20 @@

## Dependencies

We use `poetry` to manage the [dependencies](https://github.com/python-poetry/poetry).
If you dont have `poetry`, you should install with `make poetry-download`.
We use [`uv`](https://github.com/astral-sh/uv) to manage Inseq dependencies.
If you dont have `uv`, you should install with `make uv-download`.

To install dependencies and prepare [`pre-commit`](https://pre-commit.com/) hooks you would need to run `install` command:

```bash
make install

or

make install-dev
```

To activate your `virtualenv` run `poetry shell`.
To activate your `virtualenv` run `make uv-activate`.

## Codestyle

Expand Down
11 changes: 3 additions & 8 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,8 @@ include *.yml
recursive-include inseq *.py

exclude Makefile
# Exclude tests from package
prune tests
# Exclude the documentation files
prune .github
prune docker
prune docs
# Exclude the example files
prune examples
# Exclude notebooks
prune notebooks
# Exclude utils
prune .github
prune tests
100 changes: 45 additions & 55 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#* Variables
SHELL := /usr/bin/env bash
PYTHON := python3
SHELL := /bin/bash
PYTHON := .venv/bin/python

#* Docker variables
IMAGE := inseq
Expand All @@ -9,12 +9,9 @@ VERSION := latest
.PHONY: help
help:
@echo "Commands:"
@echo "poetry-download : downloads and installs the poetry package manager"
@echo "poetry-remove : removes the poetry package manager"
@echo "uv-download : downloads and installs the uv package manager"
@echo "install : installs required dependencies"
@echo "install-gpu : installs required dependencies, plus Torch GPU support"
@echo "install-dev : installs the dev dependencies for the project"
@echo "install-dev-gpu : installs the dev dependencies for the project, plus Torch GPU support"
@echo "update-deps : updates the dependencies and writes them to requirements.txt"
@echo "check-style : run checks on all files without fixing them."
@echo "fix-style : run checks on files and potentially modifies them."
Expand All @@ -28,91 +25,84 @@ help:
@echo "serve-docs : serve documentation locally."
@echo "docs : build and serve generated documentation locally."
@echo "docker-build : builds docker image for the package."
@echo "docker-remove : removes built docker image."
# @echo "docker-remove : removes built docker image."
@echo "clean : cleans all unecessary files."

#* Poetry
.PHONY: poetry-download
poetry-download:
curl -sSL https://install.python-poetry.org | $(PYTHON) -

.PHONY: poetry-remove
poetry-remove:
curl -sSL https://install.python-poetry.org | $(PYTHON) - --uninstall
#* UV
uv-download:
@echo "Downloading uv package manager..."
@if [[ $OS == "Windows_NT" ]]; then \
irm https://astral.sh/uv/install.ps1 | iex; \
else \
curl -LsSf https://astral.sh/uv/install.sh | sh; \
fi
uv venv


.PHONY: uv-activate
uv-activate:
@if [[ "$(OS)" == "Windows_NT" ]]; then \
./uv/Scripts/activate.ps1 \
else \
source .venv/bin/activate; \
fi

#* Installation

.PHONY: add-torch-gpu
add-torch-gpu:
poetry run poe upgrade-pip
poetry run pip uninstall torch -y
poetry run poe torch-cuda

.PHONY: install
install:
poetry install
make uv-activate && uv pip install -r requirements.txt && uv pip install -e .

.PHONY: install-dev
install-dev:
poetry install --all-extras --with lint,docs --sync
# -poetry run mypy --install-types --non-interactive ./
poetry run pre-commit install
poetry run pre-commit autoupdate
poetry self add poetry-plugin-export

.PHONY: install-gpu
install-gpu: install add-torch-gpu

.PHONY: install-dev-gpu
install-dev-gpu: install-dev add-torch-gpu
make uv-activate && uv pip install -r requirements-dev.txt && pre-commit install && pre-commit autoupdate


.PHONY: install-ci
install-ci:
poetry install --with lint
make uv-activate && uv pip install -e .[lint]

.PHONY: update-deps
update-deps:
poetry lock
poetry export --without-hashes > requirements.txt
poetry export --without-hashes -E sklearn -E datasets -E notebook --with lint,docs > requirements-dev.txt
uv pip compile pyproject.toml -o requirements.txt
uv pip compile --all-extras pyproject.toml -o requirements-dev.txt

#* Linting
.PHONY: check-style
check-style:
poetry run ruff format --check --config pyproject.toml ./
poetry run ruff check --no-fix --config pyproject.toml ./
# poetry run darglint --verbosity 2 inseq tests
# poetry run mypy --config-file pyproject.toml ./
$(PYTHON) -m ruff format --check --config pyproject.toml ./
$(PYTHON) -m ruff check --no-fix --config pyproject.toml ./
# $(PYTHON) -m pydoclint --config pyproject.toml inseq/
# $(PYTHON) -m mypy --config-file pyproject.toml ./

.PHONY: fix-style
fix-style:
poetry run ruff format --config pyproject.toml ./
poetry run ruff check --config pyproject.toml ./
$(PYTHON) -m ruff format --config pyproject.toml ./
$(PYTHON) -m ruff check --config pyproject.toml ./

.PHONY: check-safety
check-safety:
poetry check
poetry run safety check --full-report -i 53048
$(PYTHON) -m safety check --full-report

.PHONY: lint
lint: fix-style check-safety

#* Linting
.PHONY: test
test:
poetry run pytest -c pyproject.toml -v
$(PYTHON) -m pytest -c pyproject.toml -v

.PHONY: test-cpu
test-cpu:
poetry run pytest -c pyproject.toml -v -m "not require_cuda_gpu"
$(PYTHON) -m pytest -c pyproject.toml -v -m "not require_cuda_gpu"

.PHONY: fast-test
fast-test:
poetry run pytest -c pyproject.toml -v -m "not slow"
$(PYTHON) -m pytest -c pyproject.toml -v -m "not slow"

.PHONY: codecov
codecov:
poetry run pytest --cov inseq --cov-report html
$(PYTHON) -m pytest --cov inseq --cov-report html

#* Docs
.PHONY: build-docs
Expand All @@ -131,17 +121,17 @@ docs: build-docs serve-docs
# Example: make docker IMAGE=some_name VERSION=0.1.0
.PHONY: docker-build
docker-build:
@echo Building docker $(IMAGE):$(VERSION) ...
@echo "Building docker $(IMAGE):$(VERSION) ..."
docker build \
-t $(IMAGE):$(VERSION) . \
-f ./docker/Dockerfile --no-cache

# Example: make clean_docker VERSION=latest
# Example: make clean_docker IMAGE=some_name VERSION=0.1.0
.PHONY: docker-remove
docker-remove:
@echo Removing docker $(IMAGE):$(VERSION) ...
# docker rmi -f $(IMAGE):$(VERSION)
#.PHONY: docker-remove
#docker-remove:
# @echo "Removing docker $(IMAGE):$(VERSION) ..."
# docker rmi -f $(IMAGE):$(VERSION)

#* Cleaning
.PHONY: pycache-remove
Expand All @@ -153,4 +143,4 @@ build-remove:
rm -rf build/

.PHONY: clean
clean: pycache-remove build-remove docker-remove
clean: pycache-remove build-remove # docker-remove
23 changes: 7 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,17 @@
[![Python Version](https://img.shields.io/pypi/pyversions/inseq.svg?color=blue)](https://pypi.org/project/inseq/)
[![Downloads](https://static.pepy.tech/badge/inseq)](https://pepy.tech/project/inseq)
[![License](https://img.shields.io/github/license/inseq-team/inseq)](https://github.com/inseq-team/inseq/blob/main/LICENSE)
[![Demo Paper](https://img.shields.io/badge/arXiv-2302.13942-red)](http://arxiv.org/abs/2302.13942)
[![Demo Paper](https://img.shields.io/badge/ACL%20Anthology%20-%20?logo=data%3Aimage%2Fx-icon%3Bbase64%2CAAABAAEAIBIAAAEAIABwCQAAFgAAACgAAAAgAAAAJAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEa7k0mH%2B%2F5JBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJB3t%2FyQd7f8kHe3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQd7f8kHO3%2FJB3t%2FyQd7f8kHO3%2FJB3t%2FyQd7f8kHe3%2FJB3t%2FyMc79EkGP8VAAAAAAAAAAAAAAAAIRruTSYf7%2FkkHO3%2FJBzt%2FyQd7f8kHe3%2FJB3t%2FyQd7f8kHO3%2FJB3t%2FyQc7f8kHe3%2FJBzt%2FyQc7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FJB3t%2FyQd7f8kHe3%2FIxzv0SQY%2FxUAAAAAAAAAAAAAAAAhIe5NJh%2Fv%2BSQd7f8kHe3%2FJB3t%2FyQd7f8kHO3%2FJBzt%2FyQc7f8kHe3%2FJBzt%2FyQd7f8kHe3%2FJBzt%2FyQc7f8kHe3%2FJB3t%2FyQd7f8kHe3%2FJB3t%2FyQc7f8kHe3%2FJB3t%2FyQd7f8kHe3%2FJBzt%2FyQd7f8jHO%2FRJBj%2FFQAAAAAAAAAAAAAAACEa7k0mH%2B%2F5JB3t%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHe3%2FJBzt%2FyQd7f8kHe3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHe3%2FJBzt%2FyQd7f8kHe3%2FJB3t%2FyQc7f8kHe3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyMc79EkGP8VAAAAAAAAAAAAAAAAIRruTSYf7%2FkkHO3%2FJBzt%2FyQc7f8kHe3%2FJB3t%2FyQd7f8kHO3%2FJB3t%2FyQd7f8kHO3%2FJB3t%2FyQc7f8kHe3%2FJBzt%2FyQc7f8kHe3%2FJB3t%2FyQd7f8kHe3%2FJBzt%2FyQd7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FIxzv0SQY%2FxUAAAAAAAAAAAAAAAAhGu5NJh%2Fv%2BSQd7f8kHO3%2FJBzt%2FyQd7f8jIOzYIxvtgiQc8X8kHPF%2FJBzxfyQc8X8kHPF%2FJBzxfyQc8X8kHPF%2FIx%2FuiiMf7OgkHe3%2FJBzt%2FyQc7f8kHO3%2FJhzs9CUg7JYkHPF%2FJBzxfyQc8X8iHfBoMzP%2FCgAAAAAAAAAAAAAAACEa7k0mHu%2F5JBzt%2FyQc7f8kHO3%2FJBzt%2FyQb7LEAAP8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkGP8VIxzv0SQc7f8kHe3%2FJB3t%2FyQc7f8jHOzpIhzuLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIRruTSYf7%2FkkHe3%2FJB3t%2FyQd7f8kHO3%2FJBvssQAA%2FwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQY%2FxUjHO%2FRJB3t%2FyQc7f8kHO3%2FJBzt%2FyMb7OkiHO4tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGu5NJh%2Fv%2BSQd7f8kHe3%2FJBzt%2FyQc7f8kHuyxAAD%2FBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBj%2FFSMc79EkHe3%2FJBzt%2FyQc7f8kHO3%2FIxvs6SIc7i0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEa7k0mH%2B%2F5JBzt%2FyQc7f8kHO3%2FJBzt%2FyQb7LEAAP8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkGP8VIx3v0SQd7f8kHe3%2FJBzt%2FyQc7f8jHOzpIhzuLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIRruTSYf7%2FkkHO3%2FJBzt%2FyQc7f8kHe3%2FJBzuxSgi81MhGu5NIRruTSEa7k0hGu5NISHuTSEh7k0hGu5NIRruTSIa72EjHe3aJBzt%2FyQd7f8kHO3%2FJBzt%2FyMc7OkiHO4tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGu5NJh7v%2BSQc7f8kHe3%2FJBzt%2FyQc7f8kHO3%2FJh%2Fv%2BSYf7%2FkmHu%2F5Jh%2Fv%2BSYf7%2FkmH%2B%2F5Jh%2Fv%2BSYf7%2FkmH%2B%2F5Jh7v%2BSQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FIxzs6SIc7i0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEa7k0mHu%2F5JBzt%2FyQd7f8kHO3%2FJBzt%2FyQc7f8kHe3%2FJB3t%2FyQd7f8kHO3%2FJBzt%2FyQc7f8kHe3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHe3%2FJBzt%2FyQd7f8jHOzpIhzuLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIRruTSYe7%2FkkHO3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyQd7f8kHe3%2FJB3t%2FyQc7f8kHe3%2FJB3t%2FyQd7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyMc7OkiHO4tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGu5NJh%2Fv%2BSQc7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FIxzs6SIc7i0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEa7k0mH%2B%2F5JB3t%2FyQc7f8kHe3%2FJBzt%2FyQc7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyQd7f8kHO3%2FJBzt%2FyQc7f8kHO3%2FJB3t%2FyQc7f8kHO3%2FJBzt%2FyQc7f8jHOzpIhzuLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKB%2FtOSUc7askHuyxJBvssSQe7LEkHuyxJB7ssSQe7LEkHuyxJBvssSQb7LEkHuyxJB7ssSQe7LEkHuyxJB7ssSUc7LMjHe31JB3t%2FyQd7f8kHe3%2FJBzt%2FyMc7OkiHO4tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD%2FBQAA%2FwUAAP8FAAD%2FBQAA%2FwUAAP8FAAD%2FBQAA%2FwUAAP8FAAD%2FBQAA%2FwUAAP8FAAD%2FBQAA%2FwUAAP8FHBzsGyMd7qYjHO%2FRIxzv0SMd79EjHO%2FRIx7tux4Y%2BSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAP8A%2FwD%2FAP8A%2FwD%2FAP8A%2FwAAAP8AAAD%2FAAAA%2FwAAAP8AAAD%2FAAAA%2FwAAAP%2BAAAD8%3D&labelColor=white&color=red&link=https%3A%2F%2Faclanthology.org%2F2023.acl-demo.40%2F
)](http://arxiv.org/abs/2302.13942)

</div>
<div align="center">

[![Follow Inseq on Twitter]( https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/InseqLib)
[![Join the Inseq Discord server](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/V5VgwwFPbu)
<!--[![Follow Inseq on Mastodon](https://img.shields.io/mastodon/follow/109308976376923913?domain=https%3A%2F%2Fsigmoid.social&label=Inseq&style=social)](https://sigmoid.social/@inseq)-->
[![Read the Docs](https://img.shields.io/badge/-Docs-blue?style=for-the-badge&logo=Read-the-Docs&logoColor=white&link=https://inseq.org)](https://inseq.org)
[![Tutorial](https://img.shields.io/badge/-Tutorial-orange?style=for-the-badge&logo=Jupyter&logoColor=white&link=https://github.com/inseq-team/inseq/blob/main/examples/inseq_tutorial.ipynb)](https://github.com/inseq-team/inseq/blob/main/examples/inseq_tutorial.ipynb)

</div>
<div align="center">

<a href="http://arxiv.org/abs/2302.13942"><b>Paper</b></a> |
<a href="https://inseq.readthedocs.io"><b>Documentation</b></a> |
<a href="https://github.com/inseq-team/inseq/blob/main/examples/inseq_tutorial.ipynb"><b>Tutorial</b></a> |
<a href="https://pypi.org/project/inseq"><b>PyPI Package</b></a>

</div>

Expand All @@ -53,13 +48,11 @@ To install the package, clone the repository and run the following commands:

```bash
cd inseq
make poetry-download # Download and install the Poetry package manager
make uv-download # Download and install the UV package manager
make install # Installs the package and all dependencies
```

If you have a GPU available, use `make install-gpu` to install the latest `torch` version with GPU support.

For library developers, you can use the `make install-dev` command to install and its GPU-friendly counterpart `make install-dev-gpu` to install all development dependencies (quality, docs, extras).
For library developers, you can use the `make install-dev` command to install all development dependencies (quality, docs, extras).

After installation, you should be able to run `make fast-test` and `make lint` without errors.
</details>
Expand All @@ -71,8 +64,6 @@ After installation, you should be able to run `make fast-test` and `make lint` w

- Installing `sentencepiece` requires various packages, install with `sudo apt-get install cmake build-essential pkg-config` or `brew install cmake gperftools pkg-config`.

- Inseq does not work with older versions of `jaxlib`.
Install a compatible version with ```poetry install --with jax```.
</details>

## Example usage in Python
Expand Down Expand Up @@ -310,7 +301,7 @@ If you use Inseq in your research we suggest to include a mention to the specifi

## Research using Inseq

Inseq has been used in various research projects. A list of known publications that use Inseq to conduct interpretability analyses of generative models is shown below. If you know more, please let us know or submit a pull request (*last updated: December 2023*).
Inseq has been used in various research projects. A list of known publications that use Inseq to conduct interpretability analyses of generative models is shown below. If you know more, please let us know or submit a pull request (*last updated: February 2024*).

<details>
<summary><b>2023</b></summary>
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Vulnerabilities can be reported by emailing core members:

- [`gsarti`](https://github.com/gsarti) <[gabriele.sarti996@gmail.com](mailto:gabriele.sarti996@gmail.com)>
- [Gabriele Sarti](https://github.com/gsarti) <[gabriele.sarti996@gmail.com](mailto:gabriele.sarti996@gmail.com)>

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:

Expand Down

0 comments on commit 585d309

Please sign in to comment.