Skip to main content

💻 PLS-CLI

If you are like me, and your terminal is your home, this CLI will make your life better, I hope 😄

🛠 Installation

pipx installs the CLI in an isolated environment, avoiding conflicts with other packages:

# Install pipx if you haven't already
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Install pls-cli
pipx install pls-cli

Alternative: Using pip

pip install pls-cli

Note: Installing with pip may cause dependency conflicts with other packages. We recommend using pipx for CLI tools.

🧑‍💻 Run from source

To run or develop the version of PLS-CLI in a cloned repository, install Python 3.9+ and uv, then run:

git clone <your-repository-url>
cd pls-cli
uv sync --only-group test
uv run pls --help

uv sync creates a project-local .venv environment from pyproject.toml and uv.lock. The .venv directory should not be committed; it can be recreated from those files.

Verify changes

Run the automated tests before sharing a change:

uv run pytest -q

⬆️ Upgrade version

pipx upgrade pls-cli

With pip

pip install pls-cli --upgrade

⚙️ Configuration

To run pls-cli everytime you open your shell's:

Bash

echo 'pls' >> ~/.bashrc

Zsh

echo 'pls' >> ~/.zshrc

Fish

echo 'pls' >> ~/.config/fish/config.fish

Ion

echo 'pls' >> ~/.config/ion/initrc

Tcsh

echo 'pls' >> ~/.tcshrc

Xonsh

echo 'pls' >> ~/.xonshrc

Powershell

Add the following to the end of Microsoft.PowerShell_profile.ps1. You can check the location of this file by querying the $PROFILE variable in PowerShell. Typically the path is ~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 or ~/.config/powershell/Microsoft.PowerShell_profile.ps1 on -Nix.

pls

⚠️ Restart your terminal to apply the changes and start configuring your PLS-CLI. 🎉

⌨️ Commands

pls --help

Or for more information you can see in the documentation.

Insert a task

Insert a task after an existing task by using its current ID:

pls insert 2 "third task"

This inserts third task after task 2. Tasks that were after task 2 automatically receive their new displayed IDs. Task names with spaces must be wrapped in quotes.

The ID must be an existing task ID, from 1 through the current number of tasks. Inserting into an empty list, using 0, or using an ID beyond the last task displays an error.

PLS-CLI asks for confirmation before changing the list. Enter y to insert and save the task, or N to leave the list unchanged.

🎨 Color Configuration

You can configure all colors with envs!!

Setting env on Linux, macOS, Windows Bash:

export PLS_ERROR_LINE_STYLE="#e56767"

Setting env on Windows PowerShell:

$Env:PLS_ERROR_LINE_STYLE = "#e56767"

All envs:

export PLS_ERROR_LINE_STYLE="#e56767"
export PLS_ERROR_TEXT_STYLE="#ff0000 bold"

export PLS_WARNING_LINE_STYLE="#FFBF00"
export PLS_WARNING_TEXT_STYLE="#FFBF00 bold"

export PLS_UPDATE_LINE_STYLE="#61E294"
export PLS_UPDATE_TEXT_STYLE="#61E294 bold"

export PLS_INSERT_DELETE_LINE_STYLE="#bb93f2"

export PLS_INSERT_DELETE_TEXT_STYLE="#a0a0a0"

export PLS_MSG_PENDING_STYLE="#61E294"
export PLS_TABLE_HEADER_STYLE="#d77dd8"
export PLS_TASK_DONE_STYLE="#a0a0a0"
export PLS_TASK_PENDING_STYLE="#bb93f2"
export PLS_HEADER_GREETINGS_STYLE="#FFBF00"
export PLS_QUOTE_STYLE="#a0a0a0"
export PLS_AUTHOR_STYLE="#a0a0a0"

export PLS_BACKGROUND_BAR_STYLE="bar.back"
export PLS_COMPLETE_BAR_STYLE="bar.complete"
export PLS_FINISHED_BAR_STYLE="bar.finished"

You can specify the background color like this:

export PLS_QUOTE_STYLE="#a0a0a0 on blue"

If you create some theme, share with us here ♥️.

💄 Formatting a task

You can format your tasks with:

pls add "[b]Bold[/], [i]Italic[/], [s]Strikethrough[/], [d]Dim[/], [r]Reverse[/], [red]Color Red[/], [#FFBF00 on green]Color exa with background[/], :star:, ✨"

image

🚧 TMUX integration

Using pls count-done and pls count-undone.

🤝 Special thanks

PLS-CLI stands on the shoulders of giants:

  • Typer for the CLI tool.
  • Rich for the beautiful formatting in terminal.

Metadata

Release files for pls-cli 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pls-cli 0.5.0
File Size Uploaded Provenance
pls_cli-0.5.0.tar.gz 155.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pls-cli 0.5.0
File Interpreter ABI Platform
pls_cli-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 206.1 kB

Release files / pls_cli-0.5.0.tar.gz

Download URL pls_cli-0.5.0.tar.gz
Size 155.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2bfd50ce563b1d8d731d06794dfdd757bf8adc981f157323915df74dcd636858
BLAKE2b-256 checksum
How to use checksums
8a6dbd608f3e620c32d47607f46dfdf2b2057c258304fb8988b46fac20527921
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pls_cli-0.5.0-py3-none-any.whl

Download URL pls_cli-0.5.0-py3-none-any.whl
Size 50.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
77688e1f03037c9ef5254c259131ce70d350ca2d5adf73204af9844ceaa85ed8
BLAKE2b-256 checksum
How to use checksums
854436fcc2e8acbfd52221b77354673ec32513a07f7a34353b414a975b1a8524
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for pls-cli 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page