Announce the time every hour similar to Mac OS X. Say the Time using Google TTS or espeak.
- python3.6+
- playsound
- gtts or pyttsx3
For development
- poetry
- flake8
- black
- pytest
- Use python: threading.Timer
- Create tests
- Add system tray (opcional) by cli
Update/Fix to PyPi (pip install timespeaker
)Move Makefile to Parent- Configure PULL_REQUESTS AND ISSUES template
- Configure lint
- Configure formatter
- Configure github actions (or circleci)
- Test i3 configs
- Add support to Cron
- Use a global DEBUG
- When merge to
main
build and publish to PyPi (github actions)
pip install timespeaker
# pyenv shell +3.6.0
# asdf shell python +3.6.0
# optional (poetry create a virtualenv for you)
python -m venv .venv
# install dependencies
make install
# clean old builds
make clean
# build package
make build
# install on local user package (python)
pip install --user dist/{path_from_last_command}.whl
Test local install
timespeaker check --speaker gtts
make configure-autostart
make configure-i3
Coming Soon
sudo make configure-cron
sudo make configure-systemd
# Systemd
sudo make remove-systemd
# Autostart
make remove-autostart
# i3
# coming soon
# Cron
# coming soon
Default usage using gtts to speak and saving in /tmp/timespeaker/
# after make install (or poetry install)
poetry run timespeaker start
# OR if configured (local user or via pip install timespeaker)
timespeaker start
Custom command:
poetry run timespeaker start --speaker=pyttsx3 --player=vlc --path-folder=/tmp/timespeaker/
This speakes sound each 2 second from midnight to 23 hours.
poetry run timespeaker check-hours-sound gtts
Using virtualenv (python venv):
# create virtualenv
# virtualenv .venv [-p /path/to/python3.6+] # require virtualenv
python -m venv .venv
# Enter virtualenv
source .venv/bin/activate
# to exit of virtual env run
deactivate
Dev install (poetry required)
poetry install
See more commands with
make help
make test
MIT LICENSE
I encourage you to contribute to this project! Join us!
Trying to report a possible security vulnerability? Open a issue now
Everyone interacting in this project and its sub-projects' codebases, issue trackers, chat rooms, and mailing lists is expected to follow the code of conduct (building, but respect everyone).