Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder

Overview

Safe Eyes

Release PyPI version Debian AUR Translation status Awesome Humane Tech Donate

Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder.

Visit the official site: http://slgobinath.github.io/SafeEyes/ for more details.

Safe Eyes command-line arguments

usage: safeeyes [-h] [-a | -d | -e | -q | -s | -t] [--debug] [--version]

Safe Eyes protects your eyes from eye strain (asthenopia) by reminding you to
take breaks while you're working long hours at the computer.

optional arguments:
  -h, --help        show this help message and exit
  -a, --about       show the about dialog
  -d, --disable     disable the currently running safeeyes instance
  -e, --enable      enable the currently running safeeyes instance
  -q, --quit        quit the running safeeyes instance and exit
  -s, --settings    show the settings dialog
  -t, --take-break  take a break now
  --debug           start safeeyes in debug mode
  --status          print the status of running safeeyes instance and exit
  --version         show program's version number and exit

Installation guide

Safe Eyes is available in Ubuntu PPA, Arch AUR, Gentoo and Python PyPI. You can choose any installation source and install on any Linux system with Python 3.

Ubuntu, Linux Mint and other Ubuntu Derivatives

sudo add-apt-repository ppa:slgobinath/safeeyes
sudo apt update
sudo apt install safeeyes

Arch

yay -S safeeyes

Gentoo

sudo emerge -av x11-misc/safeeyes

Debian

sudo apt-get install safeeyes

Fedora

sudo dnf install libappindicator-gtk3 python3-psutil cairo-devel python3-devel gobject-introspection-devel cairo-gobject-devel
sudo pip3 install safeeyes
sudo gtk-update-icon-cache /usr/share/icons/hicolor

OpenSUSE Tumbleweed

sudo zypper refresh
sudo zypper install safeeyes

Other Linux & Run from source

Ensure to meet the following dependencies:

  • gir1.2-appindicator3-0.1
  • gir1.2-notify-0.7
  • libappindicator-gtk3
  • python3-psutil
  • xprintidle (optional)
  • wlrctl (wayland optional)

To install Safe Eyes:

sudo pip3 install safeeyes

After installation, restart your system to update the icons,

To run from source:

git clone https://github.com/slgobinath/SafeEyes.git
cd SafeEyes
python3 -m safeeyes

Safe Eyes installers install the required icons to /usr/share/icons/hicolor. When you run Safe Eyes from source without, some icons may not appear.

Install in Virtual Environment

Some Linux systems like Cent OS do not have matching dependencies available in their repository. In such systems, you can install and use Safe Eyes in a Python Virtual Environment. The following instruction was tested on Cent OS 7.

  1. Install the necessary dependencies

    sudo yum install python3-devel dbus dbus-devel cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel gobject-introspection-devel cairo-gobject-devel
  2. Create a virtual environment in your home folder

    mkdir ~/safeeyes
    cd ~/safeeyes/
    
    pip3 install virtualenv --user
    virtualenv --no-site-packages venv
    source venv/bin/activate
    pip3 install dbus-python safeeyes
  3. Start Safe Eyes from terminal

    cd ~/safeeyes & source venv/bin/activate
    python3 -m safeeyes

For more details, please check the issue: #329

Features

  • Remind you to take breaks with exercises to reduce RSI
  • Disable keyboard during breaks
  • Notification before and after breaks
  • Smart pause if system is idle
  • Multi-screen support
  • Customizable user interface
  • RPC API to control externally
  • Command-line arguments to control the running instance
  • Customizable using plug-ins

Third-party Plugins

Thirdparty plugins are available at another GitHub repository: safeeyes-plugins. More details about how to write your own plugin and how to install third-party plugin are available there.

License

GNU General Public License v3

IDE Support

Thanks to JetBrains for offering IDE support to develop this Open Source project.

Comments
  • Safe Eyes 2.0.0

    Safe Eyes 2.0.0

    Hi, I am pleased to announce that Safe Eyes 2.0.0 is almost ready. However, I just need to confirm that merging it to master branch will not affect the build packages for Debian, Gentoo, and others (if there are any).

    @hartwork and @anarcat could you please confirm this?

    Also, I have changed the translation technique. Earlier I used JSON files but now I have switched to formal translation files. It requires all the existing translations to be updated to the new format. Some existing literals are removed and some new literals are added to the translation.

    I kindly expect your contribution on translating Safe Eyes 2.0.0, updating the document and testing before releasing the final version. You can test Safe Eyes 2.0.0 by following these steps:

    1. git clone https://github.com/slgobinath/SafeEyes.git

    2. cd SafeEyes

    3. git checkout safeeyes-2.0.0

    4. Build the translation file using the following command:

    msgfmt -o safeeyes/config/locale/en_US/LC_MESSAGES/safeeyes.mo safeeyes/config/locale/en_US/LC_MESSAGES/safeeyes.po
    
    1. python3 -m safeeyes

    Translations cannot be done via Weblate until I merge the changes to master branch. So please send your commits to the safeeyes-2.0.0 branch. I left the previous JSON files for reference but they will be removed before releasing the final version.

    What is new in Safe Eyes 2.0.0:

    • Completely new architecture

    • Features are implemented as plugins

    • Plugins become more powerful

      • Plugins can have their own settings and the cool thing is: Safe Eyes automatically creates the respective Settings dialog.
      • Plugins can have their own dependencies
      • Plugins can control Safe Eyes or just display a text content in the break screen (Respective flow control methods are defined)
      • For more details, have a look at the existing plugins and the partially completed README document
      • Users can create their own plugins. I am thinking about maintaining a directory/separate repo for custom plugins depending on the requirement.
    • Users can manually start a break

    • Persist the internal state

    • All most all the configurations can be done via GUI

    One more feature is pending to implement. Since the Tray Icon is implemented as plugins, it can be disabled by the user which prevents access to Settings Dialog. I let users disable it considering the Gnome 3 guidelines. However, I will implement an alternative way to launch the Settings dialog without using the Tray Icon. For the moment, stay away from disabling Tray Icon and in case if you have sone so, reset the settings by removing the ~/.config/safeeyes folder.

    If you have any suggestions, please do let me know.

    safe eyes

    help wanted discussion 
    opened by slgobinath 22
  • Health Statistics: include daily screen time?

    Health Statistics: include daily screen time?

    @slgobinath what do you think of including daily screen time to the health statistics plugin and maybe some information when desired daily screen time has been exceeded? 😗

    feature 
    opened by orschiro 18
  • credit me idle time

    credit me idle time

    instead of suspending time tracking, safeeyes should credit me time that i am idle at the computer.

    example: i'm due for a pause, safeeyes tells me so but postpone it. a few minutes later, i actually step away from the computer for 10 minutes. safeeyes consider that "idle time" so it stops tracking time. when i come back, safeeyes wakes up and sends me a warning after 5 minutes because I postponed the last break.

    it should have counted my time away and if it was long enough to count as a break, count it as such.

    opened by anarcat 17
  • Moving away from /opt

    Moving away from /opt

    Hi there!

    Are there plans to get SafeEyes out of /opt towards pip/setuptools or /usr/local? It would make SafeEyes a much better citizen with regard to packaging on Linux and would allow turning away from the current

    sudo tar -xzvf safeeyes.tar.gz -C /
    

    recommendation as well, which I find a bit scary to be honest :) I'm happy to team up on that matter.

    Best, Sebastian

    PS: There's a Gentoo ebuild in the making at https://cgit.gentoo.org/proj/betagarden.git/tree/x11-misc/safeeyes.

    opened by hartwork 17
  • Media Plugin: Button images have disappeared

    Media Plugin: Button images have disappeared

    screenshot 2019-01-22 10 30 24

    For Ubuntu 16.04.5, buttons are not "enough visible". Tooltips come, but no images. I just updated through apt-get (2.0.8)

    Originally posted by @stdedos in https://github.com/slgobinath/SafeEyes/pull/295#issuecomment-456313148

    bug confirmed 
    opened by stdedos 16
  • Unstable on Ubuntu 18.04

    Unstable on Ubuntu 18.04

    Hi, I recently updated my OS from Ubuntu 17.10 to 18.04. But I found that the safeeyes isn't stable. Sometimes it keeps getting to the status of "Disabled until restart", and then it will restart itself. It is repeating this procedure while I'm typing here. Apparently this hasn't affected it's function, but watching it switching on and off is quite annoying.

    Is there any information I should provide you?

    And I've got another question. Is it possible to remove the tray icon since it's unnecessary? 'Cause with the plugin of Ubuntu on, it will be displayed even if it's necessary. Is it possible to make it a choice like the Variety by Peter Levi has done? Thanks.

    opened by peter-jerry-ye 16
  • Add the manual rest function

    Add the manual rest function

    I am not sure whether there is a such function in the current version, but I cannot find it. Sometimes I cannot stop my work right at the given time, so I am wondering whether you can add a button for manual break. In that way, I can take a break whenever I want. Thanks a lot. By the way, I am Chinese. If you want to add the Chinese translation, I can help. : )

    feature 
    opened by zypangpang 16
  • MAJOR BUG: Platform files missing

    MAJOR BUG: Platform files missing

    I just upgraded to 2.1.1 and now all the platform files are missing. The problem is this commit https://github.com/slgobinath/SafeEyes/commit/12b2b0b2a4bd4bdda20d55fea4a45096651460be. Although initialize_platform() would be run for a new install, it isn't run on upgrade from an older version when config files are already present.

    bug confirmed 
    opened by AdamPS 15
  • Do not base interface language on LC_TIME

    Do not base interface language on LC_TIME

    https://github.com/slgobinath/SafeEyes/blob/ee078e5f3bbce4df4927dc4b4d813131d1f2b6b4/safeeyes/Utility.py#L100

    I've got maybe non-standard locale settings since I'm from Poland but I prefer to have interface in English. So I have LANG/LANGUAGE set to en_US.utf8/en_US but I set "LC_CTYPE=pl_PL.utf8 LC_COLLATE=pl_PL.utf8" in my dot files. In default settings generated by the system (/etc/default/locale) I see also LC_TIME set to pl_PL.utf8 so I can change that but actually I prefer having 24h clock instead of AM/PM.

    So I'd like to ask for possibility to:

    1. Base the interface language used on LANG/LC_MESSAGES instead of LC_TIME
    2. Advanced option would be to split locale: having one for time and one for interface/messages (maybe this option is not even needed since correctly installed locale should be respecting LC_TIME override)

    Best regards Andrzej

    PS. If you agree that such modification make sense (to me it does - since MESSAGES seems to be more specific to tell what kind of language I want to see in the interface) then it looks to me like the following patch achieves both points:

    --- Utility-orig.py	2018-01-15 11:56:09.990407876 +0100
    +++ Utility.py	2018-01-15 12:02:31.688636092 +0100
    @@ -91,13 +91,13 @@
             GLib.idle_add(target_function)
     
     
    -def system_locale():
    +def system_locale(category=locale.LC_MESSAGES):
         """
         Return the system locale. If not available, return en_US.UTF-8.
         """
         try:
             locale.setlocale(locale.LC_ALL, '')
    -        sys_locale = locale.getlocale(locale.LC_TIME)[0]
    +        sys_locale = locale.getlocale(category)[0]
             if not sys_locale:
                 sys_locale = 'en_US.UTF-8'
             return sys_locale
    @@ -110,7 +110,7 @@
         """
         Format time based on the system time.
         """
    -    sys_locale = system_locale()
    +    sys_locale = system_locale(locale.LC_TIME)
         return babel.dates.format_time(time, format='short', locale=sys_locale)
    
    bug confirmed 
    opened by aostruszka 15
  • Major Bug: Version 2.1.1 doesn't work on Ubunto 20.04

    Major Bug: Version 2.1.1 doesn't work on Ubunto 20.04

    I was using 2.0.9 which has been a great product, ubunto showed me the update and I clicked install, update was successful but on next restart it wasn't starting at all. I tried many things and didn't work, I downloaded the source of 2.0.9 and installed again that stable version.

    bug duplicate confirmed 
    opened by reni11111 14
  • Feature request: Do not disturb while on battery (optional)

    Feature request: Do not disturb while on battery (optional)

    Hi, I'm using the tool on a laptop connected to an external monitor and it works great. But once I'm out of office, I do not spend much continues time in front of a laptop. Breaks come "naturally" (as I move) and SafeEyes distributes me unnecessary in between. Even worse, the tool might interrupt me at wrong time (during meetings, presentations etc).

    Please add an option which would allow me disable breaks if laptop is running on batteries. You can probably create this option in "do not disturb" plugin or create an another similar plugin.

    Thank you!

    feature in progress 
    opened by blshkv 13
  • Looking for new maintainer

    Looking for new maintainer

    Happy New Year to the Safe Eyes Community!

    I created Safe Eyes for my own needs and published it FOSS years ago. I'm happy to see the impact Safe Eyes make and like to see it grows further. However, I'm unable to find enough time to spend on Safe Eyes due to some other projects, family, and a demanding job.

    Though I want to add new features and take this project to the next level (Safe Eyes 3 has been a dream project for a long period) I couldn't find enough time. Therefore, I am looking for new maintainers willing to take over Safe Eyes and keep it active. I'm happy to share my thoughts and contribute whenever I get some time but it would be beneficial for the project if someone with new ideas and energy can take over Safe Eyes.

    Safe Eyes users don't have to worry. It doesn't mean I'm gonna archive the repo. If I couldn't find any new maintainers I will still maintain this repo but like the past few years, the project may not receive a lot of new features.

    help wanted discussion 
    opened by slgobinath 1
  • Add a command-line argument to force a long break

    Add a command-line argument to force a long break

    Right now, there's a command-line argument to immediately take a break: "safeeyes -t".

    However it's impossible to trigger a specific type of break, so you randomly get either a short or a long break.

    Is it possible to implement a command-line argument, so I can force a long break like "safeeyes -tl"?

    I have two use cases:

    1. I'd like to have long breaks at specific times, for example each hour at xx:45 for 15 minutes. I could create a Cron job to trigger the command at that time. However, this requires me to trigger a specific break.

    2. I'd like to define a global hotkey for taking long breaks. For me it's easier to voluntarily push a hotkey in order to take a break while procrastinating, than to do it by navigating the mouse to the Safe Eyes menu. Maybe it's because it's faster via hotkey, so my brain cannot intervene.

    Thank you very much for your consideration and especially for creating such a great piece of software.

    feature 
    opened by Noracsa2000 0
  • Don't detect AFK while any media is playing

    Don't detect AFK while any media is playing

    Is your feature request related to a problem? Please describe. I have observed this a lot of times now, and now raising an issue about it because it's important. Whenever I watch a YouTube Video or any other media file, I usually (and most people) don't use the mouse and keyboard and just listen/watch that media. And because of this, the software detects as we are AFK and pauses itself which eventually postpones the break, if this happens, what's the point of this break reminder app?

    Describe the solution you'd like I think it must not be a hard problem to solve, we just need to detect if any media file is playing and stop the detection of AFK.

    feature 
    opened by prakhartiwari0 0
  • Is croniter an optional dependency?

    Is croniter an optional dependency?

    Describe the bug

    In the AUR package, python-croniter is listed as an optional dependency. However, in setup.py, croniter is listed in the requires array.

    As a result, when Arch users try to run SafeEyes, they will encounter the situation as described in this comment.

    pkg_resources.DistributionNotFound: The 'croniter' distribution was not found and is required by safeeyes

    If it is required for the program to run, then python-croniter should be moved to the depends array in the PKGBUILD.

    If it is optional, then the Python setup script has to be tweaked. (I am not sure but perhaps it's extras_require?)

    bug 
    opened by antermin 0
  • Can't connect to display

    Can't connect to display ":0"

    The bug Since a few weeks, safeeyes fails to start due to some missing X authorization:

    $ safeeyes
    [...]
    Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'Authorization required, but no authorization protocol specified\n'
    

    To Reproduce Steps to reproduce the behavior:

    Open Gnome with Wayland launch safeeyes

    Instead, trying to launch it from startx, it worked without error.

    Expected behavior Should work also on Gnome with Wayland.

    Desktop:

    • OS: Arch
    • Desktop Env: 43.2
    • Version: safeeyes-git from AUR (2.1.4.r3.g9123562-1)

    Debug Log Run the Safe Eyes using safeeyes --debug command attach the ~/safeeyes.log` file.

    2022-12-10 17:07:08,289 [DEBUG]:[MainThread] Initialize the platform
    2022-12-10 17:07:08,306 [INFO]:[MainThread] Starting Safe Eyes
    Traceback (most recent call last):
      File "/usr/bin/safeeyes", line 33, in <module>
        sys.exit(load_entry_point('safeeyes==2.1.4', 'console_scripts', 'safeeyes')())
      File "/usr/lib/python3.10/site-packages/safeeyes/__main__.py", line 150, in main
        safe_eyes = SafeEyes(system_locale, config)
      File "/usr/lib/python3.10/site-packages/safeeyes/safeeyes.py", line 84, in __init__
        self.break_screen = BreakScreen(
      File "/usr/lib/python3.10/site-packages/safeeyes/ui/break_screen.py", line 47, in __init__
        self.display = Display()
      File "/usr/lib/python3.10/site-packages/Xlib/display.py", line 89, in __init__
        self.display = _BaseDisplay(display)
      File "/usr/lib/python3.10/site-packages/Xlib/display.py", line 71, in __init__
        protocol_display.Display.__init__(self, *args, **keys)
      File "/usr/lib/python3.10/site-packages/Xlib/protocol/display.py", line 166, in __init__
        raise error.DisplayConnectionError(self.display_name, r.reason)
    Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'Authorization required, but no authorization protocol specified\n'
    

    Workaround

    I managed to temporarily solve authorizing my own user to run X things:

    xhost +SI:localuser:#$(id -u)
    
    bug 
    opened by ilario 2
  • [2.1.4] PyPI release tarballs contain compiled .pyc files?

    [2.1.4] PyPI release tarballs contain compiled .pyc files?

    Describe the bug Hi @slgobinath, it has been brought to my attention that the SafeEyes PyPI tarballs contain some compiled .pyc files. I believe that is an accident and likely points to some problem in the process of making these files. What do you think? Best, Sebastian

    To Reproduce

    # wget -O- https://files.pythonhosted.org/packages/1d/e8/221f5afdb7aba8524496906e1fc7d58bd75fb7cf0b3036392cffcd632eda/safeeyes-2.1.4.tar.gz 2>/dev/null | tar tz | grep '\.pyc$' | sort
    safeeyes-2.1.4/safeeyes/plugins/audiblealert/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/audiblealert/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/breakscreen/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/donotdisturb/__pycache__/dependency_checker.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/donotdisturb/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/donotdisturb/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/donotdisturb/__pycache__/validator.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/healthstats/__pycache__/dependency_checker.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/healthstats/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/healthstats/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/healthstats/__pycache__/validator.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/mediacontrol/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/mediacontrol/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/notification/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/notification/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/rpcserver/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/rpcserver/__pycache__/validator.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/screensaver/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/screensaver/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/smartpause/__pycache__/dependency_checker.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/smartpause/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/smartpause/__pycache__/plugin.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/smartpause/__pycache__/validator.cpython-38.pyc
    safeeyes-2.1.4/safeeyes/plugins/trayicon/__pycache__/plugin.cpython-310.pyc
    safeeyes-2.1.4/safeeyes/plugins/trayicon/__pycache__/plugin.cpython-38.pyc
    

    Expected behavior No .pyc in source tarballs.

    Desktop (please complete the following information):

    • OS: n/a
    • Desktop Env: n/a
    • Version: 2.1.4 + earlier releases

    Debug Log n/a

    Screenshots n/a

    bug 
    opened by hartwork 7
Releases(v2.1.4)
Owner
Gobinath
An open source enthusiastic spending his free time on developing crazy stuff
Gobinath
Random Number Generator Analysis With Python

Random-Number-Generator-Analysis Governor's Honors Program Project to determine

Jack Prewitt 2 Jan 23, 2022
Report Bobcat Status to Google Sheets

bobcat-status-reporter Report Bobcat Status to Google Sheets Why? I recently relocated my miner from my root into the attic. Bobcat recommends operati

Jasmit Tarang 3 Sep 22, 2021
Script to generate a massive volume of data in sql, csv, json or xml format

DataGenerator Made with Python Open for pull requests 1. Dependencies To install required dependencies run pip install -r requirements.txt 2. Executi

icrescenti 3 Sep 20, 2022
A python module to manipulate XCode projects

This module can read, modify, and write a .pbxproj file from an Xcode 4+ projects. The file is usually called project.pbxproj and can be found inside the .xcodeproj bundle. Because some task cannot b

Ignacio Calderon 1.1k Jan 02, 2023
Python 3 script unpacking statically x86 CryptOne packer.

Python 3 script unpacking statically x86 CryptOne packer. CryptOne versions: 2021/08 until now (2021/12)

5 Feb 23, 2022
Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.

Retrying Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just

Ray Holder 1.9k Dec 29, 2022
A clock app, which helps you with routine tasks.

Clock This app helps you with routine tasks. Alarm Clock Timer Stop Watch World Time (Which city you want) About me Full name: Matin Ardestani Age: 14

Matin Ardestani 13 Jul 30, 2022
Create password - Generate Random Password with Passphrase

Generate Random Password with Passphrase This is a python code to generate stron

1 Jan 18, 2022
Collection of code auto-generation utility scripts for the Horizon `Boot` system module

boot-scripts This is a collection of code auto-generation utility scripts for the Horizon Boot system module, intended for use in Atmosphère. Usage Us

4 Oct 11, 2022
Daiho Tool is a Script Gathering for Windows/Linux systems written in Python.

Daiho is a Script Developed with Python3. It gathers a total of 22 Discord tools (including a RAT, a Raid Tool, a Nuker Tool, a Token Grabberr, etc). It has a pleasant and intuitive interface to faci

AstraaDev 32 Jan 05, 2023
Use generator for range function

Use the generator for the range function! installation method: pip install yrange How to use: First import yrange in your application. You can then wo

1 Oct 28, 2021
A repo for working with and building daos

DAO Mix DAO Mix About How to DAO No Code Tools Getting Started Prerequisites Installation Usage On-Chain Governance Example Off-Chain governance Examp

Brownie Mixes 86 Dec 19, 2022
✨ Un bot Twitter totalement fait en Python par moi, et en français.

Twitter Bot ❗ Un bot Twitter totalement fait en Python par moi, et en français. Il faut remplacer auth = tweepy.OAuthHandler(consumer_key, consumer_se

MrGabin 3 Jun 06, 2021
A tool written in python to generate basic repo files from github

A tool written in python to generate basic repo files from github

Riley 7 Dec 02, 2021
a tool for annotating table

table_annotate_tool a tool for annotating table motivated by wiki2bio,we create a tool to annoate all types of tables,this tool can annotate a table w

wisdom under lemon trees 4 Sep 23, 2021
Standard implementations of FedLab and its provided benchmarks.

FedLab-benchmarks This repo contains standard implementations of FedLab and its provided benchmarks. Currently, following algorithms or benchrmarks ar

SMILELab-FL 104 Dec 05, 2022
Simple code to generate a password for your account!

Password-Generator Simple code to generate a password for your account! Password Generator for passwords for your accounts or anything else! This code

DEEM 1 Jun 05, 2022
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

Lark - Parsing Library & Toolkit 3.5k Jan 05, 2023
✨ Voici un code en Python par moi, et en français qui permet d'exécuter du Javascript en Python.

JavaScript In Python ❗ Voici un code en Python par moi, et en français qui permet d'exécuter du Javascript en Python. 🔮 Une vidéo pour vous expliquer

MrGabin 4 Mar 28, 2022
A simple gpsd client and python library.

gpsdclient A small and simple gpsd client and library Installation Needs Python 3 (no other dependencies). If you want to use the library, use pip: pi

Thomas Feldmann 33 Nov 24, 2022