nayamamarshe / please Goto Github PK
View Code? Open in Web Editor NEW๐ Please CLI - Minimalistic New Tab Page CLI Tool with a greeting, date and time, inspirational quotes and your personal tasks and to-do list
License: MIT License
๐ Please CLI - Minimalistic New Tab Page CLI Tool with a greeting, date and time, inspirational quotes and your personal tasks and to-do list
License: MIT License
I followed the guideโฆ
% pip3 install --user please_cli-0.3.1
ERROR: Could not find a version that satisfies the requirement please_cli-0.3.1 (from versions: none)
ERROR: No matching distribution found for please_cli-0.3.1
Hi,
When I launch please command, I've thsi error :
Something's wrong with your config file. You can fix ~/.config/please/config.json file manually or you can enter your name again in the setup wizard to reset the config file.
ENTERING NAME WILL OVERWRITE YOUR PREVIOUS CONFIG.
The config.json is empty, and I have create it (rw-rw-rw)
So, I try to setup :
$ please setup
Something's wrong with your config file. You can fix ~/.config/please/config.json file manually or you can enter your name again in the setup wizard to reset the config file.
ENTERING NAME WILL OVERWRITE YOUR PREVIOUS CONFIG.
Usage: please [OPTIONS]
Try 'please --help' for help.
Error: Got unexpected extra argument (setup)
Thanks
F.
When I open my terminal after upgrading to Python 3.11 I get the following errors:
Traceback (most recent call last):
File "/usr/lib/python3.11/importlib/metadata/init.py", line 563, in from_name
return next(cls.discover(name=name))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/please", line 33, in
sys.exit(load_entry_point('please-cli==0.3.1', 'console_scripts', 'please')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/please", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/init.py", line 981, in distribution
return Distribution.from_name(distribution_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/init.py", line 565, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for please-cli
Please let me know if I can provide any additional information to help with this. And thank you for building Please, it always brings a smile to my face when I launch my terminal. :)
Hello!
I have a big deadline coming up in some months, and I thought it might be nice to have some kind of countdown timer present in the preamble to help me keep the looming date in mind. (eg. "There are 42 days left until your deadline.")
Perhaps this is something which could be added to individual tasks as well? In the case of structuring and organizing a smaller set of tasks for a larger project, it could be nice to set micro-deadlines as well, and potentially organize/prioritize the different tasks based on their time constraints.
Hopefully someone else would find this useful as well. Thanks!
Hello there, I love the app, it's already replaced Neofetch on my production machine.
However, I use a tiling WM, and that means that often, my terminal windows are resized after opening, if I open additional windows in that workspace. This breaks the task list, because the horizontal line at the top forces all text below to wrap when the terminal window shrinks horizontally.
It's not a huge deal, I have aliased 'clrpls' to clear the terminal and relaunch 'please', but it would be nice to be able to eliminate that top line so that resizing the terminal window is more forgiving.
Thank you for making such a great tool :)
Features:
move
clean
Thanks for please :-)
It would be really cool if you could have todo lists on a per directory basis. If I am in
~/project1
I would love to have
~/project1/.please/items.json
and use these instead of the global todo items.
Don't know if it is possible, but here you go :-)
Greetings
Saลกa
First, thank you for this awesome simple, yet very useful program.
To further improve usability of this program, I want to propose 2 new features:
please clean
.history.json
. Then, introduce new API such as please history
to display all done and "cleaned" task. This should allow the user to keep task history, while keeping the main task clean from bloat.I understand the main concern is speed. Both of above suggestion should not impact the performance as it was outside of default please
command.
I prefer seeing my time in the 24 hour format I've customized my time and date format in the .bashrc script however, please displays time in the 12 hour AM, PM style. I suspect the answer may be located in please.py but I'm not sure how to go about customizing the settings. I know it's not really an issue, but if anyone knows how I could do what I want, I'd be very happy and grateful. Thanks.
In the spirit of minimalism, please privide option to disable the motivational quotes and Hello Name! It's
? Also, option to hide Task
Table header.
I really like the idea of opening the terminal and being greeted with a quote. However after some time it gets annoying when I have a day where I use new terminal instances all the time. So I would prefer if please only shows once per day or only once and then again after having rebooted the system.
Added the latest tag release to AUR
This makes it easier for Arch Linux users to install the package.
yay -S please_cli
Hi,
Sorry, it's not really an issue, but, do you plan to add categories ?.
For me, it's a very good feature, and it's not "too" complicated :), maybe.
Thanks
F.
โญโโโโโโโโโโโโโโโโโโโโโ Traceback (most recent call last) โโโโโโโโโโโโโโโโโโโโโโโฎ
โ /home/depressedpineapple/.local/lib/python3.8/site-packages/please/please.py โ
โ :330 in main โ
โ โ
โ 327 โ try: โ
โ 328 โ โ with open(os.path.join(config_path, "config.json")) as config_ โ
โ 329 โ โ โ global config โ
โ โฑ 330 โ โ โ config = json.load(config_file) โ
โ 331 โ except FileNotFoundError: โ
โ 332 โ โ open(os.path.join(config_path, "config.json"), "w") โ
โ 333 โ โ typer.run(setup) โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ config_file = <io.TextIOWrapper โ โ
โ โ name='/home/depressedpineapple/.config/please/config.json' โ โ
โ โ mode='r' encoding='UTF-8'> โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โ /usr/lib/python3.8/json/init.py:293 in load โ
โ โ
โ 290 โ To use a custom JSONDecoder
subclass, specify it with the cl โ โ 291 โ kwarg; otherwise
JSONDecoderis used. โ โ 292 โ """ โ โ โฑ 293 โ return loads(fp.read(), โ โ 294 โ โ cls=cls, object_hook=object_hook, โ โ 295 โ โ parse_float=parse_float, parse_int=parse_int, โ โ 296 โ โ parse_constant=parse_constant, object_pairs_hook=object_pairs_ โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ cls = None โ โ โ โ fp = <_io.TextIOWrapper โ โ โ โ name='/home/depressedpineapple/.config/please/confiโฆ โ โ โ โ mode='r' encoding='UTF-8'> โ โ โ โ kw = {} โ โ โ โ object_hook = None โ โ โ โ object_pairs_hook = None โ โ โ โ parse_constant = None โ โ โ โ parse_float = None โ โ โ โ parse_int = None โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ /usr/lib/python3.8/json/__init__.py:357 in loads โ โ โ โ 354 โ if (cls is None and object_hook is None and โ โ 355 โ โ โ parse_int is None and parse_float is None and โ โ 356 โ โ โ parse_constant is None and object_pairs_hook is None and n โ โ โฑ 357 โ โ return _default_decoder.decode(s) โ โ 358 โ if cls is None: โ โ 359 โ โ cls = JSONDecoder โ โ 360 โ if object_hook is not None: โ โ โ โ โญโโโโโโโโโ locals โโโโโโโโโโฎ โ โ โ cls = None โ โ โ โ kw = {} โ โ โ โ object_hook = None โ โ โ โ object_pairs_hook = None โ โ โ โ parse_constant = None โ โ โ โ parse_float = None โ โ โ โ parse_int = None โ โ โ โ s = '' โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ /usr/lib/python3.8/json/decoder.py:337 in decode โ โ โ โ 334 โ โ containing a JSON document). โ โ 335 โ โ โ โ 336 โ โ """ โ โ โฑ 337 โ โ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) โ โ 338 โ โ end = _w(s, end).end() โ โ 339 โ โ if end != len(s): โ โ 340 โ โ โ raise JSONDecodeError("Extra data", s, end) โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ _w = <built-in method match of re.Pattern object at 0x7fcd86338cf0> โ โ โ โ s = '' โ โ โ โ self = <json.decoder.JSONDecoder object at 0x7fcd862a6a30> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ /usr/lib/python3.8/json/decoder.py:355 in raw_decode โ โ โ โ 352 โ โ try: โ โ 353 โ โ โ obj, end = self.scan_once(s, idx) โ โ 354 โ โ except StopIteration as err: โ โ โฑ 355 โ โ โ raise JSONDecodeError("Expecting value", s, err.value) fro โ โ 356 โ โ return obj, end โ โ 357 โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ idx = 0 โ โ โ โ s = '' โ โ โ โ self = <json.decoder.JSONDecoder object at 0x7fcd862a6a30> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ JSONDecodeError: Expecting value: line 1 column 1 (char 0) Failed while loading configuration โญโโโโโโโโโโโโโโโโโโโโโ Traceback (most recent call last) โโโโโโโโโโโโโโโโโโโโโโโฎ โ /home/depressedpineapple/.local/lib/python3.8/site-packages/please/please.py โ โ :330 in main โ โ โ โ 327 โ try: โ โ 328 โ โ with open(os.path.join(config_path, "config.json")) as config_ โ โ 329 โ โ โ global config โ โ โฑ 330 โ โ โ config = json.load(config_file) โ โ 331 โ except FileNotFoundError: โ โ 332 โ โ open(os.path.join(config_path, "config.json"), "w") โ โ 333 โ โ typer.run(setup) โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ config_file = <_io.TextIOWrapper โ โ โ โ name='/home/depressedpineapple/.config/please/config.json' โ โ โ โ mode='r' encoding='UTF-8'> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ /usr/lib/python3.8/json/__init__.py:293 in load โ โ โ โ 290 โ To use a custom
JSONDecodersubclass, specify it with the
cl โ
โ 291 โ kwarg; otherwise JSONDecoder
is used. โ
โ 292 โ """ โ
โ โฑ 293 โ return loads(fp.read(), โ
โ 294 โ โ cls=cls, object_hook=object_hook, โ
โ 295 โ โ parse_float=parse_float, parse_int=parse_int, โ
โ 296 โ โ parse_constant=parse_constant, object_pairs_hook=object_pairs โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ cls = None โ โ
โ โ fp = <_io.TextIOWrapper โ โ
โ โ name='/home/depressedpineapple/.config/please/confiโฆ โ โ
โ โ mode='r' encoding='UTF-8'> โ โ
โ โ kw = {} โ โ
โ โ object_hook = None โ โ
โ โ object_pairs_hook = None โ โ
โ โ parse_constant = None โ โ
โ โ parse_float = None โ โ
โ โ parse_int = None โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โ /usr/lib/python3.8/json/init.py:357 in loads โ
โ โ
โ 354 โ if (cls is None and object_hook is None and โ
โ 355 โ โ โ parse_int is None and parse_float is None and โ
โ 356 โ โ โ parse_constant is None and object_pairs_hook is None and n โ
โ โฑ 357 โ โ return _default_decoder.decode(s) โ
โ 358 โ if cls is None: โ
โ 359 โ โ cls = JSONDecoder โ
โ 360 โ if object_hook is not None: โ
โ โ
โ โญโโโโโโโโโ locals โโโโโโโโโโฎ โ
โ โ cls = None โ โ
โ โ kw = {} โ โ
โ โ object_hook = None โ โ
โ โ object_pairs_hook = None โ โ
โ โ parse_constant = None โ โ
โ โ parse_float = None โ โ
โ โ parse_int = None โ โ
โ โ s = '' โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โ /usr/lib/python3.8/json/decoder.py:337 in decode โ
โ โ
โ 334 โ โ containing a JSON document). โ
โ 335 โ โ โ
โ 336 โ โ """ โ
โ โฑ 337 โ โ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) โ
โ 338 โ โ end = _w(s, end).end() โ
โ 339 โ โ if end != len(s): โ
โ 340 โ โ โ raise JSONDecodeError("Extra data", s, end) โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ _w = <built-in method match of re.Pattern object at 0x7fcd86338cf0> โ โ
โ โ s = '' โ โ
โ โ self = <json.decoder.JSONDecoder object at 0x7fcd862a6a30> โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โ /usr/lib/python3.8/json/decoder.py:355 in raw_decode โ
โ โ
โ 352 โ โ try: โ
โ 353 โ โ โ obj, end = self.scan_once(s, idx) โ
โ 354 โ โ except StopIteration as err: โ
โ โฑ 355 โ โ โ raise JSONDecodeError("Expecting value", s, err.value) fro โ
โ 356 โ โ return obj, end โ
โ 357 โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ idx = 0 โ โ
โ โ s = '' โ โ
โ โ self = <json.decoder.JSONDecoder object at 0x7fcd862a6a30> โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Failed while loading configuration
Hi...
One featurethat I'm interested in is synchronization with different equipments. I have three desktops and laptops and I find an account and task sync to be a nice feature.
I can help with that too. Let me know if you need some help.
Good work guys.
Is it possible to read an existing todo.txt file at startup? All todos of the day or the week should then be displayed.
A synchronization is not necessary, for this there would be other tools, such as syncthing.
please
uses config.json kept in ~/.config/please
as a database.
tasks: [
{
name: "...",
done: false,
date_added: "...",
date_completed: "...",
priority: "1" // 1 is high, 2 is low...
}
]
Number | Task | Done? | Date Added | Date Completed |
---|
For people who normally use 24h time, having 12h time in an app feels weird, it would be great to have an option to toggle between 12h or 24h time.
(This is my first ever feature request forgive me if I am doing something wrong. I have so far only used github in private,)
hello @NayamAmarshe After using your please CLI for a few months daily, the only shortcoming I felt encountering for my usage would be detailing some tasks with a few sub-tasks.
So naturally I forked the project and added this functionnality, please find linked to this enhancement issue my branch, and if so inclined, you may review it and eventually merge it.
please done 1-3
please del 1,3,7
please
It takes a long time to visit various sites, I spend much more time in the terminal. And if the weather greets me at every launch, it will be just fine :)
After installing please, you will need to insert your Weather token and configure your location. By default, the city should be set, according to the time zone, if this is not possible, any city is set.
One interesting feature is the possibility to change the order of the tasks. This is a nice and simple feature you can implement and is important for the flow of tasks.
Running on windows with python3.9.6 64-bit:
Seems like the emoticones are not recognized. (screenshot example)
I would like to disable printing of the tasks.
There seems to be options to disable greeting, line and quote.
But no options to disable printing of tasks.
Library to use: icspy
It would be nice to have an option in the configuration file to add an empty line between the greeting and the quote row, just as there is an empty line between the quote and the task.
Wouldn't it be better to not have "
quotes attached when naming a task
All other arguments after add
can be added to form the title
Some people like me are lazy to reach and hold shift key for "
Instead of this command
please add "Task name"
this would be a choice
please add Task name
or atleast can we make it optional with config file
Is there theming support? If not, is it planned?
zkitzo@Hetzner:~$ please
-bash: please: command not found
zkitzo@Hetzner:~$ source .bashrc
zkitzo@Hetzner:~$ please
-bash: please: command not found
zkitzo@Hetzner:~$ nano .bashrc
zkitzo@Hetzner:~$ echo `echo $0`
-bash
zkitzo@Hetzner:~$ ls -lAh
-rw-rw-r-- 1 zkitzo zkitzo 209 May 31 19:49 .bash_aliases
-rw------- 1 zkitzo zkitzo 205K Jun 13 17:11 .bash_history
-rw-r--r-- 1 zkitzo zkitzo 220 Jan 7 22:16 .bash_logout
-rw-rw-r-- 1 zkitzo zkitzo 7 Jun 13 17:10 .-bashrc
-rw-r--r-- 1 zkitzo zkitzo 4.1K May 22 21:08 .bashrc
Also /home/zkitzo/.local/bin
is not in my $PATH
. Easy to add but I think you should fix it!
I am on linux with the latest version of "please" at the time of writing. When I run the please daily
command to start the program once a day, as described in the README, I get this error:
Usage: please [OPTIONS] COMMAND [ARGS]...
Try 'please --help' for help.
Error: No such command 'daily'.
I see the project is MIT. You should create a LICENSE.md file in the root directory to show this clearly within the first page view.
There usually is a ./contrib
folder that contains some integration-like files.
Some nix expert may come along and help in with the idiomic way. But there is what worked for my flake.nix
{ config, pkgs, ... }:
let
py3-with-deps-for-please = pkgs.python3.withPackages (ps: [ ps.typer ps.rich ]);
py3-code-for-please = pkgs.fetchFromGitHub {
rev = "390ecaeda5cad70b56f2b4ef64725c1d1a10a842";
owner = "NayamAmarshe";
repo = "please";
hash = "sha256-U0wT6uZ9IV4lemMD9UVTSMvGeQ9h5l1TQ9gUiH/tlJc=";
};
please-cli = pkgs.writeShellScriptBin "please" ''
${pkgs.lib.getExe py3-with-deps-for-please} ${py3-code-for-please}/please/please.py $@
'';
in
{
config.users.users.mt.shell = pkgs.fish;
config.environment.systemPackages = [
please-cli
];
}
I hope for someone to publish a correct package not only to AUR but also to nixpkgs
hi, cool package! just a minor spelling error in the README (so minor, it's not even worth creating a PR):
# Mark task as undone
pleae undone <TASK NUMBER>
kindly note the word please is misspelled
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.