[project] dynamic = ["version"] # version = "3.0.0a1" name = "specklepy" description = "The Python SDK for Speckle" readme = "README.md" authors = [{ name = "Speckle Systems", email = "devops@speckle.systems" }] license = { text = "Apache-2.0" } requires-python = ">=3.10.0, <4.0" dependencies = [ "appdirs>=1.4.4", "attrs>=24.3.0", "deprecated>=1.2.15", "gql[requests,websockets]>=3.5.0,<4.0.0", "httpx>=0.28.1", "pydantic>=2.10.5", "pydantic-settings>=2.7.1", "ujson>=5.10.0", ] [project.optional-dependencies] speckleifc = ["ifcopenshell>=0.8.3.post2"] [dependency-groups] dev = [ "commitizen>=4.1.0", "devtools>=0.12.2", "hatch>=1.14.0", "hatch-vcs>=0.4.0", "pre-commit>=4.0.1", "pytest>=8.3.4", "pytest-asyncio>=0.25.2", "pytest-cov>=6.0.0", "pytest-ordering>=0.6", "pytest_httpserver >=1.1.3", "ruff==0.9.2", "types-deprecated>=1.2.15.20241117", "types-requests>=2.32.0.20241016", "types-ujson>=5.10.0.20240515", ] docs = [ "mkdocs>=1.6.1", "mkdocs-material>=9.6.5", "mkdocstrings>=0.28.1", "mkdocstrings-python>=1.15.0", ] [project.urls] repository = "https://github.com/specklesystems/specklepy" documentation = "https://speckle.guide/dev/py-examples.html" homepage = "https://speckle.systems/" [build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" [tool.hatch.version] source = "vcs" [tool.hatch.build.targets.wheel] only-include = ["src", "licenses"] sources = ["src"] [tool.hatch.build.targets.sdist] include = ["src", "licenses"] [tool.hatch.version.raw-options] local_scheme = "no-local-version" [tool.commitizen] name = "cz_conventional_commits" version = "2.9.2" tag_format = "$version" [tool.ruff] exclude = [".venv", "**/*.yml"] [tool.ruff.lint] select = [ # pycodestyle "E", # Pyflakes "F", # pyupgrade "UP", # flake8-bugbear "B", # flake8-simplify "SIM", # isort "I", ] ignore = ["UP006", "UP007", "UP035"] [[tool.uv.index]] name = "pypi" url = "https://pypi.org/simple/" publish-url = "https://upload.pypi.org/legacy/" [[tool.uv.index]] name = "test" url = "https://test.pypi.org/simple/" publish-url = "https://test.pypi.org/legacy/"