Skip to content

Commit 3f71a3b

Browse files
committed
move lenskit into monopackage
1 parent 986a562 commit 3f71a3b

File tree

211 files changed

+89
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+89
-3
lines changed

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ dist/
4040
*.lib
4141
*.o
4242
*.obj
43-
lenskit/**/*.c
43+
src/lenskit/**/*.c
44+
src/lenskit/_version.py
4445

4546
# environment locks that aren't committed
4647
/*env*.yml
@@ -59,4 +60,3 @@ conda*.lock
5960
.vscode/c_cpp_properties.json
6061
# pixi environments
6162
.pixi
62-
*.egg-info

pyproject.toml

+87-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,90 @@
1+
[build-system]
2+
requires = ["hatchling ~=1.0", "hatch-vcs ~=0.4.0"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "lenskit"
7+
description = "Toolkit for recommender systems research, teaching, and more."
8+
authors = [{ name = "Michael Ekstrand", email = "[email protected]" }]
9+
classifiers = [
10+
"License :: OSI Approved :: MIT License",
11+
"Programming Language :: Python :: 3",
12+
"Programming Language :: Python :: 3.11",
13+
"Programming Language :: Python :: 3.12",
14+
"Programming Language :: Python :: 3.13",
15+
"Operating System :: OS Independent",
16+
"Intended Audience :: Science/Research",
17+
]
18+
requires-python = ">= 3.11"
19+
readme = "README.md"
20+
license = { file = "LICENSE.md" }
21+
dynamic = ["version"]
22+
dependencies = [
23+
"typing-extensions ~=4.12",
24+
"pandas ~=2.0",
25+
"pyarrow >=15",
26+
"numpy >=1.25",
27+
"scipy >=1.11",
28+
"torch ~=2.4",
29+
"more-itertools >=9.0",
30+
"threadpoolctl >=3.0",
31+
"structlog >=23.2",
32+
"rich ~=13.5",
33+
"pyzmq >=24",
34+
"click ~=8.1",
35+
"pydantic ~=2.7",
36+
"humanize ~=4.2",
37+
"prettytable ~=3.14",
38+
]
39+
40+
[project.optional-dependencies]
41+
notebook = ["ipywidgets ~=8.0"]
42+
ray = ["ray ~=2.42"]
43+
# test deps — keep synchronized with pixi.toml
44+
test = [
45+
"pytest >=8.2,<9",
46+
"pytest-doctestplus >=1.2.1,<2",
47+
"pytest-cov >=2.12",
48+
"pytest-benchmark ==4.*",
49+
"pytest-repeat >=0.9",
50+
"hypothesis >=6.16",
51+
"pyprojroot ==0.3.*",
52+
]
53+
54+
[project.urls]
55+
homepage = "https://lenskit.org"
56+
documentation = "https://lkpy.lenskit.org"
57+
source = "https://github.com/lenskit/lkpy"
58+
59+
[project.scripts]
60+
lenskit = "lenskit.cli:lenskit"
61+
62+
# configure build tools
63+
[tool.hatch.metadata]
64+
allow-direct-references = true
65+
66+
[tool.hatch.build.targets.sdist]
67+
include = ["/lenskit", "LICENSE.md", "README.md"]
68+
69+
[tool.hatch.build.targets.wheel]
70+
packages = ["lenskit"]
71+
72+
[tool.hatch.version]
73+
source = "vcs"
74+
raw-options = { root = "..", version_scheme = "guess-next-dev" }
75+
76+
[tool.hatch.build.hooks.vcs]
77+
version-file = "lenskit/_version.py"
78+
79+
# override where UV gets pytorch for CI installs
80+
[[tool.uv.index]]
81+
name = "pytorch-cpu"
82+
url = "https://download.pytorch.org/whl/cpu"
83+
explicit = true
84+
85+
[tool.uv.sources]
86+
torch = [{ index = "pytorch-cpu" }]
87+
188
# dev tool configuration
289
[tool.coverage.run]
390
relative_files = "true"
@@ -31,7 +118,6 @@ known-first-party = ["lenskit"]
31118
[tool.ruff.lint.isort.sections]
32119
testing = ["pytest", "hypothesis"]
33120

34-
35121
[tool.pyright]
36122
typeCheckingMode = "basic"
37123
exclude = ["docs/*", ".pixi", ".venv"]
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)