List of links for tcl/tk packages and resources that I found useful. Focus is mainly on maintainted tools and packages with Tcl/TK 9.0 support.
- Major sources
- Packages/extensions/libraries/tools
- Console enchancement
- Static analyzers
- Special format files readers/writers
- Network
- Documentation tools
- Arguments processing
- Plotting
- Megawidget collections, Tk frameworks, OO-like widget libraries, alternative geometry managers
- Megawidgets
- Ttk themes
- Math
- Foreign interface and wrapping of C functions
- Bridges to other languages
- OS API
- Debugging
- PDF processing
- Distribution
- Language extension
- Misc
- IDEs/Editors
- Tcl/Tk sources
- Core repositories of Tcl/Tk
- Core repository, Official download page, Tk github mirror, Tcl github mirror
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Documentation: Tcl/Tk8.6, Tcl/Tk9.0
- Tcllib
- Official Tcl-only collection of packages
- Core repository
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Documentation: Table of content
- Tklib
- Official Tcl-only collection of packages for Tk GUI toolkit
- Core repository
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Documentation: Table of content
- Tcl/Tk for Windows
- Batteries included distribution of prebuild Tcl/Tk binaries for Windows
- Magicsplat
- TEA3 (Tcl extension architecture)
- A set of guidelines and techniques for the distribution, configuration, compilation, and installation of Tcl extensions. TEA also provides a set of utilities that operate accordingly.
- Latest version of sample extension, Latest version on github with additional helper scripts
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Documentation: tclwiki page, sample extension wiki page, latest version 3 of TEA wiki page
- Home of orphaned packages under Tcl Community Assosiation
- This Github organization, owned by the Tcl Community Association, hosts repositories for Tcl/Tk packages and applications, in particular those that are no longer maintained by the original author(s).
- tcltk-depot
- TkCon
- Interactive console written in pure Tcl, replacement for tclsh and wish.
- Latest version
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentaion: Original docs, tclwiki page
- tclreadline
- GNU readline for tcl
- Latest version
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: see README
- nagelfar
- Static code analyzer, supports custom syntax databases and plugins, supports code coverage analysis.
- Latest version
- License: GPLv2
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentaion: Original docs, tclwiki page
- tclyaml
- A binding to the C-based libyaml parser library for YAML Ain't Markup Language.
- Source repository
- License: BSD license
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: commands reference
- rl_json
- Extends Tcl with a json value type and a command to manipulate json values directly.
- Source repository
- License: Same as Tcl core
- Tcl/Tk version: 8.6
- Type: C extension
- Documentation: see README
- tclcsv
- Tclcsv is a binary extension for reading and writing CSV format files.
- Source repository
- License: Custom, see sources
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: tclcsv
- tarray
- The tarray (typed array) extension implements two new Tcl collection data types — columns and tables. Typed arrays store elements of a specific data type in native format and provide some features that are not built into lists and dictionaries
- Source repository
- License: BSD-2-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: tarray
- xtal
- The (eXtended typed array language) Xtal (pronounced Crystal) is an alternative to Tcl commands for working with collections (lists, typed array columns and tables).
- Source repository
- License: BSD-2-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: xtal
- TclTLS
- Transport Layer Security (TLS) Extension
- Source repository, for prebuilt Windows binaries use Magicsplat distribution.
- License: Same as Tcl core
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: TclTLS
- Ruff!
- Documentation generator from the Tcl source code
- Source repository, Distribution download
- License: BSD-2-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: Ruff!
- tmdoc
- Literate programming with Tcl - embed Tcl code into Markdown or LaTeX documents with code evaluation.
- Source repository
- License: BSD-3-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: Package manual, Package tutorial
- argparse
- A feature-heavy argument parser
- argparse.tcl, pkgIndex.tcl
- License: Same as Tcl core
- Tcl/Tk version: 8.6/9.0(modify
package require
in argparse.tcl) - Type: pure Tcl
- Documentation: tclwiki
- parse_args
- A fast argument parser based on the patterns established by core Tcl.
- Source repository
- License: Same as Tcl core
- Tcl/Tk version: 8.6
- Type: C extension
- Documentation: see README
- ticklecharts
- Tcl wrapper around Apache ECharts.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl (could be speed up with critcl)
- Documentation: see README
- implotTk
- Tcl bindings for Implot.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6
- Type: pure Tcl
- Documentation: see README
- tko::graph
- 2D graph for plotting X-Y coordinate data
- Source repository
- License: BSD
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: tko::graph
- rbc
- Refactored BLT Components
- Source repository
- License: BSD
- Tcl/Tk version: 9.0
- Type: C extension
- Documentation: See sources
- Plotchart
- Simple plotting and charting package
- Part of Tcllib
- License: Same as Tcllib
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: plotchart
- tko
- oo class like widgets
- Source repository
- License: BSD
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: See source repository
- apave (pave)
- Tcl/Tk library for GUI development
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: apave
- oowidgets
- Megawidget creation package using TclOO
- Source repository
- License: BSD-3-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: tutorial, manual
- BWidget
- BWidget is a mega-widget package
- Source repository
- License: Same as Tcl core
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: BWidget, for prebuilt Windows binaries use Magicsplat distribution.
- wob
- Create widgets with their own Tcl object and their own interpreter.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: wob
- TKproE
- Visual Tk designer
- Source repository
- License: BSD
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: Documentation
- TkDND
- TkDND is an extension that adds native drag & drop capabilities to the Tk toolkit
- Source repository
- License: Custom MIT compatible
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: See sources
- Tablelist
- The multi-column listbox and tree widget package.
- Source repository, also included into Tklib
- License: Same as Tcl core
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: Tablelist
- TkTreeCtrl
- Multi-column hierarchical listbox widget for Tk.
- Mantained repository with tcl 9 support, Original unmaintained source repository, for prebuilt Windows binaries use Magicsplat distribution.
- License: BSD License
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: TkTreeCtrl
- TkTable
- TkTable is a full-featured 2D table widget for Tk.
- Latest updated version source repository Original unmaintained source repository for prebuilt Windows binaries use Magicsplat distribution.
- License: BSD License
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: TkTable
- bartabs
- Highly improved tab bar widget for Tcl/Tk.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: bartabs
- baltip
- Tcl/Tk package of tooltip and balloon.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: baltip
- playtkl
- Testing scenarios for Tcl/Tk applications & playing macros.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6
- Type: pure Tcl
- Documentation: playtkl
- ale_themes
- It's a batch of Tcl/Tk themes.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: see README
- VecTcl
- Provides a numerical array extension for Tcl with support for vectors, matrices and higher-rank tensors of integers, floating point and complex numbers.
- Source repository, Port to Tcl9
- License: Same as Tcl core
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: VecTcl
- ndlist
- A pure Tcl implementation of arbitrary rank tensors.
- Source repository
- License: BSD-2-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: ndlist
- tclinterp
- Tcl wrapper for C interpolation routines
- Source repository
- License: LGPL-2.1 license
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: tclinterp
- SWIG
- SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages, including Tcl.
- Source repository, Main website
- License: multiple licenses, including GPL. Code generated by SWIG, which is not governed by copyright.
- Tcl/Tk version: 8.6/9.0
- Documentation: SWIG
- tcl-cffi
- A Foreign Function Interface extension for Tcl.
- Source repository
- License: BSD-2-Clause license
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: tcl-cffi
- critcl
- C Runtime In Tcl, CriTcl for short, a system to build C extension packages for Tcl on the fly, from C code embedded within Tcl scripts.
- Source repository
- License: Same as Tcl core
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: critcl
- tohil
- Tohil is simultaneously a Python extension and a TCL extension that makes it possible to effortlessly call bidirectionally between Tcl and Python, targeting Tcl 8.6+ and Python 3.6+
- Source repository
- License: BSD-3-Clause license
- Tcl/Tk version: 8.6/9.0(?)
- Type: C extension
- Documentation: tohil
- twapi
- The Tcl Windows API (TWAPI) extension provides access to the Windows API from within the Tcl scripting language.
- Source repository
- License: Custom, see sources.
- Tcl/Tk version: 8.6/9.0
- Type: C extension
- Documentation: twapi
- flytrap
- Tcl debugging tools.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: flytrap
- TclProDebug
- Tcl interactive debugger
- Source repository
- License: Custom
- Tcl/Tk version: 8.6/9.0(not all features are supported)
- Type: C extension
- Documentation: See sources
- tclfpdf
- Port of tFPDF (PHP) by by Ian Back and Tycho Veltmeijer (modified version of FPDF by Olivier Plathey) to TCL.
- Source repository
- License: Custom
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- pdf4tcl
- pdf4tcl is a tcl package for generating pdf files.
- Source repository
- License: BSD
- Tcl/Tk version: 8.6/9.0
- Type: pure Tcl
- Documentation: pdf4tcl
- Freewrap
- Tool for wrapping Tcl application to single executable
- Source repository
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Documentation: Documentation
- TclX
- TclX provides additional interfaces to the operating system, and adds many new programming constructs, text manipulation tools, and debugging tools.
- Source repository
- License: BSD
- Tcl/Tk version: 8.6/9.0
- Documentation: See sources
- tcl-promise
- Promises are concurrency primitives that simplify asynchronous programming by allowing you to write the code in a sequential style. This project implements promises for the Tcl language.
- Source repository
- License: BSD
- Tcl/Tk version: 8.6/9.0
- Documentation: tcl-promise
- Github workflows for Tcl
- Github action workflows for testing Tcl extensions.
- tcl-setup, tcl-build-extension
- License: MIT-compatible
- Tcl/Tk version: 8.6/9.0
- Documentation: see README
- alited
- Text editor with main focus on Tcl/Tk projects. Written in pure Tcl, ideally suited for Tcl/Tk development.
- Source repository
- License: MIT
- Tcl/Tk version: 8.6/9.0
- Documentation: documentation