libpsyc source code from git://
Go to file
mehlon 692296ca81 fix multilib complaints on gentoo 2020-01-28 21:42:57 +00:00
bench + 1984-04-04 00:44:06 +00:00
d got to support both DESTDIR and PREFIX 1984-04-04 00:44:06 +00:00
doc refactoring - renamed functions 2011-10-31 20:04:16 +01:00
include hopefully fixed the static inline mess now 2016-09-05 12:50:37 +02:00
lib fix multilib complaints on gentoo 2020-01-28 21:42:57 +00:00
perl some swig code, needs more work 2011-09-12 11:44:48 +02:00
pike psyc_is_var_routing() -> psyc_var_routing() 2012-01-31 19:34:11 +01:00
python some swig code, needs more work 2011-09-12 11:44:48 +02:00
rust switch modifier names and PSYC methods from str to [u8] 2017-01-05 22:51:38 +01:00
share simple vim syntax for psyc packets 1984-04-04 00:44:05 +00:00
src inline does not work for functions that are not in a header file, so 2017-01-09 00:14:05 +01:00
test allow 'make check' from outside test directory 1984-04-04 00:44:06 +00:00
.gitignore dict syntax; index & update mod parser; psyc-mode for emacs 2012-02-06 15:05:08 +01:00
COPYING copying 2013-06-23 21:20:49 +02:00
Doxyfile dox: extract static 2011-05-30 04:05:13 +02:00 got to support both DESTDIR and PREFIX 1984-04-04 00:44:06 +00:00
Makefile got to support both DESTDIR and PREFIX 1984-04-04 00:44:06 +00:00 we're not using github. it's just there. 1984-04-04 00:44:07 +00:00

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.