Metadata-Version: 2.1
Name: todotree
Version: 2.0.0
Summary: todo.txt manager which adds tree printing
Home-page: https://gitlab.com/chim1aap/todotree
License: Unlicense
Author: chim1aap
Author-email: fkjansen@protonmail.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: dateutils (>=0.6.12,<0.7.0)
Requires-Dist: gitpython (>=3.1.31,<4.0.0)
Requires-Dist: ruamel-yaml (>=0.17.32,<0.18.0)
Requires-Dist: xdg-base-dirs (>=6.0.0,<7.0.0)
Project-URL: Documentation, https://chim1aap.gitlab.io/todotree/
Project-URL: Repository, https://gitlab.com/chim1aap/todotree
Description-Content-Type: text/markdown

# todotree

[![Latest Release](https://gitlab.com/chim1aap/todotree/-/badges/release.svg)](https://gitlab.com/chim1aap/todotree/-/releases) 
[![pipeline status](https://gitlab.com/chim1aap/todotree/badges/master/pipeline.svg)](https://gitlab.com/chim1aap/todotree/-/commits/master) 
[![coverage report](https://gitlab.com/chim1aap/todotree/badges/master/coverage.svg)](https://gitlab.com/chim1aap/todotree/-/commits/master) 
[![Commit activity](https://img.shields.io/gitlab/commit-activity/m/chim1aap/todotree)](https://img.shields.io/gitlab/commit-activity/m/chim1aap/todotree)
[![License](https://img.shields.io/gitlab/license/chim1aap/todotree)](https://img.shields.io/gitlab/license/chim1aap/todotree)

A [todo.txt](http://todotxt.org/) implementation with more features:

- Define task dependency using the `bl:` and `by:` keywords.
- Hide tasks until a certain date using the `t:` keyword.
- Define due dates for tasks with the `due:` keyword.
- `git` integration.

- **GitLab repository**: <https://gitlab.com/chim1aap/todotree/>
- **Documentation** <https://chim1aap.gitlab.io/todotree/>

## Installation
To install the package, use `pip install todotree`.

Then, to initialize the needed files, run the following scripts:
```commandline
mkdir -p ~/.local/share/todotree/
touch ~/.local/share/todotree/todo.txt
touch ~/.local/share/todotree/done.txt
touch ~/.local/share/todotree/config.yaml
```



To make use of the `git` versioning, the following steps need to be done.

1. install `git`.
2. run `git init` in the directory where the todo.txt and done.txt are.
3. run `git remote add origin <url>` to set up a remote repository.
4. Set the `git_mode` in the configuration to `Full`.
5. run a todotree command which edits the files, such as `add` or `do`. It will push the data to the remote repository.

## Screenshots

projects

![project](img/projecttree-example.png)

context

![context](img/contexttree-example.png)

---

Repository initiated with [fpgmaas/cookiecutter-poetry](https://github.com/fpgmaas/cookiecutter-poetry).

