# Todo-txt format in Api Baserow

**URL:** https://community.baserow.io/t/todo-txt-format-in-api-baserow/466
**Category:** Feature Ideas
**Tags:** baserow
**Created:** [May 15, 2022, 5:18am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466 "2022-05-15T05:18:36Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![anon7289648](https://community.baserow.io/letter_avatar_proxy/v4/letter/a/a5b964/32.png) [@anon7289648](https://community.baserow.io/u/anon7289648)
#### Post date: [May 15, 2022, 5:18am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/1 "2022-05-15T05:18:36Z")

</div>

### idea

I would like a Baserow api to have the support to read the todo-txt format, so I could write text files and send to baserow

### concept

 ![image](https://community.baserow.io/uploads/default/original/1X/418979ff6b752bacbefd0f2300ec2df442e13204.png)

### sample

```auto
X (A) one more another task test +project @context dfdadfd 2018-08-02 #2018-08-02 due:2018-08-20

```

### sample object in url

```auto
object:{
check: "true", 
priority: "A", 
describe: "one more another task test",
project: "project",
context: "dfdadfd",
date_start: "2018-08-02",
date_due":2018-08-20"
}

```

#### sample url rest in api Baserow

```auto
https://baserow.io/api/todo/check/<bool>/priority/<string>/describe/<string>/project/<string>/context/<string>/datestart/<string>/datedue/<string>

```

#### reason

1. I know many people who use the todo-txt format to manage their activities, daily tasks
2. The Baserow api can offer a support layer for the todo-txt format to help these people migrate to Baserow
3. Libraries written in python and in various programming languages are already able to read and write this text file format, which would be easy to support in the Baserow api
4. This can unite the open source todo-txt format community with Baserow
5. There are several programs that support the todo-txt format - Baserow as well as Seatable or Airtable are programs that do not support this file format, it would be innovative if Baserow had support for this file format

#### reference

- [http://todotxt.org/](http://todotxt.org/)
- [GitHub - todotxt/todo.txt: ‼️ A complete primer on the whys and hows of todo.txt. · GitHub](https://github.com/todotxt/todo.txt)
- [Client Challenge](https://pypi.org/project/todotxtio/)
- [GitHub - sigmavirus24/Todo.txt-python: Python port of Gina Trapani's popular todo.txt-cli project · GitHub](https://github.com/sigmavirus24/Todo.txt-python)
- [GitHub - rakeshsingh/todo.txt: 👊 Command line lightweight todo tool with readable storage , written in Python. · GitHub](https://github.com/rakeshsingh/todo.txt)
- [REST API documentation | Baserow](https://baserow.io/api-docs)

---

<div class="post-metadata">

### Author: ![petrs](https://community.baserow.io/user_avatar/community.baserow.io/petrs/32/159_2.png) [@petrs](https://community.baserow.io/u/petrs)
#### Post date: [May 15, 2022, 7:47am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/2 "2022-05-15T07:47:38Z")

</div>

Todo.txt is a specialized, context-specific, format for tracking to-dos. I don’t really see how it fits in a general-purpose database like Baserow, since it would then have to manage specific tables and relationships for you.

In the future Baserow might have some form of “apps” besides the main “database” application and then it could make sense for a specialized app to perform such task. Ideally, Baserow will enable people to create these apps through plugins and make it simple to install and use them.

---

<div class="post-metadata">

### Author: ![petrs](https://community.baserow.io/user_avatar/community.baserow.io/petrs/32/159_2.png) [@petrs](https://community.baserow.io/u/petrs)
#### Post date: [May 15, 2022, 7:49am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/3 "2022-05-15T07:49:35Z")

</div>

Since you already mentioned you would be calling the Baserow HTTP API, what stops you to convert the format into a set of generic API calls to Baserow at the moment?

---

<div class="post-metadata">

### Author: ![anon59363363](https://community.baserow.io/letter_avatar_proxy/v4/letter/a/f04885/32.png) [@anon59363363](https://community.baserow.io/u/anon59363363)
#### Post date: [August 20, 2023, 2:06am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/4 "2023-08-20T02:06:15Z")

</div>

Hey guys.

I would like to contribute to this specific topic. Please, see this [Using the Baserow api to import tasks from a txt file(todo.xt)](https://community.baserow.io/t/using-the-baserow-api-to-import-tasks-from-a-txt-file-todo-xt/3276), here I explain step by step how to use 3 python libraries(requests, json, todotxtio) to import data in todo.txt to baserow.

---

<div class="post-metadata">

### Author: ![lucw](https://community.baserow.io/user_avatar/community.baserow.io/lucw/32/609_2.png) [@lucw](https://community.baserow.io/u/lucw)
#### Post date: [August 22, 2023, 11:42pm UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/5 "2023-08-22T23:42:32Z")

</div>

Feels like a plugin could work nicely with this. But I question how you’ll interact with the data. A todo list is not something static. Do you upload once ? What happens when you need to update, do you update in baserow ? Or do you update the todo.txt, and re-upload ?  
It’s important to think of the lifecycle of data, because that will dictate how you design the whole thing.

---

<div class="post-metadata">

### Author: ![anon59363363](https://community.baserow.io/letter_avatar_proxy/v4/letter/a/f04885/32.png) [@anon59363363](https://community.baserow.io/u/anon59363363)
#### Post date: [August 23, 2023, 12:31am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/6 "2023-08-23T00:31:50Z")

</div>

Hi @lucw, how are you?

Before answering some of your questions, I’d like to say thank you very much for commenting here.

> [@lucw](#):
>
> Feels like a plugin could work nicely with this.

thanks for this feedback here.

> [@lucw](#):
>
> But I question how you’ll interact with the data.

Please, see this: [Using the Baserow api to import tasks from a txt file(todo.txt)](https://community.baserow.io/t/using-the-baserow-api-to-import-tasks-from-a-txt-file-todo-xt/3276) for more informations if possible.

> [@lucw](#):
>
> A todo list is not something static.

This is true.

> [@lucw](#):
>
> Do you upload once ?

Yes.

> [@lucw](#):
>
> What happens when you need to update, do you update in baserow ? Or do you update the todo.txt, and re-upload ?

I didn’t think about updating the file, just sending the file data in Baserow with the http-post method, and viewing the information with the http-get method.

> [@lucw](#):
>
> It’s important to think of the lifecycle of data, because that will dictate how you design the whole thing.

I would like to name “two data flows”: an ideal data flow and the data flow I created.

**1. In an ideal flow of data it would be something like this:**

**1.1** The best way would be that every change in the txt file is saved locally in SQLite and the update is sent to Baserow with date and time.

**1.2** In case I need to know which tasks were executed, I have the complete history in Baserow with date and time.

**1.3** However, if I need a backup, as I have a local copy, it’s easy to go back to the old version.

* * *

**2. The data flow I developed is very different from this ideal flow:**

**2.1** I thought that for most developers having “VSCode” is something very easy to install.

**2.2** Then, in general, you install VSCode with an extension called [“local-history”](https://marketplace.visualstudio.com/items?itemName=xyz.local-history) that generates an automatic copy of the files you modify in VSCode.

**2.3** Then, I installed python to run this algorithm which loads the todo.txt file only once in Baserow.

* * *

Which of these data streams is the best: 1 or 2? Is this thought interesting? What do you think of these ideas?

---

<div class="post-metadata">

### Author: ![lucw](https://community.baserow.io/user_avatar/community.baserow.io/lucw/32/609_2.png) [@lucw](https://community.baserow.io/u/lucw)
#### Post date: [August 23, 2023, 12:44am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/7 "2023-08-23T00:44:12Z")

</div>

I highly suggest you start by maintaining, and using your todo list in baserow first. Use it for two weeks like that, just in baserow. Then after two weeks, you’ll have a better idea of what you need to build exactly. Maybe you’ll find that you don’t need to build anything. Maybe you’ll want to manage in a todo.txt file and smartly import and merge. This is just my opinion, as someone who helps other people bring their program ideas to life, the most important thing is to have a very clear idea of the need first.

---

<div class="post-metadata">

### Author: ![anon59363363](https://community.baserow.io/letter_avatar_proxy/v4/letter/a/f04885/32.png) [@anon59363363](https://community.baserow.io/u/anon59363363)
#### Post date: [August 23, 2023, 12:52am UTC](https://community.baserow.io/t/todo-txt-format-in-api-baserow/466/8 "2023-08-23T00:52:45Z")

</div>

> [@lucw](#):
>
> I highly suggest you start by maintaining, and using your todo list in baserow first. Use it for two weeks like that, just in baserow. Then after two weeks, you’ll have a better idea of what you need to build exactly. Maybe you’ll find that you don’t need to build anything. Maybe you’ll want to manage in a todo.txt file and smartly import and merge. This is just my opinion, as someone who helps other people bring their program ideas to life, the most important thing is to have a very clear idea of the need first.

An interesting idea I just thought of with your feedback would be to create a task data model following the todo.txt spec. For example, a plain text file(todo.txt) would be:

```markdown
A) read books about open source #read +todo @books 

```

but a Baserow database could be something like this:

 ![image](https://community.baserow.io/uploads/default/original/2X/8/820d9d68aff34b4360d6ae4e98a17bc99477e440.png)
