If there’s a new format, I’d much prefer TOML vs. JSON/YAML. TOML makes some improvements over ini files, without being an easy-for-humans-to-make-mistakes format like JSON.

But it sounds like the issue is more fundamental- that the issue has something to do with the new Python package installer not wanting to edit existing things like the .ini file at all, no matter what syntax it has? I really have no idea here as I have yet to begin to spend time learning the newer Python package install mechanisms. 

Sent from my iPhone

On Nov 6, 2022, at 11:03 AM, Vince Skahan <[email protected]> wrote:

This one scares me, as previous versions have definitely tweaked the contents along the way of the upgrade path from version to version.   Is this something for a future 5.x major version that might have breaking changes like dropping python2 support or the like ?

Has there been any thought to dumping configobj format completely and going to a more modern mainstream format (JSON, YAML, etc.) or alternately more of a unixy setup ala something like /etc/weewx/config.d/<whatever> type files that can be simply included much like webserver configs do it ?

On Sunday, November 6, 2022 at 6:46:03 AM UTC-8 Tom Keffer wrote:
Yes, all the time.

Semantically, 'configobj' does a round trip, but textually, it leaves much to desire. 

Going forward, the intention is to start treating weewx.conf as "readonly". The installer will not try to "update" it, not even to change the version number. Any changes would be up to you, perhaps with the aid of a tool (although, if you do use a tool, you can expect the same textual changes).

The setup.py method of install is being deprecated, especially the imperative approach that WeeWX takes where many install methods are overwritten. Instead, the configuration will be specified declaratively using a pyproject.toml file. That necessarily requires that weewx.conf be treated as readonly. The actual install would be done by using pip.

-tk

On Sun, Nov 6, 2022 at 4:55 AM Greg Troxel <[email protected]> wrote:

(I have been running WeeWX since the very end of 2017, and updated a few
times.  I'm building with setup.py on NetBSD, but I'm quite used to
python.)

There is some config file auto update/merge stuff.   My usual practice
is to keep my config file matching the default example in the source
code, except for things that I intend to change, and after an update (of
almost anything, not just WeeWX) I try to diff and reduce unintended
diffs.  And yes, I think this is normal :-)

I have noticed that after doing a WeeWX upgrade, which tries to do
something that feels like a 3-way merge from old to new configs with
mine, and almost entirely gets it right, that the config file differs
from the example in two ways:

  - a bunch of whitespace changes, not important but annoying
  - quoted strings are no longer quoted

Because of this I have tended to update less often than I might.

A few minutes ago I glanced at configobj and saw the magic words "round
tripper" at https://pypi.org/project/configobj/

  ConfigObj is a simple but powerful config file reader and writer: an
  ini file round tripper.


So I wonder if the changes are something configobj views as
normalization, and if instead

  - It should be configured with WeeWX'S whitespace and qouting rules.
  - WeeWX should round-trip the default files

or if

  - I'm confused.
  - It's an artifact of my system (but I have configobj 5.0.6 which is current).

Do other people see this?

--
You received this message because you are subscribed to the Google Groups "weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/rmitu3cw8fm.fsf%40s1.lexort.com.

--
You received this message because you are subscribed to the Google Groups "weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/7e89e9d5-81c2-47d0-b251-03a1a0e176cfn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/90020AC5-8609-4DBE-A63B-42DB77B27E7A%40gmail.com.

Reply via email to