[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "ifcurl" version = "0.0.0" authors = [ { name="Bruno Postle", email="bruno@postle.net" }, ] description = "Resolve and render ifc:// URLs pointing to IFC models in git repositories" readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.10" keywords = ["IFC", "BIM", "URL"] classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", ] dependencies = ["ifcopenshell", "gitpython", "platformdirs"] [project.optional-dependencies] render = ["pyvista", "numpy", "Pillow"] service = ["pyvista", "numpy", "Pillow", "fastapi", "uvicorn[standard]", "python-multipart", "bcf", "httpx"] [project.scripts] ifcurl = "ifcurl.__main__:main" [project.urls] Homepage = "https://github.com/brunopostle/ifcurl" Issues = "https://github.com/brunopostle/ifcurl/issues" [tool.setuptools.packages.find] include = ["ifcurl*"] exclude = ["test*"] [tool.setuptools.package-data] ifcurl = ["py.typed"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 120 [tool.ruff.lint] preview = true select = [ "E9", # io errors "FA", # future annotations "UP", # pyupgrade "I", # import sorting "RUF015", "RUF022", ] ignore = [ "UP007", # Optional to X | Y "UP045", # Optional to X | None "UP015", # Unnecessary mode argument "UP028", # yield for -> yield from "UP030", # implicit references for positional format fields "UP031", # Replace % with .format "UP032", # Replace .format with f-string ]