Migrate your habits from Nomie to Loop Habit Tracker.
Go to file
Marty Oehme 2bbb594d62
Add informal Parser interface
Added first informal parser interface, only requiring a method to parse
events and one to parse trackers.

Theoretically we only *require* a method to parse events since, through
their contained activities, they would also come with trackers.
But this would 1) be much more opaque and a lot of work to then extract
the trackers again and 2) leave out trackers which do not yet have any
activities associated with them (i.e. trackers never once accomplished).

We can still turn the informal parser into a formal interface if need
arises: https://realpython.com/python-interface/
2021-12-15 23:12:03 +01:00
src/habitmove Add informal Parser interface 2021-12-15 23:12:03 +01:00
tests Make program downward compatible until python 3.7 2021-12-15 22:34:30 +01:00
.gitignore Add initial cli test 2021-12-06 23:20:18 +01:00
CHANGELOG.md Make program downward compatible until python 3.7 2021-12-15 22:34:30 +01:00
README.md Make program downward compatible until python 3.7 2021-12-15 22:34:30 +01:00
noxfile.py Make program downward compatible until python 3.7 2021-12-15 22:34:30 +01:00
poetry.lock Make program downward compatible until python 3.7 2021-12-15 22:34:30 +01:00
pyproject.toml Make program downward compatible until python 3.7 2021-12-15 22:34:30 +01:00

README.md

habit-migrate

Can take an export of nomie habits in json format and convert it to be importable in Loop Habit Tracker.

Confirmed working for nomie version 5.6.4 and Loop Habit Tracker version 2.0.2 and 2.0.3. Presumably works for other nomie 5.x versions and other Loop 2.x versions as well, but that is untested.

Usage

Run as a commandline utility habit migrate currently takes a single argument, the nomie database .json file. The output as importable Loop Habit Tracker database will be written to output.db in present working directory.

Can also take an existing Loop Habit database (exported from the application), and add the nomie exported habits and checkmarks to it. Simply put the exported Loop database in the same directory and call it output.db, it will not (should not™️) overwrite anything. If there are any duplicated habits however, it will add duplications of the existing repetitions into the database.

Invoked like: python run.py nomie-export.json. Note, however, that -- until a packaged version is released -- you will need to have some packages in your environment. If you wish to run it un-packaged, install poetry and let it do all dependency management by doing:

poetry install
poetry run habitmove <nomie-json>

In the future there might be an easier road to using this package but that's the way it is for now.

The package can also be used as a library to load nomie data or move data into Loop Habit Tracker.