From 3fecce814ed094b1ff47a9b5965b14605d488aa1 Mon Sep 17 00:00:00 2001 From: Managor <42655600+Managor@users.noreply.github.com> Date: Wed, 26 Mar 2025 07:06:17 +0200 Subject: [PATCH 01/12] Update tldr.py --- tldr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tldr.py b/tldr.py index e4d2b28..e7cb91c 100755 --- a/tldr.py +++ b/tldr.py @@ -18,7 +18,7 @@ import colorama # Required for Windows import shtab -__version__ = "3.3.0" +__version__ = "3.4.0" __client_specification__ = "2.2" REQUEST_HEADERS = {'User-Agent': 'tldr-python-client'} From 9ccbb85648c628addd56a6a642c2f15c0feddceb Mon Sep 17 00:00:00 2001 From: Managor <42655600+Managor@users.noreply.github.com> Date: Wed, 26 Mar 2025 07:07:56 +0200 Subject: [PATCH 02/12] Update CHANGELOG.md --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0618f89..fd85108 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 3.4.0 (TBA) + +### Features + +* Add support for option placeholders + ## 3.3.0 (06/29/2024) ## Breaking From 481f2b7b95f0b7742467c7fad5153d0e4f210418 Mon Sep 17 00:00:00 2001 From: Managor <42655600+Managor@users.noreply.github.com> Date: Wed, 26 Mar 2025 07:08:41 +0200 Subject: [PATCH 03/12] Update tldr.1 --- docs/man/tldr.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/man/tldr.1 b/docs/man/tldr.1 index 6750041..a06b95e 100644 --- a/docs/man/tldr.1 +++ b/docs/man/tldr.1 @@ -29,7 +29,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .TH "TLDR" "1" "Jun 29, 2024" "" "tldr" .SH NAME -tldr \- tldr 3.3.0 +tldr \- tldr 3.4.0 .sp Python command line client for tldr From 683e45aa8d35e62226d3fdfd959cecf75b095935 Mon Sep 17 00:00:00 2001 From: Managor <42655600+Managor@users.noreply.github.com> Date: Wed, 26 Mar 2025 07:09:12 +0200 Subject: [PATCH 04/12] Update snapcraft.yaml --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 83362e0..99e8ff6 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,6 @@ name: tldr base: core24 -version: '3.3.0' +version: '3.4.0' summary: tldr python client description: Python command-line client for tldr pages. From d682fde4098cee78a7e03afd836eaae870cb664e Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Fri, 28 Mar 2025 19:02:59 +0530 Subject: [PATCH 05/12] feat: update files for new release Signed-off-by: K.B.Dharun Krishna --- .github/workflows/test.yml | 2 +- CHANGELOG.md | 21 ++++++++++++++++++--- docs/man/tldr.1 | 17 ++++++++++++++++- snap/snapcraft.yaml | 8 -------- 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 489175b..cd1917f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -147,7 +147,7 @@ jobs: os: ['ubuntu-latest', 'ubuntu-24.04-arm'] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: canonical/action-build@3bdaa03e1ba6bf59a65f84a751d943d549a54e79 # v1.3.0 id: snapcraft-build diff --git a/CHANGELOG.md b/CHANGELOG.md index fd85108..6a7a316 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,29 @@ # Changelog -## 3.4.0 (TBA) +## 3.4.0 (03/28/2025) + +### Breaking + +* Drop support for EOL Python 3.8 version. + +### Bugfixes + +* Fix duplicate pages information shown in pages like `du`, `cd`, `w` (thanks [@sellisd](https://github.com/sellisd)) +* Only install `colorama` in Windows devices (thanks [@hukkin](https://github.com/hukkin)) +* Fix broken `--render` option (thanks [@acuteenvy](https://github.com/acuteenvy)) ### Features -* Add support for option placeholders +* Add support for displaying long/short option placeholders using `--short-options`/`--long-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) +* Add `--clear-cache`/`-k` option to clear tldr's local cache (thanks [@patricedenis](https://github.com/patricedenis) and [@vitorhcl](https://github.com/vitorhcl)) +* Add support to stylize text inside backticks when appearing in example description (thanks [@kyluca](https://github.com/kyluca)) +* Add support for specifying a certificate bundle with TLDR_CERT (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) +* Package build has been migrated from using `setup.py` to `pyproject.toml` with Hatch backend and updated package metadata (thanks [@kbdharun](https://github.com/kbdharun)) +* Add trusted publisher support to securely publish `tldr` package to PyPI directly from the repository's confined environment (thanks [@kbdharun](https://github.com/kbdharun)) ## 3.3.0 (06/29/2024) -## Breaking +### Breaking * Drop support for EOL versions Python 3.6 and Python 3.7. diff --git a/docs/man/tldr.1 b/docs/man/tldr.1 index a06b95e..f667679 100644 --- a/docs/man/tldr.1 +++ b/docs/man/tldr.1 @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "TLDR" "1" "Jun 29, 2024" "" "tldr" +.TH "TLDR" "1" "Mar 28, 2025" "" "tldr" .SH NAME tldr \- tldr 3.4.0 .sp @@ -61,6 +61,11 @@ Update the local cache of pages and exit .sp Default: False .TP +.B \-k, \-\-clear\-cache +Delete the local cache of pages and exit +.sp +Default: False +.TP .B \-p, \-\-platform Possible choices: android, freebsd, linux, netbsd, openbsd, osx, sunos, windows, common .sp @@ -92,6 +97,16 @@ Just print the plain page file. .sp Default: False .TP +.B \-\-short\-options +Display shortform options over longform +.sp +Default: False +.TP +.B \-\-long\-options +Display longform options over shortform +.sp +Default: False +.TP .B \-\-print\-completion Possible choices: bash, zsh, tcsh .sp diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 02fa80b..ed2c025 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -31,14 +31,6 @@ parts: build-environment: - PATH: ${CRAFT_PART_INSTALL}/bin:${PATH} - PYTHONPATH: ${CRAFT_PART_INSTALL}/lib/python3.12/site-packages - override-pull: | - craftctl default - override-build: | - craftctl default - cd $CRAFT_PART_SRC/docs - make man - mkdir -p $CRAFT_PART_INSTALL/share/man/man1 - cp -r $CRAFT_PART_SRC/docs/man/tldr.1 $CRAFT_PART_INSTALL/share/man/man1/tldr.1 python-packages: - Sphinx - sphinx-argparse From 936153757df83a0610005c877edea1daa506e46b Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Fri, 28 Mar 2025 19:08:26 +0530 Subject: [PATCH 06/12] cleanup: update CHANGELOG Signed-off-by: K.B.Dharun Krishna --- CHANGELOG.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a7a316..8d9532b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,17 +8,18 @@ ### Bugfixes -* Fix duplicate pages information shown in pages like `du`, `cd`, `w` (thanks [@sellisd](https://github.com/sellisd)) -* Only install `colorama` in Windows devices (thanks [@hukkin](https://github.com/hukkin)) * Fix broken `--render` option (thanks [@acuteenvy](https://github.com/acuteenvy)) +* Fix duplicate platform information shown in pages like `du`, `cd`, `w` (thanks [@sellisd](https://github.com/sellisd)) +* Only install `colorama` dependency in Windows (thanks [@hukkin](https://github.com/hukkin)) ### Features -* Add support for displaying long/short option placeholders using `--short-options`/`--long-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) +* Add support for displaying long/short option placeholders using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) * Add `--clear-cache`/`-k` option to clear tldr's local cache (thanks [@patricedenis](https://github.com/patricedenis) and [@vitorhcl](https://github.com/vitorhcl)) -* Add support to stylize text inside backticks when appearing in example description (thanks [@kyluca](https://github.com/kyluca)) -* Add support for specifying a certificate bundle with TLDR_CERT (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) -* Package build has been migrated from using `setup.py` to `pyproject.toml` with Hatch backend and updated package metadata (thanks [@kbdharun](https://github.com/kbdharun)) +* Add support to stylize text inside backticks when appearing in example descriptions (thanks [@kyluca](https://github.com/kyluca)) +* Add support for specifying a certificate bundle with TLDR_CERT variable (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) +* Package build for the project has been migrated from using `setup.py` (with `setuptools` backend) to `pyproject.toml` (with Hatch backend) (thanks [@kbdharun](https://github.com/kbdharun)) +* Update package metadata in `pyproject.toml` (thanks [@kbdharun](https://github.com/kbdharun)) * Add trusted publisher support to securely publish `tldr` package to PyPI directly from the repository's confined environment (thanks [@kbdharun](https://github.com/kbdharun)) ## 3.3.0 (06/29/2024) From 3c10b7190d756450c77b47aca8772b06e0c3e07c Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Fri, 28 Mar 2025 19:12:22 +0530 Subject: [PATCH 07/12] docs: minor update to option placeholder line in CHANGELOG Signed-off-by: K.B.Dharun Krishna --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d9532b..7b3cd6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ ### Features -* Add support for displaying long/short option placeholders using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) +* Add support for displaying pages with long/short option placeholders only using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) * Add `--clear-cache`/`-k` option to clear tldr's local cache (thanks [@patricedenis](https://github.com/patricedenis) and [@vitorhcl](https://github.com/vitorhcl)) * Add support to stylize text inside backticks when appearing in example descriptions (thanks [@kyluca](https://github.com/kyluca)) * Add support for specifying a certificate bundle with TLDR_CERT variable (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) From e1ce319b74e9e557ea9bafc27de0c06fd689ad2b Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Fri, 28 Mar 2025 19:14:57 +0530 Subject: [PATCH 08/12] docs: add client spec support to features in CHANGELOG Signed-off-by: K.B.Dharun Krishna --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b3cd6e..c9f721f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ * Package build for the project has been migrated from using `setup.py` (with `setuptools` backend) to `pyproject.toml` (with Hatch backend) (thanks [@kbdharun](https://github.com/kbdharun)) * Update package metadata in `pyproject.toml` (thanks [@kbdharun](https://github.com/kbdharun)) * Add trusted publisher support to securely publish `tldr` package to PyPI directly from the repository's confined environment (thanks [@kbdharun](https://github.com/kbdharun)) +* Add support for [Client Specification v2.3](https://github.com/tldr-pages/tldr/releases/tag/v2.3) ## 3.3.0 (06/29/2024) From 0c9888a184726b2c6ae6ff196dde922857e39345 Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Fri, 28 Mar 2025 19:20:22 +0530 Subject: [PATCH 09/12] docs: add link to TLDR_CERT variable example in README, last minute cleanups Signed-off-by: K.B.Dharun Krishna --- CHANGELOG.md | 2 +- README.md | 5 +++-- pyproject.toml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9f721f..4bb4c01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ * Add support for displaying pages with long/short option placeholders only using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) * Add `--clear-cache`/`-k` option to clear tldr's local cache (thanks [@patricedenis](https://github.com/patricedenis) and [@vitorhcl](https://github.com/vitorhcl)) * Add support to stylize text inside backticks when appearing in example descriptions (thanks [@kyluca](https://github.com/kyluca)) -* Add support for specifying a certificate bundle with TLDR_CERT variable (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) +* Add support for specifying a certificate bundle with [TLDR_CERT variable](https://github.com/tldr-pages/tldr-python-client#ssl-inspection) (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) * Package build for the project has been migrated from using `setup.py` (with `setuptools` backend) to `pyproject.toml` (with Hatch backend) (thanks [@kbdharun](https://github.com/kbdharun)) * Update package metadata in `pyproject.toml` (thanks [@kbdharun](https://github.com/kbdharun)) * Add trusted publisher support to securely publish `tldr` package to PyPI directly from the repository's confined environment (thanks [@kbdharun](https://github.com/kbdharun)) diff --git a/README.md b/README.md index 66c1818..53a87ba 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![CodeQL](https://github.com/tldr-pages/tldr-python-client/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/tldr-pages/tldr-python-client/actions/workflows/github-code-scanning/codeql) [![Snap Release](https://snapcraft.io/tldr/badge.svg)](https://snapcraft.io/tldr) -Python command-line client for [tldr pages](https://github.com/tldr-pages/tldr). +🐍 Official Python command-line client for [tldr pages](https://github.com/tldr-pages/tldr) 📚. ![Tldr Python client displaying the tar page](https://raw.github.com/tldr-pages/tldr-python-client/main/images/tldr-dark.png) @@ -123,6 +123,7 @@ tldr --clear-cache ```bash # bash tldr --print-completion bash | sudo tee "$BASH_COMPLETION_COMPAT_DIR"/tldr + # zsh (it is recommended to check where zsh/site-functions directory is located) ## for macOS: tldr --print-completion zsh | sudo tee /usr/local/share/zsh/site-functions/_tldr @@ -196,4 +197,4 @@ can either use the `--source` flag when using tldr or by specifying the followin ### Command options -Pages might contain `{{[*|*]}}` patterns to let the client decide whether to show shortform or longform versions of options. This can be configured with `TLDR_OPTIONS`, which accepts values `short`, `long` and `both` +Pages might contain `{{[*|*]}}` patterns to let the client decide whether to show shortform or longform versions of options. This can be configured with `TLDR_OPTIONS`, which accepts values `short`, `long` and `both`. diff --git a/pyproject.toml b/pyproject.toml index aeaacd8..d5d363e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "tldr" dynamic = ["version"] -description = "Python command line client for tldr." +description = "Official Python command line client for tldr." readme = "README.md" license = "MIT" requires-python = "~=3.9" From 8fd7b2a9593a4dc72ea145d08c0bd0351765abbe Mon Sep 17 00:00:00 2001 From: Managor <42655600+Managor@users.noreply.github.com> Date: Fri, 28 Mar 2025 15:58:28 +0200 Subject: [PATCH 10/12] probably better grammar --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bb4c01..9cb3374 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ ### Features -* Add support for displaying pages with long/short option placeholders only using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) +* Add support for displaying pages with long/short option placeholders using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) * Add `--clear-cache`/`-k` option to clear tldr's local cache (thanks [@patricedenis](https://github.com/patricedenis) and [@vitorhcl](https://github.com/vitorhcl)) * Add support to stylize text inside backticks when appearing in example descriptions (thanks [@kyluca](https://github.com/kyluca)) * Add support for specifying a certificate bundle with [TLDR_CERT variable](https://github.com/tldr-pages/tldr-python-client#ssl-inspection) (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) From 0e8426b5d9a8fe7bf3a88921420dae0f0ce08168 Mon Sep 17 00:00:00 2001 From: Managor <42655600+Managor@users.noreply.github.com> Date: Fri, 28 Mar 2025 15:58:46 +0200 Subject: [PATCH 11/12] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cb3374..8f8ee87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ ### Features -* Add support for displaying pages with long/short option placeholders using `--long-options`/`--short-options` flag or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) +* Add support for displaying pages with long/short option placeholders using `--long-options`/`--short-options` flags or [TLDR_OPTIONS variable](https://github.com/tldr-pages/tldr-python-client#command-options) (thanks [@Managor](https://github.com/Managor)) * Add `--clear-cache`/`-k` option to clear tldr's local cache (thanks [@patricedenis](https://github.com/patricedenis) and [@vitorhcl](https://github.com/vitorhcl)) * Add support to stylize text inside backticks when appearing in example descriptions (thanks [@kyluca](https://github.com/kyluca)) * Add support for specifying a certificate bundle with [TLDR_CERT variable](https://github.com/tldr-pages/tldr-python-client#ssl-inspection) (thanks [@jtcbrule](https://github.com/jtcbrule), [@CleanMachine1](https://github.com/CleanMachine1), and [@vitorhcl](https://github.com/vitorhcl)) From edc04c52a12a97a6d34576d5aa153ac52fead4d8 Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Fri, 28 Mar 2025 19:30:57 +0530 Subject: [PATCH 12/12] docs/nit: make description consistent across places Signed-off-by: K.B.Dharun Krishna --- pyproject.toml | 2 +- snap/snapcraft.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d5d363e..0ba6446 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "tldr" dynamic = ["version"] -description = "Official Python command line client for tldr." +description = "Official Python command line client for tldr pages." readme = "README.md" license = "MIT" requires-python = "~=3.9" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index ed2c025..85b4cec 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -2,7 +2,7 @@ name: tldr base: core24 version: '3.4.0' summary: tldr python client -description: Python command-line client for tldr pages. +description: Official Python command-line client for tldr pages. grade: stable confinement: strict