Implementation of RFC 2388
CL-S3 is a Common Lisp library that implements a client interface to the Amazon S3 Web Service.More specifically, CL-S3
uses the Amazon S3 REST interface, part of the Amazon Web Services suite or protocols
does proper authorization
implements all S3 API calls with all options
parses the XML returned by some of the API
converts S3 error responses to proper Common Lisp condition objects
allows custom meta header (including canned access policies) and query parameters
does proper keep-alive processing (courtesy s-http-client)
is portable over Common Lisp implementations (courtesy s-sysdeps)
can optionally validate get and put object calls using MD5 hashing
contains 2 example higher level functions converting XML to simpler data
is properly packaged and has a documented public API
should be installed using ASDF
See also ZS3.
cl-sasl is a client implementation of the Simple Authentication and Security Layer (SASL) networking protocol.Currently the PLAIN, DIGEST-MD5 and ANONYMOUS mechanisms are implemented.
It can be found at xn--9dbdkw.se/cl-sasl.html and github.com/legoscia/cl-sasl/.
org-davep-dict is a Common Lisp networking protocol library for talking to a dict server. See www.dict.org. You can download the latest version from http://www.davep.org/lisp/#org-davep-dict. As a bit of test
code you can try org-davep-dictrepl. If you're into McCLIM then
org-davep-cldict might interest you too.
The Open Sound Control protocol, aka OSC
Protocol and framework for building parse results and other object graphs.
A simple iterator protocol for Common Lisp.
Simple protocol implementation for Common Lisp inspired by clojure.
The independent protocol part of Lichat.
A low-level Swank client.
A library for accessing octet-addressed blocks of data in big- and little-endian orders
An implementation of the XML Path Language (XPath) Version 1.0
Convert floating point values to IEEE 754 binary representation
Growl is a notification system for Mac OS X. It supports a small networking protocol called Growl Talk. This is a Common Lisp library that implements the Growl Talk protocol.For a usage description and other ways to obtain the code see the CL-Growl web page.To use this package, you probably want to install either ironclad or md5. You will also need flexi-streams, usocket-udp, and trivial-utf-8.[Now patched by Alexandre Paes to work with CCL, too.]
by Patrick Stein
Common Lisp interface to the IRC protocol
A library for handling netstrings as described in http://cr.yp.to/proto/netstrings.txt.
cl-oauth is an implementation of the OAuth 1.0a API authorization protocol.Homepage: http://gitorious.org/cl-oauthLicense: LLGPL
Topics: networking web API
Perl compatible binary pack() and unpack() library
Common Lisp Erlang Interface - An implementation of the Erlang distribution protocol.
An implementation of the X Window System protocol in Lisp.
FirePHP debug utility
Hunchensocket is a Common Lisp implementation of WebSockets realized as an extension to Edi Weitz' excellent Hunchentoot web server.As WebSockets are still in draft state and security concerns have been raised against older (but supported) draft versions of the protocol implemented in a number of browsers, it should not be used productively (yet), unless of course you know what you're doing.Categories: Web, IPC, WebSocket serverAuthor: Alexander KahlSource repository: https://github.com/capitaomorte/hunchensocket.
mel-base is a library for handling email with support for Maildir, POP3, IMAP and SMTP folders.It makes no difference from the programmer's side if an E-Mail gets copied from a Maildir folder to an IMAP folder or from POP3 to Maildir. Sending E-Mails through SMTP is simply done through the same mechanism. One just copies an E-Mail from a folder supporting the "receiver" protocol like IMAP, Maildir or POP3 to the SMTP folder which supports the "sender" protocol.E-Mails are first-class objects and on-demand fetching of parts of an e-mail
like the header or a particular part is supported.Mel-base got used to implement a POP3 server, a Spam-Filter and a CLIM Mail-Reader/Composer (http://codeartist.org/mel/) and many small scripts to process, filter and deliver E-Mails. Mel-Base itself is Open Source and licensed under a license similar to the BSD License. The mentioned applications, while not Open Source, are available on request.Author: Jochen SchmidtIt works in SBCL , CMUCL, OpenMCL and LispWorks with partial support for
CLISP and ABCL. Porting it should be straightforward because implementation dependent parts are encapsulated in a thin compatibility layer.My fork policy:
I open sourced mel-base as a generic library for handling e-mails (and not just as base-library for mel) and I'm interested in getting feedback on how to enhance it further. I know that in the code-base of mel-base might be parts which may be useful for other purposes, but please think twice about it before creating unnecessary forks.If you have ideas, drop me an e-mail. If this really cannot hold you off; please use darcs to create a proper branch of the code-base so your work can get reused by users of mel-base. The darcs repository is at http://www.crispylogics.com/opensource/repos/mel-base/. Please don't just rip it off.To kire (Erik Enge): In #lisp you stated your intend to split mel-base into parts. Mel-Base already is quite modular in that each folder backend got implemented in its own ASDF module. I plan to go further on that road by factoring the backends out to different ASDF systems depending on mel-base as a core. If you still have those splitting plans - please contact me first.
-- Neonsquare (Jochen Schmidt), author of mel-base
Extensible object equivalence protocol
North is a library that implements the OAuth 1.0a consumer and provider protocols. It allows you to connect to an OAuth provider and request its resources, or to build your own OAuth provider.The project can be found on github including a fully documented symbol index and a getting started tutorial.
As of March 2016, North is available on Quicklisp.North is licensed under the Artistic License 2.0.
web web api
PERCENT-ENCODING is an implementation of the URI encoding commonly used in internet protocols written by Max Rottenkolber.
Pg is a socket-level interface to the PostgreSQL object-relational Database.
Pg implements the client part of the frontend/backend
protocol, so does not require interfacing with the libpq library. SQL
types are converted to the equivalent Common Lisp types where
possible. Supports large objects (BLOBs).
Postmodern is a newer and much-much cleaner library. Its cl-postgres asdf system implements the same functionality as Pg -- Attila Lendvai
The only non portable code is the use of SOCKET-CONNECT. Versions are
provided for CMU Common Lisp (CMUCL), SBCL, OpenMCL, CLISP, LispWorks and Allegro Common Lisp (ACL). Corman CL doesn't support binary I/O on socket streams, so it doesn't work there.Pg is available under the GNU LGPL licence from www.chez.com/emarsden/downloads.
There are also Emacs Lisp and scsh versions of the library.This is a snapshot of the CVS repository at common-lisp.net/project/pg and it is not GPG signed.Here is the last released version, but it's quite old:http://www.chez.com/emarsden/downloads/pg-dot-lisp-0.19.tar.gzSample code:
(with-pg-connection (conn "testdb" "login" :host "dbhost" :password "secret")
(when (member "test_date" (pg-tables conn) :test #'string=)
(pg-exec conn "DROP TABLE test_date"))
(pg-exec conn "CREATE TABLE test_date(a timestamp, b abstime, c time, d date)")
(pg-exec conn "INSERT INTO test_date VALUES "
"(current_timestamp, 'now', 'now', 'now')")))
Stargreen Box Office uses Pg for its database glue layer; it's respectably fast, simple enough to see what it's doing, and impervious to PostgreSQL shared library versioning issues (because it doesn't use them). I'm very happy with it -- Daniel Barlow
You must set unix_socket_directory in your postgresql.conf to /var/run/postgresql
pg doesn't use the default path for the unix domain socket. See Socket Path.
A collection of basic utilities for syntactic
extension and basic data structure hadling,
developed over the years of CL history by efforts of different individuals,
and gathered under the unbrella of a hierarchy of packages
which can be used on-demand.
Common Lisp XML-RPC Package
Xmls is a small, simple, non-validating XML parser for Common Lisp. It's designed to be a self-contained, easily embedded parser that recognizes a useful subset of the XML spec. It provides a simple mapping from xml to lisp s-expressions and back.Features from the readme:
Free (BSD license).
Small and easily embedded. The entire parser is contained in one file and it's currently less than 500 lines of code. Xmls is written in pure lisp and requires no external parsing tools or foreign libraries.
Understands enough of the xml spec to parse many common documents, including those occurring in common internet protocols like xml-rpc, webdav, and BEEP.
Serializes s-expr list structures back to xml as well as parsing xml.
Parses and understands xml namespaces.
More information is available on the xmls homepage.XMLS has just been updated to version 1.4.1, fixing a bug in parsing CDATA.