Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
27 changes: 15 additions & 12 deletions docs/installation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
39 changes: 13 additions & 26 deletions docs/installation/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <prebuilt-tktable>`) 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
Expand Down
Loading