App to write journal digitally. Simple as that.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


App to write journal digitally.

PyPI version


  • Write your journal using Markdown in your favorite text-editor.
  • Stores written journals in a comprehensive directory structure.
  • View the journals (Markdown rendered in HTML) in browser.


Install it using pip

$ pip install journalist


$ python3 -h
usage: [-h] {write,view} name

positional arguments:
  {write,view}  Task to do
  name          The name of the journal

optional arguments:
  -h, --help    show this help message and exit

Usage Examples

Writing journal

Journals are stored in the directory ~/.journalist in the following structure.

$ tree .journalist 
└── journalname
     └── YYYY
        └── MM

For example, an example ~/.Journalist directory may contain

$ tree .journalist 
├── personal
│   ├── 2017
│   │   └── 12
│   │       └──
│   └── 2018
│       └── 01
└── technical
    ├── 2017
    │   └── 12
    │       ├──
    │       └──
    └── 2018
        └── 01

10 directories, 4 files

To write in a the journal personal, type in the following...

$ python3 write personal
  • If any journal named personal already exists, it will open up the relevant .md file corresponding to the system date (creating it if it doesn't exist).
  • If any journal named personal doesn't exist, it will prompt the user if they want to create a new journal. If they agree, it will do so and open the corresponding .md file as described above.

The markdown file will be opened in the editor mentioned in the config.yaml file (default is nano). If you change it to something else, make sure an file named can be opened using that editor by typing editor in the terminal.

Viewing journal

$ python3 view personal 
[*] Starting Journalist viewer webapp...
[*] View this journal at
 * Running on (Press CTRL+C to quit)

Opening the URL in the browser would show us the journal entries rendered in HTML.