Issues with the helloworld plugin tutorial

Hi all, I am a plugin noob and need some helping getting past the basics. I'm still fairly new to python but have programmed plenty on the Arduino and Powershell on Windows so I'm not a total programming greenhorn.

I have been following the plugin tutorial but I have hit an insurmountable issue. It all works fine until I get to the end of the Settings Galore section. When I remove the following from __init__.py:

    def get_template_vars(self):
        return dict(url=self._settings.get(["url"]))

then add:

   def get_template_configs(self):
       return [
           dict(type="navbar", custom_bindings=False),
           dict(type="settings", custom_bindings=False)
       ]

and restart octoprint the helloworld plugin shows as incompatible in the output thus:

| *OctoPrint-Helloworld (0.1.0)

and does not start. My helloworld_navbar.jinja2 & helloworld_settings.jinja2 are exactly as detailed in the tutorial. I am running the development environment as detailed here, my venv is setup with python3.12.

Extract from the startup log:

2025-04-05 17:05:16,220 - octoprint.environment - INFO - Detected environment is Python 3.12.9 under Macos (darwin). Details:
|  hardware:
|    cores: 8
|    freq: 2600
|    ram: 17179869184
|  os:
|    bits: 64
|    id: macos
|    platform: darwin
|  python:
|    pip: 25.0.1
|    version: 3.12.9
|    virtualenv: /Users/Vin/Dropbox/Docs/Python/OctoPrint-dev/venv

My XCode is old but so is my Mac and I'm unsure how much difference the XCode setup will make as I'm currently editing everything in Geany anyway to keep it simple. I'm using VSCode for my other coding projects and will probaby switch to that if/when I get past the tutorial.

If anyone could assist me getting over this hump I'd appreciate it immensely, this is the second day of mucking about with this and getting absolutely nowhere, to say that I'm frustrated would be an understatement.

TIA & kind regards.

does you __init__.py file have the following defined in it?

__plugin_pythoncompat__ = ">=3,<4"

Hey, thanks for responding.

My current __init__.py has the following entry for pythoncompat:

__plugin_pythoncompat__ = ">=3.7,<4"

I think this is from the cookiecutter as I don't recall modifying it. I just tried dropping the version from 3.7 to 3 and I'm getting the same behaviour.

please share full octoprint.log so we can see what might be going on.

Apologies for the delay, I've been busy with my production instance. Log file attached.

octoprint.log (16.3 KB)