Git Product home page Git Product logo

habitica's Introduction

habitica

Two tools for interacting with Habitica:

  1. Python wrapper for the RESTful Habitica API (habitica.api)
  2. Command-line interface with subcommands (e.g. > habitica todos)

install

pip install habitica.

I push to pip fairly frequently, but if you'd like to be on the bleeding edge, clone this project and install it by hand:

> git clone https://github.com/philadams/habitica
> pip install -e habitica

configure

You'll need to let the tool know how to connect to your Habitica account. To do this, you'll need to add the following credentials section in the file ~/.config/habitica/auth.cfg (you may need to create the folder(s) and file):

[Habitica]
url = https://habitica.com
login = USER_ID
password = API_KEY

There's a template for this file at auth.cfg.sample.

Replace USER_ID and API_KEY with the corresponding tokens from your Habitica settings>API page.

You can replace url as needed, for example if you're self-hosting a Habitica server.

Lastly, remember to chmod 600 ~/.config/habitica/auth.cfg to keep your credentials secret.

usage

What's my character's status?

> habitica status
--------------
Level 83 Rogue
--------------
Health: 50/50
XP: 904/2690
Mana: 133/218
Pet: Gryphon-Base (11 food items)
Mount: FlyingPig-Base

Show me my todo items:

> habitica todos
[ ]  1 update habitica README with example instructions
[ ]  2 vacuum the car
[ ]  3 read Bell and Jofish "Designing technology for domestic spaces"
[ ]  4 order new contact lenses
[ ]  5 complete Keppi project report and share with Geri
[ ]  6 set up dinner with friends at Agava for Saturday night

Complete a todo:

> habitica todos done 1
marked todo 'update habitica README with example instructions' complete
[ ] 1 vacuum the car
[ ] 2 read Bell and Jofish "Designing technology for domestic spaces"
[ ] 3 order new contact lenses
[ ] 4 complete Keppi project report and share with Geri
[ ] 5 make reservation at Agava for Saturday night

Complete multiple todos. All done, undo, up, down commands can take 1 or more tasks as arguments, using either comma-separated lists or ranges or both:

> habitica todos done 1,3-5
marked todo 'update habitica README with example instructions' complete
marked todo 'vacuum the car' complete
marked todo 'order new contact lenses' complete
marked todo 'complete Keppi project report and share with Geri' complete
marked todo 'make reservation at Agava for Saturday night' complete
[ ] 1 read Bell and Jofish "Designing technology for domestic spaces"

Add a new (hard!) todo. By default --difficulty=easy:

> habitica todos add finish dissertation --difficulty=hard
added new todo 'finish dissertation'
[ ] 1 finish dissertation
[ ] 2 read Bell and Jofish "Designing technology for domestic spaces"

Show me my habits, and how well I'm doing with each:

> habitica habits
[*******] 1 commit code
[****] 2 drink water
[******] 3 encourage others

Record improvement with some habits:

> habitica habits up 2,3
incremented task 'drink water'
incremented task 'encourage others'
[*******] 1 commit code
[****] 2 drink water
[******] 3 encourage others

Show me my dailies and each daily's state:

> habitica dailies
[ ] 1 pushups (5x20)
[ ] 2 clean dishes before bed
[x] 3 2x90mins writing

Complete a daily task:

> habitica dailies done 1
marked daily 'pushups (5x20)' completed
[x] 1 pushups (5x20)
[ ] 2 clean dishes before bed
[x] 3 2x90mins writing

Is the Habitica server up?

> habitica server
Habitica server is up

help

Via habitica --help:

Habitica command-line interface.

    Usage: habitica [--version] [--help]
                    <command> [<args>...] [--difficulty=<d>]
                    [--verbose | --debug]

    Options:
      -h --help         Show this screen
      --version         Show version
      --difficulty=<d>  (easy | medium | hard) [default: easy]
      --verbose         Show some logging information
      --debug           Some all logging information

    The habitica commands are:
      status                 Show HP, XP, GP, and more
      habits                 List habit tasks
      habits up <task-id>    Up (+) habit <task-id>
      habits down <task-id>  Down (-) habit <task-id>
      dailies                List daily tasks
      dailies done           Mark daily <task-id> complete
      dailies undo           Mark daily <task-id> incomplete
      todos                  List todo tasks
      todos done <task-id>   Mark one or more todo <task-id> completed
      todos add <task>       Add todo with description <task>
      server                 Show status of Habitica service
      home                   Open tasks page in default browser

    For `habits up|down`, `dailies done|undo`, and `todos done`, you can pass
    one or more <task-id> parameters, using either comma-separated lists or
    ranges or both. For example, `todos done 1,3,6-9,11`.

thanks

Many thanks to the following excellent projects:

And to contributors to this project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.