libpsyc source code from git://
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mehlon 692296ca81 fix multilib complaints on gentoo 4 years ago
bench + 40 years ago
d got to support both DESTDIR and PREFIX 40 years ago
doc refactoring - renamed functions 12 years ago
include hopefully fixed the static inline mess now 7 years ago
lib fix multilib complaints on gentoo 4 years ago
perl some swig code, needs more work 12 years ago
pike psyc_is_var_routing() -> psyc_var_routing() 12 years ago
python some swig code, needs more work 12 years ago
rust switch modifier names and PSYC methods from str to [u8] 7 years ago
share simple vim syntax for psyc packets 40 years ago
src inline does not work for functions that are not in a header file, so 7 years ago
test allow 'make check' from outside test directory 40 years ago
.gitignore dict syntax; index & update mod parser; psyc-mode for emacs 12 years ago
COPYING copying 10 years ago
Doxyfile dox: extract static 12 years ago got to support both DESTDIR and PREFIX 40 years ago
Makefile got to support both DESTDIR and PREFIX 40 years ago we're not using github. it's just there. 40 years ago

libpsyc README file


libpsyc implements various functions required to use PSYC.

The plain C API located in the include/psyc directory along with the file psyc.h is primarily intended to be used for binding with other languages and frameworks.

The LPC binding for psyced is distributed with psyclpc since it is spread over several files (LPC has no simple approach to binding). Other bindings are located directly in the root folder named according to the language or framework. Currently there's only a binding for D.


The "plain C API" is a very low-level API intended to be used for bindings. To access a certain module of the library, just include the according header file from the psyc directory:

#include <psyc.h>        // basic things for well-being
#include <psyc/parse.h>  // parse psyc packets
#include <psyc/render.h> // render psyc packets
#include <psyc/text.h>   // text template functions
#include <psyc/packet.h> // structures for render.h and functions to initialize them
#include <psyc/syntax.h> // definitions and constants related to parsing and rendering

For more information see the API documentation at

Directory Overview

doc/      # target folder for the documentation after generation (make doc)
include/  # the core C API for the library
lib/      # target folder for the compiled library (make)
src/      # the sourcecode of the library
test/     # test sourcecodes and test input files
d/        # the D binding

Compiling libpsyc

On GNU systems, type


On other systems install GNU make, then type


and you are done. Other possible targets include:

make install [prefix=/usr]  # install into prefix
make diet                   # compile with diet libc
make test                   # compile and run the tests
make doc                    # generate the API documentation (will be put in the doc folder)
make help                   # display the possible targets


libpsyc is currently known to compile under Linux and SunOS.


If you created new bindings, patches or anything other that you think should go into the library, contact either anyone of us directly or just join the development room at

  • psyc://
  • irc://
  • xmpp:*


This library is being developed by:

  • Carlo v. Loesch / lynX <psyc://>
  • Gabor X Toth / tg(x) <> <psyc://>
  • Mathias L. Baumann / Marenz <psyc://>


Unless indicated otherwise, all libpsyc source files use the AGPL with additional permissions to link libpsyc libraries with non-AGPL works; the full text of the license is located in the COPYING file with the linking exception at the end.

Style Wars

This source code should follow the conventions. (if you have good reasons to use another style, discuss it on the wiki page so that it becomes the general style convention for all of us, not just for you).


The repository only serves promotional purposes. It may be outdated and we do not recommend participating in a centralistic social networking business.