代码拉取完成,页面将自动刷新
# Copyright (c) "Neo4j"
# Neo4j Sweden AB [https://neo4j.com]
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[project]
name = "neo4j-rust-ext"
description = "Rust Extensions for a Faster Neo4j Bolt Driver for Python"
license = "Apache-2.0 AND MIT"
license-files = [
"LICENSE*.txt",
"NOTICE*.txt",
]
readme = "README.md"
authors = [
{name = "Neo4j, Inc.", email = "drivers@neo4j.com"},
]
dependencies = [
"neo4j == 6.0.0a1"
]
requires-python = ">=3.10"
keywords = ["neo4j", "graph", "database"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Rust",
"Topic :: Database",
"Topic :: Software Development",
]
version = "6.0.0.0a1"
[project.urls]
Homepage = "https://neo4j.com/"
Repository = "https://github.com/neo4j/neo4j-python-driver-rust-ext"
"Issue Tracker" = "https://github.com/neo4j/neo4j-python-driver-rust-ext/issues"
Changelog = "https://github.com/neo4j/neo4j-python-driver-rust-ext/blob/HEAD/CHANGELOG.md"
Forum = "https://community.neo4j.com/c/drivers-stacks/python/"
Discord = "https://discord.com/invite/neo4j"
[project.optional-dependencies]
numpy = ["neo4j[numpy]"]
pandas = ["neo4j[pandas]"]
pyarrow = ["neo4j[pyarrow]"]
[build-system]
requires = ["maturin ~= 1.9.1"]
build-backend = "maturin"
[dependency-groups]
# To install all development dependencies as well as the driver with all optional dependencies,
# run `pip install --group dev -e .` inside repository root folder.
dev = [
# dev tools
{include-group = "dep-project-dependencies"},
{include-group = "tox"},
{include-group = "precommit"},
{include-group = "test"},
{include-group = "packaging"},
]
tox = [
"tox >= 4.25.0",
]
precommit = [
"pre-commit >= 4.2.0",
"isort >= 6.0.1",
]
test = [
"pytest >= 8.3.5",
"pytest-benchmark >= 5.1.0",
"pytest-mock >= 3.14.1",
]
packaging = [
"build",
"maturin ~= 1.9.1",
"towncrier >= 24.8.0",
]
# single dependencies and other include-groups (not really meant to be installed as a group, but to avoid duplication)
dep-project-dependencies = [
"neo4j[numpy,pandas,pyarrow] == 5.28.1",
]
[tool.maturin]
features = ["pyo3/extension-module", "pyo3/generate-import-lib"]
module-name = "neo4j._rust"
exclude = [
"/.editorconfig",
".gitignore",
".gitmodules",
".pre-commit-config.yaml",
"bin/**/*",
"driver/**/*",
"test*/**/*",
"CONTRIBUTING.md",
"requirements*.txt",
"tox.ini",
{ path = "neo4j/**/.keep", format = "wheel" }
]
[tool.towncrier]
directory = "changelog.d"
version = "6.0.0.0a1"
filename = "CHANGELOG.md"
title_format = "## [{version}](https://github.com/neo4j/neo4j-python-driver-rust-ext/tree/{version}) ({project_date})\n***"
issue_format = "[#{issue}]: https://github.com/neo4j/neo4j-python-driver-rust-ext/pull/{issue}"
template = "changelog.d/template.md"
[[tool.towncrier.type]]
directory = "feature"
name = "⭐️ New Features"
showcontent = true
[[tool.towncrier.type]]
directory = "preview"
name = "🔮️ New Preview Features"
showcontent = true
[[tool.towncrier.type]]
directory = "fix"
name = "🔧️ Fixes"
showcontent = true
[[tool.towncrier.type]]
directory = "improve"
name = "👏️ Improvements"
showcontent = true
[[tool.towncrier.type]]
directory = "doc"
name = "📚️ Docs"
showcontent = true
[[tool.towncrier.type]]
directory = "mature"
name = "🌳️ Maturing"
showcontent = true
[[tool.towncrier.type]]
directory = "clean"
name = "🧹️ Clean-up"
showcontent = true
[[tool.towncrier.type]]
directory = "pkg"
name = "📦️ Packaging"
showcontent = true
[[tool.towncrier.type]]
directory = "dev"
name = "🧑️💻️ Development"
showcontent = true
[tool.isort]
combine_as_imports = true
ensure_newline_before_comments = true
force_grid_wrap = 2
# breaks order of relative imports
# https://github.com/PyCQA/isort/issues/1944
#force_sort_within_sections = true
include_trailing_comma = true
# currently broken
# https://github.com/PyCQA/isort/issues/1855
#lines_before_imports = 2
lines_after_imports = 2
lines_between_sections = 1
multi_line_output = 3
order_by_type = false
remove_redundant_aliases = true
use_parentheses = true
known_first_party = ["neo4j"]
[tool.ruff]
line-length = 79
extend-exclude = [
"driver",
]
[tool.ruff.lint]
preview = true # to get CPY lints
extend-ignore = [
"RUF002", # allow ’ (RIGHT SINGLE QUOTATION MARK) to be used as an apostrophe (e.g. "it’s")
# pydocstyle
"D1", # disable check for undocumented items (way too noisy)
"D203", # `one-blank-line-before-class`
"D212", # `multi-line-summary-first-line`
# comprehensions
"C417", # map is ok, no need to rewrite to list comprehension
# too noisy and opinionated pytest lints
"PT007",
"PT011",
"PT012",
"PT018",
# too noisy and opinionated pylint lints
"PLC0415",
"PLC1901",
"PLC2401",
"PLC2701",
"PLR09",
"PLR1702",
"PLR1704",
"PLR2004",
"PLR6301",
"PLW2901",
"PLW1641",
# too noisy and opinionated tryceratops lints
"TRY003",
"TRY300",
"TRY301",
"TRY400",
# too noisy and opinionated return statement lints
"RET505",
"RET506",
"RET507",
"RET508",
"PERF203", # try-except within loop is fine. Especially in a retry scenario
# too noisy and opinionated FURB lints
"FURB113",
"FURB118",
"FURB140",
"FURB154",
# needs fixing in ruff to work with typing.Protocol
# https://github.com/astral-sh/ruff/issues/13307
"FURB180",
]
select = [
# ruff
"RUF",
# pycodestyle
"E",
"W",
# Pyflakes
"F",
# pyupgrade
"UP",
# flake8-bugbear
"B",
# flake8-simplify
"SIM",
# pep8-naming
"N",
# pydocstyle
"D",
# pydocstyle: explicit rules not selected by the chosen convention
"D404",
# Does not yet fully support sphinx style docstrings
# https://github.com/astral-sh/ruff/pull/13286
# # pydoclint
# "DOC",
# pylint
"PL",
# tryceratops
"TRY",
# flynt
"FLY",
# Perflint
"PERF",
# refurb
"FURB",
# async checks
"ASYNC",
# check comprehensions
"C4",
# check for left-over debugger calls
"T100",
# check for left-over print calls
"T20",
# qoute styles
"Q",
# check for unnecessary parantheses in raise statements
"RSE",
# check return statements
"RET",
# check type-checking usage
"TCH",
# copyright notice
"CPY",
# check shebangs
"EXE",
# logging calls + formats
"LOG",
"G",
# flake8-pie
"PIE",
# pytest lints
"PT",
]
[tool.ruff.lint.per-file-ignores]
"{testkit,tests}/**" = [
"T20", # print statements are ok in the testing infrastructure
]
"tests/**" = [
"PLW1641", # no need for production grade test code
"FURB152", # don't tell us to use math.pi, when all we need is just some random float
# allow async functions without await to enable type checking, pretending to be async, matching type signatures
"RUF029",
]
"bin/**" = [
"T20", # print statements are ok in our helper scripts
]
[tool.ruff.lint.pycodestyle]
max-doc-length = 83 # 79 (max line length) + 4 indentation of code blocks
[tool.ruff.lint.pep8-naming]
extend-ignore-names = ["mcs"]
[tool.ruff.lint.flake8-copyright]
notice-rgx = "# Copyright \\(c\\) \"Neo4j\""
[tool.ruff.lint.pydocstyle]
convention = "pep257"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。