mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
142 lines
2.7 KiB
TOML
142 lines
2.7 KiB
TOML
[build-system]
|
|
requires = [
|
|
"setuptools>=61",
|
|
"wheel"
|
|
]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "bcf-client"
|
|
# author = "IfcOpenShell"
|
|
description = "BCF-XML file handler."
|
|
readme = "README.md"
|
|
requires-python = ">=3.8"
|
|
keywords = ["IFC", "BCF", "BIM"]
|
|
dependencies = [
|
|
"xsdata>=24.4",
|
|
"numpy",
|
|
"ifcopenshell",
|
|
]
|
|
version = "0.0.0"
|
|
classifiers = [
|
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Topic :: Scientific/Engineering",
|
|
"Topic :: Utilities",
|
|
]
|
|
|
|
[project.urls]
|
|
Source = "https://github.com/IfcOpenShell/IfcOpenShell"
|
|
Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues"
|
|
|
|
[tool.black]
|
|
line-length = 120
|
|
extend-exclude = "model"
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
extend_skip_glob = ["src/bcf/*/model/*"]
|
|
|
|
[tool.coverage.paths]
|
|
source = ["src"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["bcf"]
|
|
omit = ["*/model/*"]
|
|
|
|
[tool.coverage.report]
|
|
show_missing = true
|
|
fail_under = 65
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"if TYPE_CHECKING",
|
|
"if __name__ == .__main__.:",
|
|
"Protocol",
|
|
]
|
|
|
|
[tool.tox]
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
env_list = lint, type, py3{10,11}
|
|
skip_missing_interpreters = true
|
|
|
|
[testenv]
|
|
deps =
|
|
pytest
|
|
pytest-cov
|
|
coverage
|
|
commands = pytest --cov --cov-report=term tests
|
|
|
|
[testenv:lint]
|
|
description = run linters
|
|
skip_install = true
|
|
deps =
|
|
black
|
|
isort
|
|
pylint
|
|
commands =
|
|
black {posargs:.}
|
|
isort {posargs:.}
|
|
pylint {posargs:.} --output-format=colorized
|
|
|
|
[testenv:type]
|
|
description = run type checks
|
|
deps =
|
|
mypy>=0.991
|
|
commands =
|
|
- mypy {posargs:src}
|
|
"""
|
|
|
|
[tool.mypy]
|
|
check_untyped_defs = true
|
|
disallow_any_generics = true
|
|
disallow_incomplete_defs = true
|
|
disallow_subclassing_any = true
|
|
disallow_untyped_calls = true
|
|
disallow_untyped_defs = true
|
|
no_implicit_optional = true
|
|
#no_implicit_reexport = true
|
|
show_column_numbers = true
|
|
show_error_codes = true
|
|
show_error_context = true
|
|
strict_equality = true
|
|
strict_optional = true
|
|
warn_redundant_casts = true
|
|
#warn_return_any = true
|
|
warn_unreachable = true
|
|
warn_unused_configs = true
|
|
warn_unused_ignores = true
|
|
exclude= "src/bcf/v(2|3)/model"
|
|
plugins = "numpy.typing.mypy_plugin"
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "tests"
|
|
disallow_untyped_decorators = false
|
|
disallow_untyped_defs = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"pytest",
|
|
"pytest_mock",
|
|
"ifcopenshell",
|
|
"ifcopenshell.*",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.pylint.main]
|
|
ignore = ["model"]
|
|
ignored-modules = ["bcf.v2.model", "bcf.v3.model", "xsdata"]
|
|
jobs = 0
|
|
disable="all"
|
|
enable="E" # B,B9,BLK,C,D,E,F,I,N,S,W
|
|
|
|
[tool.pylint.design]
|
|
max-args = 10
|
|
max-attributes = 10
|
|
|
|
[tool.pylint.format]
|
|
expected-line-ending-format = "LF"
|
|
max-line-length = 120
|