Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
- Enhance assignment bot to guard against users with spam PRs `.github/scripts/bot-assignment-check.sh`
- Add CodeRabbit documentation review prompts for docs, sdk_users, and sdk_developers with priorities, philosophy, and edge case checks. ([#1236](https://github.com/hiero-ledger/hiero-sdk-python/issues/1236))
- Enhance NodeAddress tests with additional coverage for proto conversion `tests/unit/node_address_test.py`
- Updated `pyproject.toml` to enforce stricter Ruff linting rules, including Google-style docstrings (`D`), import sorting (`I`), and modern Python syntax (`UP`).

### Fixed
- GFI workflow casing
Expand Down
42 changes: 33 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ authors = [
{ name = "Nadine Loepfe", email = "nadine.loepfe@hashgraph.com" },
{ name = "Richard Bair", email = "rbair23@users.noreply.github.com" }
]
license = { file = "LICENSE" }
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.10, <3.14"
dependencies = [
Expand All @@ -19,7 +19,7 @@ dependencies = [
"grpcio==1.76.0",
"cryptography==44.0.0",
"python-dotenv==1.2.1",
"requests>=2.32.4,<=2.32.5",
"requests>=2.32.4",
"pycryptodome==3.23.0",
"eth-abi==5.2.0",
"rlp>=4.0.0",
Expand All @@ -28,25 +28,25 @@ dependencies = [
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Operating System :: OS Independent",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules"
"Topic :: Software Development :: Libraries",
]

[dependency-groups]
dev = [
"pytest>=8.3.4",
"pytest-cov>=7.0.0"
"pytest-cov>=7.0.0",
]
lint = [
"ruff>=0.8.3",
"typing-extensions>=4.15.0",
"ruff>=0.14.9",
"mypy>=1.18.2",

"typing-extensions>=4.15.0",
]

[tool.uv]
Expand All @@ -61,7 +61,7 @@ version_scheme = "python-simplified-semver"
local_scheme = "dirty-tag"

[tool.pdm]
version = {source = "scm"}
version = { source = "scm" }

[tool.pdm.build]
package-dir = "src"
Expand All @@ -73,6 +73,30 @@ testpaths = ["tests"]

[tool.ruff]
line-length = 120
target-version = "py310"

[tool.ruff.lint]
select = ["E", "W", "F", "C", "I", "D"]
select = [
"D", # docstrings
"E", # pycodestyle errors
"F", # pyflakes
"I", # import sorting
"B", # bugbear (real bugs)
"UP", # pyupgrade (modern syntax)
"SIM", # simplify logic
"PERF", # performance traps
"ARG", # unused function arguments
"RET", # return consistency
"RSE", # exception correctness
]
ignore = [
"D212", # disable "summary on same line"
"E501", # line length -> formatter
]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"

[tool.ruff.lint.pydocstyle]
convention = "google"