[tool.poetry]
name = "purechainlib"
version = "2.0.9"
description = "Python SDK for PureChain EVM network - Zero gas cost blockchain development"
authors = ["PureChain Team <dev@purechain.network>"]
license = "MIT"
readme = "README.md"
include = ["README_ko.md", "MANIFEST.in", "requirements.txt", "purechain_config.json"]
homepage = "https://pypi.org/project/purechainlib/"
repository = "https://pypi.org/project/purechainlib/"
documentation = "https://docs.purechain.network"
keywords = ["blockchain", "ethereum", "web3", "smart-contracts", "zero-gas", "purechain", "evm", "solidity", "defi"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Internet :: WWW/HTTP",
    "Topic :: System :: Distributed Computing",
    "Topic :: Office/Business :: Financial",
    "Topic :: Security :: Cryptography",
]

[tool.poetry.dependencies]
python = "^3.8"
web3 = "^6.11.0"
eth-account = "^0.10.0"
eth-utils = "^3.0.0"
eth-abi = "^4.2.0"
py-solc-x = "^2.0.2"
semantic-version = "^2.10.0"
httpx = "^0.25.0"
aiofiles = "^23.2.0"
ujson = "^5.8.0"
coincurve = "^18.0.0"
mnemonic = "^0.20"
python-dotenv = "^1.0.0"
pydantic = "^2.5.0"
click = "^8.1.7"
rich = "^13.7.0"
slither-analyzer = "^0.10.0"
mythril = "^0.24.0"

[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-asyncio = "^0.21.0"
pytest-cov = "^4.1.0"
black = "^23.0.0"
isort = "^5.12.0"
mypy = "^1.7.0"
flake8 = "^6.1.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.black]
line-length = 100
target-version = ['py38', 'py39', 'py310', 'py311']

[tool.isort]
profile = "black"
line_length = 100

[tool.mypy]
python_version = "3.8"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
python_files = ["test_*.py"]