pyproject.toml (118 lines of code) (raw):
[build-system]
requires = [
"hatchling>=1.5.0",
"jupyterlab>=4.0.0,<5.0.0",
"hatch-nodejs-version",
"hatch-jupyter-builder>=0.5"
]
build-backend = "hatchling.build"
[project]
name = "graph-notebook"
version = "5.0.0"
description = "Jupyter notebook extension to connect to graph databases"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.9,<3.12"
authors = [
{ name = "amazon-neptune", email = "amazon-neptune-pypi@amazon.com" },
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: Apache Software License"
]
keywords = ["jupyter", "neptune", "gremlin", "sparql", "opencypher"]
dependencies = [
# Jupyter ecosystem
'ipyfilechooser==0.6.0',
'ipykernel>=6.5.0',
'ipython>=7.16.1,<=8.10.0',
'ipywidgets>=8.0.0,<9.0.0',
'jupyter-server>=2.0.0,<3.0.0',
'jupyter-server-proxy>=4.0.0,<5.0.0',
'jupyter_client>=8.0.0,<9.0.0',
'jupyterlab>=4.3.5,<5.0.0',
'jupyterlab-widgets>=3.0.0,<4.0.0',
'nbclient>=0.7.3',
'nbconvert>=6.3.0,<=7.2.8',
'notebook>=7.0.0,<8.0.0',
'nbclassic>=1.0.0',
# Data processing and visualization
'itables>=2.0.0,<=2.1.0',
'networkx==2.4',
'numpy>=1.23.5,<1.24.0',
'pandas>=2.1.0,<=2.2.2',
# Graph databases and query languages
'gremlinpython>=3.5.1,<=3.7.2',
'neo4j>=5.0.0,<=5.23.1',
'rdflib==7.0.0',
'SPARQLWrapper==2.0.0',
# AWS SDK
'boto3>=1.34.74',
'botocore>=1.34.74',
# Utilities
'async-timeout>=4.0,<5.0',
'jedi>=0.18.1,<=0.18.2',
'Jinja2>=3.0.3,<=3.1.4',
'json-repair==0.29.2',
'nest_asyncio>=1.5.5,<=1.6.0',
'requests>=2.32.0,<=2.32.2'
]
[project.optional-dependencies]
test = [
"pytest==6.2.5"
]
[project.entry-points.ipython]
graph_notebook_magics = "graph_notebook.magics:load_ipython_extension"
[project.entry-points.jupyter_server]
serverextensions = "graph_notebook.nbextensions.install:_jupyter_server_extension_points"
[project.entry-points.notebook_extensions]
graph_notebook_widgets = "graph_notebook.widgets:_jupyter_nbextension_paths"
graph_notebook_nbextensions = "graph_notebook.nbextensions:_jupyter_nbextension_paths"
[project.entry-points.jupyter_labextension]
graph_notebook_widgets = "graph_notebook.widgets:_jupyter_labextension_paths"
[tool.hatch.build.hooks.jupyter-builder]
dependencies = ["hatch-jupyter-builder>=0.5"]
build-function = "hatch_jupyter_builder.npm_builder"
ensured-targets = [
"src/graph_notebook/widgets/labextension/package.json",
"src/graph_notebook/widgets/labextension/static/style.js",
"src/graph_notebook/widgets/nbextension/index.js",
]
skip-if-exists = ["src/graph_notebook/widgets/labextension/static/style.js"]
[tool.hatch.build.hooks.jupyter-builder.build-kwargs]
build_cmd = "build:prod"
npm = ["npm", "--prefix", "src/graph_notebook/widgets"]
source_dir = "src/graph_notebook/widgets"
build_dir = "src/graph_notebook/widgets/lib"
[tool.hatch.build]
artifacts = [
"src/graph_notebook/widgets/labextension",
"src/graph_notebook/widgets/nbextension",
]
[tool.hatch.build.targets.wheel.shared-data]
"src/graph_notebook/widgets/labextension" = "share/jupyter/labextensions/graph_notebook_widgets"
"src/graph_notebook/widgets/nbextension" = "share/jupyter/nbextensions/graph_notebook_widgets"
"src/graph_notebook/widgets/graph_notebook_widgets.json" = "etc/jupyter/nbconfig/notebook.d/graph_notebook_widgets.json"
"src/graph_notebook/nbextensions" = "share/jupyter/nbextensions/graph_notebook"
[tool.hatch.build.targets.sdist]
exclude = [
"/.github",
"/docs",
"node_modules",
]
[tool.hatch.build.targets.wheel]
packages = ["src/graph_notebook"]
include = [
"src/graph_notebook/**/*.py",
"src/graph_notebook/**/*.ipynb",
"src/graph_notebook/**/*.json",
"src/graph_notebook/**/*.txt",
"src/graph_notebook/**/*.html",
"src/graph_notebook/**/*.css",
"src/graph_notebook/**/*.js",
"src/graph_notebook/**/*.yaml",
"src/graph_notebook/**/*.csv"
]