# 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-extensions-cli" version = "0.0.1rc2" description = "Official command-line interface for building, bundling, and managing Apache Superset extensions" readme = "README.md" authors = [ { name = "Apache Software Foundation", email = "dev@superset.apache.org" }, ] license = { file="LICENSE.txt" } requires-python = ">=3.10" keywords = ["superset", "apache", "cli", "extensions", "analytics", "business-intelligence", "development-tools"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Software Distribution", ] dependencies = [ # no bounds for apache-superset-core until we have a stable version "apache-superset-core", "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.urls] Homepage = "https://superset.apache.org/" Documentation = "https://superset.apache.org/docs/" Repository = "https://github.com/apache/superset" "Bug Tracker" = "https://github.com/apache/superset/issues" Changelog = "https://github.com/apache/superset/blob/master/CHANGELOG.md" [project.optional-dependencies] test = [ "pytest", "pytest-cov", "pytest-mock", ] [build-system] requires = ["setuptools>=76.0.0", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools] package-dir = { "" = "src" } include-package-data = true [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] superset_extensions_cli = ["templates/**/*"] [project.scripts] superset-extensions = "superset_extensions_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_extensions_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_extensions_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_extensions_cli/*" = ["TID251"]