Migrate your habits from Nomie to Loop Habit Tracker.
Find a file
2021-12-07 15:30:09 +01:00
src/habitmove Add code coverage gathering 2021-12-07 15:30:09 +01:00
tests Add code coverage gathering 2021-12-07 15:30:09 +01:00
.gitignore Add initial cli test 2021-12-06 23:20:18 +01:00
CHANGELOG.md Bump version 2021-12-06 20:45:08 +01:00
poetry.lock Add code coverage gathering 2021-12-07 15:30:09 +01:00
pyproject.toml Add code coverage gathering 2021-12-07 15:30:09 +01:00
README.md Fix README by removing internal details 2021-12-06 20:40:37 +01:00

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. 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.

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.

Roadmap

  • clean up README
  • begin adding tests
    • add some unit tests for various functions
    • and at least an integration test for the stable database (loop-2021-12-02.db or equivalent)
  • abstract migration target away from loop
  • abstract import away from nomie
  • abstract importer/migrator themselves to work with other targets
  • allow migration to/from nomie/loop