Skip to content

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.

Notifications You must be signed in to change notification settings

georgtree/tcltkResources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 

Repository files navigation

tcltkResources

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

  • TkCon
  • tclreadline
    • GNU readline for tcl
    • Latest version
    • License: MIT-compatible
    • Tcl/Tk version: 8.6/9.0
    • Type: C extension
    • Documentation: see README

Static analyzers

  • 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

Special format files readers/writers

  • 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

Work with data

  • 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

Network

  • 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

Documentation tools

Arguments processing

  • 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

Plotting

  • 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

Megawidget collections, Tk frameworks, OO-like widget libraries, alternative geometry managers

  • 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
  • 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

Megawidgets

Ttk themes

  • 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

Math

  • 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

Foreign interface and wrapping of C functions

  • 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

Bridges to other languages

  • 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

OS API

  • 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

Debugging

  • 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

PDF processing

  • 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

Distribution

  • Freewrap
    • Tool for wrapping Tcl application to single executable
    • Source repository
    • License: MIT-compatible
    • Tcl/Tk version: 8.6/9.0
    • Documentation: Documentation

Language extension

  • 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

Misc

  • 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

IDEs/Editors

  • 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

About

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.

Topics

Resources

Stars

Watchers

Forks