{
  "community": {
    "exc": {
      "group": "application",
      "label": "Spreadsheet inside Emacs",
      "license": "GPL-3.0-or-later",
      "maintainer": "yibie",
      "open": "exc-open",
      "url": "https://github.com/yibie/exc.el"
    }
  },
  "packages": [
    {
      "file": "ebox-3.1.2.tar",
      "name": "ebox",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "ecss",
          "0.1.0"
        ]
      ],
      "sha256": "edccaa6ecbf95da6740a78e50bc6831ecf25fb2f3eb60283c508e4b7a4a5c5b8",
      "summary": "Pixel-perfect box model renderer",
      "version": "3.1.2"
    },
    {
      "file": "ecss-0.1.0.tar",
      "name": "ecss",
      "requirements": [
        [
          "emacs",
          "28.1"
        ]
      ],
      "sha256": "eab5cf4519935bc6de45269c5c22cec0f9755a997f017aa9513bf80d6a67a0b3",
      "summary": "Pure extensible CSS cascade engine",
      "version": "0.1.0"
    },
    {
      "file": "ekp-1.0.1.tar",
      "name": "ekp",
      "requirements": [
        [
          "emacs",
          "29.1"
        ]
      ],
      "sha256": "176ba9a9738cfac83d62d2d17fb6683e612bb2efdb9b4f5d68598f9585564108",
      "summary": "Knuth-Plass line breaking with CJK support",
      "version": "1.0.1"
    },
    {
      "file": "etaf-0.3.4.tar",
      "name": "etaf",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "ebox",
          "3.1.0"
        ],
        [
          "ecss",
          "0.1.0"
        ]
      ],
      "sha256": "ab93ab58591f5e6d813d078fbbe16f718fd6c36d26c9f0efcad177308b6b8d4f",
      "summary": "Text application framework facade",
      "version": "0.3.4"
    },
    {
      "file": "etaf-db-0.1.0.tar",
      "name": "etaf-db",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.2.1"
        ]
      ],
      "sha256": "642cfe2b7fdda4a1642842721ed508fa4744859e0aa0ff618cf9c8a52fbdb5ff",
      "summary": "Database backends for ETAF",
      "version": "0.1.0"
    },
    {
      "file": "etaf-desktop-0.1.7.tar",
      "name": "etaf-desktop",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.2.1"
        ],
        [
          "etaf-ui",
          "0.1.0"
        ]
      ],
      "sha256": "d259eea0fb2e8c859db4811acb85799ed0cea429fd835eb286604f3b01efdd86",
      "summary": "Desktop application for ETAF",
      "version": "0.1.7"
    },
    {
      "file": "etaf-gamekit-0.2.0.tar",
      "name": "etaf-gamekit",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ]
      ],
      "sha256": "d36fb44b407572150d363fccf2fa7e3f4265a291e932896ccd1372170ae822f7",
      "summary": "Framework for games with native ETAF presentation",
      "version": "0.2.0"
    },
    {
      "file": "etaf-install-0.2.16.tar",
      "name": "etaf-install",
      "requirements": [
        [
          "emacs",
          "29.1"
        ]
      ],
      "sha256": "c750573dd32eaced3f81634b6acd35ee9638ad3ddc2af4b8df7a9e5fa920e2ed",
      "summary": "Install ETAF with the Emacs package manager",
      "version": "0.2.16"
    },
    {
      "file": "etaf-manual-0.1.11.tar",
      "name": "etaf-manual",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.2.2"
        ],
        [
          "etaf-ui",
          "0.1.3"
        ]
      ],
      "sha256": "e98ac4f74c224c8ca1cabdc8fd26194f853b6c698b41fe030386b502c6fd60a1",
      "summary": "The ETAF Reference Manual",
      "version": "0.1.11"
    },
    {
      "file": "etaf-md-preview-0.1.9.tar",
      "name": "etaf-md-preview",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ]
      ],
      "sha256": "5914bd0fd5d257166f28993ddc424ebdc846442953d93776219d83345fb1aeb2",
      "summary": "Modern Markdown preview in ETAF",
      "version": "0.1.9"
    },
    {
      "file": "etaf-ncm-0.2.2.tar",
      "name": "etaf-ncm",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ],
        [
          "ebox",
          "3.0.0"
        ],
        [
          "etaf-db",
          "0.1.0"
        ]
      ],
      "sha256": "d5899e5d61e3083b929398650024808b5c720479c75b6aafdd309c2ad4e5ec4d",
      "summary": "NetEase Cloud Music player for ETAF",
      "version": "0.2.2"
    },
    {
      "file": "etaf-pomodoro-0.2.0.tar",
      "name": "etaf-pomodoro",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ]
      ],
      "sha256": "5947ae8a8fa874ab8a32bd8358bf2974fec977ef5fb2dd286af8c312bf12508d",
      "summary": "Focus timer as an ETAF application",
      "version": "0.2.0"
    },
    {
      "file": "etaf-posframe-0.3.0.tar",
      "name": "etaf-posframe",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.3.0"
        ],
        [
          "posframe",
          "0.9.0"
        ]
      ],
      "sha256": "46edc6db395ae822d628e1a80f4db13a5aa5bda7da00936e0b88537902f27e70",
      "summary": "Floating ETAF panels in child frames",
      "version": "0.3.0"
    },
    {
      "file": "etaf-tanks-0.2.10.tar",
      "name": "etaf-tanks",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-gamekit",
          "0.2.0"
        ],
        [
          "etaf-ui",
          "0.1.0"
        ]
      ],
      "sha256": "ea08394cabbb8b9cffae24a0ebab53723b8baa7771516135a03d2b863b388182",
      "summary": "A Battle City-style tank game for Emacs",
      "version": "0.2.10"
    },
    {
      "file": "etaf-telega-0.1.7.tar",
      "name": "etaf-telega",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ],
        [
          "telega",
          "0.8.0"
        ]
      ],
      "sha256": "e3b49f6c7f4157ad53042da416e399607b2c46a756a4a934f0c5e89bd7f31aec",
      "summary": "Telegram client with an ETAF interface on Telega's TDLib backend",
      "version": "0.1.7"
    },
    {
      "file": "etaf-ui-0.3.3.tar",
      "name": "etaf-ui",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.2.2"
        ],
        [
          "ebox",
          "3.0.1"
        ]
      ],
      "sha256": "029f3a8f96ffbf360e1344ddca39f5dc1e35491492102cb1e7d9f542cf35484e",
      "summary": "Official ETAF component catalog",
      "version": "0.3.3"
    },
    {
      "file": "etaf-video-player-0.2.1.tar",
      "name": "etaf-video-player",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ],
        [
          "etaf-db",
          "0.1.0"
        ]
      ],
      "sha256": "2ea91714d08e3f35127273e069faed0f46cb2caa8ce258637a77204a48238235",
      "summary": "Play video with sound in an ETAF buffer",
      "version": "0.2.1"
    },
    {
      "file": "etaf-weread-0.2.5.tar",
      "name": "etaf-weread",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-ui",
          "0.2.0"
        ],
        [
          "etaf-db",
          "0.1.0"
        ]
      ],
      "sha256": "dddf90605b16c327732fa7eec0c02e0f42961d8311b45372ba33b5cafe5a2fad",
      "summary": "WeChat Reading client for ETAF",
      "version": "0.2.5"
    },
    {
      "file": "etaf-xiangqi-0.1.7.tar",
      "name": "etaf-xiangqi",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ],
        [
          "etaf-gamekit",
          "0.1.0"
        ],
        [
          "etaf-ui",
          "0.1.0"
        ]
      ],
      "sha256": "044db3f61a7b240aa1ded3c397e07b6e32fd5303a4911e3fc6babc3cbf1f9f44",
      "summary": "Chinese chess (Xiangqi), a standalone GameKit application",
      "version": "0.1.7"
    },
    {
      "file": "exc-0.5.1.tar",
      "name": "exc",
      "requirements": [
        [
          "emacs",
          "29.1"
        ],
        [
          "etaf",
          "0.3.0"
        ]
      ],
      "sha256": "45cc3279cf576281ca8f89fe388acf9bef39be6856c77587316df29d257027ea",
      "summary": "A spreadsheet inside Emacs",
      "version": "0.5.1"
    }
  ],
  "schema": 2,
  "sources": {
    "ebox": "cfdb826e1d98980e3a0cc701586f3821aab3f2d0",
    "ecss": "a09e44f0c6accc747fac7535bcf11b27bf029c99",
    "ekp": "96dc21ccb1f304f087a0edc07bc43922e36c8f05",
    "etaf": "2395f838f15648d863dd33e45b52329899ab2fc0",
    "etaf-db": "4fd9b71cc6ecb4f84b54109851347ea01af9134a",
    "etaf-desktop": "beb92b3865893fd3e5b9458ffc87081501228562",
    "etaf-gamekit": "451392c4733c8d512e1e2091e98b42aeb363aa32",
    "etaf-install": "d2c287125c981a4cd8cdffed220b768cf33aaac6",
    "etaf-manual": "59f5cdb86979485d31e4f81045b22b519f9107f3",
    "etaf-md-preview": "2bae0a7571ff44b047c8a18c493929399c7dbd62",
    "etaf-ncm": "f4604e03ed8a488cc4ca489ef8c5a6d560b98776",
    "etaf-pomodoro": "ab0dee3db4ab099197ee8d77768ad08743e5853b",
    "etaf-posframe": "08216a57e83f001295539b61b72d1434bd32ab81",
    "etaf-tanks": "c93601556e2c9d935174a3bf1fe3403ab69408df",
    "etaf-telega": "a90988b4af615987fb561d1f51361ec2a36eadfb",
    "etaf-ui": "09af2e0a0649f3672d2ed3e1a3aabbb9e9b8d73a",
    "etaf-video-player": "d5acafe98976b0fd680742e74e1323cfd4817131",
    "etaf-weread": "020f739b74fa4f0c922ec8423bf768475c0034d7",
    "etaf-xiangqi": "c3f139bca474c60daf9b447a1b08a6cdddedd079",
    "exc": "bc989cb8bb973ff4e1aeb3e6efdf26303db146d5"
  },
  "updated": {
    "ebox": "2026-11-06T16:52:00+08:00",
    "ecss": "2026-10-13T00:11:40+08:00",
    "ekp": "2026-10-17T16:37:39+08:00",
    "etaf": "2026-11-01T22:06:54+08:00",
    "etaf-db": "2026-10-13T00:48:59+08:00",
    "etaf-desktop": "2026-10-27T21:46:56+08:00",
    "etaf-gamekit": "2026-10-27T10:34:12+08:00",
    "etaf-install": "2026-11-06T22:15:04+08:00",
    "etaf-manual": "2026-11-06T22:10:57+08:00",
    "etaf-md-preview": "2026-11-06T22:10:40+08:00",
    "etaf-ncm": "2026-10-24T23:00:08+08:00",
    "etaf-pomodoro": "2026-10-25T10:07:43+08:00",
    "etaf-posframe": "2026-10-26T23:31:21+08:00",
    "etaf-tanks": "2026-10-27T10:34:20+08:00",
    "etaf-telega": "2026-10-27T21:46:15+08:00",
    "etaf-ui": "2026-11-06T22:10:03+08:00",
    "etaf-video-player": "2026-10-22T21:39:31+08:00",
    "etaf-weread": "2026-10-24T22:59:57+08:00",
    "etaf-xiangqi": "2026-10-24T22:59:47+08:00",
    "exc": "2026-10-21T21:43:31-07:00"
  },
  "workspace": "d2c287125c981a4cd8cdffed220b768cf33aaac6"
}
