Skip to content

Commit 56365d7

Browse files
committed
Remove setup.py in favor of pyproject.toml
* move graphdatascience to src/graphdatascience (except for tets * setup.py & requirements -> pyproject.toml
1 parent 6650385 commit 56365d7

File tree

662 files changed

+150
-88
lines changed

Some content is hidden

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

662 files changed

+150
-88
lines changed

MANIFEST.in

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ include requirements/base/ogb.txt
33
include requirements/base/networkx.txt
44
include requirements/base/rust-ext.txt
55
include LICENSE
6-
prune graphdatascience/tests
6+
prune scripts/
7+
prune tests/
8+
prune requirements/
79
prune graphdatascience/resources/cora/serialize_cora.py
810
prune graphdatascience/resources/imdb/serialize_imdb.py
9-
prune graphdatascience/resources/lastfm/serialize_lastfm.py
11+
prune graphdatascience/resources/lastfm/serialize_lastfm.py

pyproject.toml

Lines changed: 130 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,131 @@
11
[build-system]
2-
requires = [
3-
"setuptools>=42",
4-
"wheel"
5-
]
2+
requires = ["setuptools>=42", "wheel"]
63
build-backend = "setuptools.build_meta"
74

5+
[project]
6+
name = "graphdatascience"
7+
description = "A Python client for the Neo4j Graph Data Science (GDS) library"
8+
dynamic = ["version"]
9+
authors = [{ name = "Neo4j", email = "team-gds@neo4j.org" }]
10+
readme = "README.md"
11+
license = "Apache-2.0"
12+
classifiers = [
13+
"Development Status :: 5 - Production/Stable",
14+
"Intended Audience :: Developers",
15+
"Intended Audience :: Science/Research",
16+
"Operating System :: OS Independent",
17+
"Programming Language :: Python :: 3",
18+
"Programming Language :: Python :: 3 :: Only",
19+
"Programming Language :: Python :: 3.10",
20+
"Programming Language :: Python :: 3.11",
21+
"Programming Language :: Python :: 3.12",
22+
"Programming Language :: Python :: 3.13",
23+
"Topic :: Database",
24+
"Topic :: Scientific/Engineering",
25+
"Topic :: Software Development",
26+
"Typing :: Typed",
27+
]
28+
requires-python = ">=3.10"
29+
dependencies = [
30+
"multimethod >= 1.0, < 3.0",
31+
"neo4j >= 4.4.12, < 7.0",
32+
"numpy < 2.4",
33+
"pandas >= 1.0, < 3.0",
34+
"pyarrow >= 17.0, < 23.0",
35+
"textdistance >= 4.0, < 5.0",
36+
"tqdm >= 4.0, < 5.0",
37+
"typing-extensions >= 4.0, < 5.0",
38+
"requests",
39+
"tenacity >= 9.0",
40+
"pydantic >= 2.11"
41+
]
42+
43+
[project.urls]
44+
Homepage = "https://neo4j.com/product/graph-data-science/"
45+
Documentation = "https://neo4j.com/docs/graph-data-science-client/current/"
46+
Repository = "https://github.com/neo4j/graph-data-science-client"
47+
BugTracker = "https://github.com/neo4j/graph-data-science-client/issues"
48+
49+
[project.optional-dependencies]
50+
networkx = ["networkx >= 2.0, < 4.0"]
51+
ogb = ["ogb >= 1.0, < 2.0"]
52+
rust-ext = ["neo4j-rust-ext >= 4.4.12, < 7.0"]
53+
54+
55+
[dependency-groups]
56+
# To install all development dependencies,
57+
# run `pip install --group dev -e .` inside repository root folder.#
58+
dev = [
59+
{include-group = "dev-base"},
60+
{include-group = "test"},
61+
{include-group = "docs-ci"}
62+
]
63+
64+
65+
dev-base = [
66+
"ruff == 0.11.7",
67+
"mypy == 1.13.0",
68+
"nbconvert == 7.16.4",
69+
"pandas-stubs == 2.2.3.241009",
70+
"tox == 4.30.2",
71+
"types-setuptools == 75.8.0.20250110",
72+
"enum-tools[sphinx] == 0.12.0",
73+
"autodoc_pydantic",
74+
"types-requests",
75+
"types-tqdm",
76+
"types-python-dateutil",
77+
"python-dotenv==1.1.0"
78+
]
79+
test = [
80+
"pytest == 8.3.3",
81+
"requests_mock == 1.11.0",
82+
"pytest_mock == 3.15.1",
83+
"testcontainers >= 4.0, < 4.13.0",
84+
"python-dateutil >= 2.9"
85+
]
86+
docs-ci = [
87+
"sphinx == 7.3.7",
88+
"enum-tools[sphinx] == 0.12.0",
89+
"autodoc_pydantic"
90+
]
91+
notebook-base = [
92+
"nbconvert==7.16.4",
93+
"nbformat==5.10.4",
94+
"nbclient==0.10.2",
95+
"ipykernel==6.29.5",
96+
]
97+
notebook-aura-ci = [
98+
{include-group = "notebook-base"},
99+
"python-dotenv==1.1.0"
100+
]
101+
notebook-ci = [
102+
{include-group = "notebook-base"},
103+
"scipy == 1.14.0",
104+
"torch==2.3.0",
105+
"torch-scatter==2.1.1",
106+
"torch-sparse==0.6.17",
107+
"torch-geometric>=2.5.0"
108+
]
109+
110+
publish = ["build", "twine"]
111+
112+
113+
[tool.setuptools]
114+
include-package-data = true
115+
zip-safe = false
116+
117+
[tool.setuptools.packages.find]
118+
where = ["src"]
119+
include = [
120+
"graphdatascience*",
121+
]
122+
123+
[tool.setuptools.dynamic]
124+
version = { attr = "graphdatascience.version.__version__" }
125+
126+
[tool.setuptools.package-data]
127+
graphdatascience = ["py.typed", "resources/**/*.gzip"]
128+
8129
[tool.ruff]
9130
line-length = 120
10131

@@ -49,7 +170,9 @@ exclude = [
49170

50171
[tool.ruff.lint]
51172
select = [
52-
"E4", "E7", "E9", # default pycodestyle rules
53-
"F", # flake8
54-
"I" # isort
173+
"E4",
174+
"E7",
175+
"E9", # default pycodestyle rules
176+
"F", # flake8
177+
"I", # isort
55178
]

setup.py

Lines changed: 0 additions & 63 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

graphdatascience/arrow_client/arrow_authentication.py renamed to src/graphdatascience/arrow_client/arrow_authentication.py

File renamed without changes.

0 commit comments

Comments
 (0)