From a98346735a9ad6b50c12fc2c9cc815d9324f2bcd Mon Sep 17 00:00:00 2001 From: Jo-Byr Date: Tue, 9 Jun 2026 09:48:10 +0200 Subject: [PATCH] chore: migrate from setup tools to hatchling --- .flake8 | 2 +- .pre-commit-config.yaml | 1 - MANIFEST.in | 14 ----------- pyproject.toml | 24 +++++++++++++------ {trame/modules => src/trame}/__init__.py | 0 {trame/ui => src/trame/modules}/__init__.py | 0 {trame => src/trame}/modules/www.py | 0 src/trame/ui/__init__.py | 1 + {trame => src/trame}/ui/html.py | 0 {trame => src/trame}/widgets/client.py | 0 {trame => src/trame}/widgets/html.py | 0 .../trame_client}/__init__.py | 0 .../trame_client}/encoders/__init__.py | 0 .../trame_client}/encoders/numpy.py | 0 .../trame_client}/external_script_handler.py | 0 .../trame_client}/module/.gitignore | 0 .../trame_client}/module/__init__.py | 0 .../module/user_provided_scripts/.gitignore | 0 .../module/user_provided_scripts/es/.gitkeep | 0 .../module/user_provided_scripts/umd/.gitkeep | 0 .../trame_client}/module/vue2.py | 0 .../trame_client}/module/vue3.py | 0 .../trame_client}/resources/attributes.json | 0 .../trame_client}/resources/events.json | 0 .../trame_client}/resources/vue.json | 0 .../trame_client}/ui/__init__.py | 0 {trame_client => src/trame_client}/ui/core.py | 0 {trame_client => src/trame_client}/ui/html.py | 0 .../trame_client}/utils/__init__.py | 0 .../trame_client}/utils/defaults.py | 0 .../trame_client}/utils/formatter.py | 0 .../trame_client}/utils/jupyter.py | 0 .../trame_client}/utils/testing.py | 0 .../trame_client}/utils/version.py | 0 .../trame_client}/utils/web_module.py | 0 .../trame_client}/widgets/__init__.py | 0 .../trame_client}/widgets/core.py | 0 .../trame_client}/widgets/generator.py | 0 .../trame_client}/widgets/html.py | 0 .../trame_client}/widgets/trame.py | 0 trame_client/LICENSE | 1 - vue2-app/vue.config.js | 2 +- vue3-app/vite.config.js | 2 +- 43 files changed, 21 insertions(+), 26 deletions(-) delete mode 100644 MANIFEST.in rename {trame/modules => src/trame}/__init__.py (100%) rename {trame/ui => src/trame/modules}/__init__.py (100%) rename {trame => src/trame}/modules/www.py (100%) create mode 100644 src/trame/ui/__init__.py rename {trame => src/trame}/ui/html.py (100%) rename {trame => src/trame}/widgets/client.py (100%) rename {trame => src/trame}/widgets/html.py (100%) rename {trame_client => src/trame_client}/__init__.py (100%) rename {trame_client => src/trame_client}/encoders/__init__.py (100%) rename {trame_client => src/trame_client}/encoders/numpy.py (100%) rename {trame_client => src/trame_client}/external_script_handler.py (100%) rename {trame_client => src/trame_client}/module/.gitignore (100%) rename {trame_client => src/trame_client}/module/__init__.py (100%) rename {trame_client => src/trame_client}/module/user_provided_scripts/.gitignore (100%) rename {trame_client => src/trame_client}/module/user_provided_scripts/es/.gitkeep (100%) rename {trame_client => src/trame_client}/module/user_provided_scripts/umd/.gitkeep (100%) rename {trame_client => src/trame_client}/module/vue2.py (100%) rename {trame_client => src/trame_client}/module/vue3.py (100%) rename {trame_client => src/trame_client}/resources/attributes.json (100%) rename {trame_client => src/trame_client}/resources/events.json (100%) rename {trame_client => src/trame_client}/resources/vue.json (100%) rename {trame_client => src/trame_client}/ui/__init__.py (100%) rename {trame_client => src/trame_client}/ui/core.py (100%) rename {trame_client => src/trame_client}/ui/html.py (100%) rename {trame_client => src/trame_client}/utils/__init__.py (100%) rename {trame_client => src/trame_client}/utils/defaults.py (100%) rename {trame_client => src/trame_client}/utils/formatter.py (100%) rename {trame_client => src/trame_client}/utils/jupyter.py (100%) rename {trame_client => src/trame_client}/utils/testing.py (100%) rename {trame_client => src/trame_client}/utils/version.py (100%) rename {trame_client => src/trame_client}/utils/web_module.py (100%) rename {trame_client => src/trame_client}/widgets/__init__.py (100%) rename {trame_client => src/trame_client}/widgets/core.py (100%) rename {trame_client => src/trame_client}/widgets/generator.py (100%) rename {trame_client => src/trame_client}/widgets/html.py (100%) rename {trame_client => src/trame_client}/widgets/trame.py (100%) delete mode 120000 trame_client/LICENSE diff --git a/.flake8 b/.flake8 index c3d07e8..d35e52a 100644 --- a/.flake8 +++ b/.flake8 @@ -10,7 +10,7 @@ ignore = exclude = # These are auto-generated. Just ignore any issues. - trame_client/widgets/html.py + src/trame_client/widgets/html.py per-file-ignores = # These directories will always contain "from ... import *" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 16bd212..b751743 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,6 @@ repos: - id: check-yaml - id: debug-statements - id: end-of-file-fixer - exclude: ^trame_client/LICENSE$ - id: mixed-line-ending - id: name-tests-test args: ["--pytest-test-first"] diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 2f3cd27..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,14 +0,0 @@ -graft trame_client/resources -graft trame_client/module/vue2-www -graft trame_client/module/vue3-www -graft trame_client/module/user_provided_scripts -recursive-exclude trame_client/module/vue2-www *.map -recursive-exclude trame_client/module/vue3-www *.map -include trame_client/LICENSE -prune examples -prune js-lib -prune tests -prune visual_baseline -prune vue-app -prune vue2-app -prune vue3-app diff --git a/pyproject.toml b/pyproject.toml index 3b30e4c..b2396ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,19 +42,29 @@ dev = [ [build-system] -requires = ['setuptools', 'wheel'] -build-backend = 'setuptools.build_meta' +requires = ["hatchling"] +build-backend = "hatchling.build" -[tool.setuptools.packages.find] -where = ["."] +[tool.hatch.build] +include = [ + "/src/**/*.py", + "/src/trame_client/module/serve/**", + "src/trame_client/module/user_provided_scripts/**", +] -[tool.setuptools.package-data] -"*" = ["trame_client/module/user_provided_scripts/es", "trame_client/module/user_provided_scripts/umd/.gitkeep"] +[tool.hatch.build.targets.wheel] +packages = [ + "src/trame_client", + "src/trame", +] [tool.semantic_release] version_toml = [ "pyproject.toml:project.version", ] +version_variables = [ + "src/trame_client/__init__.py:__version__", +] build_command = """ python -m venv .venv source .venv/bin/activate @@ -78,7 +88,7 @@ fixable = ["ALL"] unfixable = [] [tool.ruff.lint.per-file-ignores] -"trame_client/widgets/html.py" = ["E742"] +"src/trame_client/widgets/html.py" = ["E742"] [tool.ruff.format] quote-style = "double" diff --git a/trame/modules/__init__.py b/src/trame/__init__.py similarity index 100% rename from trame/modules/__init__.py rename to src/trame/__init__.py diff --git a/trame/ui/__init__.py b/src/trame/modules/__init__.py similarity index 100% rename from trame/ui/__init__.py rename to src/trame/modules/__init__.py diff --git a/trame/modules/www.py b/src/trame/modules/www.py similarity index 100% rename from trame/modules/www.py rename to src/trame/modules/www.py diff --git a/src/trame/ui/__init__.py b/src/trame/ui/__init__.py new file mode 100644 index 0000000..8db66d3 --- /dev/null +++ b/src/trame/ui/__init__.py @@ -0,0 +1 @@ +__path__ = __import__("pkgutil").extend_path(__path__, __name__) diff --git a/trame/ui/html.py b/src/trame/ui/html.py similarity index 100% rename from trame/ui/html.py rename to src/trame/ui/html.py diff --git a/trame/widgets/client.py b/src/trame/widgets/client.py similarity index 100% rename from trame/widgets/client.py rename to src/trame/widgets/client.py diff --git a/trame/widgets/html.py b/src/trame/widgets/html.py similarity index 100% rename from trame/widgets/html.py rename to src/trame/widgets/html.py diff --git a/trame_client/__init__.py b/src/trame_client/__init__.py similarity index 100% rename from trame_client/__init__.py rename to src/trame_client/__init__.py diff --git a/trame_client/encoders/__init__.py b/src/trame_client/encoders/__init__.py similarity index 100% rename from trame_client/encoders/__init__.py rename to src/trame_client/encoders/__init__.py diff --git a/trame_client/encoders/numpy.py b/src/trame_client/encoders/numpy.py similarity index 100% rename from trame_client/encoders/numpy.py rename to src/trame_client/encoders/numpy.py diff --git a/trame_client/external_script_handler.py b/src/trame_client/external_script_handler.py similarity index 100% rename from trame_client/external_script_handler.py rename to src/trame_client/external_script_handler.py diff --git a/trame_client/module/.gitignore b/src/trame_client/module/.gitignore similarity index 100% rename from trame_client/module/.gitignore rename to src/trame_client/module/.gitignore diff --git a/trame_client/module/__init__.py b/src/trame_client/module/__init__.py similarity index 100% rename from trame_client/module/__init__.py rename to src/trame_client/module/__init__.py diff --git a/trame_client/module/user_provided_scripts/.gitignore b/src/trame_client/module/user_provided_scripts/.gitignore similarity index 100% rename from trame_client/module/user_provided_scripts/.gitignore rename to src/trame_client/module/user_provided_scripts/.gitignore diff --git a/trame_client/module/user_provided_scripts/es/.gitkeep b/src/trame_client/module/user_provided_scripts/es/.gitkeep similarity index 100% rename from trame_client/module/user_provided_scripts/es/.gitkeep rename to src/trame_client/module/user_provided_scripts/es/.gitkeep diff --git a/trame_client/module/user_provided_scripts/umd/.gitkeep b/src/trame_client/module/user_provided_scripts/umd/.gitkeep similarity index 100% rename from trame_client/module/user_provided_scripts/umd/.gitkeep rename to src/trame_client/module/user_provided_scripts/umd/.gitkeep diff --git a/trame_client/module/vue2.py b/src/trame_client/module/vue2.py similarity index 100% rename from trame_client/module/vue2.py rename to src/trame_client/module/vue2.py diff --git a/trame_client/module/vue3.py b/src/trame_client/module/vue3.py similarity index 100% rename from trame_client/module/vue3.py rename to src/trame_client/module/vue3.py diff --git a/trame_client/resources/attributes.json b/src/trame_client/resources/attributes.json similarity index 100% rename from trame_client/resources/attributes.json rename to src/trame_client/resources/attributes.json diff --git a/trame_client/resources/events.json b/src/trame_client/resources/events.json similarity index 100% rename from trame_client/resources/events.json rename to src/trame_client/resources/events.json diff --git a/trame_client/resources/vue.json b/src/trame_client/resources/vue.json similarity index 100% rename from trame_client/resources/vue.json rename to src/trame_client/resources/vue.json diff --git a/trame_client/ui/__init__.py b/src/trame_client/ui/__init__.py similarity index 100% rename from trame_client/ui/__init__.py rename to src/trame_client/ui/__init__.py diff --git a/trame_client/ui/core.py b/src/trame_client/ui/core.py similarity index 100% rename from trame_client/ui/core.py rename to src/trame_client/ui/core.py diff --git a/trame_client/ui/html.py b/src/trame_client/ui/html.py similarity index 100% rename from trame_client/ui/html.py rename to src/trame_client/ui/html.py diff --git a/trame_client/utils/__init__.py b/src/trame_client/utils/__init__.py similarity index 100% rename from trame_client/utils/__init__.py rename to src/trame_client/utils/__init__.py diff --git a/trame_client/utils/defaults.py b/src/trame_client/utils/defaults.py similarity index 100% rename from trame_client/utils/defaults.py rename to src/trame_client/utils/defaults.py diff --git a/trame_client/utils/formatter.py b/src/trame_client/utils/formatter.py similarity index 100% rename from trame_client/utils/formatter.py rename to src/trame_client/utils/formatter.py diff --git a/trame_client/utils/jupyter.py b/src/trame_client/utils/jupyter.py similarity index 100% rename from trame_client/utils/jupyter.py rename to src/trame_client/utils/jupyter.py diff --git a/trame_client/utils/testing.py b/src/trame_client/utils/testing.py similarity index 100% rename from trame_client/utils/testing.py rename to src/trame_client/utils/testing.py diff --git a/trame_client/utils/version.py b/src/trame_client/utils/version.py similarity index 100% rename from trame_client/utils/version.py rename to src/trame_client/utils/version.py diff --git a/trame_client/utils/web_module.py b/src/trame_client/utils/web_module.py similarity index 100% rename from trame_client/utils/web_module.py rename to src/trame_client/utils/web_module.py diff --git a/trame_client/widgets/__init__.py b/src/trame_client/widgets/__init__.py similarity index 100% rename from trame_client/widgets/__init__.py rename to src/trame_client/widgets/__init__.py diff --git a/trame_client/widgets/core.py b/src/trame_client/widgets/core.py similarity index 100% rename from trame_client/widgets/core.py rename to src/trame_client/widgets/core.py diff --git a/trame_client/widgets/generator.py b/src/trame_client/widgets/generator.py similarity index 100% rename from trame_client/widgets/generator.py rename to src/trame_client/widgets/generator.py diff --git a/trame_client/widgets/html.py b/src/trame_client/widgets/html.py similarity index 100% rename from trame_client/widgets/html.py rename to src/trame_client/widgets/html.py diff --git a/trame_client/widgets/trame.py b/src/trame_client/widgets/trame.py similarity index 100% rename from trame_client/widgets/trame.py rename to src/trame_client/widgets/trame.py diff --git a/trame_client/LICENSE b/trame_client/LICENSE deleted file mode 120000 index ea5b606..0000000 --- a/trame_client/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../LICENSE \ No newline at end of file diff --git a/vue2-app/vue.config.js b/vue2-app/vue.config.js index 0c6929b..651cf2e 100644 --- a/vue2-app/vue.config.js +++ b/vue2-app/vue.config.js @@ -8,6 +8,6 @@ module.exports = { }, // productionSourceMap: false, runtimeCompiler: true, - outputDir: path.resolve(__dirname, '../trame_client/module/vue2-www'), + outputDir: path.resolve(__dirname, '../src/trame_client/module/vue2-www'), publicPath: './', }; diff --git a/vue3-app/vite.config.js b/vue3-app/vite.config.js index f4bd321..d3ecc24 100644 --- a/vue3-app/vite.config.js +++ b/vue3-app/vite.config.js @@ -1,6 +1,6 @@ export default { base: "./", build: { - outDir: "../trame_client/module/vue3-www", + outDir: "../src/trame_client/module/vue3-www", }, };