From 319679e74ab60b440802dca53815bc4bcff0f16f Mon Sep 17 00:00:00 2001 From: James Date: Tue, 16 Jun 2026 20:39:15 +0100 Subject: [PATCH] Updated all pyproject files with additional fields Version, desc, license, authors added for most plugins and set classifiers on core --- core/pyproject.toml | 21 +++++++++++++++++-- .../button_controller/pyproject.toml | 13 +++++++++--- .../ais_decoder_processor/pyproject.toml | 13 +++++++++--- .../com_message_source/pyproject.toml | 13 +++++++++--- .../daisy_message_source/pyproject.toml | 13 +++++++++--- .../mock_message_source/pyproject.toml | 13 +++++++++--- .../renderers/image_renderer/pyproject.toml | 15 +++++++++---- .../renderers/inky_renderer/pyproject.toml | 15 +++++++++---- plugins/screens/map_screen/pyproject.toml | 15 +++++++++---- plugins/screens/table_screen/pyproject.toml | 15 +++++++++---- plugins/screens/zone_screen/pyproject.toml | 15 +++++++++---- 11 files changed, 124 insertions(+), 37 deletions(-) diff --git a/core/pyproject.toml b/core/pyproject.toml index c2a73ae..ce695e7 100644 --- a/core/pyproject.toml +++ b/core/pyproject.toml @@ -1,11 +1,24 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "vessel-frame-core" -version = "0.0.0" +version = "0.1.0" +description = "Core services and plugin framework for Vessel Frame, an extensible AIS ship-tracking display for Raspberry Pi." requires-python = ">=3.11" +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Scientific/Engineering :: GIS", +] dependencies = [ "tomli-w>=1.2.0", "aiosqlite>=0.21.0", @@ -23,6 +36,10 @@ dev = [ "pytest-asyncio>=0.24", ] +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" + [project.scripts] vf = "vf_core.main:main" diff --git a/plugins/controllers/button_controller/pyproject.toml b/plugins/controllers/button_controller/pyproject.toml index c528850..5965e96 100644 --- a/plugins/controllers/button_controller/pyproject.toml +++ b/plugins/controllers/button_controller/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "button-controller" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "GPIO button controller plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "gpiozero>=2.0", "lgpio>=0.2"] [tool.setuptools.packages.find] @@ -13,3 +16,7 @@ where = ["src"] [project.entry-points."vesselframe.plugins.controllers"] button_controller = "button_controller:make_plugin" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/message_processors/ais_decoder_processor/pyproject.toml b/plugins/message_processors/ais_decoder_processor/pyproject.toml index 7d711d2..5182e6b 100644 --- a/plugins/message_processors/ais_decoder_processor/pyproject.toml +++ b/plugins/message_processors/ais_decoder_processor/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "ais-decoder-processor" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "AIS (NMEA) message decoder plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pyais>=2.13.2"] [tool.setuptools.packages.find] @@ -13,3 +16,7 @@ where = ["src"] [project.entry-points."vesselframe.plugins.messageprocessors"] ais_decoder_processor = "ais_decoder_processor:make_plugin" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/message_sources/com_message_source/pyproject.toml b/plugins/message_sources/com_message_source/pyproject.toml index fdde440..d7bef73 100644 --- a/plugins/message_sources/com_message_source/pyproject.toml +++ b/plugins/message_sources/com_message_source/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "com-message-source" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Serial (COM port) AIS message source plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pyserial-asyncio"] [tool.setuptools.packages.find] @@ -16,3 +19,7 @@ com_message_source = "com_message_source:make_plugin" [project.entry-points."vesselframe.config.schemas"] com_message_source = "com_message_source:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/message_sources/daisy_message_source/pyproject.toml b/plugins/message_sources/daisy_message_source/pyproject.toml index b28afa0..05f5445 100644 --- a/plugins/message_sources/daisy_message_source/pyproject.toml +++ b/plugins/message_sources/daisy_message_source/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "daisy-message-source" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Wegmatt Daisy I2C AIS receiver source plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "smbus2>=0.5.0"] [tool.setuptools.packages.find] @@ -16,3 +19,7 @@ daisy_message_source = "daisy_message_source:make_plugin" [project.entry-points."vesselframe.config.schemas"] daisy_message_source = "daisy_message_source:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/message_sources/mock_message_source/pyproject.toml b/plugins/message_sources/mock_message_source/pyproject.toml index ceccbb4..b5e5da4 100644 --- a/plugins/message_sources/mock_message_source/pyproject.toml +++ b/plugins/message_sources/mock_message_source/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "mock-message-source" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Mock AIS message source plugin for Vessel Frame. Emits pre-recorded NMEA sentences for testing." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core"] [tool.setuptools.packages.find] @@ -13,3 +16,7 @@ where = ["src"] [project.entry-points."vesselframe.plugins.messagesource"] mock_message_source = "mock_message_source:make_plugin" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/renderers/image_renderer/pyproject.toml b/plugins/renderers/image_renderer/pyproject.toml index 9344de3..5ca9eee 100644 --- a/plugins/renderers/image_renderer/pyproject.toml +++ b/plugins/renderers/image_renderer/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "image-renderer" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "PNG image renderer plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pillow>=12.0.0"] [tool.setuptools.packages.find] @@ -15,4 +18,8 @@ where = ["src"] image_renderer = "image_renderer:make_plugin" [project.entry-points."vesselframe.config.schemas"] -image_renderer = "image_renderer:get_config_schema" \ No newline at end of file +image_renderer = "image_renderer:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/renderers/inky_renderer/pyproject.toml b/plugins/renderers/inky_renderer/pyproject.toml index f600840..e27f3eb 100644 --- a/plugins/renderers/inky_renderer/pyproject.toml +++ b/plugins/renderers/inky_renderer/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "inky-renderer" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Pimoroni Inky e-ink renderer plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pillow>=12.0.0", "inky>=2.2.1"] [tool.setuptools.packages.find] @@ -15,4 +18,8 @@ where = ["src"] inky_renderer = "inky_renderer:make_plugin" [project.entry-points."vesselframe.config.schemas"] -inky_renderer = "inky_renderer:get_config_schema" \ No newline at end of file +inky_renderer = "inky_renderer:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/screens/map_screen/pyproject.toml b/plugins/screens/map_screen/pyproject.toml index 4028250..825dce2 100644 --- a/plugins/screens/map_screen/pyproject.toml +++ b/plugins/screens/map_screen/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "map-screen" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Map screen layout plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pillow>=12.0.0"] [tool.setuptools.packages.find] @@ -15,4 +18,8 @@ where = ["src"] map_screen = "map_screen:make_plugin" [project.entry-points."vesselframe.config.schemas"] -map_screen = "map_screen:get_config_schema" \ No newline at end of file +map_screen = "map_screen:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/screens/table_screen/pyproject.toml b/plugins/screens/table_screen/pyproject.toml index 3a30a78..7e2a2e7 100644 --- a/plugins/screens/table_screen/pyproject.toml +++ b/plugins/screens/table_screen/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "table-screen" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Vessel table screen layout plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pillow>=12.0.0"] [tool.setuptools.packages.find] @@ -15,4 +18,8 @@ where = ["src"] table_screen = "table_screen:make_plugin" [project.entry-points."vesselframe.config.schemas"] -table_screen = "table_screen:get_config_schema" \ No newline at end of file +table_screen = "table_screen:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame" diff --git a/plugins/screens/zone_screen/pyproject.toml b/plugins/screens/zone_screen/pyproject.toml index 1130a1a..f876dad 100644 --- a/plugins/screens/zone_screen/pyproject.toml +++ b/plugins/screens/zone_screen/pyproject.toml @@ -1,11 +1,14 @@ [build-system] -requires = ["setuptools>=69"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "zone-screen" -version = "0.0.0" -requires-python = ">=3.10" +version = "0.1.0" +description = "Zone (proximity) screen layout plugin for Vessel Frame." +license = "GPL-3.0-only" +authors = [{ name = "Spook Workshop" }] +requires-python = ">=3.11" dependencies = ["vessel-frame-core", "pillow>=12.0.0"] [tool.setuptools.packages.find] @@ -15,4 +18,8 @@ where = ["src"] zone_screen = "zone_screen:make_plugin" [project.entry-points."vesselframe.config.schemas"] -zone_screen = "zone_screen:get_config_schema" \ No newline at end of file +zone_screen = "zone_screen:get_config_schema" + +[project.urls] +Homepage = "https://github.com/SpookWorkshop/vessel-frame" +Repository = "https://github.com/SpookWorkshop/vessel-frame"