[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "bec_widgets" version = "2.16.0" description = "BEC Widgets" requires-python = ">=3.10" classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", ] dependencies = [ "bec_ipython_client>=3.38, <=4.0", # needed for jupyter console "bec_lib>=3.38, <=4.0", "bec_qthemes~=0.7, >=0.7", "black~=25.0", # needed for bw-generate-cli "isort~=5.13, >=5.13.2", # needed for bw-generate-cli "pydantic~=2.0", "pyqtgraph~=0.13", "PySide6~=6.8.2", "qtconsole~=5.5, >=5.5.1", # needed for jupyter console "qtpy~=2.4", ] [project.optional-dependencies] dev = [ "coverage~=7.0", "fakeredis~=2.23, >=2.23.2", "isort~=5.13, >=5.13.2", "pytest-bec-e2e>=2.21.4, <=4.0", "pytest-qt~=4.4", "pytest-random-order~=1.1", "pytest-timeout~=2.2", "pytest-xvfb~=3.0", "pytest~=8.0", "pytest-cov~=6.1.1", ] [project.urls] "Bug Tracker" = "https://gitlab.psi.ch/bec/bec_widgets/issues" Homepage = "https://gitlab.psi.ch/bec/bec_widgets" [project.scripts] bw-generate-cli = "bec_widgets.cli.generate_cli:main" bec-gui-server = "bec_widgets.cli.server:main" bec-designer = "bec_widgets.utils.bec_designer:main" bec-app = "bec_widgets.applications.bec_app:main" [tool.hatch.build.targets.wheel] include = ["*"] exclude = ["docs/**", "tests/**"] [tool.hatch.build.targets.sdist] include = ["*"] exclude = ["docs/**", "tests/**"] [tool.black] line-length = 100 skip-magic-trailing-comma = true [tool.isort] profile = "black" line_length = 100 multi_line_output = 3 include_trailing_comma = true known_first_party = ["bec_widgets"] [tool.semantic_release] build_command = "pip install build wheel && python -m build" version_toml = ["pyproject.toml:project.version"] [tool.semantic_release.commit_author] env = "GIT_COMMIT_AUTHOR" default = "semantic-release " [tool.semantic_release.commit_parser_options] allowed_tags = [ "build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test", ] minor_tags = ["feat"] patch_tags = ["fix", "perf"] default_bump_level = 0 [tool.semantic_release.remote] name = "origin" type = "github" ignore_token_for_push = true [tool.semantic_release.remote.token] env = "GH_TOKEN" [tool.semantic_release.publish] dist_glob_patterns = ["dist/*"] upload_to_vcs_release = true [tool.coverage.report] skip_empty = true # exclude empty *files*, e.g. __init__.py, from the report exclude_lines = [ "pragma: no cover", "if TYPE_CHECKING:", "return NotImplemented", "raise NotImplementedError", "\\.\\.\\.", 'if __name__ == "__main__":', ]