Skip to content

Commit 9abce48

Browse files
authored
Revert "chore: fix the ci to install the test requisites" (#264)
1 parent 7e0ebdb commit 9abce48

File tree

11 files changed

+314
-5083
lines changed

11 files changed

+314
-5083
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ concurrency:
1818

1919
jobs:
2020
test-precommit:
21-
runs-on: ubuntu-24.04
21+
runs-on: ubuntu-22.04-16core
2222

2323
steps:
2424
- name: Checkout code
@@ -32,11 +32,20 @@ jobs:
3232
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
3333

3434
- name: Check formatting and typing
35-
run: pixi run lint-all
35+
run: |
36+
set -e
37+
# pyright seems to do something weird at initialization that causes it to error out
38+
# We can ignore the first invocation here.
39+
pyright esm/__init__.py || true
40+
pre-commit install
41+
env NODE_OPTIONS="--max-old-space-size=16384" pre-commit run --all-files --show-diff-on-failure
42+
[ -z "$(git status --porcelain)" ] && true || (echo "❌❌❌ pre-commit hook failed! A few files changed ❌❌❌]" && git status --porcelain && false)
43+
git reset --hard HEAD # test without the pre-commit changes
44+
shell: pixi run bash -e {0}
3645

3746

3847
test-esm:
39-
runs-on: ubuntu-24.04
48+
runs-on: ubuntu-22.04-16core
4049

4150
steps:
4251
- name: Checkout code
@@ -50,7 +59,10 @@ jobs:
5059
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
5160

5261
- name: Run tests
53-
run: pixi run cov-test
62+
run: |
63+
set -o pipefail
64+
pytest -v --junitxml=pytest.xml tests/ | tee pytest-coverage.txt
65+
shell: pixi run bash -e {0}
5466

5567
- name: Run Docker tests
5668
env:

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@ esm.egg-info
22
# pixi environments
33
.pixi
44
*.egg-info
5-
*.pyc

.pre-commit-config.yaml

Lines changed: 0 additions & 33 deletions
This file was deleted.

README.md

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010

1111
- [Installation ](#installation-)
12-
- [Available Models](#available-models-)
1312
- [ESM 3](#esm-3-)
1413
- [Quickstart for ESM3 Open](#esm3-quickstart-)
1514
- [ESM3 98B via Forge API](#esm3-forge)
@@ -34,31 +33,6 @@ To get started with ESM, install the python library using pip:
3433
pip install esm
3534
```
3635

37-
## Available Models <a name="available-models"></a>
38-
39-
### ESM 3 Family
40-
41-
| Model | Model Size | Release Date | Note |
42-
|-------|------------|--------------|------|
43-
| **Flagship Models** | | | Most users will be interested in using one of these models. |
44-
| esm3-large-2024-03 | 98B | 2024-03 | |
45-
| esm3-medium-2024-08 | 7B | 2024-08 | |
46-
| esm3-small-2024-08 | 1.4B | 2024-08 | |
47-
| **Published Models** | | | These models were used to generate all of the results in the ESM3 paper and are provided to facilitate reproducibility. |
48-
| esm3-large-2024-03 | 98B | 2024-03 | |
49-
| esm3-medium-2024-03 | 7B | 2024-03 | |
50-
| esm3-small-2024-03 | 1.4B | 2024-03 | |
51-
| **Experimental Models** | | | These models are provided for early use by researchers and are still under development. |
52-
| esm3-medium-multimer-2024-09 | 7B | 2024-09 | |
53-
54-
### ESM C Models
55-
56-
| Model | Model Size | Number of Layers | Release Date |
57-
|-------|------------|------------------|--------------|
58-
| esmc-6b-2024-12 | 6B | 80 | 2024-12 |
59-
| esmc-600m-2024-12 | 600M | 36 | 2024-12 |
60-
| esmc-300m-2024-12 | 300M | 30 | 2024-12 |
61-
6236
## ESM 3 <a name="esm3"></a>
6337

6438
[ESM3](https://www.evolutionaryscale.ai/papers/esm3-simulating-500-million-years-of-evolution-with-a-language-model) is a frontier generative model for biology, able to jointly reason across three fundamental biological properties of proteins: sequence, structure, and function. These three data modalities are represented as tracks of discrete tokens at the input and output of ESM3. You can present the model with a combination of partial inputs across the tracks, and ESM3 will provide output predictions for all the tracks.

pixi.lock

Lines changed: 295 additions & 4812 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 3 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "esm"
33
version = "3.2.1"
44
description = "EvolutionaryScale open model repository"
55
readme = "README.md"
6-
requires-python = ">=3.10,<3.13"
6+
requires-python = ">=3.10"
77
license = {file = "LICENSE.txt"}
88

99
authors = [
@@ -18,8 +18,6 @@ classifiers = [
1818
"Development Status :: 3 - Alpha",
1919
"Topic :: Scientific/Engineering :: Bio-Informatics",
2020
"Programming Language :: Python :: 3.10",
21-
"Programming Language :: Python :: 3.11",
22-
"Programming Language :: Python :: 3.12",
2321
]
2422

2523
dependencies = [
@@ -37,25 +35,9 @@ dependencies = [
3735
"attrs",
3836
"pandas",
3937
"cloudpathlib",
40-
"httpx",
4138
"tenacity",
42-
"zstd",
43-
"ipywidgets",
44-
"py3dmol",
45-
"pydssp",
46-
"boto3",
47-
"pygtrie",
48-
"dna_features_viewer",
49-
"flash-attn @ https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.1/flash_attn-2.8.1+cu12torch2.7cxx11abiFALSE-cp312-cp312-linux_x86_64.whl"
39+
"zstd"
5040
]
51-
# Pytest
52-
[tool.pytest.ini_options]
53-
addopts = """
54-
--cov=esm
55-
--cov-report term-missing:skip-covered
56-
-n auto
57-
--ignore=tests/oss_pytests/test_oss_client.py
58-
"""
5941

6042
[tool.setuptools]
6143
package-dir = {"" = "."}
@@ -70,76 +52,18 @@ esm = ["data/*"]
7052

7153
[tool.pixi.project]
7254
channels = ["conda-forge"]
73-
platforms = ["linux-64", "osx-arm64"]
55+
platforms = ["linux-64"]
7456

7557
# These are build dependencies, to ensure pip support, keep run-time deps above in `dependencies`
7658
[tool.pixi.dependencies]
7759
pkg-config = "*"
7860
cmake = "*"
7961
pip = "*"
8062
twine = "*"
81-
python = "3.12.*"
8263

8364
[tool.pixi.pypi-dependencies]
8465
esm = { path = ".", editable = true }
8566

8667
[tool.pixi.tasks]
8768
build-wheel = "python -m pip wheel --no-deps -w dist ."
8869
upload-wheel = "python -m twine upload --repository pypi"
89-
90-
[tool.pixi.feature.dev.dependencies]
91-
matplotlib = "*"
92-
pre-commit = "*"
93-
pytest = "*"
94-
pytest-cov = "*"
95-
seaborn = "*"
96-
pyright = "==1.1.399"
97-
98-
[tool.pixi.feature.dev.tasks]
99-
lint-all = "pre-commit run --all-files --show-diff-on-failure"
100-
cov-test = "pytest -v --junitxml=pytest.xml --cov=esm"
101-
102-
[tool.pixi.environments]
103-
default = {features = [], solve-group = "default"}
104-
dev = {features = ["dev"], solve-group = "default"}
105-
106-
[tool.ruff]
107-
extend-include = ["*.ipynb"]
108-
109-
[tool.ruff.lint]
110-
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`), sort imports ('I')
111-
select = ["E4", "E7", "E9", "F", "I"]
112-
ignore = [
113-
# allow variable == False (tensors should do this)
114-
"E712",
115-
# allow assigning of lambdas
116-
"E731",
117-
# Allow ambiguous variables, e.g. we use O for oxygen
118-
"E741",
119-
# Ignore errors from jaxtyping hints
120-
# https://docs.kidger.site/jaxtyping/faq/#flake8-or-ruff-are-throwing-an-error
121-
"F722",
122-
# TODO: Fix the few offenders in a follow up PR
123-
"E721",
124-
]
125-
126-
[tool.ruff.lint.isort]
127-
split-on-trailing-comma = false
128-
known-third-party = ["wandb"]
129-
130-
[tool.ruff.format]
131-
skip-magic-trailing-comma = true
132-
docstring-code-format = true
133-
docstring-code-line-length = "dynamic"
134-
135-
[tool.isort]
136-
known_third_party = ["wandb"]
137-
138-
[tool.pyright]
139-
root = ['.']
140-
useLibraryCodeForTypes = true
141-
reportPrivateImportUsage = false
142-
typeCheckingMode = "basic"
143-
144-
[tool.importlinter]
145-
root_package = "esm"

tests/Makefile

Lines changed: 0 additions & 15 deletions
This file was deleted.

tests/oss_pytests/Dockerfile

Lines changed: 0 additions & 19 deletions
This file was deleted.

tests/oss_pytests/requirements.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

tests/oss_pytests/test_oss_client.py

Lines changed: 0 additions & 85 deletions
This file was deleted.

0 commit comments

Comments
 (0)