LuaDirectory > LuaAddons > 函式庫
和
連結
這是 Lua 實作或使用其他語言(例如 C)實作的函式庫清單,但具有 Lua 介面。如需較舊的函式庫和連結,請參閱 LuaAddonsArchive。也可在 LuaForge 找到模組。Lua ModuleReview 打算整理其中一些。
給作者的說明:此頁面是 LuaAddons 的一部分—在變更此清單前,請先閱讀該處的說明。請勿為項目標記開放式版本(例如「5.x」),因為在發布新 Lua 版本後,這很可能會不正確。
要在這個頁面上列出,必須可以將其「require」到典型的 Lua 應用程式中。以下是不列出的範例
- 使用 Lua 編寫腳本或設定檔的 XYZ 伺服器或應用程式
- 適用於 C++ 應用程式的一組 XYZ 引擎或架構,可以用 Lua 編寫腳本(但無法延伸現有的 Lua 應用程式)
GUI 工具組和小圖形
音訊
網路
一般 / 低階
- [LuaSocket] (5.0/5.1) - Lua 的 socket 程式設計函式庫。
- [LuaSCTP] (5.1/5.2/5.3) - 使用 Lua 透過 SCTP 傳送和接收資料。
- [Nixio] - Lua 系統、網路和 I/O 函式庫。
- [Emilua] - 另一套 Lua 系統、網路和 I/O 函式庫。
- [LuaZMQ] - [ZeroMQ] 佈告板/回應/推播/拉取訊息傳遞函式庫的 Lua 繫結。
- [lzmq] (5.1/5.2/5.3) - [ZeroMQ] 3.x 函式庫的 Lua 繫結。
- [LuaHandlers] - 提供一組非同步的 callback 處理常式,用於與原始的 TCP/UDP socket、ZeroMQ socket 或 HTTP 請求配合使用。
- [LuaSys] (5.1/5.2) - 又另一套 Lua 系統函式庫。(同時包含:1)socket;2)事件通知機制;3)win32 資訊:註冊表、服務;4)序列通訊;5)執行緒)。
- [DSAS/DSASC] (5.1) - Dyna
Set 應用程式伺服器和用戶端,一個給 Lua 使用的簡單伺服器/用戶端網路 API。依賴 [YAMI]。 - [LuaBER] (5.0) - 抽象語法表示法一號 ([ASN.1]/CCITT X.680、[OSI] 第六層) 的簡單基本編碼規則 ([BER]) 實作。
- [luaspread] (5.1) - Spread 群組通訊系統的 Lua 介面。
- [luadjbdns] (5.1) - djbdns 與 skadns DNS 用戶端函式庫的 Lua 介面。
- [LuaCURL] (5.0/5.1) - [libcurl] 檔案傳輸函式庫的 Lua 介面。
- [LuaSNMP] (5.1/5.2/5.3) - Lua 中的簡易網路管理通訊協定 (SNMP) 程式設計函式庫。基於 net-snmp 函式庫。
- [webnet77] (5.1) - IP 國家查詢函式庫。[*L]
- [swirl] (5.1) - 實作 [BEEP],一個用於建立應用程式層協定的架構。
- [LuaVortex] (5.1) - 實作 [BEEP],一個用於建立應用程式層協定的架構。
- LuaApr 繫結 Apache 可攜式執行環境 (APR) 函式庫所提供的 socket 介面。
- 排隊 / 執行緒
- HTML
- XML / XML-RPC / SOAP
- JSON-RPC
- [JSONRPC4Lua] (5.0/5.1) - Lua 的 JSON-RPC-over-http 用戶端 (或 CGILua 環境中的伺服器)。[*L]
- (也請參閱以下文字處理中的JSON )
- [tango] (5.1) - 具有可自訂序列化的簡單 RPC 函式庫。相依 Copas 與 LuaSocket?。
- [ratchet] (5.1/5.2) - 多 socket 控制機制,類似 Python 的 gevent,支援 ZeroMQ、SSL、DNS、SMTP、HTTP。
- [Luvit] (5.1) - Lua + node.js 的 libUV + JIT:事件驅動非封鎖 I/O,用於網路應用程式。
- [Lua HDF5] (5.1/5.2) - HDF5 函式庫的高低階 Lua 介面。與 h5py 相較。
- [Lua MPI] (5.1/5.2) - MPI (訊息傳遞介面) 的 Lua 繫結。
- [cqueues] (5.1/5.2/5.3) - 抽象的 Linux、*BSD、OS X 和 Solaris 上 O(1) Socket、信號和檔案通知之綜合架構。另外包含緩衝 Socket I/O、SSL/TLS I/O、檔案說明子傳遞、POSIX 執行緒 wrapper、具有遞迴和 Stub 解析功能的 DNS 函式庫,和 OpenSSL 憑證和金鑰管理 API 的完整連結。沒有回呼,因此可以和其它的 C 或 Lua 事件迴圈完全相容,或作為一個獨立的事件迴圈使用。
- [lua-http] (5.1/5.2/5.3/luajit) - Lua HTTP 函式庫。支援 HTTP 1.0、1.1 和 2.0;用戶端和伺服器;可選擇完全非同步。
- [lredis] (5.1/5.2/5.3/luajit) - Redis 用戶端;可選擇完全非同步。
- [lua-websockets] (5.1/5.2) - Lua 的 Websockets (V13)。
- [h2o] (5.1/luajit) - 使用 Lua 處理 HTTP/1.* 和 HTTP/2 要求,快速且輕量 (Intel Celeron 上,每秒 40,000 個簡單要求)。
- [ljndpi] (luajit) - 使用 LuaJIT FFI,連結 nDPI 深層封包檢查函式庫。
- [lua-lluv] - 低階連結至 libuv。
特定 / 應用程式層級
- Web 架構
- CGI/Web 伺服器連結
- Web 伺服器
- [Mako 伺服器] - Lua 應用程式伺服器包括支援用戶端/伺服器 HTTP/HTTPS、(安全的)套接字、用戶端/伺服器 WebSockets?、MQTT 用戶端、WebDAV 伺服器與建立 Web 應用程式用的 Lua 伺服器頁面 (LSP)。
- [Xavante] (5.1)- 一個處理使用 Copas 提出要求且使用 CGILua 當作原生範本引擎的 Lua Web 伺服器 (HTTP/1.1)。
- [lua-httpd] (5.0)- 一個簡單的網路連結以及使用其執行之範例 Web 伺服器。
- [Ladle] (5.1)- 一個使用 Lua 程式語言撰寫,可經由 XML 設定的實驗性 Web 伺服器。[*L]
- [LuaExec] (5.1、5.2、5.3?)- 一個支援 Copas、基礎的 HTTP/1.1 類別與使用使用 C 編寫的剖析器的 Lua 頁面的小型物件導向伺服器,在應用程式中內嵌 HTTP 伺服器範例中包含。
- [Turbolua] (5.1)- 一個能讓網站使用 Lua 編寫的 Web 伺服器。快速,使用 Luajit。
- CMS / Wiki
- Web 瀏覽器
- [Moonshine] (5.1)- 一個 Mozilla Firefox 的內嵌 Lua 環境。作為 XPI 擴充功能實作;允許 Firefox 擴充功能使用 Lua 程式碼而非 JavaScript 編寫。
- [Luakit] (5.1)- 一個基於 WebKit? 與 GTK+、且使用 Lua 可進行延伸的高度可設定微型瀏覽器結構。
- 電子郵件
- [LuaPOP3] (5.0)- 一個 Lua 的 POP3 用戶端函式庫。
- [Tethys] (5.1)- 一個簡單但可延伸的 SMTP 伺服器。設計用於避免大多數 SMTP 伺服器會遇到的組態惡夢。[*L]
- IMAP:[5] 使用 Lua 實作的小型 IMAP 伺服器(初步)[*L]
- [Lua-POP3] (5.1/5.2/5.3)- 一個 Lua 的 POP3 用戶端函式庫。
- 交談/即時訊息/VoIP
- [Verse](5.1) - 一個用於 Lua 的 Jabber/XMPP 函式庫。
- [Prosody](5.1) - 一個輕量的 XMPP 伺服器,完全用 Lua 編寫(必要時使用一般函式庫/模組)。[*L]
- [luamodo](5.1) - 一個面向物件的 IRC 機器人架構。
- [FreeSWITCH](5.1) - 一個開源的通訊架構,用於建立語音和聊天驅動的產品,範圍從軟體電話到軟體交換機都有支援。支援 SIP、H.323、IAX2、XMPP 等通訊協定。包含會議、互動式語音回應、文字轉語音/自動語音辨識、PSTN 互連等功能。可與 C/C++、Perl、Python、Lua、Java
Script、Java 和 Mono/.NET 等介面。 - [ivrWorx] - VoIP 應用程式原型製作工具(SIP、MRCP、RTSP……)。
- [lua-gntp] - Growl 通知運送協定(GNTP)的實作。
文字處理
- 樣式比對/範本/前處理
- 標記語言
- 範本
- 資料序列語言
- JSON
- YAML
- [yaml] (5.1) - Lua 用的 LibYAML 繫結。
- [Syck] (5.1) - Scripters 的 YAML 自己組建解析器套件。最佳化用途是搭配高階詮譯語言,透過直接寫入語言的符號表格來獲取速度。
- Cyan
- [Cyan] - 使用 Cyan 編碼將表格轉換成字串,或進行相反轉換。
- 請參閱 LuaXml。
- 二進制到文字編碼
- 分析
- Unicode
- 請參閱 StringRecipes。
- [Allen] (5.x) - Lua 函式庫,適用於大量字串處理。
- [LuaNLP] (5.x) - Lua 的自然語言處理函式庫。[*L]
表格處理
資料庫存取
- 請參閱 DatabaseAccess。
人工智慧
- 請參閱 ArtificialIntelligence。
- [Jumper] (5.1) - 使用跳點搜尋演算法,適用於 2D 格線遊戲的路徑規劃函式庫。
數學
- 高精確度 / 任意精確度
- [lqd] (5.1/5.2/5.3) - 基於 [qd] 的 Lua 高精確度(雙雙精度和四雙精度)數學函式庫。
- [lbc] (5.0/5.1/5.2/5.3) - Lua 的大數字函式庫。
- [lmapm] (5.0/5.1/5.2/5.3) - 包含超越函式的任意精確度函式庫。
- [ldecNumber] (5.1) - IBM [decNumber] 的包裝器。實作 General Decimal Arithmetic 標準 IEEE 754r。完全控制捨入模式和工作精確度。
- [LGMP] (5.1/5.2) - 從 Lua 使用 [GMP] GNU 多精度算術函數庫。
- [lua-bint] (5.3/5.4) - 純 Lua 編寫的大整數函數庫。
- [lmathx] (5.1/5.2/5.3) - 基於 C99 的標準數學函數庫延伸套件。
- [lcomplex] (5.1/5.2/5.3) - 基於 C99 的複數數學運算函數庫。
- [linterval] (5.1/5.2) - 基於 [PROFIL/BIAS] 的區間運算函數庫;實作區間型態、向量和此型態的矩陣。包含一個隱式曲線繪圖器。
- [lgpc] (5.0/5.1/5.2/5.3) - 基於 [GPС] (一般多邊形切割器函數庫) 的多邊形布林運算函數庫。
- [Numeric Lua] (5.1) - 支援複數、多維矩陣、亂數產生和特殊函數的 Lua 數值運算套件。大部分常式是 Netlib 函數庫的封裝器。
- LuaMatrix [7] (5.1) - 純 Lua 編寫的矩陣運算 [*L] 也包含複數函數庫。
- [complex] - 純 Lua 編寫的複數函數庫
- [gslshell] - 與 GNU 科學函數庫 (GSL) 連結的函數庫和 Lua shell 介面,包含矩陣、向量和各種數學常式
- [Lunum] - 為 Lua 所實作的快速數值陣列,完全以 C 編寫。陣列的行為就像 numpy 陣列,並支援所有數值資料類型,包含布林和複數。陣列切片即將推出。可作為 Lua 模組 (共用函數庫) 或靜態嵌入到應用程式中的簡單 C API。活躍用於分散式記憶體運算群集中的物理研究。
- [SOR](5.x) - 用於求解線性方程組的函數庫。
- [SciLua] (LuaJIT 2.0) - 純 LuaJIT 函數庫,用於一般科學運算。涵蓋向量和矩陣代數、亂數 (和準亂數) 產生器、函數最小化、分佈、特殊數學函數等更多功能。
- [Rclient] (LuaJIT 2.0) - 純 LuaJIT 函數庫,可以在 LuaJIT 和 R 之間交換資料結構,並直接從 LuaJIT 執行任意 R 程式。
- [GALua] (5.2) - 在 Lua 程式語言中加入多向量資料類型。熟悉幾何代數的人可能會對這個模組感興趣。
- [Lua 數值演算法] - 純 LuaJIT 函數庫,提供矩陣運算 (大多透過 LAPACKE 和 FFI)、函數最小化、積分、FFT、複數等功能。
- [luapower/affine2d] - 2D 仿射轉換
- [luapower/eq] - 二次和三次方程式求解器
- [Torch] - 科學計算函式庫,廣泛支援機器學習演算法 (需要 LuaJIT 和 LuaRocks)
- [vectorial] - 純 Lua 5.3 函式庫,用於基本的向量處理。目前支援 2D 和 3D 向量,在未來將會支援 n 維向量。
- [lua-linear] (5.1/5.2/5.3/5.4) - 全面性的線性代數和統計支援,適用於 Lua 程式語言,包括使用 BLAS 和 LAPACK
壓縮
加密
二進制結構/位元運算
持久性/序列化
POSIX/檔案系統/Linux
- FileSystemOperations - 檔案系統操作的函式庫
- [lalarm] (5.0/5.1/5.2/5.3) - 基於訊號和 SIGALRM 的 Lua 鬧鐘函式庫。
- [lposix] (5.0/5.1) - Lua 的 POSIX 函式庫。
- [luaposix] (5.1/5.2) - Lua 的另一個 POSIX 函式庫。
- [luainotify] (5.1) - Lua 與 Linux inotify 子系統的介面。
- [linotify] (5.0/5.1) - 與 inotify 的另一個 Lua 介面。
- [Flu] (5.1) - [FUSE] 的 Lua 繫結。
- LuaApr 提供便攜式存取途徑,前往 Apache Portable Runtime (APR) 程式庫支援的大部分檔案系統操作。
- [v4l-lua] (5.1) - V4L2 相機的 Lua 繫結
- [lunix] (5.1/5.2/5.3) - 繫結至常見的 Unix 介面,包含 POSIX 及延伸功能,並在原生環境無法使用時進行模擬。例如,BSD getifaddrs 可在所有支援的平台上使用,即使其 libc 中缺乏此功能。POSIX clock_gettime 及 sigtimedwait 在所有平台上皆有支援,即使其中有些平台缺乏其中一項的原生實作。於 Linux/glibc、OS X、Solaris、AIX、FreeBSD、NetBSD 及 OpenBSD 中開發及維護。
Shell
- [Lush] (5.3) - 撰寫 shell 腳本程式風格程式之 Lua 模組。其特色包括:字串擴充及子程序管理。
- [NTLua] (5.1) - 一個 Lua 模組與主控台應用程式,用於建立 Windows NT 管理及登入腳本。
- LuaExpect 列出著名的 [Expect] 工具的 Lua 實作
記錄
- [LuaLogging] (5.1) - 一個可於 Lua 中使用記錄功能的簡易 API。[*L]
- [lua-log] (5.1/5.2/5.3) - Lua 的非同步記錄程式庫。
- [log4l] (5.1/5.2/5.3) - 已更新的 LuaLogging? 分支,包含數個 bug 修正。[*L]
國際化 (i18n)
文件
- [doctest] (5.1) - 一個模組,力求整合文件與測試範例。概念來自 python-doctest。[*L]
測試
事件 / 排隊 / 執行緒 / 平行
呼叫介面
沙盒
硬體
雜項
刪除
建議移除下列項目,因為這些項目並非函式庫或繫結,而是 Lua 的使用方式。
- BlitzLua (5.1) - 一個以 BlitzMAX 撰寫的 Lua 執行環境,允許存取許多 BlitzMAX/MaxGUI 模組(包括 2D 和 3D 圖形、音效和網路)。(注意:目前連結指標指向此 Wiki(在清單中通常並非好主意),但當套件有其自己的網站時,此問題將會修正)
- [Crank Storyboard] - 鎖定內嵌式平台圖形系統的引擎和開發環境(SDL、影像緩衝區、Direct FB、Win32 DGI、QNX TDK、Khronos OpenVG/OpenGL 等)。利用 Lua 進行邏輯和黏合。 [8]。商業用途。
註腳:[*L] 純 Lua 實作(無 C 語言)
RecentChanges · 偏好設定
編輯 · 歷程
最後編輯 2024 年 1 月 9 日,下午 2:15 GMT (diff)