On Thu, Jan 24, 2019 at 02:42:59PM -0500, Dave wrote:

> I'm doing a small application and want to add user preferences.  Did some
> googling to see if there are standard Python ways/tools, but it seems not so
> much.  My specific questions are:
> 
> 1. Best practices for a user preference file/system?

Centralize as much as possible - if there's a database
consider putting user options into that.

Standard library helps in keeping dependencies down (ConfigParser).

> 2. File format favored and why - ini, JSON, etc?

Stay with something human readable.

INI is nice, but doesn't nest well, as was said. And it does
not easily lend itself to "list" style options.

> 3. File location?  I'm using Ubuntu and I believe that the correct location
> would be home/.config/<app-name> .  What about Mac and Windows?

pip3 search xdg:

        xdg (3.0.2)          - Variables defined by the XDG Base Directory 
Specification
        python-xdgapp (1.0)  - Python XDG for Applications
        mir.xdg (1.0.0)      - XDG Base Directory support
        dirspec (13.08)      - XDG Base and User directories implementation
        xdgspec (0.1.1)      - Convenient access to XDG Base Directory 
Specification variables
        pyxdg-open (0.2.1)   - Opens URL or file in user preferred application 
(xdg-open replacement).

Depending on UI toolkit:

        https://wxpython.org/Phoenix/docs/html/wx.StandardPaths.html

Karsten
-- 
GPG  40BE 5B0E C98E 1713 AFA6  5BC0 3BEA AC80 7D4F C89B
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to