Files
specklepy/pyproject.toml
T
Jedd Morgan 55bc1b2fa5 feat(speckleifc): New PR to add speckleifc repo into this one (#437)
* Initial commit

* Repo setup

* first working version

* Optimised mesh conversion

* timers

* first pass

* format

* Format

* deleted old file

* Working grabbing spatial elements, but not all relationships captured

* DFS for spatials, itterator for geometry

* Second pass, manual traversal

* Ok, this is working nicely now

* Cleanup

* Convert render materials

* property set extraction (#2)

* various changes (#4)

* Fix for non-app.speckle.systems servers (#5)

* don't use https for http server urls (#6)

* fix(conversion): Filter only IfcRoot classes (#7)

* Filter only IfcRoot classes

* vscode config

* Feat(prop): Added better property extraction (#8)

* Added better property extraction

* property sets naming

* feat: attach attributes that are on the element type level (#9)

* Added better property extraction

* property sets naming

* Get attributes from element type

* tidy up (#10)

* Add null check (#11)

* ruff (#12)

* Rendermaterials inherit material names instead of type + unique id (#14)

* lock

* ruff check

* pre-commit

* add license files for the speckleifc subpackage

---------

Co-authored-by: Sebastian Witt <sebastian.witt@rwth-aachen.de>
Co-authored-by: Gergő Jedlicska <57442769+gjedlicska@users.noreply.github.com>
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2025-07-27 19:40:36 +02:00

97 lines
2.0 KiB
TOML

[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",
"httpx>=0.28.1",
"pydantic>=2.10.5",
"pydantic-settings>=2.7.1",
"ujson>=5.10.0",
]
[project.optional-dependencies]
speckleifc = ["ifcopenshell>=0.8.2"]
[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",
"ruff>=0.9.2",
"types-deprecated>=1.2.15.20241117",
"types-requests>=2.32.0.20241016",
"types-ujson>=5.10.0.20240515",
]
[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/"