Coder Social home page Coder Social logo

pomodoro's Introduction

Pomodoro

Simple command line pomodoro app with visualization of statistics. The Pomodoro technique is a time management technique for improving productivity.

Check https://en.wikipedia.org/wiki/Pomodoro_Technique for more details.

The code is based on: http://code.activestate.com/recipes/577358-pomodoro-timer/

How to install ?

    pip install pomodoro-cli

OR

    git clone https://github.com/mehdidc/pomodoro
    cd pomodoro
    pip install -r requirements.txt
    python setup.py install

How to use it?

  pomodoro 60 5

will run pomodoro cycles of 60mins of work and 5mins of rest. By default an alarm sound will be played at the end of pomodoros. Warning : alarm needs either mpg123 (https://www.mpg123.de/) or ffplay(https://ffmpeg.org/ffplay.html) to be installed.

it can be disabled using:

  pomodoro 60 5 --alarm=False

Instead of an alarm, you might rather want to receive a message box each time you finish a pomodoro. To do that, you can do:

  pomodoro 60 5 --notif=True --alarm=False

Warning : notif needs pyqt5 (https://pypi.python.org/pypi/PyQt5/5.8.2)

Enable display of a command line countdown timer as follows:

  pomodoro 60 5 --timer=True

Statistics

each time a pomodoro is performed, its recorded on a small text database in your HOME/.pomodoro. To visualize the statistics of your pomodoros, you can use pomostat. Here are some examples:

  pomostat overall
  pomostat week
  pomostat thisweek
  pomostat lastweek
  pomostat week --weekof='2018-01-01'
  pomostat stats
  pomostat weeks
  pomostat today
  pomostat yesterday

Check pomostat --help for more information.

Here is an example of graph with pomostat thisweek:

pomo

pomodoro's People

Contributors

charlesmst avatar coup321 avatar k4j8 avatar mehdidc avatar s73ph4n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pomodoro's Issues

alarm is not working

Distro: Arch Linux
Yes mpg123 is installed.
Are there any logs I can send in?

Not Working

Hey every time I used any command it is showing this message
screen shot 2017-12-19 at 10 05 48 am

ResolutionError: Script 'scripts/pomodoro'

Not sure what I'm doing wrong. I'm on OSX 10.14.5, Python 3.7.3.

Here's the error I get when I run pomodoro 25 5:

File "/usr/local/bin/pomodoro", line 4, in
import('pkg_resources').run_script('pomodoro-cli==0.2.0', 'pomodoro')
File "/usr/local/lib/python3.7/site-packages/pkg_resources/init.py", line 666, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/local/lib/python3.7/site-packages/pkg_resources/init.py", line 1437, in run_script
.format(**locals()),
pkg_resources.ResolutionError: Script 'scripts/pomodoro' not found in metadata at '/usr/local/lib/python3.7/site-packages/pomodoro_cli-0.2.0.dist-info'

ModuleNotFoundError: No module named 'appdirs'

# create a virtual environment
venvwrapper -c bad_pomodoro
(bad_pomodoro) >pip install -r requirements.txt
(bad_pomodoro) >python setup.py install
...
ModuleNotFoundError: No module named 'appdirs'

appdirs, packaging and ordered_set are required and not automatically loaded here.

how to quit the program or pause it? also pomostats not working (noob user questions)

so i run pomodoro 60 5; i got to the alarm. then i hit ctrl c

  1. is there a better way to stop it?
  2. is there an option to pause the pomodoros?
  3. it seems if i run ctrl c i cant seem to recover the pomdoro stats.

thanks!

^CInterrupting
[I] ~  pomostat thisweek
Traceback (most recent call last):
File "/usr/local/bin/pomostat", line 4, in
import('pkg_resources').run_script('pomodoro==0.1', 'pomostat')
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py", line 750, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py", line 1527, in run_script
exec(code, namespace, namespace)
File "/usr/local/lib/python2.7/dist-packages/pomodoro-0.1-py2.7.egg/EGG-INFO/scripts/pomostat", line 157, in
run(main)
File "/usr/local/lib/python2.7/dist-packages/sigtools-2.0.1-py2.7.egg/sigtools/modifiers.py", line 158, in call
return self.func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/clize-4.0.3-py2.7.egg/clize/runner.py", line 360, in run
ret = cli(*args)
File "/usr/local/lib/python2.7/dist-packages/clize-4.0.3-py2.7.egg/clize/runner.py", line 220, in call
return func(*posargs, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/sigtools-2.0.1-py2.7.egg/sigtools/modifiers.py", line 158, in call
return self.func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pomodoro-0.1-py2.7.egg/EGG-INFO/scripts/pomostat", line 108, in main
D = D[D.start >= last_monday]
File "/usr/local/lib/python2.7/dist-packages/pandas-0.23.0rc2-py2.7-linux-x86_64.egg/pandas/core/ops.py", line 1201, in wrapper
pd.DatetimeIndex)
File "/usr/local/lib/python2.7/dist-packages/pandas-0.23.0rc2-py2.7-linux-x86_64.egg/pandas/core/ops.py", line 1098, in dispatch_to_index_op
result = op(left_idx, right)
File "/usr/local/lib/python2.7/dist-packages/pandas-0.23.0rc2-py2.7-linux-x86_64.egg/pandas/core/indexes/datetimes.py", line 133, in wrapper
(type(other), str(other)))
TypeError: <type 'datetime.date'> type object 2018-04-30

Clize issue with python 2

@daiwai, do you still have this issue with python 2 ? Thanks

Traceback (most recent call last): File "/usr/local/bin/pomodoro", line 4, in <module> __import__('pkg_resources').run_script('pomodoro==0.1', 'pomodoro') File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 719, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1504, in run_script exec(code, namespace, namespace) File "/usr/local/lib/python2.7/dist-packages/pomodoro-0.1-py2.7.egg/EGG-INFO/scripts/pomodoro", line 4, in <module> from clize import run File "/usr/local/lib/python2.7/dist-packages/clize-4.0.2-py2.7.egg/clize/__init__.py", line 7, in <module> from clize.parser import Parameter File "/usr/local/lib/python2.7/dist-packages/clize-4.0.2-py2.7.egg/clize/parser.py", line 1057, in <module> class CliBoundArguments(object): File "/usr/lib/python2.7/dist-packages/attr/_make.py", line 200, in attributes return wrap(maybe_cl) File "/usr/lib/python2.7/dist-packages/attr/_make.py", line 184, in wrap _transform_attrs(cl, these) File "/usr/lib/python2.7/dist-packages/attr/_make.py", line 137, in _transform_attrs .format(a=a) ValueError: No mandatory attributes allowed after an attribute with a default value or factory. Attribute in question: Attribute(name='posparam', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=False, convert=None)

New Feature Request !

A dedicated cross-platform app for it.

A GUI
application made up with web-technologies. This would be awesome for those with less and no prior experience with programming in general.

I would love to contribute.

Volume settings

Hi. I've started using pomodoro-cli. (I ran pipx install pomodoro-cli.) The programme worked nicely, but the alarm was a little bit loud. I would like you to add volume option (like --volume=50).
Thanks.

Print out time left

This one is a feature proposal.

The current behavior:

~ pomodoro 25 5
Work now

The desired behavior:

~ pomodoro 25 5
Work now. Time left: 24:55 

The counter on the end keeps ticking, so that user would know how much time is left.

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.