# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. [project] name = "apache-superset-cli" version = "0.0.1" description = "SDK to build Apache Superset extensions" authors = [ { name = "Apache Software Foundation", email = "dev@superset.apache.org" }, ] license = { file="LICENSE.txt" } requires-python = ">=3.10" classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ] dependencies = [ "apache-superset-core>=0.0.1, <0.2", "click>=8.0.3", "jinja2>=3.1.6", "semver>=3.0.4", "tomli>=2.2.1; python_version < '3.11'", "watchdog>=6.0.0", ] [project.optional-dependencies] test = [ "pytest", "pytest-cov", "pytest-mock", ] [build-system] requires = ["setuptools>=76.0.0", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools] packages = ["superset_cli"] package-dir = { "" = "src" } [project.scripts] superset-extensions = "superset_cli.cli:app" [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py", "*_test.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = [ "--strict-markers", "--strict-config", "--verbose", "--cov=superset_cli", "--cov-report=term-missing", "--cov-report=html:htmlcov" ] markers = [ "unit: Unit tests", "integration: Integration tests", "cli: CLI command tests", "slow: Slow running tests", ] [tool.coverage.run] source = ["src/superset_cli"] omit = ["*/tests/*", "*/test_*"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ] [tool.ruff.lint.per-file-ignores] "src/superset_cli/*" = ["TID251"]