diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4d1865c..658719b 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,9 +7,12 @@ on: pull_request: branches: ["main"] +# One group per branch or pull request, so a pull request's run doesn't cancel main's, which +# publishes the docs. A new push cancels the older run of the same pull request, but never a run +# that publishes, so a deployment isn't interrupted halfway. concurrency: - group: pages - cancel-in-progress: true + group: docs-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: build: diff --git a/CHANGELOG.md b/CHANGELOG.md index cedd414..bf02f4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ and the project uses [Semantic Versioning](https://semver.org/). ### Added +- Commands to install tkinter on the common Linux distributions, and tkinter and Tktable where + they have a Tktable package. - Installation docs for more Linux distributions (Kali Linux, Gentoo, Slackware), FreeBSD, OpenBSD, NetBSD and conda, with separate pages for Linux and macOS. - Links to the GitHub repository on the docs' home page and in the footer of every page. diff --git a/README.md b/README.md index 1cf5f7a..a3b17bf 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Python](https://img.shields.io/pypi/pyversions/pytktable)](https://pypi.org/project/pytktable/) [![Tests](https://github.com/nbro/tktable/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/nbro/tktable/actions/workflows/tests.yml) [![Docs](https://github.com/nbro/tktable/actions/workflows/docs.yml/badge.svg?branch=main)](https://nbro.github.io/tktable/) -[![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](LICENSE.md) +[![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](https://github.com/nbro/tktable/blob/main/LICENSE.md) A spreadsheet-like table widget for tkinter, wrapping the Tcl/Tk [Tktable](https://wiki.tcl-lang.org/page/Tktable) extension. @@ -63,9 +63,9 @@ Tktable can be found and loaded. ## License -[BSD 2-Clause](LICENSE.md). +[BSD 2-Clause](https://github.com/nbro/tktable/blob/main/LICENSE.md). Copyright (c) 2008, Guilherme Polo\ Copyright (c) 2016-2026, nbro -See the [changelog](CHANGELOG.md) for what changed in this fork. +See the [changelog](https://github.com/nbro/tktable/blob/main/CHANGELOG.md) for what changed in this fork. diff --git a/docs/installation/index.md b/docs/installation/index.md index 09fe0d2..b672081 100644 --- a/docs/installation/index.md +++ b/docs/installation/index.md @@ -38,19 +38,22 @@ they are tested. pytktable finds it automatically, so you don't need to install Tktable or set `TKTABLE_LIBRARY`. You only need tkinter, which the python.org installers for Windows and macOS include. On Linux, -install your distribution's tkinter package, e.g.: +install your distribution's tkinter package: -```sh -sudo apt install python3-tk -``` - -on Debian and Ubuntu, or: - -```sh -sudo dnf install python3-tkinter -``` - -on Fedora. Tktable also needs the X11 library (`libX11`), which every desktop Linux has. +| Distribution | Command | +|---|---| +| Debian, Ubuntu, Linux Mint, Kali Linux | `sudo apt install python3-tk` | +| Fedora, RHEL 10, CentOS Stream 10 | `sudo dnf install python3-tkinter` | +| RHEL 9, Rocky Linux 9, AlmaLinux 9 | `sudo dnf install python3.12 python3.12-tkinter` | +| openSUSE | `sudo zypper install python3-tk` | +| Alpine | `sudo apk add python3-tkinter` | +| Arch Linux, Manjaro | `sudo pacman -S tk` | +| Gentoo | Python built with the `tk` USE flag | + +On RHEL 9 and its rebuilds, `python3` is Python 3.9, older than pytktable requires, so use +`python3.12`. Most of these are tested with the prebuilt Tktable (see +[Testing](https://github.com/nbro/pytktable-binaries/blob/main/docs/testing.md)). Tktable also +needs the X11 library (`libX11`), which every desktop Linux has. (without-prebuilt-tktable)= ## Without prebuilt Tktable diff --git a/docs/installation/linux.md b/docs/installation/linux.md index 3380aca..2b6f8a4 100644 --- a/docs/installation/linux.md +++ b/docs/installation/linux.md @@ -3,36 +3,23 @@ These instructions are for installing Tktable yourself, with `pip install pytktable`. With `pip install "pytktable[binary]"`, you don't need them: see {ref}`prebuilt-tktable`. -## Install## Install tkinter and Tktable +## Install tkinter and Tktable -On Debian and its derivatives, e.g. Ubuntu, Linux Mint and Kali Linux: +Where the distribution has a Tktable package, install it with tkinter: -```sh -sudo apt install python3-tk tk-table -``` - -On Gentoo, with Python built with the `tk` USE flag: - -```sh -sudo emerge dev-tcltk/tktable -``` - -On other distributions, look for a package called `tktable` or `tk-table`. These are the ones we -know of: - -| Distribution | Package | Version | Notes | -|---|---|---|---| -| Debian, Ubuntu, Linux Mint | [`tk-table`](https://community.linuxmint.com/software/view/tk-table) | | | -| Kali Linux | [`tk-table`](https://pkg.kali.org/pkg/tk-table) | 2.10.8 | From Debian | -| Gentoo | [`dev-tcltk/tktable`](https://packages.gentoo.org/packages/dev-tcltk/tktable) | 2.12.1 | | -| Slackware | [`tktable`](https://slackbuilds.org/repository/15.0/development/tktable/) (SlackBuild) | 2.10.8 | Built from source | -| Fedora, RHEL, CentOS, Rocky Linux | none | | Use the prebuilt Tktable | +| Distribution | Command | Tktable version | +|---|---|---| +| Debian, Ubuntu, Linux Mint, Kali Linux | `sudo apt install python3-tk tk-table` | 2.10.8 ([Kali](https://pkg.kali.org/pkg/tk-table)) | +| Gentoo | `sudo emerge dev-tcltk/tktable`, with Python built with the `tk` USE flag | [2.12.1](https://packages.gentoo.org/packages/dev-tcltk/tktable) | +| Slackware | the [`tktable` SlackBuild](https://slackbuilds.org/repository/15.0/development/tktable/), built from source | 2.10.8 | -`perl-Tk-TableMatrix` (Fedora, Arch Linux, Manjaro) is a different table widget, for Perl/Tk, not -Tktable. For distributions without a package, use the prebuilt Tktable -({ref}`prebuilt-tktable`), [conda](other-systems.md#conda), or build Tktable from source. +Fedora, RHEL and its rebuilds (CentOS, Rocky Linux, AlmaLinux), openSUSE, Alpine and Arch Linux +have no Tktable package that we know of: there, install only tkinter +({ref}`see the commands `) and use the prebuilt Tktable, or +[conda](other-systems.md#conda). `perl-Tk-TableMatrix` (Fedora, Arch Linux, Manjaro) is a +different table widget, for Perl/Tk, not Tktable. -he installation +## Check the installation ```sh python -m tktable