content: [build-system]
  requires = ["setuptools>=61.0.0", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "neo4j-viz"
  version = "0.5.1"
  description = "A simple graph visualization tool"
  readme = "README.md"
  authors = [{ name = "Neo4j", email = "team-gds@neo4j.org" }]
  license = { file = "LICENSE" }
  classifiers = [
      "Development Status :: 3 - Alpha",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
      "Operating System :: OS Independent",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Topic :: Database :: Front-Ends",
      "Topic :: Scientific/Engineering",
      "Topic :: Scientific/Engineering :: Visualization",
      "Topic :: Software Development",
      "Typing :: Typed",
  ]
  keywords = ["graph", "visualization", "neo4j"]
  dependencies = [
      "ipython >=7, <10",
      "pydantic >=2 , <3",
      "pydantic-extra-types >=2, <3",
      "enum-tools==0.12.0"
  ]
  requires-python = ">=3.9"
  
  
  [project.optional-dependencies]
  dev = [
      "ruff==0.11.8",
      "mypy==1.17.1",
      "pytest==8.3.4",
      "selenium==4.32.0",
      "ipykernel==6.29.5",
      "palettable==3.3.3",
      "pytest-mock==3.14.0",
      "nbconvert==7.16.6",
      "streamlit==1.45.0",
      "matplotlib>=3.9.4",
  ]
  docs = [
      "sphinx==8.1.3",
      "enum-tools[sphinx]",
      "nbsphinx==0.9.6",
      "nbsphinx-link==1.3.1",
  ]
  pandas = ["pandas>=2, <3", "pandas-stubs>=2, <3"]
  gds = ["graphdatascience>=1, <2"]
  neo4j = ["neo4j"]
  snowflake = ["snowflake-snowpark-python>=1, <2"]
  notebook = [
      "ipykernel>=6.29.5",
      "pykernel>=0.1.6",
      "neo4j>=5.26.0",
      "ipywidgets>=8.0.0",
      "palettable>=3.3.3",
      "matplotlib>=3.9.4",
      "snowflake-snowpark-python==1.37.0",
  ]
  
  [project.urls]
  Homepage = "https://neo4j.com/"
  Repository = "https://github.com/neo4j/python-graph-visualization"
  Issues = "https://github.com/neo4j/python-graph-visualization/issues"
  Documentation = "https://neo4j.com/docs/nvl-python/preview"
  
  [tool.setuptools]
  include-package-data = true
  
  [tool.setuptools.packages.find]
  where = ["src"] # list of folders that contain the packages (["."] by default)
  include = [
      "neo4j_viz*",
  ] # package names should match these glob patterns (["*"] by default)
  namespaces = false # only scan directories with __init__.py files (true by default)
  
  [tool.setuptools.package-data]
  neo4j_viz = [
      "resources/nvl_entrypoint/base.js",
      "resources/nvl_entrypoint/styles.css",
      "resources/icons/*.svg",
      "py.typed"
  ]
  
  [tool.pytest.ini_options]
  addopts = ["--import-mode=importlib"]
  
  [tool.ruff]
  line-length = 120
  include = ["*.py", "*.ipynb"]
  
  exclude = [
      # default
  
      ".bzr",
      ".direnv",
      ".eggs",
      ".git",
      ".git-rewrite",
      ".hg",
      ".ipynb_checkpoints",
      ".mypy_cache",
      ".nox",
      ".pants.d",
      ".pyenv",
      ".pytest_cache",
      ".pytype",
      ".ruff_cache",
      ".svn",
      ".tox",
      ".venv",
      ".vscode",
      "__pypackages__",
      "_build",
      "buck-out",
      "build",
      "dist",
      "node_modules",
      "site-packages",
      "venv",
  
      # custom
      "venv*",
      ".venv*",
      ".tox",
      "build",
  ]
  
  [tool.ruff.lint]
  select = [
      "E4",
      "E7",
      "E9", # default pycodestyle rules
      "F",  # flake8
      "I",  # isort
  ]
  
  [tool.mypy]
  strict = true
  exclude = [
      '(^build|^\.?venv)',
      'build',
      ]
  plugins = ['pydantic.mypy']
  untyped_calls_exclude=["nbconvert"]
  