[tool.pytest.ini_options] # Test discovery python_files = ["test_*.py", "*_test.py"] python_classes = ["Test*"] python_functions = ["test_*"] # Cache directory - prevent root level cache cache_dir = "dev/cache/.pytest_cache" # Test paths to run - include all test directories across the project testpaths = [ "tests", "apps/blockchain-node/tests", "apps/coordinator-api/tests", "apps/explorer-web/tests", "apps/pool-hub/tests", "apps/wallet-daemon/tests", "apps/zk-circuits/test", "cli/tests", "contracts/test", "packages/py/aitbc-crypto/tests", "packages/py/aitbc-sdk/tests", "packages/solidity/aitbc-token/test", "scripts/test" ] # Python path for imports pythonpath = [ ".", "packages/py/aitbc-crypto/src", "packages/py/aitbc-crypto/tests", "packages/py/aitbc-sdk/src", "packages/py/aitbc-sdk/tests", "apps/coordinator-api/src", "apps/coordinator-api/tests", "apps/wallet-daemon/src", "apps/wallet-daemon/tests", "apps/blockchain-node/src", "apps/blockchain-node/tests", "apps/pool-hub/src", "apps/pool-hub/tests", "apps/explorer-web/src", "apps/explorer-web/tests", "cli", "cli/tests" ] # Additional options for local testing addopts = [ "--verbose", "--tb=short", "--strict-markers", "--disable-warnings", "-ra" ] # Custom markers markers = [ "unit: Unit tests (fast, isolated)", "integration: Integration tests (may require external services)", "slow: Slow running tests", "cli: CLI command tests", "api: API endpoint tests", "blockchain: Blockchain-related tests", "crypto: Cryptography tests", "contracts: Smart contract tests", "e2e: End-to-end tests (full system)", "performance: Performance tests (measure speed/memory)", "security: Security tests (vulnerability scanning)", "gpu: Tests requiring GPU resources", "confidential: Tests for confidential transactions", "multitenant: Multi-tenancy specific tests" ] # Environment variables for tests env = [ "AUDIT_LOG_DIR=/tmp/aitbc-audit", "DATABASE_URL=sqlite:///./test_coordinator.db", "TEST_MODE=true", "SQLITE_DATABASE=sqlite:///./test_coordinator.db" ] # Warnings filterwarnings = [ "ignore::UserWarning", "ignore::DeprecationWarning", "ignore::PendingDeprecationWarning", "ignore::pytest.PytestUnknownMarkWarning", "ignore::pydantic.PydanticDeprecatedSince20", "ignore::sqlalchemy.exc.SADeprecationWarning" ] # Asyncio configuration asyncio_default_fixture_loop_scope = "function" # Import mode import_mode = "append" [project] name = "aitbc-cli" version = "0.1.0" description = "AITBC Command Line Interface Tools" authors = [ {name = "AITBC Team", email = "team@aitbc.net"} ] readme = "cli/README.md" license = "MIT" requires-python = ">=3.13" dependencies = [ "click==8.3.1", "httpx==0.28.1", "pydantic==2.12.5", "pyyaml==6.0.3", "rich==13.7.0", "keyring==25.7.0", "cryptography==46.0.5", "click-completion==0.5.2", "tabulate==0.10.0", "colorama==0.4.6", "python-dotenv==1.0.0", "asyncpg==0.31.0", # Dependencies for service module imports (coordinator-api services) "numpy>=1.26.0", "pandas>=2.0.0", "aiohttp>=3.9.0", "fastapi>=0.111.0", "uvicorn[standard]>=0.30.0" ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Distributed Computing", ] [project.optional-dependencies] dev = [ "pytest==9.0.2", "pytest-asyncio==0.21.1", "pytest-cov==7.0.0", "pytest-mock==3.15.1", "black==26.3.1", "isort==8.0.1", "ruff==0.15.5", "mypy==1.8.0", "bandit==1.9.4", "types-requests==2.32.4.20260107", "types-setuptools==69.0.0", "types-PyYAML==6.0.12", "sqlalchemy[mypy]==2.0.25" ] [project.scripts] aitbc = "aitbc_cli.main:cli" [project.urls] Homepage = "https://aitbc.net" Repository = "https://github.com/aitbc/aitbc" Documentation = "https://docs.aitbc.net" [build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] where = ["cli", "apps/coordinator-api"] include = ["aitbc_cli*", "aitbc*"] [tool.setuptools.package-dir] "aitbc_cli" = "cli/aitbc_cli" "aitbc" = "apps/coordinator-api/aitbc" [dependency-groups] dev = [ "mypy (>=1.19.1,<2.0.0)" ]