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: 293
Version
(#older)
Downloads
tot: 14,897
(#latest)
Rating
(#votes/
#comments)
Title
typedef0.1.91014836
(2/2)
Support for type definitions
twitter0.1014
(1/1)
A pack to access the twitter api
plgi1.1.01115111
(1/1)
PLGI - Prolog bindings for GLib/GObject/GIO/GTK+
plchatscript1.0.942822
(1/1)
Interface to the ChatScript server.
lambda1.0.0427
(4/4)
Lambda expressions
graphml0.1.095
(1/1)
Write GraphML files
function_expansion0.1.227364
(1/1)
Help for writing function-like macros
func0.4.28241109
(2/2)
Function application and composition
edcg0.9.011013
(1/1)
Extended DCG
dcg_util0.3.136821
(1/1)
DCG utility predicates
callgraph0.4.11722389
(1/2)
Predicate call graph visualisation
sparkle0.0.987060
(1/1)
Prolog-friendly interface to SPARQL endpoints
hello0.0.175
(1/1)
Hello World
gvterm1.1112796
(1/1)
Show Prolog terms using graphviz
evil0.2.3171
(4/4)
Predicates to Further the Cause of Evil
plOpenGL0.6.258369
(1/1)
OpenGL Bindings
yaml0.141372
YAML parser
xtools0.0.236512
Extended tools for Prolog
xsd0.1.643227
XML Schema validation with Prolog
xlisting_web1.1.118682
Manipulate and browse prolog runtime over www
xlisting1.1.11812172
Selective Interactive Non-Deterministic Tracing
xlibrary0.0.226401
Extended Libraries for Prolog
wumpus1.0.01
Hunt The Wumpus
wsdl0.157
Web Service Description Language (WSDL) and SOAP
wordnet0.9.34468
Access to WordNet database
with_thread_local1.2.111451
Call a Goal with local assertions
with_state0.0.561810
Stateful computations with records
with_open_options1.2.116103
Utilities to open various objects for read/write
with0.0.49
Context managers for SWI Prolog
wgraph0.65445
Weighted graphs, with plotting via Real
weblog0.0.564112
(0/1)
weblog
webconsole0.9.118180
(0/1)
Use a browser as HTML console
web0.1.111411
Easy web client
wam_common_lisp1.2.111284911
ANSI Common Lisp implemented in Prolog
vcard0.0.19
vCard Parser and Predicates
uuid1.1.022321
Generating and parsing version 4 UUIDs
uri_qq0.3.033221
URI quasiquotations
upsh2.43104
Unix to Prolog shell.
unionfind1.0.022
Optimal implementation of the union-find algorithm in CHR
unified_diff0.0.117
Parse and generate unified diffs
type_check1.0.117268
Type System for Prolog based on Hindley-Milner
turing1.0.223934
Turing Machine Simulator
trill5.2.1931652
A tableau probabilistic reasoner in three different versions
transpiler0.112323
A universal translator for programming languages
tor1.0.444423
Tor: Extensible Search with Hookable Disjunction
tokenize1.0.14688
A simple tokenization library
timeutils0.0.411
Tools for temporally aware programming
tidylog0.0.18
thousands0.2.032318
(0/1)
Thousands separator for large integers
term_diff0.0.1197
tap1.0.0162361
Automated tests via Test Anything Protocol
tabling_dra1.0.4572
SWI-Prolog interface to Table-handling procedures for the "dra" interpreter. Written by Feliks Kluzniak at UTD (March 2009)
switex0.0.762014
Literate programming with LaTeX and Prolog
swipe0.2.6114820
Shell pipeline construction with type checking
swicli2.0.0105315
SWI-Prolog interface to C/C++/.NET/Mono/Objective-C
sweet0.1.135045
Sugar to make Prolog a little sweeter
subclause_expansion1.1.118581
More detailed versions of term/goal expansion hooks
stompl0.13
STOMP client
stoics_lib1.174911
A medley of library predicates for stoics packs
sql_compiler0.1.428
Prolog to SQL compiler
spuds1.09303
Persistent, user code inclusive, documentation server for linux
spotify0.1.02
Use the Spotify API from Prolog.
spawn0.0.1104
Easy concurrency
sparqlprog_wikidata0.0.3291
SPARQLprog bindings for WikiData
sparqlprog0.2.917737
Logic programming with SPARQL
space0.29
Space package
sort_dict0.0.328783
Sorts dicts by key
smtp1.0.0525559
An (E)SMTP client for sending mail
smtlib0.0.65103
SMT-LIB parser for SWI-Prolog
small_adventure_games1.1.81
Small Adventure Games in Prolog using the CHAT80 Prolog natural language application
sldnfdraw1.61810735
SLDNF Draw is a Prolog program that draws SLDNF Trees in LaTeX
slack_prolog1.1.11811312
Prolog interface to Slack http://www.slack.com
sindice0.0.532013
Access to Sindice semantic web search engine
simple_web0.3.16235
Microframework for building websites
simple_template1.3.0817916
Logic-free text (HTML) templates
simple_bootstrap0.0.2197
Bootstrap Extension to Simple Web
semantria0.0.433121
Use Semantria natural language API
s_expression1.2.1119144
Utilities for Handling of S-Expression Lisp/Scheme-Like forms and parsing of KIF, GDL, PDDL, CLIF
rtrace0.0.71
Selective Interactive Non-Deterministic Tracing
rtp_qsndqs0.322422
Real-time persistent queues and deques.
rtg0.0.711187
Regular Tree Grammer validator
rtchecks0.0.118291
Run-Time Checker for Assertions
rserve_client1.2.015581
R Rserve client
roman0.1.021
Roman numerals
rocksdb0.7.023017
SWI-Prolog interface to RocksDB
resp_parse0.11
Redis protocol parser and writer
resp0.3374
Redis protocol parser and writer
resbound0.8.112726
Run goal with resource bounds
regex0.3.311839444
Regular expressions
refactor0.0.343651
Refactoring Tools for SWI-Prolog
recaptcha0.9.226055
reCAPTCHA plugin for SWI-Prolog HTTP framework
real2.011361156
Integrative statistics with R
readability_parser0.0.432112
Readability Parser API
rdfs2pl0.0.533816
Compile an RDFS schema to prolog predicates
rdf_notification0.16
RDF notification
rdf_matcher0.1.53125
RDF matching utils
rdet0.0.2110516
Runtime determinacy checker
race0.1.07121
Client for the SOAP interface of the Attempto Reasoner RACE
r_session1.111615
Interface to an R process
quickcheck0.3.0171351
QuickCheck randomized testing
pubmed0.0.432817
Access pubmed publication records
pub_graph1.1175
Access, cache and visualise citation relations in publications servers
prosqlite1.515474119
(0/1)
An SWI-Prolog interface to SQLite
prologmud_samples1.2.11126411
Online text adventure game - Sample
prologmud_I71.2.1119173
PrologMUD I7 (NomicMU!) with small Adventure Games in Prolog using the CHAT80 Prolog natural language application
prologmud1.2.11118301
Online text adventure game - MUD Server
prism0.2.14117
Run PRISM as a child process
predicate_streams1.2.11113236
Implement your own Abstract Predicate Streams
pluuid2.0.03
Generating and parsing version 4 UUIDs in Pure Prolog
plumdrum0.0.63166
Parsing of Humdrum/Kern symbolic music file format
plsmf0.5.082511
Standard MIDI File reading
plrand0.9.1313298
Skippable pseudorandom generator and distributions
plplot0.0.11
A library to plot data using gnuplot.
plosc0.4.66398
OSC input/output via liblo
plml2.0.316328
Prolog-Matlab bridge
plmidi0.7.07296
Interface to Mac OS X MIDI system
plmake0.0.311712
Prolog makefile-like system
pljulia0.1.417341
Embedded Julia for SWI Prolog
plfann0.0.24153
SWI-Prolog for "Fast Artificial Neural Network Library"
plcomplex0.14
Simple calculation of complex numbers
plcal0.0.4391
Programming Calendar
plcairo1.1.14575
plcairo - Prolog bindings for cairo graphics library
plasticsearch0.121614
Elasticsearch client API
planner_api1.1.118264
planner_api -- A SWI-Prolog Pack that lets Prolog code seamlessly use planners speaking PDDLish and OCLh
pl_omdb0.5.08255
API interface to OMDB (Open Movie Database)
pinyin0.1.551610
Parsing and generation of Hanyu Pinyin
phil_datasets1.05174
Dataset for machine learning with phil
phil1.0.029483
Learning Hierarchical Probabilistic Logic Programs parameters with gradient descent and Expectation Maximization
pha0.1.22119
Probabilistic Horn Abduction
pfd_meta0.17
Probabilistic finite domains meta-interpreter
pfc1.2.11134642
Pfc -- a package for forward chaining in Prolog
pepl2.14218
Parameter estimation for SLP with the Failure Adjusted Maximisation algorithm.
pddl_valoptic_api1.1.1181
pddl_valoptic_api -- A SWI-Prolog Pack that lets Prolog code seamlessly use PDDL based planners.
pcache0.1.05
Persistent answer cache
pager0.1.0151
Send output to user's preferred pager
pack_errors2.156014
Contextual error handling for packs.
pac4pl0.1131
An SWI-Prolog interface to libPAC
pac1.4.88412410
Anonymous predicates expansion utility
os_lib1.49589
Operating system interaction predicates.
options1.276311
Options handling.
openapi0.13
OpenAPI (Swagger) interface
open_dicts0.0.114
Open dicts for SWI Prolog
odict0.2.651712
Unifier over feature structures based on attributed variables
odf_sheet0.2.345842
Load and analyze ODF spreadsheets (.ods)
obo_ro0.0.16
Vocab for OBO Relation Ontology
obo_metadata0.0.4374
RDF vocabulary for OBO metadata ontologies
obo_core0.0.15
Vocab for upper parts of core OBOs such as GO
number_to_word0.4.252015
Integer to English word conversions
notes8000.1.0131
Query phone number data from 800notes.com
no_repeats1.1.1187123
New ways to avoid duplicate solutions
nanp0.1.0132
phone numbers in the North American Numbering Plan
nan_system_sources1.2.05
Nan.System.Sources - Answer Sources in Prolog
nan_numerics_prime1.2.541510
Nan.Numerics.Prime - A simple prime number library
nan_common1.222218
Common operations (validation, etc.)
mutable_variables1.0.026
Mutable Variables
must_trace1.1.11825321
Trace with your eyeballs instead of your fingers
musicxml0.0.211210
MusicXML partial reader
musicbrainz0.7.0214216
Musicbrainz client library
multimodal_dcg1.2.1115137
Reduce floundering of DCGs by constraining and narrowing search
mtx0.432210
Working with data matrices
msgpack0.1.64148
DCG for packing & unpacking of MessagePack data to/from bytes
mqtt1.0.522725
mqtt - pub/sub pack for SWI-Prolog using mosquitto
mpi1.05151
Porting of the LAMMPI library of Yap Prolog to SWI-Prolog
mlu0.213932
Machine learning utilities
miser0.0.118
Build self-optimizing predicates
mime0.5.07
MIME processing library based on maildrop
midiutils0.0.38
midiutils
memo0.6.1176716
Persistent memoisation of deterministic predicates
maybe0.1.135148
The maybe type represents an optional value
mavis0.2.3132142
Optional type declarations
matrix1.9.161042
Operations with matrices using prolog and c
mathml0.0.16
Translates mathematical expressions to compounds that can be used by SWISH html//1.
markdown0.0.21114108
Markdown parser for SWI-Prolog
mail_standards0.1.02
Mail IMF and Maildir implementations.
mail_merge1.0.0181
Library for performing mail merge
lsp_server1.3.613212
A Prolog LSP Server
loop_check1.1.1189122
New simple loop checking
logtalk3.30.0583591
Logtalk - Object-Oriented Logic Programming Language
logicmoo_utils1.2.1119122
Common predicates that are used throughout LogicMOO Software
logicmoo_planners1.1.118273
Various Hybrid HTN Planners speaking PDDLish and OCLh
logicmoo_base1.2.11135507
LogicMOO - Extends Prolog Programming to support Dynamic Epistemic Logic (DEL) with Constraints
log4p0.0.210
Logging for Prolog
list_util0.13.01873676
Predicates for working with lists
link_grammar_prolog4.1.0.322521
A binding to use the Link Grammar library from SWI-Prolog
lib_atts1.1.118381
Common atts.pl interface like https://sicstus.sics.se/sicstus/docs/4.0.0/html/sicstus/lib_002datts.html
lib2.513214
Predicate based code development
ldap4pl0.111413
LDAP interface
lcs0.0.128
Longest common subsequence
lbfgs1.015391
An interface to call libLBFGS from within SWI-Prolog
lazy_streams0.5.05
Lazy Stream Generators
lambda_abstractions0.2.1165
Lambda abstractions
kubepl0.1163
Kubernetes Client
jwt_io0.0.2165
JWT implementation
julian_lang_en0.0.213332
Parse English language phrases into library(julian) constraints
julian0.1.3634514
Date and time library
jolog0.0.313020
Concurrency via join calculus
irc_client1.3.094623
Low level interface to IRC clients
interpolate0.1.02331
String interpolation
instant_prolog_docs1.2.1117178
Magically document prolog source files based on predicate and variable naming conventions
inotify0.9.111817
Access Linux inotify API to watch file system changes
indexed_terms1.0.07
Positional access to terms' arguments
index_util0.0.212013
Prolog index utils
imodule0.0.11
Support for modules from the server.
identity0.2.21
Registration, login, and role management
ical0.1.06
iCalendar DCGs and parsers
httplog0.5.0193
Analyse SWI-Prolog HTTP server log files
http2_client1.0.06178
An HTTP/2 client
hook_hybrid1.1.11812131
Hook assert retract call of *specific* predicates
hilog1.1.118143
XSB-Prolog's Hilog Syntax in SWI-Prolog
hdt0.553225
Access RDF HDT files
hashtbl0.0.211918
Pure and impure hash tables
gvar_syntax1.2.11113204
Global Variable Syntax
graphql-swipl0.0.11
GraphQL Prolog Library
graphql0.0.111
GraphQL Prolog Library
graphpl0.1.14142
Graph data structure utilities
gpc1.2.03245
Generic polygon clipper
googleclient0.5.233011
SWI-Prolog code for "Login with Google"
geoip0.9.01143
Access GeoIP library
genutils0.3.823587
General miscellaneous utilities
format_spec0.0.212423
Parse and check format/2 specifications
fnotation0.0.321512
Function notation for Prolog
flux1.1.1186
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.
fluents0.1.21121
Access all solutions of a goal without backtracking
fld0.1.0372
Easy assess to term args when loading from ODBC or CSV.
fine_upload0.1.54116
HTTP support for file uploading
fileutils0.3.510635
Utilities for reading, writing and finding files
file_utilities0.115
File system related utilities
file_scope1.1.118571
File local scoped efects
ffimatrix0.1.010281
Operations with matrices using Prolog and C
ffi0.12202
Dynamically call C functions
fcgi0.9.017
fcgi - Fast Common Gateway Interface (FastCGI) library for Prolog
environ1.039
Demo package with C code, fetching the program environment
eggdrop1.2.11116268
Hook up to an existing IRC Client called an Eggdrop
each_call_cleanup1.1.11810141
Each Call Redo Setup and Cleanup
dpath0.5.8284
Directory traversal module
dotcloud0.0.211913
Conveniences for running on dotCloud
dot_dcg0.1.04261
A DCG for a subset of the DOT language
docstore2.0.1512488
Document-oriented database for Prolog
djson0.0.329286
Declarative JSON
dirtree1.0.13246
Load XML of directory content.
dictype0.0.27
Concise dict type definitions
dictoo1.2.11112217
Dict-like OO Syntax
dict_schema0.0.218784
Dict converter and validator
dialect-ciao0.0.11
Ciao Prolog compatibility library
dia0.126
An interface to .dia-uml-diagrams
delay0.3.378456
Avoid instantiation errors for built-in predicates
debug_call1.24308
Debugging with calls
dcgutils1.1.311229130
DCG related utilities
dcg4pt0.2.0263
DCG for Parse Trees
db_facts0.5515541
Common db-tables-as-facts and SQL layer for ODBC and proSQLite.
date_time0.1.32262
Logical arithmetic on dates and times
ct_fft0.01
Cooley–Tukey FFT algorithm
css_write1.0.011514
DCG for generating CSS
cplint_r1.0.0103617
R plotting predicates for cplint
cplint_datasets1.037
Dataset for machine learning with cplint
cplint4.5.01715002
A suite of programs for reasoning with probabilistic logic programs
coworkers0.1.04
Workflow definition as tree of coroutines
consul_client0.0.4285
Consul Client
condition0.1.134028
Condition system a la Common Lisp
clpBNR0.8.2131
CLP over Reals using Interval Arithmetic - includes Rational, Integer and Boolean domains as subsets.
clitable1.0.86205
Pretty unicode tables for the CLI with Prolog
clause_attvars1.1.1187101
An alternate interface to the clause database to allow attributed variables to be asserted
ciao0.0.17
Ciao Prolog compatibility library
chess_db0.321511
PGN and chess game databases.
chat801.011
Classic CHAT80 Prolog natural language application
chan0.2.014
Directional channels for thread communication
ccprism0.1.020337
Probabilistic programming using delimited continuations
cclab0.1.513247
Continuations lab
canny_tudor0.3.0351
Canny bag o' Tudor
call_cleaup_each0.0.11
Call A Goal On Each Redo
by_unix0.1.615957
An elegance layer to calling unix commands.
bousi_pack1.0.03111
On my way to a SWISH enabled BPL - a FLI exercise
body_reordering1.2.111271
Clause expansion Utils for deciding which order to run Goals in a body
blog_core1.5.1218411
Blog/CMS framework
biomake0.1.57195
Prolog makefile-like system
bio_db_repo19.5.713354
Data package for bio_db.
bio_db3.018544
Access, use and manage big, biological datasets.
bio_analytics0.3283
Computational biology data analytics.
bims2.354711
Bayesian inference of model structure.
bibtex0.1.6176
Parser and predicates for BibTeX files
bencode0.0.136
Bencoding from BitTorrent protocol
bddem4.3.113462
A library for manipulating Binary Decision Diagrams
b_real0.432614
Interface predicates to commonly used R functions.
auc1.010832
Library for computing Areas Under the Receiving Operating Charactersitics and Precision Recall curves
atom_feed0.2.045238
Parse Atom and RSS feeds
assertions0.0.123341
Ciao Assertions Reader for SWI-Prolog
arouter1.1.14151106
Alternative HTTP path router
app0.112
Prolog Application Server
ape6.7.01132
Parser for Attempto Controlled English (ACE)
ansi_termx0.0.13
ANSI terminal operations
amazon_api0.0.324942
Interface to Amazon APIs
aleph5181911
Aleph Inductive Logic Programming system
achelois0.5.0756844
Collection of tools to make writing scripts in Prolog easier.