thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #cairo
starkware-libs/cairo β˜… 1906 775 APPLICATION

This repository is the official compiler for the Cairo programming language, a Turing-complete language designed for provable computation (zero-knowledge proofs). It compiles Cairo source through a multi-stage pipeline: parsing (via LALRPOP), semantic analysis with type inference and trait resolution, lowering to a control-flow graph with extensive optimizations (CSE, constant folding, inlining, match optimization, gas redeposit), generation of the Sierra intermediate representation (a safe, bounded subset for ZK provability), and final compilation to CASM (Cairo Assembly) for execution on the Cairo VM. The compiler uses the Salsa incremental computation framework for query-based caching and is split into 40+ crates organized by compiler phase (parser, semantic, lowering, sierra-generator, sierra-to-casm, etc.). It also includes a full toolchain for Starknet smart contract development, with plugins for contracts, storage, events, and ABI generation. CLI tools (cairo-compile, cairo-run, sierra-compile, starknet-compile, cairo-test, cairo-format) provide end-to-end functionality. The standard library ('corelib'), written in Cairo, provides fundamental types, collections, hash functions, and Starknet-specific primitives. The codebase demonstrates high craftsmanship with clean abstractions, a generic dataflow analysis framework, deterministic hash map utilities, and a reusable graph algorithm library. It is actively maintained with extensive CI, benchmarks, and a golden-file test infrastructure.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
ManimCommunity/manim β˜… 41135 3136 APPLICATION

Manim is a comprehensive Python library for creating programmatic mathematical animations, primarily used for explanatory math videos. It provides a declarative scene API where users define objects (mobjects), animations, and camera movements in code, then renders them to video or image sequences via two backends: a CPU-based Cairo renderer and a GPU-accelerated OpenGL renderer. The library handles everything from BΓ©zier curve rendering and LaTeX/Typst typesetting to 3D surface shading and vector field visualization. Its architecture is centered on the `Scene`, `Mobject`, and `Animation` classes, with extensive support for coordinate systems, graphs, text, and custom shaders. The dual renderer design introduces some code duplication, but the codebase is actively maintained with a rich test suite, CI/CD, and plugin system. While primarily an application library, it also incorporates elements of data research in its color science and mathematical utilities.

RATING: 9.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
jgmenu/jgmenu β˜… 961 51 APPLICATION

jgmenu is a lightweight, standalone X11 menu application written in C, designed for scripting, modding, and tweaking. It renders menus using Cairo and Pango, reading menu data from CSV files or piped commands. The architecture is modular: a core menu engine (src/jgmenu.c) handles event loops, drawing, and item management, while separate generators (jgmenu-apps, jgmenu-ob, jgmenu-lx, jgmenu-pmenu) produce CSV data from .desktop files, Openbox XML, or XDG menus. Configuration is via a jgmenurc file with 80+ options, and IPC via Unix sockets enables integration with tint2 and XFCE panels. The codebase demonstrates strong C engineering practices: banned unsafe functions, custom safe string buffers (sbuf), a generic linked list (list.h), a hashmap, and a CSV parser with triple-quote support. It includes a comprehensive test suite using a sharness-like framework and CI via GitHub Actions. While tightly coupled to X11, the utility modules are cleanly isolated and reusable in other C projects.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
elParaguayo/qtile-extras β˜… 198 26 APPLICATION

qtile-extras is a third-party extension library for the Qtile tiling window manager, providing a rich collection of custom widgets, layout decorations, popup toolkits, and external service integrations (e.g., Strava, Snapcast, MPRIS2, UPower). It does not run standalone; it is imported by user Qtile configuration files and adds features such as decorative borders, gradient backgrounds, global menus, status notifiers, and interactive popups. The architecture relies on lazy imports, mixin-based widget composition, and monkey-patching of Qtile internals for decoration injection. Many widgets pull data via DBus or HTTP APIs and render it through cairocffi. The codebase is well-structured with extensive tests and documentation, though certain components are experimental or personally maintained.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
brndnmtthws/conky β˜… 8534 673 APPLICATION

Conky is a free, lightweight system monitor for X11, Wayland, and macOS that displays system information on the desktop or in alternative output modes (console, file, HTTP). It collects data from /proc, /sys, sysctl, and various APIs to report CPU, memory, disk, network, processes, sensors, audio players, mail, RSS, and more. The architecture is modular: data sources are registered as text objects with scan/print/free callbacks, output backends are selected at runtime (X11, Wayland, ncurses, console, file, HTTP), and Lua scripting provides configuration and extensibility via tolua++ generated bindings. A callback system handles periodic data fetching with deduplication and thread safety, and a priority queue supports top process sorting. The codebase is written in C++ with some C, uses CMake build system, and includes a comprehensive test suite using Catch2. It supports Linux, BSDs, Haiku, Solaris, and macOS with platform-specific backends. The project demonstrates several well-crafted reusable components: a generic priority queue, a callback system for periodic tasks, a typed configuration settings framework with Lua integration, a structured logging wrapper around spdlog, and a macro-generated X11 event variant pattern. These components exhibit non-obvious skill and can be extracted for use in other C++ projects. However, the codebase also shows signs of technical drift with bundled third-party libraries (Vc, tolua++, spdlog) that may lag behind upstream, and some platform-specific backends have incomplete implementations.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
── end of results ──
$ submit: