Prepare pypi release
Added License, repository information and extended README. Added installation instructions to README. Added testing instructions to README.
This commit is contained in:
parent
031145db01
commit
b0f8c48e99
3 changed files with 52 additions and 13 deletions
|
@ -5,7 +5,13 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project tries to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project tries to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [Unreleased]
|
<!-- ## [Unreleased] -->
|
||||||
|
|
||||||
|
## [0.4.1] - 2022-01-05
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
* Added pypi release publication
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
|
52
README.md
52
README.md
|
@ -1,15 +1,34 @@
|
||||||
# habit-migrate
|
# habitmove
|
||||||
|
|
||||||
Can take an export of nomie habits in json format and convert it to be importable in Loop Habit Tracker.
|
Takes habit in one habit-tracking application and transforms them ready to use for another.
|
||||||
|
|
||||||
|
Currently can take an export of nomie habits in json format and convert it to be importable in Loop Habit Tracker.
|
||||||
|
Plans for reverse migration are on the roadmap, and ultimately this tool ideally understands more and more habit formats to prevent app lock-in.
|
||||||
|
|
||||||
Confirmed working for nomie version 5.6.4 and Loop Habit Tracker version 2.0.2 and 2.0.3.
|
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,
|
Presumably works for other nomie 5.x versions and other Loop 2.x versions as well,
|
||||||
but that is untested.
|
but that is untested.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Installation can be accomplished through *pip*:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install habitmove
|
||||||
|
```
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
|
||||||
|
`habitmove` requires at least Python 3.7.
|
||||||
|
It has only been tested on GNU/Linux (amd64) though it should work on other platforms.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Run as a commandline utility habit migrate currently takes a single argument, the nomie database `.json` file.
|
Run as a cli utility `habitmove` currently takes a single argument: the nomie database `.json` file to import habits from.
|
||||||
The output as importable Loop Habit Tracker database will be written to `output.db` in present working directory.
|
|
||||||
|
Invoked like: `habitmove nomie-export.json`.
|
||||||
|
|
||||||
|
The output as a Loop Habit Tracker database will be written to `output.db` in the present working directory.
|
||||||
|
|
||||||
Can also take an existing Loop Habit database (exported from the application),
|
Can also take an existing Loop Habit database (exported from the application),
|
||||||
and add the nomie exported habits and checkmarks to it.
|
and add the nomie exported habits and checkmarks to it.
|
||||||
|
@ -18,17 +37,28 @@ it will not (should not™️) overwrite anything.
|
||||||
If there are any duplicated habits however,
|
If there are any duplicated habits however,
|
||||||
it will add duplications of the existing repetitions into the database.
|
it will add duplications of the existing repetitions into the database.
|
||||||
|
|
||||||
Invoked like: `python run.py nomie-export.json`.
|
## Development
|
||||||
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](https://python-poetry.org/) and let it do all dependency management by doing:
|
|
||||||
|
|
||||||
```
|
To enable easy development on the app,
|
||||||
|
install [poetry](https://python-poetry.org/) and let it do all dependency management for you by doing:
|
||||||
|
|
||||||
|
```bash
|
||||||
poetry install
|
poetry install
|
||||||
poetry run habitmove <nomie-json>
|
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.
|
To see a set up more closely resembling the final cli environment,
|
||||||
|
with its libraries loaded as environmental dependencies enter the poetry shell:
|
||||||
|
|
||||||
The package can also be used as a library to load nomie data
|
```bash
|
||||||
or move data into Loop Habit Tracker.
|
poetry shell
|
||||||
|
```
|
||||||
|
|
||||||
|
The package can eventually also be used as a library to load nomie data to work with in Python,
|
||||||
|
or to move data into Loop Habit Tracker.
|
||||||
|
Take a look at the `Parser` and `Transformer` interfaces respectively.
|
||||||
|
|
||||||
|
To run tests for the app, simply invoke `pytest` through `poetry run pytest` or from within the `poetry shell`.
|
||||||
|
To run larger scale test automation, make sure you habe nox installed and run `poetry run ` or again through the shell.
|
||||||
|
|
||||||
|
You can exclude integration tests that take longer and inspect the complete database output of the program through the parameters `-m "not e2e"` for both `pytest` and `nox` (which also does it automatically).
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "habitmove"
|
name = "habitmove"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
description = "migrate nomie data to loop habits tracker"
|
description = "migrate nomie data to loop habits tracker"
|
||||||
|
license="GPL-3.0-only"
|
||||||
|
readme="README.md"
|
||||||
|
repository="https://git.martyoeh.me/Marty/habit-migrate"
|
||||||
authors = ["Marty Oehme <marty.oehme@gmail.com>"]
|
authors = ["Marty Oehme <marty.oehme@gmail.com>"]
|
||||||
packages = [
|
packages = [
|
||||||
{ include = "habitmove", from = "src"},
|
{ include = "habitmove", from = "src"},
|
||||||
|
|
Loading…
Reference in a new issue