Local locations

~cnx via misc

5 months ago

~cnx via misc

9 months ago

#Local locations for Python

It's mi vida loca.

Loca is a highly opinionated redesign of appdirs. It relies on pathlib, dataclasses and @property to replace most of the parameters in the original library to create a more intuitive API.


from loca import Loca

loca = Loca()
assert loca == loca.user.data == loca.data.user
assert loca.state() == loca.user.state()
assert loca.config == loca.user.config
assert loca.cache() == loca.cache.user()

shared = loca.shared
assert shared == loca.shared.data == loca.data.shared
foobar_shared_config = shared.config() / 'foobar'


Patches must pass the checks run by tox and should be sent to ~cnx/misc@lists.sr.ht using git send-email, with the following configurations:

git config sendemail.to '~cnx/misc@lists.sr.ht'
git config format.subjectPrefix 'PATCH python-loca'



Loca is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.