Enter the query into the form above. You can look for specific version of a package by using @ symbol like this: gcc@10.
API method:
GET /api/packages?search=hello&page=1&limit=20
where search is your query, page is a page number and limit is a number of items on a single page. Pagination information (such as a number of pages and etc) is returned
in response headers.
If you'd like to join our channel search send a patch to ~whereiseveryone/toys@lists.sr.ht adding your channel as an entry in channels.scm.
This package provides bindings for Newt, a programming library for color text mode, widget based user interfaces. The bindings are written in pure Scheme by using Guile’s foreign function interface.
Guile-Quickcheck is a library for random testing of program properties inspired by ghc-quickcheck. You can use it to express properties, which functions should satisfy, as Scheme code and then check whether they hold in a large number of randomly generated test cases.
This project is about the development of tools that relate to machine code and object formats; for all architectures. Here you'll find libraries for working with binary code: assembly, disassembly, instruction tables, object formats and related areas.
Guile-ICS is an iCalendar (RFC5545) and vCard (RFC6350) format parser library written in pure Scheme. The library can be used to read and write iCalendar/vCadr data and convert the data from/to various formats.
The library is shipped with documentation in Info format and usage examples.
GNU Guile QR code generator that can create QR codes from text and binary data. The resulting QR codes can be rendered to ASCII art strings or to PNG images (using Guile-PNG API.)
This project provides a pure Scheme implementation of Protocol Buffers, including parsing and code generation.
This package provides means to compose a web application by chaining procedures, a.k.a. middlewares. By those means, composed procedures form a standard request handler for any Guile's web server implementation.
Each middleware has its own limited responsibility in request processing. Also, middlewares are simple Scheme procedures, so they can be easily tested and shared among web applications.
Out of the box, this package provides several procedures for commonly required tasks. Among them:
Error handling with customizable page contents.
Request filtering.
Request logging.
Serving static files, file URL generation.
Request routing, handling parameters, route URL generation.
Middleware nesting, composing whole apps.
This package relies on guile-compose package as its only dependency.
To query and change settings of serial devices on POSIX systems, the termios API is used. GNU Guile doesn't have an interface for that built in. This module implements this interface by use of Guile's dynamic FFI.
The (hashing …) modules implement cryptographic hash functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256, SHA-512).
Guile-DSV is a GNU Guile module for working with the delimiter-separated values (DSV) data format. Guile-DSV supports the Unix-style DSV format and RFC 4180 style format. Also Guile-DSV includes a console program named dsv that allows to view and process DSV data, including such operations as delimiter change, conversion from one DSV standard to another and printing the data as pseudographics tables.
This package provides an implementation of AA trees, a self-balancing binary tree data structure, for Guile. It ensure O(log n) worst case performance for core operations. The module provides non-mutating insert, delete, and search operations, with support for convenient nested tree operations.
The (file-names) module provides tools for manipulating file names. The module was built on the idea that doing anything more than a non-trivial modification of a file name string is a pain (making sure all slashes are present and accounted for, resolving . and .., etc). Inevitably, you have to break the string up into chunks and operate on that list of components. This module takes care of that for you.
Guile-websocket provides an implementation of the WebSocket protocol as defined by RFC 6455.
Irregex is an s-expression based alternative to your classic string-based regular expressions. It implements SRFI 115 and is deeply inspired by the SCSH regular expression system.
guile-dbi is a library for Guile that provides a convenient interface to SQL databases. This package implements the interface for PostgreSQL.
Scriba is a structured logging library for GNU Guile that prioritizes flexibility and observability. It provides modular log routing, formatting, and filtering, allowing developers to generate human-readable console logs during development and machine-readable JSON logs for production environments. Key features include an auto-logger configured via environment variables, dynamically scoped log contexts using Scheme parameters, ahead-of-time log level filtering, and minimal runtime overhead achieved through memoization and compile-time macros.
This package provides a Guile implementation of SRFI-133, a comprehensive library of vector operations.
guile-kolam is a GraphQL implementation for Scheme. kolam features a parser to parse and serialize GraphQL documents, a type system to create GraphQL schemas, an execution engine to execute GraphQL queries, and a HTTP handler to implement a HTTP GraphQL endpoint.
Fibers is a Guile library that implements a a lightweight concurrency facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is like a "goroutine" from the Go language: a lightweight thread-like abstraction. Systems built with Fibers can scale up to millions of concurrent fibers, tens of thousands of concurrent socket connections, and many parallel cores. The Fibers library also provides Concurrent ML-like channels for communication between fibers.
Note that Fibers makes use of some Guile 2.1/2.2-specific features and is not available for Guile 2.0.
G-Golf port of the upstream adwaita-1-demo example in the libadwaita Guix package. It adds one simple hello-world example as well. Run guix edit g-golf-adw-1-examples for inspiration how to wrap G-Golf applications when writing a Guix package.
Kaagum is a tiny, security-focused AI agent written in Guile with minimal dependencies. Kaagum works with any LLM that provides an OpenAI-compatible API.
Kaagum runs tool calls securely using containers and capability-based access. Tool calls have limited or no access to the filesystem and to the network. Capabilities allow network access to be controlled with fine granularity. Containers are implemented using Guix's container API.
Kaagum offers no user interface on its own. Instead, it speaks the ACP and allows you to use any compatible user interface of your choice.
This is a serialization library for serializing objects like classes and objects, closures and structs. This currently does not support serializing continuations or delimited continuations.
Guile-redis provides a Scheme interface to the Redis key-value cache and store.
Fibers is a Guile library that implements a a lightweight concurrency facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is like a "goroutine" from the Go language: a lightweight thread-like abstraction. Systems built with Fibers can scale up to millions of concurrent fibers, tens of thousands of concurrent socket connections, and many parallel cores. The Fibers library also provides Concurrent ML-like channels for communication between fibers.
Note that Fibers makes use of some Guile 2.1/2.2-specific features and is not available for Guile 2.0.