diff --git a/android/pyproject.toml b/android/pyproject.toml index 9dae7f3704..bdeba32f2e 100644 --- a/android/pyproject.toml +++ b/android/pyproject.toml @@ -1,6 +1,65 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-android" +description = "An Android backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "mobile", + "android", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +android = "toga_android" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/android/setup.cfg b/android/setup.cfg deleted file mode 100644 index e3ef915b3c..0000000000 --- a/android/setup.cfg +++ /dev/null @@ -1,54 +0,0 @@ -[metadata] -name = toga-android -description = An Android backend for the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - toga - cross-platform - mobile - android - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - android = toga_android - -[options.packages.find] -where = src diff --git a/android/setup.py b/android/setup.py deleted file mode 100644 index 117b407133..0000000000 --- a/android/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "toga-core==%s" % version, - ], -) diff --git a/cocoa/pyproject.toml b/cocoa/pyproject.toml index 68b490f89a..26456489ff 100644 --- a/cocoa/pyproject.toml +++ b/cocoa/pyproject.toml @@ -1,6 +1,68 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-cocoa" +description = "A Cocoa (macOS) backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "desktop", + "macOS", + "cocoa", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +macOS = "toga_cocoa" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "fonttools >= 4.42.1, < 5.0.0", + "rubicon-objc >= 0.4.7, < 0.5.0", + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/cocoa/setup.cfg b/cocoa/setup.cfg deleted file mode 100644 index 7b9f2cc29f..0000000000 --- a/cocoa/setup.cfg +++ /dev/null @@ -1,55 +0,0 @@ -[metadata] -name = toga-cocoa -description = A Cocoa (macOS) backend for the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - toga - desktop - macOS - cocoa - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - macOS = toga_cocoa - -[options.packages.find] -where = src diff --git a/cocoa/setup.py b/cocoa/setup.py deleted file mode 100644 index 30217c2e40..0000000000 --- a/cocoa/setup.py +++ /dev/null @@ -1,13 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "fonttools >= 4.42.1, < 5.0.0", - "rubicon-objc >= 0.4.7, < 0.5.0", - f"toga-core == {version}", - ], -) diff --git a/demo/pyproject.toml b/demo/pyproject.toml index b8e718c817..b256dfea8f 100644 --- a/demo/pyproject.toml +++ b/demo/pyproject.toml @@ -1,6 +1,72 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-demo" +description = "A demonstration of the capabilities of the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "desktop", + "mobile", + "macOS", + "cocoa", + "iOS", + "android", + "windows", + "winforms", + "linux", + "gtk", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.scripts] +toga-demo = "toga_demo.__main__:run" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "toga == {version}", +] [tool.briefcase] project_name = "Toga Demo" diff --git a/demo/setup.cfg b/demo/setup.cfg deleted file mode 100644 index d35fa90721..0000000000 --- a/demo/setup.cfg +++ /dev/null @@ -1,78 +0,0 @@ -[metadata] -name = toga-demo -description = A demonstration of the capabilities of the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - desktop - mobile - macOS - cocoa - iOS - android - windows - winforms - linux - gtk - -[options] -packages = find: -python_requires = >= 3.7 -zip_safe = False - -[options.entry_points] -console_scripts = - toga-demo = toga_demo.__main__:run - -[options.packages.find] -include = - toga_demo - toga_demo.* - -[options.package_data] -toga_demo.resources = - *.icns - *.png - -[flake8] -exclude=\ - .eggs/*,\ - build/* -max-complexity = 10 -max-line-length = 119 -ignore = E121,E123,E126,E226,E24,E704,W503,W504,C901 - -[isort] -multi_line_output = 3 diff --git a/demo/setup.py b/demo/setup.py deleted file mode 100644 index 857372ef3e..0000000000 --- a/demo/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - f"toga=={version}", - ], -) diff --git a/dummy/pyproject.toml b/dummy/pyproject.toml index 884844b9a7..f429d86cb1 100644 --- a/dummy/pyproject.toml +++ b/dummy/pyproject.toml @@ -1,3 +1,61 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-dummy" +description = "A dummy testing backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "testing", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +dummy = "toga_dummy" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "toga-core == {version}", +] diff --git a/dummy/setup.cfg b/dummy/setup.cfg deleted file mode 100644 index b84bab24c0..0000000000 --- a/dummy/setup.cfg +++ /dev/null @@ -1,62 +0,0 @@ -[metadata] -name = toga-dummy -description = A dummy testing backend for the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - toga - testing - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - dummy = toga_dummy - -[options.extras_require] -dev = - pre-commit - tox -test = - pytest - pytest-tldr - coverage[toml] - -[options.packages.find] -where = src diff --git a/dummy/setup.py b/dummy/setup.py deleted file mode 100644 index 117b407133..0000000000 --- a/dummy/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "toga-core==%s" % version, - ], -) diff --git a/gtk/pyproject.toml b/gtk/pyproject.toml index cc44825992..3795201113 100644 --- a/gtk/pyproject.toml +++ b/gtk/pyproject.toml @@ -1,6 +1,68 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-gtk" +description = "A GTK backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "desktop", + "linux", + "freeBSD", + "gtk", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +linux = "toga_gtk" +freeBSD = "toga_gtk" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/gtk/setup.cfg b/gtk/setup.cfg deleted file mode 100644 index cc09df2006..0000000000 --- a/gtk/setup.cfg +++ /dev/null @@ -1,57 +0,0 @@ -[metadata] -name = toga-gtk -description = A GTK backend for the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - toga - desktop - linux - freeBSD - gtk - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - linux = toga_gtk - freeBSD = toga_gtk - -[options.packages.find] -where = src diff --git a/gtk/setup.py b/gtk/setup.py deleted file mode 100644 index c7ce5cbbdf..0000000000 --- a/gtk/setup.py +++ /dev/null @@ -1,14 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "toga-core==%s" % version, - "gbulb>=0.5.3", - "pycairo>=1.17.0", - "pygobject>=3.46.0", - ], -) diff --git a/iOS/pyproject.toml b/iOS/pyproject.toml index 8066590905..40a5aab309 100644 --- a/iOS/pyproject.toml +++ b/iOS/pyproject.toml @@ -1,6 +1,67 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-iOS" +description = "An iOS backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "mobile", + "iOS", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +iOS = "toga_iOS" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "fonttools >= 4.42.1, < 5.0.0", + "rubicon-objc >= 0.4.7, < 0.5.0", + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/iOS/setup.cfg b/iOS/setup.cfg deleted file mode 100644 index 18d9fe6002..0000000000 --- a/iOS/setup.cfg +++ /dev/null @@ -1,54 +0,0 @@ -[metadata] -name = toga-iOS -description = An iOS backend for the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - toga - cross-platform - mobile - iOS - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - iOS = toga_iOS - -[options.packages.find] -where = src diff --git a/iOS/setup.py b/iOS/setup.py deleted file mode 100644 index 30217c2e40..0000000000 --- a/iOS/setup.py +++ /dev/null @@ -1,13 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "fonttools >= 4.42.1, < 5.0.0", - "rubicon-objc >= 0.4.7, < 0.5.0", - f"toga-core == {version}", - ], -) diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 5193ad0b68..0000000000 --- a/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[flake8] -max-line-length = 119 -extend-ignore = - # whitespace before : - # See https://github.com/PyCQA/pycodestyle/issues/373 - E203, diff --git a/textual/pyproject.toml b/textual/pyproject.toml index 32ff78706c..43b88f679c 100644 --- a/textual/pyproject.toml +++ b/textual/pyproject.toml @@ -1,6 +1,70 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-textual" +description = "A Textual backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "desktop", + "console", + "textual", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +linux = "toga_textual" +windows = "toga_textual" +macOS = "toga_textual" +freeBSD = "toga_textual" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "textual", + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/textual/setup.cfg b/textual/setup.cfg deleted file mode 100644 index 2b98f712cb..0000000000 --- a/textual/setup.cfg +++ /dev/null @@ -1,59 +0,0 @@ -[metadata] -name = toga-textual -description = A Textual backend for the Toga widget toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 3 - Alpha - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - toga - desktop - console - textual - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - # The textual backend is a candidate for use on every platform. - linux = toga_textual - windows = toga_textual - macOS = toga_textual - freeBSD = toga_textual - -[options.packages.find] -where = src diff --git a/textual/setup.py b/textual/setup.py deleted file mode 100644 index 1977b3cf11..0000000000 --- a/textual/setup.py +++ /dev/null @@ -1,12 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - f"toga-core == {version}", - "textual", - ], -) diff --git a/toga/pyproject.toml b/toga/pyproject.toml index 884844b9a7..c04f653ec7 100644 --- a/toga/pyproject.toml +++ b/toga/pyproject.toml @@ -1,3 +1,72 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga" +description = "A Python native, OS native GUI toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "desktop", + "mobile", + "web", + "macOS", + "cocoa", + "iOS", + "android", + "windows", + "winforms", + "linux", + "freeBSD", + "gtk", + "console", + "web", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies.optional-dependencies] +':sys_platform=="win32"' = ["toga-winforms == {version}"] +':sys_platform=="linux"' = ["toga-gtk == {version}"] +':"freebsd" in sys_platform' = ["toga-gtk == {version}"] +':sys_platform=="darwin"' = ["toga-cocoa == {version}"] diff --git a/toga/setup.cfg b/toga/setup.cfg deleted file mode 100644 index 47e639c815..0000000000 --- a/toga/setup.cfg +++ /dev/null @@ -1,54 +0,0 @@ -[metadata] -name = toga -description = A Python native, OS native GUI toolkit. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - desktop - mobile - web - macOS - cocoa - iOS - android - windows - winforms - linux - freeBSD - gtk - -[options] -zip_safe = False -python_requires = >= 3.8 -packages = diff --git a/toga/setup.py b/toga/setup.py deleted file mode 100644 index 240d3f7fb8..0000000000 --- a/toga/setup.py +++ /dev/null @@ -1,15 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - extras_require={ - # Automatically installed platform backends - ':sys_platform=="win32"': ["toga-winforms==%s" % version], - ':sys_platform=="linux"': ["toga-gtk==%s" % version], - ':"freebsd" in sys_platform': ["toga-gtk==%s" % version], - ':sys_platform=="darwin"': ["toga-cocoa==%s" % version], - }, -) diff --git a/tox.ini b/tox.ini index f25cf8f399..bce2288021 100644 --- a/tox.ini +++ b/tox.ini @@ -1,3 +1,11 @@ +# Flake8 doesn't provide a pyproject configuration, but allows tox.ini +[flake8] +max-line-length = 119 +extend-ignore = + # whitespace before : + # See https://github.com/PyCQA/pycodestyle/issues/373 + E203, + # The leading comma generates the "py" environment. [testenv:py{,38,39,310,311,312}] skip_install = True @@ -60,7 +68,7 @@ commands = [testenv:package] skip_install = True deps = - check_manifest==0.48 + check_manifest==0.49 build==0.9.0 twine==4.0.2 commands = diff --git a/web/pyproject.toml b/web/pyproject.toml index 388c39d1e0..ea2e984c7d 100644 --- a/web/pyproject.toml +++ b/web/pyproject.toml @@ -1,6 +1,67 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-web" +description = "A Web backend for the Toga widget toolkit." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "web", + "pyscript", + "pyodide", + "wasm", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +web = "toga_web" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/web/setup.cfg b/web/setup.cfg deleted file mode 100644 index 3221e804e8..0000000000 --- a/web/setup.cfg +++ /dev/null @@ -1,57 +0,0 @@ -[metadata] -name = toga-web -description = A common backend for the Toga widget toolkit on web platforms. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 3 - Alpha - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - toga - web - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.entry_points] -toga.backends = - web = toga_web - -[options.package_data] -toga_web = - static/** - -[options.packages.find] -where = src diff --git a/web/setup.py b/web/setup.py deleted file mode 100644 index 117b407133..0000000000 --- a/web/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "toga-core==%s" % version, - ], -) diff --git a/winforms/pyproject.toml b/winforms/pyproject.toml index 3fa806db1d..8ddc519645 100644 --- a/winforms/pyproject.toml +++ b/winforms/pyproject.toml @@ -1,6 +1,67 @@ [build-system] -requires = ["setuptools==66.1.1", "setuptools_scm[toml]==7.0.5"] -build-backend = "setuptools.build_meta" +requires = [ + "setuptools==66.1.1", + "setuptools_scm[toml]==7.0.5", + "git+https://github.com/beeware/setuptools_dynamic_dependencies", +] + +[project] +dynamic = ["version", "dependencies"] +name = "toga-winforms" +description = "A Windows backend for the Toga widget toolkit using the WinForms API." +readme = "README.rst" +requires-python = ">= 3.8" +license.file = "LICENSE" +authors = [ + {name="Russell Keith-Magee", email="russell@keith-magee.com"}, +] +maintainers = [ + {name="BeeWare Team", email="team@beeware.org"}, +] +keywords = [ + "gui", + "widget", + "cross-platform", + "toga", + "desktop", + "macOS", + "cocoa", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development", + "Topic :: Software Development :: User Interfaces", + "Topic :: Software Development :: Widget Sets", +] + +[project.urls] +Project = "https://beeware.org/project/projects/libraries/toga/" +Funding = "https://beeware.org/contributing/membership/" +Documentation = "http://toga.readthedocs.io/en/latest/" +Tracker = "https://github.com/beeware/toga/issues" +Source = "https://github.com/beeware/toga" + +[project.entry-points."toga.backends"] +macOS = "toga_cocoa" + +[tool.setuptools_scm] +root = ".." + +[tool.setuptools_dynamic_dependencies] +dependencies = [ + "pythonnet >= 3.0.0", + "toga-core == {version}", +] [tool.coverage.run] parallel = true diff --git a/winforms/setup.cfg b/winforms/setup.cfg deleted file mode 100644 index e4a72d66fa..0000000000 --- a/winforms/setup.cfg +++ /dev/null @@ -1,59 +0,0 @@ -[metadata] -name = toga-winforms -description = A Windows backend for the Toga widget toolkit using the WinForms API. -url = https://beeware.org/project/projects/libraries/toga/ -project_urls = - Funding = https://beeware.org/contributing/membership/ - Documentation = http://toga.readthedocs.io/en/latest/ - Tracker = https://github.com/beeware/toga/issues - Source = https://github.com/beeware/toga -author = Russell Keith-Magee -author_email = russell@keith-magee.com -maintainer = BeeWare Team -maintainer_email = team@beeware.org -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3 :: Only - Topic :: Software Development - Topic :: Software Development :: User Interfaces - Topic :: Software Development :: Widget Sets -license = New BSD -license_files = - = LICENSE -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -keywords = - gui - widget - cross-platform - toga - desktop - windows - winforms - -[options] -packages = find: -package_dir = - = src -python_requires = >= 3.8 -zip_safe = False - -[options.package_data] -toga_winforms = - libs/WebView2/** - -[options.entry_points] -toga.backends = - windows = toga_winforms - -[options.packages.find] -where = src diff --git a/winforms/setup.py b/winforms/setup.py deleted file mode 100644 index 052ef3d036..0000000000 --- a/winforms/setup.py +++ /dev/null @@ -1,12 +0,0 @@ -from setuptools import setup -from setuptools_scm import get_version - -version = get_version(root="..") - -setup( - version=version, - install_requires=[ - "pythonnet>=3.0.0", - "toga-core==%s" % version, - ], -)