Did you know ... Search Documentation:
Packs (add-ons) for SWI-Prolog

Below is a list of known packages. Please be aware that packages are not moderated. Installing a pack does not execute code in the pack, but simply loading a library from the pack may execute arbitrary code. More information about packages is available here. You can search for packages from the Prolog command line using pack_list/1. This contacts the pack server for packs that match by name or title. A leading i indicates that the pack is already installed, while p merely indicates that it is known by the server.

?- pack_list(graph).
p callgraph@0.3.4           - Predicate call graph visualisation
i graphml@0.1.0             - Write GraphML files
i gvterm@1.1                - Show Prolog terms using graphviz
p musicbrainz@0.6.3         - Musicbrainz client library
p sindice@0.0.3             - Access to Sindice semantic web search engine

After finding the right pack, the pack and its dependencies can be installed using the pack_install/1 as illustrated below.

?- pack_install(hello).

Clicking the package shows details and allows you to rate and comment the pack.

Pack
tot: 302
Version
(#older)
Downloads
tot: 21,140
(#latest)
Rating
(#votes/
#comments)
Title
achelois0.5.073,95565
Collection of tools to make writing scripts in Prolog easier.
mavis0.2.3139922
Optional type declarations
regex0.3.311881486
Regular expressions
list_util0.13.018835164
Predicates for working with lists
cplint4.5.01795462
A suite of programs for reasoning with probabilistic logic programs
prosqlite1.515525170
(0/1)
An SWI-Prolog interface to SQLite
logtalk3.35.06349876
Logtalk - Object-Oriented Logic Programming Language
lambda1.0.0483
(4/4)
Lambda expressions
terminus_store_prolog0.9.5214661
Use the Terminus-Store Rust library from Prolog
real2.011399194
Integrative statistics with R
julian0.1.3636514
Date and time library
func0.4.28262130
(2/2)
Function application and composition
smtp1.0.0526064
An (E)SMTP client for sending mail
tap1.0.11825410
Automated tests via Test Anything Protocol
callgraph0.4.117240106
(1/2)
Predicate call graph visualisation
dcgutils1.1.311239140
DCG related utilities
aleph5192191
Aleph Inductive Logic Programming system
trill5.2.11052091
A tableau probabilistic reasoner in three different versions
simple_template1.3.0818724
Logic-free text (HTML) templates
plgi1.1.01115818
(1/1)
PLGI - Prolog bindings for GLib/GObject/GIO/GTK+
db_facts0.5515844
Common db-tables-as-facts and SQL layer for ODBC and proSQLite.
arouter1.1.14157111
Alternative HTTP path router
typedef0.1.91015442
(2/2)
Support for type definitions
yaml0.141472
YAML parser
rdet1.0.1614523
Runtime determinacy checker
sldnfdraw1.61814472
SLDNF Draw is a Prolog program that draws SLDNF Trees in LaTeX
quickcheck0.3.0171391
QuickCheck randomized testing
edcg0.9.011383
(1/1)
Extended DCG
gvterm1.11136105
(1/1)
Show Prolog terms using graphviz
pac1.5.1871351
Anonymous predicates expansion utility
docstore2.0.1513195
Document-oriented database for Prolog
markdown0.0.321202
Markdown parser for SWI-Prolog
matrix1.9.161172
Operations with matrices using prolog and c
spawn0.0.1108
Easy concurrency
graphml0.1.0101
(1/1)
Write GraphML files
djson0.0.3210094
Declarative JSON
plOpenGL0.6.259177
(1/1)
OpenGL Bindings
dict_schema0.0.219087
Dict converter and validator
sort_dict0.0.328985
Sorts dicts by key
dcg_util0.3.138821
(1/1)
DCG utility predicates
blog_core1.5.222862
Blog/CMS framework
auc1.010852
Library for computing Areas Under the Receiving Operating Charactersitics and Precision Recall curves
tokenize1.0.148424
A simple tokenization library
delay0.3.378456
Avoid instantiation errors for built-in predicates
webconsole0.9.118281
(0/1)
Use a browser as HTML console
function_expansion0.1.228071
(1/1)
Help for writing function-like macros
sparqlprog0.2.9177711
Logic programming with SPARQL
hello0.0.175
(1/1)
Hello World
type_check1.0.117268
Type System for Prolog based on Hindley-Milner
sparkle0.0.987060
(1/1)
Prolog-friendly interface to SPARQL endpoints
pfc1.3.11135703
Pfc -- a package for forward chaining in Prolog
memo0.6.1177019
Persistent memoisation of deterministic predicates
options1.276917
Options handling.
refactor0.0.345681
Refactoring Tools for SWI-Prolog
rserve_client1.2.016679
R Rserve client
fileutils0.3.510679
Utilities for reading, writing and finding files
pack_errors2.156620
Contextual error handling for packs.
odf_sheet0.2.346549
Load and analyze ODF spreadsheets (.ods)
os_lib1.496415
Operating system interaction predicates.
genutils0.3.8236413
General miscellaneous utilities
bddem4.3.115632
A library for manipulating Binary Decision Diagrams
plcairo1.1.146210
plcairo - Prolog bindings for cairo graphics library
recaptcha0.9.226156
reCAPTCHA plugin for SWI-Prolog HTTP framework
by_unix0.1.616159
An elegance layer to calling unix commands.
phil1.0.034593
Learning Hierarchical Probabilistic Logic Programs parameters with gradient descent and Expectation Maximization
bio_db3.018599
Access, use and manage big, biological datasets.
swicli2.0.0105820
SWI-Prolog interface to C/C++/.NET/Mono/Objective-C
wsdl0.157
Web Service Description Language (WSDL) and SOAP
xtools0.0.239562
Extended tools for Prolog
wam_common_lisp1.3.11131561
ANSI Common Lisp implemented in Prolog
stoics_lib1.175517
A medley of library predicates for stoics packs
maybe0.1.135552
The maybe type represents an optional value
wordnet0.9.345311
Access to WordNet database
amazon_api0.0.325346
Interface to Amazon APIs
sweet0.1.135247
Sugar to make Prolog a little sweeter
logicmoo_base1.3.11136522
LogicMOO - Extends Prolog Programming to support Dynamic Epistemic Logic (DEL) with Constraints
atom_feed0.2.045238
Parse Atom and RSS feeds
wgraph0.655112
Weighted graphs, with plotting via Real
swipe0.2.6115022
Shell pipeline construction with type checking
bims2.355014
Bayesian inference of model structure.
xsd0.2.07474
XML Schema validation with Prolog
irc_client1.3.094724
Low level interface to IRC clients
cplint_datasets1.046
Dataset for machine learning with cplint
date_time0.1.324521
Logical arithmetic on dates and times
tor1.0.444423
Tor: Extensible Search with Hookable Disjunction
mlu0.214437
Machine learning utilities
lbfgs1.015441
An interface to call libLBFGS from within SWI-Prolog
condition0.1.134432
Condition system a la Common Lisp
xlibrary0.0.227421
Extended Libraries for Prolog
prologmud_samples1.2.11127421
Online text adventure game - Sample
musicbrainz0.7.0214216
Musicbrainz client library
weblog0.0.564112
(0/1)
weblog
turing1.0.224136
Turing Machine Simulator
transpiler0.113413
A universal translator for programming languages
rdfs2pl0.0.534119
Compile an RDFS schema to prolog predicates
environ1.040
Demo package with C code, fetching the program environment
plosc0.4.66398
OSC input/output via liblo
must_trace1.1.11826391
Trace with your eyeballs instead of your fingers
ffi0.12392
Dynamically call C functions
cplint_r1.0.012392
R plotting predicates for cplint
ccprism0.1.0203913
Probabilistic programming using delimited continuations
pljulia0.1.417371
Embedded Julia for SWI Prolog
bio_db_repo19.5.713376
Data package for bio_db.
assertions0.0.125371
Ciao Assertions Reader for SWI-Prolog
lsp_server1.4.1153610
A Prolog LSP Server
interpolate0.1.02361
String interpolation
hdt0.563625
Access RDF HDT files
debug_call1.243614
Debugging with calls
bencode0.0.136
Bencoding from BitTorrent protocol
openapi0.135
OpenAPI (Swagger) interface
ffimatrix0.1.010351
Operations with matrices using Prolog and C
rocksdb0.7.023320
SWI-Prolog interface to RocksDB
plml2.0.316339
Prolog-Matlab bridge
julian_lang_en0.0.213332
Parse English language phrases into library(julian) constraints
jolog0.0.313323
Concurrency via join calculus
uuid1.1.023230
Generating and parsing version 4 UUIDs
uri_qq0.3.033221
URI quasiquotations
prologmud1.2.11119321
Online text adventure game - MUD Server
semantria0.0.433121
Use Semantria natural language API
link_grammar_prolog4.1.0.323127
A binding to use the Link Grammar library from SWI-Prolog
spuds1.09303
Persistent, user code inclusive, documentation server for linux
plsmf0.5.083016
Standard MIDI File reading
plchatscript1.0.943024
(1/1)
Interface to the ChatScript server.
googleclient0.5.233011
SWI-Prolog code for "Login with Google"
rtp_qsndqs0.322927
Real-time persistent queues and deques.
rtchecks0.0.118291
Run-Time Checker for Assertions
plrand0.9.1313298
Skippable pseudorandom generator and distributions
plmidi0.7.07296
Interface to Mac OS X MIDI system
mqtt1.0.522927
mqtt - pub/sub pack for SWI-Prolog using mosquitto
sql_compiler0.1.428
Prolog to SQL compiler
resbound0.8.112827
Run goal with resource bounds
pubmed0.0.432817
Access pubmed publication records
mtx0.432816
Working with data matrices
lcs0.0.128
Longest common subsequence
b_real0.432816
Interface predicates to commonly used R functions.
simple_web0.3.16279
Microframework for building websites
gpc1.2.03277
Generic polygon clipper
eggdrop1.3.11117271
Hook up to an existing IRC Client called an Eggdrop
dot_dcg0.1.04271
A DCG for a subset of the DOT language
dictoo1.3.11114272
Dict-like OO Syntax
dia0.127
An interface to .dia-uml-diagrams
mutable_variables1.0.026
Mutable Variables
gvar_syntax1.3.11114262
Global Variable Syntax
format_spec0.0.212625
Parse and check format/2 specifications
predicate_streams1.2.11113258
Implement your own Abstract Predicate Streams
pl_omdb0.5.08255
API interface to OMDB (Open Movie Database)
http2_client1.0.062516
An HTTP/2 client
dirtree1.0.13257
Load XML of directory content.
xlisting1.2.11115242
Selective Interactive Non-Deterministic Tracing
thousands0.2.032419
(0/1)
Thousands separator for large integers
roman0.1.024
Roman numerals
index_util0.0.212417
Prolog index utils
clitable1.0.86249
Pretty unicode tables for the CLI with Prolog
cclab0.1.513247
Continuations lab
biomake0.1.58246
Prolog makefile-like system
nan_common1.222319
Common operations (validation, etc.)
lib2.513236
Predicate based code development
hashtbl0.0.212322
Pure and impure hash tables
unionfind1.0.022
Optimal implementation of the union-find algorithm in CHR
readability_parser0.0.432213
Readability Parser API
number_to_word0.4.252217
Integer to English word conversions
pepl2.14218
Parameter estimation for SLP with the Failure Adjusted Maximisation algorithm.
with_state0.0.562012
Stateful computations with records
switex0.0.762014
Literate programming with LaTeX and Prolog
sindice0.0.532013
Access to Sindice semantic web search engine
rtg0.0.711209
Regular Tree Grammer validator
prologmud_I71.2.11111203
PrologMUD I7 (NomicMU!) with small Adventure Games in Prolog using the CHAT80 Prolog natural language application
phil_datasets1.06204
Dataset for machine learning with phil
nan_numerics_prime1.2.542015
Nan.Numerics.Prime - A simple prime number library
instant_prolog_docs1.2.11172011
Magically document prolog source files based on predicate and variable naming conventions
inotify0.9.112019
Access Linux inotify API to watch file system changes
css_write1.0.012019
DCG for generating CSS
plfann0.0.24193
SWI-Prolog for "Fast Artificial Neural Network Library"
fnotation0.0.321916
Function notation for Prolog
file_utilities0.119
File system related utilities
dotcloud0.0.211913
Conveniences for running on dotCloud
unified_diff0.0.118
Parse and generate unified diffs
miser0.0.118
Build self-optimizing predicates
geoip0.9.01183
Access GeoIP library
fcgi0.9.018
fcgi - Fast Common Gateway Interface (FastCGI) library for Prolog
plmake0.0.311712
Prolog makefile-like system
odict0.2.651712
Unifier over feature structures based on attributed variables
multimodal_dcg1.2.11151711
Reduce floundering of DCGs by constraining and narrowing search
logicmoo_utils1.2.11112172
Common predicates that are used throughout LogicMOO Software
graphpl0.1.15172
Graph data structure utilities
chess_db0.321713
PGN and chess game databases.
chat801.017
Classic CHAT80 Prolog natural language application
web0.1.111613
Easy web client
s_expression1.2.1119166
Utilities for Handling of S-Expression Lisp/Scheme-Like forms and parsing of KIF, GDL, PDDL, CLIF
rdf_matcher0.1.53169
RDF matching utils
r_session1.111615
Interface to an R process
plumdrum0.0.63166
Parsing of Humdrum/Kern symbolic music file format
plasticsearch0.121614
Elasticsearch client API
pinyin0.1.551610
Parsing and generation of Hanyu Pinyin
ldap4pl0.111615
LDAP interface
dpath0.5.114165
Directory traversal module
twitter0.1015
(1/1)
A pack to access the twitter api
timeutils0.0.415
Tools for temporally aware programming
pha0.1.221513
Probabilistic Horn Abduction
open_dicts0.0.115
Open dicts for SWI Prolog
msgpack0.1.64159
DCG for packing & unpacking of MessagePack data to/from bytes
mpi1.05151
Porting of the LAMMPI library of Yap Prolog to SWI-Prolog
each_call_cleanup1.1.11810151
Each Call Redo Setup and Cleanup
chan0.2.015
Directional channels for thread communication
ape6.7.01152
Parser for Attempto Controlled English (ACE)
sparqlprog_wikidata0.0.32146
SPARQLprog bindings for WikiData
slack_prolog1.1.11811413
Prolog interface to Slack http://www.slack.com
musicxml0.0.211412
MusicXML partial reader
mathml0.27141
Translates mathematical expressions to compounds that can be used by html//1 (SWISH) or html//3 (normal SWIPL, with pack http/html_write).
hook_hybrid1.1.11812142
Hook assert retract call of *specific* predicates
graphql0.0.114
GraphQL Prolog Library
dcg4pt0.2.03143
DCG for Parse Trees
logicmoo_nlu1.3.1114137
Various English to Logic Converters - warning: HUGE amount of lexical and test data
fluents0.1.21132
Access all solutions of a goal without backtracking
bousi_pack1.0.03131
On my way to a SWISH enabled BPL - a FLI exercise
with_open_options1.2.116125
Utilities to open various objects for read/write
with0.0.412
Context managers for SWI Prolog
upsh2.54121
Unix to Prolog shell.
race0.1.07121
Client for the SOAP interface of the Attempto Reasoner RACE
prism0.2.14128
Run PRISM as a child process
no_repeats1.1.1187123
New ways to avoid duplicate solutions
loop_check1.1.1189122
New simple loop checking
log4p0.0.212
Logging for Prolog
httplog0.5.01123
Analyse SWI-Prolog HTTP server log files
fine_upload0.1.54127
HTTP support for file uploading
app0.112
Prolog Application Server
smtlib0.0.65114
SMT-LIB parser for SWI-Prolog
plcal0.0.43113
Programming Calendar
xlisting_web1.1.1186104
Manipulate and browse prolog runtime over www
vcard0.0.110
vCard Parser and Predicates
subclause_expansion1.1.1185101
More detailed versions of term/goal expansion hooks
simple_bootstrap0.0.21108
Bootstrap Extension to Simple Web
file_scope1.1.1185101
File local scoped efects
clause_attvars1.1.1187101
An alternate interface to the clause database to allow attributed variables to be asserted
canny_tudor0.5.16101
Canny bag o' Tudor
bio_analytics0.32105
Computational biology data analytics.
with_thread_local1.2.111495
Call a Goal with local assertions
tidylog0.0.19
term_diff0.0.1197
space0.29
Space package
mail_merge1.0.0191
Library for performing mail merge
lambda_abstractions0.2.1198
Lambda abstractions
flux1.1.1189
FLUX: A logic programming method for reasoning agents and ALPprologis a Prolog implementation of an action programming language. With ALPprolog you can program strategies for autonomous agents in dynamic domains like e.g. the Wumpus world.
consul_client0.0.4296
Consul Client
body_reordering1.2.111293
Clause expansion Utils for deciding which order to run Goals in a body
resp0.3385
Redis protocol parser and writer
pub_graph1.1186
Access, cache and visualise citation relations in publications servers
pfd_meta0.18
Probabilistic finite domains meta-interpreter
midiutils0.0.38
midiutils
lib_atts1.1.118381
Common atts.pl interface like https://sicstus.sics.se/sicstus/docs/4.0.0/html/sicstus/lib_002datts.html
jwt_io0.0.2187
JWT implementation
indexed_terms1.0.08
Positional access to terms' arguments
fld0.1.0382
Easy assess to term args when loading from ODBC or CSV.
ciao0.0.18
Ciao Prolog compatibility library
tabling_dra1.0.4572
SWI-Prolog interface to Table-handling procedures for the "dra" interpreter. Written by Feliks Kluzniak at UTD (March 2009)
plplot0.0.1175
A library to plot data using gnuplot.
obo_metadata0.0.4374
RDF vocabulary for OBO metadata ontologies
mime0.5.07
MIME processing library based on maildrop
logicmoo_planners1.1.118273
Various Hybrid HTN Planners speaking PDDLish and OCLh
ical0.1.07
iCalendar DCGs and parsers
evil0.2.3171
(4/4)
Predicates to Further the Cause of Evil
dictype0.0.27
Concise dict type definitions
bibtex0.1.6176
Parser and predicates for BibTeX files
rdf_notification0.16
RDF notification
plcomplex0.16
Simple calculation of complex numbers
planner_api1.1.118264
planner_api -- A SWI-Prolog Pack that lets Prolog code seamlessly use planners speaking PDDLish and OCLh
pcache0.1.06
Persistent answer cache
obo_ro0.0.16
Vocab for OBO Relation Ontology
nan_system_sources1.2.06
Nan.System.Sources - Answer Sources in Prolog
kubepl0.1163
Kubernetes Client
clpBNR0.8.2164
CLP over Reals using Interval Arithmetic - includes Rational, Integer and Boolean domains as subsets.
quantity0.1451
Parse quantities like "1.5 kg" and return some formatting information.
pager0.1.0151
Send output to user's preferred pager
ontodot0.1.1252
Create dot files from an RDF ontology.
obo_core0.0.15
Vocab for upper parts of core OBOs such as GO
lazy_streams0.5.05
Lazy Stream Generators
hilog1.1.118154
XSB-Prolog's Hilog Syntax in SWI-Prolog
ansi_termx0.0.15
ANSI terminal operations
plammar1.0.2241
Prolog parser and serialiser written in Prolog
libssh0.9.1241
Provide an embedded SSH server
coworkers0.1.04
Workflow definition as tree of coroutines
stompl0.13
STOMP client
spotify0.1.03
Use the Spotify API from Prolog.
pluuid2.0.03
Generating and parsing version 4 UUIDs in Pure Prolog
pac4pl0.1131
An SWI-Prolog interface to libPAC
notes8000.1.0131
Query phone number data from 800notes.com
nanp0.1.0132
phone numbers in the North American Numbering Plan
union_find1.0.02
A union-find algorithm implementation for SWI-Prolog
ontoweb0.0.4121
Show an ontology through a Web service.
mail_standards0.1.02
Mail IMF and Maildir implementations.
identity0.2.22
Registration, login, and role management
wumpus1.0.01
Hunt The Wumpus
telegrambot0.0.21
API for Telegram
small_adventure_games1.1.81
Small Adventure Games in Prolog using the CHAT80 Prolog natural language application
rtrace0.0.71
Selective Interactive Non-Deterministic Tracing
resp_parse0.11
Redis protocol parser and writer
pddl_valoptic_api1.1.1181
pddl_valoptic_api -- A SWI-Prolog Pack that lets Prolog code seamlessly use PDDL based planners.
imodule0.0.11
Support for modules from the server.
graphql-swipl0.0.11
GraphQL Prolog Library
dialect-ciao0.0.11
Ciao Prolog compatibility library
ct_fft0.01
Cooley–Tukey FFT algorithm
call_cleaup_each0.0.11
Call A Goal On Each Redo