[build-system] requires = ["setuptools>=68.0"] build-backend = "setuptools.build_meta" [project] name = "py-active-call-cc" version = "0.1.0" description = "Python Active-Call: Real-time audio streaming with WebSocket and WebRTC" readme = "README.md" requires-python = ">=3.11" license = {text = "MIT"} authors = [ {name = "Your Name", email = "your.email@example.com"} ] keywords = ["webrtc", "websocket", "audio", "voip", "real-time"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Topic :: Communications :: Telephony", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] [project.urls] Homepage = "https://github.com/yourusername/py-active-call-cc" Documentation = "https://github.com/yourusername/py-active-call-cc/blob/main/README.md" Repository = "https://github.com/yourusername/py-active-call-cc.git" Issues = "https://github.com/yourusername/py-active-call-cc/issues" [tool.setuptools.packages.find] where = ["."] include = ["app*"] exclude = ["tests*", "scripts*", "reference*"] [tool.black] line-length = 100 target-version = ['py311'] include = '\.pyi?$' extend-exclude = ''' /( # directories \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | build | dist | reference )/ ''' [tool.ruff] line-length = 100 target-version = "py311" select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = [ "E501", # line too long (handled by black) "B008", # do not perform function calls in argument defaults ] exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".hg", ".mypy_cache", ".nox", ".pants.d", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", "reference", ] [tool.ruff.per-file-ignores] "__init__.py" = ["F401"] # unused imports [tool.mypy] python_version = "3.11" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false disallow_incomplete_defs = false check_untyped_defs = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true strict_equality = true exclude = [ "venv", "reference", "build", "dist", ] [[tool.mypy.overrides]] module = [ "aiortc.*", "av.*", "onnxruntime.*", ] ignore_missing_imports = true [tool.pytest.ini_options] minversion = "7.0" addopts = "-ra -q --strict-markers --strict-config" testpaths = ["tests"] pythonpath = ["."] asyncio_mode = "auto" markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", "integration: marks tests as integration tests", ]