Skip to content

Commit

Permalink
Install using the setuptools.build_meta backend
Browse files Browse the repository at this point in the history
Installing with `pip install -e .` fails due to setup.py being
deprecated after setuptools adopted PEP-517 [1]. Migrate to building
using a setup.cfg file.

This was mostly a 1-to-1 migration except for setting
`install_requires`. Setuptools recommends not reading `requirements.txt`
as the value for `install_requires` [4].

See also:
- A Practical Guide to Setuptools and Pyproject.toml [2]
- Configuring setuptools using setup.cfg files [3]

[1] https://peps.python.org/pep-0517/
[2] https://godatadriven.com/blog/a-practical-guide-to-setuptools-and-pyproject-toml/
[3] https://setuptools.pypa.io/en/latest/userguide/declarative_config.html
[4] pypa/setuptools#1951
  • Loading branch information
csris committed May 6, 2023
1 parent 45a9832 commit b535e38
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 44 deletions.
6 changes: 5 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

# Settings for Black: The Uncompromising Code Formatter
[tool.black]
line-length = 120
line-length = 120
101 changes: 101 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,104 @@
[metadata]
name = crfm-helm
version = 0.2.2
author = Stanford CRFM
author_email = [email protected]
description = Benchmark for language models
long_description = Benchmark for language models
keywords = language models benchmarking
license = Apache License 2.0
classifiers =
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.8
License :: OSI Approved :: Apache Software License
url = "https://github.com/stanford-crfm/helm"

[options]
python_requires = ~=3.8
package_dir =
=src
packages = find:
zip_safe = False
include_package_data = True

install_requires=
# Common
zstandard~=0.18.0
tqdm~=4.64.1
pyhocon~=0.3.59
dacite~=1.6.0

# Proxy
aleph-alpha-client~=2.14.0
anthropic~=0.2.5
bottle~=0.12.23
gunicorn~=20.1.0
Mako~=1.2.3
# sqlitedict==2.0.0 is slow! https://github.com/RaRe-Technologies/sqlitedict/issues/152
# Keep the version at 1.7.0.
sqlitedict~=1.7.0
pymongo~=4.2.0
retrying~=1.3.3
websocket-client~=1.3.2 # For Anthropic (Legacy stanford-online-all-v4-s3)
openai~=0.27.0
tiktoken~=0.3.3
transformers~=4.28.1
tokenizers~=0.13.2
icetk~=0.0.4
protobuf~=3.20.2 # Can't use 4.21.0 due to backward incompatibility
google-api-python-client~=2.64.0
revChatGPT~=0.1.1

# Scenarios
datasets~=2.5.2 # For math scenarios
gdown~=4.4.0
jsonlines~=3.1.0 # Not really needed
sympy~=1.11.1 # For math scenarios
sentencepiece~=0.1.97
numba~=0.56.4
cattrs~=22.2.0
xlrd~=2.0.1 # Used by pandas.read_excel in ice_scenario

# Metrics
importlib-resources~=5.10.0
nltk~=3.7
scipy~=1.9.1
uncertainty-calibration~=0.1.3
rouge-score~=0.1.2
pyext~=0.7
pytrec_eval==0.5
sacrebleu~=2.2.1
# Work around https://github.com/p-lambda/verified_calibration/issues/11
# TODO: Remove after this issue is resolved
scikit-learn~=1.1.2
spacy~=3.2.4
summ-eval~=0.892
surge-api~=1.1.0
# End users should install a CUDA version of PyTorch manually if needed
torch~=1.12.1 # Summarization metrics
torchvision~=0.13.1

# plotting
colorcet~=3.0.1
matplotlib~=3.6.0
numpy~=1.23.3
seaborn~=0.11.0

[options.entry_points]
console_scripts =
my-example-utility = example.example_module:main
helm-run = helm.benchmark.run:main
helm-summarize = helm.benchmark.presentation.summarize:main
helm-server = helm.benchmark.server:main
helm-create-plots = helm.benchmark.presentation.create_plots:main
crfm-proxy-server = helm.proxy.server:main
crfm-proxy-cli = helm.proxy.cli:main

[options.packages.find]
where = src
exclude =
tests*

# Settings for Flake8: Tool For Style Guide Enforcement
[flake8]
max-line-length = 120
Expand Down
43 changes: 0 additions & 43 deletions setup.py

This file was deleted.

0 comments on commit b535e38

Please sign in to comment.