Block distracting websites and set up a Pomodoro timer. Focus on your work.
Project description
Be Productive
A tool that let's you focus on your work by blocking distracting websites. Optionally with a timer for work sessions, using the Pomodoro technique.
Install
To install Be Productive:
pip install beproductive
If you use Windows, it's recommended to pip install win10toast
for nice Windows notifications.
You don't have to install win10toast
, but without it you will not get visible and audible notifications for Pomodoro. However, all notifications are also printed in your command line interface.
How to Use
Windows
You have to open your command line tool with administrator privileges.
Linux (and MacOS?)
You have to run Be Productive with root privileges, either with sudo
before every command or once with su
.
Block / Unblock Websites
Block websites:
python -m beproductive
Block websites for x
minutes:
python -m beproductive block --time 45
Unblock all websites:
python -m beproductive unblock
Start a Pomodoro session:
python -m beproductive pomodoro
Pomodoro
The Pomodoro feature blocks your defined websites for 25 minutes. It notifies you to take a break and gives you access to all websites for 5 minutes. Although I recommend getting up and stretching instead :) This cycle is repeated 4 times.
You can customize Pomodoros. This is how you run 5 Pomodoros of 45 minutes with 10 minute breaks:
python -m beproductive pomodoro --time 45 --breaktime 10 --pomodoros 5
python -m beproductive pomodoro -t 45 -b 10 -p 5
Blocked Websites
These websites are blocked per default, but you can add and remove websites easily. You can view all blocked websites with this command:
python -m beproductive [--list/-l]
twitter.com
youtube.com
facebook.com
instagram.com
reddit.com
netflix.com
amazon.com
linkedin.com
Customizing Blocklist
To add websites to the blocklist:
python -m beproductive [--add/-a] quora.com wired.com
To remove websites from blocklist:
python -m beproductive [--remove/-r] quora.com wired.com
Batch files
For quick access:
- Create batch files for the commands you need.
- Add a shortcut to each batch file to your desktop.
- Right click on the shortcut
- In the
Shortcut
tab, clickAdvanced
- Check the
Run as Administrator
box - You can even add a key binding.
I used:
- Ctrl + Alt + B to block all sites for 1 hour
- Ctrl + Alt + U to unblock all sites
- Ctrl + Alt + P to run a Pomodoro set
Example for a batch file block.bat
:
python -m beproductive block 60
Behind the Scenes
The script blocks URLs by modifying the hosts
file. Blocked URLs are redirected to 127.0.0.1
. The script backs up the original hosts
file. You will not lose any customizations and you can always reset to the original state.
Roadmap
- Notifications for Linux (https://pypi.org/project/notify2/) and Mac (?)
- Improve architecture, maybe use threads instead of
sleep()
- Set up a schedule, i.e., block websites between 9am and 5pm
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file beproductive-0.2.5.tar.gz
.
File metadata
- Download URL: beproductive-0.2.5.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cbbd486d48b6e255e649950a55ec376b61a803626db8d7a5bc1051e749182d0 |
|
MD5 | 6d85394bc6dabdad7f9223623d0293c6 |
|
BLAKE2b-256 | 758d993fe6d2bb02083b1f3505ed66fbaca5de78cd34366b14b5e774af688e3a |
File details
Details for the file beproductive-0.2.5-py3-none-any.whl
.
File metadata
- Download URL: beproductive-0.2.5-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5bdad2fce389b7ca1940bee0144beaf3137fa710aa844cad4fce8e0cbbc4170 |
|
MD5 | 2606dd385d2d0ff57094c543c00eb64c |
|
BLAKE2b-256 | ace578c8ebef92fba4a3caaf3405215b92e20d39190a1408eca75523e39f2496 |