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.

Reply via email to