Skip to content

tcltk-pkgs/registry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

464 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tcl/Tk Packages Registry

description

Central registry of third-party packages and extensions for Tcl/Tk.

Packages Contributors Version

Browse Packages

Visit the web interface

Search, filter and explore all available packages with an easy-to-use interface.

  • Full-text search
  • Filter by tags
  • Sort by popularity, recent updates, or name
  • Direct links to repositories and documentation

Adding a Package

Submit a PR adding your package to packages.json. The registry is automatically rebuilt daily.

Field Type Description
name string Package name (no spaces)
sources array Array of source objects
sources[].url string Repository URL
sources[].method string git or fossil (optional)
sources[].web string Documentation URL (optional)
sources[].artifacts string This specifies the URL where the built releases, tarballs, or binaries are hosted. (optional)
sources[].author string | array Package author(s). Single name as string, or multiple as array of strings (["author1" , "author2", "..."])
sources[].extension boolean true if this is a compiled (C/C++/etc...) extension (requires build or binaries), false or omit for pure Tcl scripts (optional)
sources[].license string SPDX license identifier
tags array Keywords for categorization
description string Short description

Examples:

{
  "name": "mypackage",
  "sources": [
    {
      "url": "https://github.com/user/mypackage",
      "method": "git",
      "web": "https://user.github.io/mypackage",
      "author": "John Doe",
      "license": "MIT"
    }
  ],
  "tags": ["json", "parser", "utility"],
  "description": "Fast JSON parser for Tcl"
}

Multiple sources (mirrors):

{
  "name": "mypackage",
  "sources": [
    {
      "url": "https://github.com/tcltk/mypackage",
      "method": "git",
      "author": "Tcl Community",
      "license": "BSD-3-Clause"
    },
    {
      "url": "https://core.tcl-lang.org/mypackage",
      "method": "fossil",
      "author": "Tcl Community",
      "license": "MIT"
    }
  ],
  "tags": ["official", "library", "core"],
  "description": "Standard Tcl library"
}

Note

The web field is optional and points to documentation if different from the repository url.
The method field is optional, used only if the url is a GitHub repository or a Fossil repository.

My Package is incorrectly listed

Please open an issue at registry/issues

Auto-Update

This repository uses GitHub Actions to:

  • Validate packages.json on every PR.
  • Generate packages-meta.json daily (metadata, stats, validation).

Acknowledgments

The registry format draws inspiration from modern package registries (npm, Cargo, Nim) while being specifically adapted for the Tcl/Tk ecosystem.

See Also

  • Tcl-Related-Link — An exhaustive, well-organized collection of Tcl/Tk links including books,
    tools, extensions, and language bindings. A must-bookmark for any Tcl developer.

  • Andreas Kupries' Tcl/Tk repository mirror — A personal mirror maintained by Andreas Kupries,
    a Tcl Core Team member, Andreas is notably one of the main authors of Tcllib.

  • Public Tcl Package Repository — A community-driven public repository offering a curated collection
    of Tcl packages, open to contributions and collaboration.

License

This registry is dedicated to the public domain under CC0 1.0 Universal.

About

Central registry of third-party packages and extensions for Tcl/Tk

Topics

Resources

License

Stars

13 stars

Watchers

2 watching

Forks

Contributors

Languages