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: 341
Version
(#older)
Downloads
tot: 36,332
(#latest)
Rating
(#votes/
#comments)
Title
typedef0.1.910384272
(2/2)
Support for type definitions
twitter0.1018
(1/1)
A pack to access the twitter api
plgi1.1.01119555
(1/1)
PLGI - Prolog bindings for GLib/GObject/GIO/GTK+
plchatscript1.0.943630
(1/1)
Interface to the ChatScript server.
lambda1.0.0582
(4/4)
Lambda expressions
graphml0.1.0119
(1/1)
Write GraphML files
function_expansion0.1.241004
(1/1)
Help for writing function-like macros
func0.4.28304172
(2/2)
Function application and composition
edcg0.9.1.71120313
(1/1)
Extended DCG
dcg_util0.3.1311422
(1/1)
DCG utility predicates
callgraph0.4.117288154
(1/2)
Predicate call graph visualisation
sparkle0.0.987666
(1/1)
Prolog-friendly interface to SPARQL endpoints
refactor0.0.351761
(1/1)
Refactoring Tools for SWI-Prolog
hello0.0.175
(1/1)
Hello World
gvterm1.11179148
(1/1)
Show Prolog terms using graphviz
evil0.2.3171
(4/4)
Predicates to Further the Cause of Evil
plOpenGL0.6.25114100
(1/1)
OpenGL Bindings
yaml0.141872
YAML parser
xtools0.0.251742
Extended tools for Prolog
xsd0.2.18853
XML Schema validation with Prolog
xlisting_web1.1.1186137
Manipulate and browse prolog runtime over www
xlisting1.2.11115262
Selective Interactive Non-Deterministic Tracing
xlibrary0.0.231481
Extended Libraries for Prolog
wumpus1.0.01
Hunt The Wumpus
wsdl0.162
Web Service Description Language (WSDL) and SOAP
wordnet0.9.349116
Access to WordNet database
with_thread_local1.2.111495
Call a Goal with local assertions
with_state0.0.562416
Stateful computations with records
with_open_options1.2.116158
Utilities to open various objects for read/write
with0.0.417
Context managers for SWI Prolog
wgraph0.656425
Weighted graphs, with plotting via Real
weblog0.0.564412
(0/1)
weblog
webconsole0.9.118988
(0/1)
Use a browser as HTML console
web0.1.112926
Easy web client
wam_common_lisp2.0.339786
ANSI Common Lisp implemented in Prolog
vcard0.0.112
vCard Parser and Predicates
uuid1.1.026159
Generating and parsing version 4 UUIDs
uri_qq0.3.033423
URI quasiquotations
upsh2.542110
Unix to Prolog shell.
unionfind1.0.022
Optimal implementation of the union-find algorithm in CHR
union_find1.0.018
A union-find algorithm implementation for SWI-Prolog
unified_diff0.0.122
Parse and generate unified diffs
type_check1.0.33762
Type System for Prolog based on Hindley-Milner
tus0.0.648442
TUS file transport protocol in prolog
turing1.0.224338
Turing Machine Simulator
trill6.0.211827821
A tableau probabilistic reasoner in three different versions
transpiler0.120843
A universal translator for programming languages
tor1.0.444423
Tor: Extensible Search with Hookable Disjunction
tokenize1.0.14205145
A simple tokenization library
timeutils0.0.421
Tools for temporally aware programming
tidylog0.0.111
thousands0.2.032924
(0/1)
Thousands separator for large integers
terminus_store_prolog0.19.1721,563698
Use the Terminus-Store Rust library from Prolog
term_diff0.0.11119
telegrambot0.0.21
API for Telegram
tap1.0.3243301
Automated tests via Test Anything Protocol
tailwind_pl_generate2.1.0121
Tailwind-style CSS generator for Prolog - Generator
tailwind_pl2.0.29191
Tailwind-style CSS generator for Prolog
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.762923
Literate programming with LaTeX and Prolog
swipe0.2.6115224
Shell pipeline construction with type checking
swicli2.0.011738
SWI-Prolog interface to C/C++/.NET/Mono/Objective-C
sweet0.1.136156
Sugar to make Prolog a little sweeter
svg0.13
Manipulating SVG xmls
subclause_expansion1.1.1185101
More detailed versions of term/goal expansion hooks
stompl0.11101
STOMP client
stoics_lib1.410709
A medley of library predicates for stoics packs
sql_compiler0.1.412928
Prolog to SQL compiler
spuds1.110322
Persistent, user code inclusive, documentation server for linux
spotify0.1.07
Use the Spotify API from Prolog.
spawn0.0.1139
Easy concurrency
sparqlprog_wikidata0.0.324133
SPARQLprog bindings for WikiData
sparqlprog0.2.920615284
Logic programming with SPARQL
space0.312111
Space package
sort_dict0.0.32104100
Sorts dicts by key
smtp1.0.05308112
An (E)SMTP client for sending mail
smtlib0.0.651912
SMT-LIB parser for SWI-Prolog
small_adventure_games1.1.81
Small Adventure Games in Prolog using the CHAT80 Prolog natural language application
sldnfdraw1.61934781
SLDNF Draw is a Prolog program that draws SLDNF Trees in LaTeX
slack_prolog1.1.11821915
Prolog interface to Slack http://www.slack.com
sindice0.0.532215
Access to Sindice semantic web search engine
simple_web0.3.163820
Microframework for building websites
simple_template1.3.19359164
Logic-free text (HTML) templates
simple_bootstrap0.0.211311
Bootstrap Extension to Simple Web
semantria0.0.433525
Use Semantria natural language API
s_expression1.2.11192616
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.323230
Real-time persistent queues and deques.
rtg0.0.7112615
Regular Tree Grammer validator
rtchecks0.0.124391
Run-Time Checker for Assertions
rserve_client1.1.116657
R Rserve client
roman0.1.040
Roman numerals
rologpp0.41301871
Simple interface to R
rologp0.121081
Simple interface to R
rocksdb0.8.055820
SWI-Prolog interface to RocksDB
resp_parse0.11
Redis protocol parser and writer
resp0.331310
Redis protocol parser and writer
resbound0.8.113231
Run goal with resource bounds
reif1.0.086
Reified if, reification library
regex0.3.3111,368973
Regular expressions
recaptcha0.9.226560
reCAPTCHA plugin for SWI-Prolog HTTP framework
real2.112533114
Integrative statistics with R
readability_parser0.0.432516
Readability Parser API
rdfs2pl0.0.534725
Compile an RDFS schema to prolog predicates
rdf_notification0.19
RDF notification
rdf_matcher0.1.532114
RDF matching utils
rdet1.0.2716617
Runtime determinacy checker
race0.1.07181
Client for the SOAP interface of the Attempto Reasoner RACE
r_session1.111615
Interface to an R process
quickcheck0.3.0171481
QuickCheck randomized testing
quantity0.110171
Parse quantities like "1.5 kg" and return some formatting information.
purity0.1.3341
A Horn Clause Only library for Prolog
pubmed0.0.433524
Access pubmed publication records
pub_graph1.111210
Access, cache and visualise citation relations in publications servers
prosqlite1.616661109
(0/1)
An SWI-Prolog interface to SQLite
prologmud_samples2.0.337652
Online text adventure game - Sample
prologmud_I71.2.11112243
PrologMUD I7 (NomicMU!) with small Adventure Games in Prolog using the CHAT80 Prolog natural language application
prologmud2.0.328492
Online text adventure game - MUD Server
prolog_uriparser1.0.55123
Prolog binding for uriparser
prolog_starter_project1.0.42104
Prolog Starter Project
prolog_rdf1.0.75195
Prolog RDF Library
prolog_library_collection1.0.1612482118
Prolog Library Collection
prolog_imagemagick1.0.33135
Prolog binding for ImageMagick
prolog_graphviz1.0.537336
Prolog-based graph visualization
prolog_geo1.0.76224
Geospatial support in Prolog
progress_bar0.0.5151
Progress-bar and spinner (text-based)
programk1.4.1112
AIML 2.0 - Because an AIML Interpreter/Chatbot needed to exist in Prolog to!
prism0.2.141612
Run PRISM as a child process
print_table0.0.5261
Formats and prints a table on the terminal screen
predicate_streams2.0.32112566
Implement your own Abstract Predicate Streams
pluuid2.0.09
Generating and parsing version 4 UUIDs in Pure Prolog
plumdrum0.0.63188
Parsing of Humdrum/Kern symbolic music file format
plstat1.0154
plstat - Statistics with Prolog
plsmf0.5.083319
Standard MIDI File reading
plrand0.9.13136241
Skippable pseudorandom generator and distributions
plplot0.0.132610
A library to plot data using gnuplot.
plosc0.4.664312
OSC input/output via liblo
plml2.0.3163511
Prolog-Matlab bridge
plmidi0.7.073411
Interface to Mac OS X MIDI system
plmake0.0.311712
Prolog makefile-like system
pljulia0.1.417601
Embedded Julia for SWI Prolog
plfann0.0.24483
SWI-Prolog for "Fast Artificial Neural Network Library"
plcomplex0.22141
Simple calculation of complex numbers
plcal0.0.55261
Programming Calendar
plcairo1.1.149442
plcairo - Prolog bindings for cairo graphics library
plasticsearch0.121917
Elasticsearch client API
planner_api1.1.118491
planner_api -- A SWI-Prolog Pack that lets Prolog code seamlessly use planners speaking PDDLish and OCLh
plammar1.0.2392
Prolog parser and serialiser written in Prolog
pl_omdb0.5.083111
API interface to OMDB (Open Movie Database)
pinyin0.1.551812
Parsing and generation of Hanyu Pinyin
phil_datasets1.07294
Dataset for machine learning with phil
phil1.0.0461091
Learning Hierarchical Probabilistic Logic Programs
pha0.1.222018
Probabilistic Horn Abduction
pfd_meta0.111
Probabilistic finite domains meta-interpreter
pfc2.0.35312113
Pfc -- a package for forward chaining in Prolog
pepl2.142512
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.09
Persistent answer cache
pager0.1.0171
Send output to user's preferred pager
pack_errors2.158135
Contextual error handling for packs.
pac4pl0.1151
An SWI-Prolog interface to libPAC
pac1.6.2981631
Anonymous predicates expansion utility
os_lib1.5107910
Operating system interaction predicates.
orgref_fix0.1.04
Fix Org-ref citations.
options1.49877
Options handling.
openapi0.23911
OpenAPI (Swagger) interface
open_dicts0.0.123
Open dicts for SWI Prolog
ontoweb0.0.4154
Show an ontology through a Web service.
ontodot0.1.12107
Create dot files from an RDF ontology.
odict0.2.652116
Unifier over feature structures based on attributed variables
odf_sheet0.2.458012
Load and analyze ODF spreadsheets (.ods)
obo_ro0.0.18
Vocab for OBO Relation Ontology
obo_metadata0.0.43208205
RDF vocabulary for OBO metadata ontologies
obo_core0.0.18
Vocab for upper parts of core OBOs such as GO
number_to_word0.4.252722
Integer to English word conversions
notes8000.1.0151
Query phone number data from 800notes.com
no_repeats1.1.1187145
New ways to avoid duplicate solutions
narsese2.0.3142
Narsese: Like OpenNARS in Prolog
nanp0.1.0154
phone numbers in the North American Numbering Plan
nan_system_sources1.2.08
Nan.System.Sources - Answer Sources in Prolog
nan_numerics_prime1.2.545146
Nan.Numerics.Prime - A simple prime number library
nan_common1.222622
Common operations (validation, etc.)
mutable_variables1.0.026
Mutable Variables
must_trace1.1.11826421
Trace with your eyeballs instead of your fingers
musicxml0.0.211917
MusicXML partial reader
musicbrainz0.7.0214519
Musicbrainz client library
multimodal_dcg2.0.38282
Reduce floundering of DCGs by constraining and narrowing search
mtx0.65412
Working with data matrices
msgpack0.1.642014
DCG for packing & unpacking of MessagePack data to/from bytes
mqtt1.0.524745
mqtt - pub/sub pack for SWI-Prolog using mosquitto
mpi1.05231
Porting of the LAMMPI library of Yap Prolog to SWI-Prolog
mlu0.216154
Machine learning utilities
miser0.0.121
Build self-optimizing predicates
mime0.5.012
MIME processing library based on maildrop
midiutils0.0.38
midiutils
memo0.6.1177827
Persistent memoisation of deterministic predicates
maybe0.1.136259
The maybe type represents an optional value
mavis0.2.3131,0362
Optional type declarations
matrix_utls1.11108
Matrix utilities: Kronecker (Tensor), Hadamard, and matrices creation/multiplications
matrix1.9.162022
Operations with matrices using prolog and c
mathml0.217261
Translates mathematical expressions to compounds that can be used by html//1 (SWISH) or html//3 (normal SWIPL, with pack http/html_write).
markdown0.0.3220176
Markdown parser for SWI-Prolog
mail_standards0.1.03
Mail IMF and Maildir implementations.
mail_merge1.0.01121
Library for performing mail merge
lsp_server2.2.82823041
A Prolog LSP Server
lps_corner2.0.32106
LPS Corner with SWISH and Dialect
loop_check1.1.1189122
New simple loop checking
logtalk3.50.0787396
Logtalk - Object-Oriented Logic Programming Language
logicmoo_workspace2.0.3231
LogicMOO Workspace -- The pack that installs the Logicmoo IDE and WebUI
logicmoo_webui2.0.37121
LogicMOO - The pack that installs the WebUI
logicmoo_utils2.0.337783
Common predicates that are used throughout LogicMOO Software
logicmoo_planners1.1.118284
Various Hybrid HTN Planners speaking PDDLish and OCLh
logicmoo_nlu2.0.325791
Various English to Logic Converters - warning: HUGE amount of lexical and test data
logicmoo_nars2.0.33
Narsese: Like OpenNARS in Prolog
logicmoo_ec2.0.3581
Logicmoo Event Calc -- A SWI-Prolog Pack that lets Prolog code seamlessly use planners speaking: LPS, Decreasoner EventCalc, PDDLish and OCLh
logicmoo_cg2.0.34149
Conceptual Graph (CG) Libraries in Prolog and test data
logicmoo_base2.0.347783
LogicMOO - Extends Prolog Programming to support Dynamic Epistemic Logic (DEL) with Constraints
log4p0.0.259
Logging for Prolog
list_util0.13.0192,3681
Predicates for working with lists
link_grammar_prolog4.1.0.323632
A binding to use the Link Grammar library from SWI-Prolog
libssh0.9.122118
Provide an embedded SSH server
lib_atts1.1.1183111
Common atts.pl interface like https://sicstus.sics.se/sicstus/docs/4.0.0/html/sicstus/lib_002datts.html
lib2.917331
Predicate based code development
ldap4pl0.112625
LDAP interface
lcs0.0.133
Longest common subsequence
lbfgs1.015461
An interface to call libLBFGS from within SWI-Prolog
lazy_streams0.5.011
Lazy Stream Generators
languages_bot0.0.1151
A chatbot that talks with the user to recommend some programming language
lambda_abstractions0.2.111615
Lambda abstractions
kubepl0.1185
Kubernetes Client
jwt_io0.0.343714
JWT implementation
julian_lang_en0.0.214140
Parse English language phrases into library(julian) constraints
julian0.1.3759814
Date and time library
jolog0.0.313828
Concurrency via join calculus
irc_client1.3.095633
Low level interface to IRC clients
interpolate0.1.02681
String interpolation
instant_prolog_docs2.0.3113301
Magically document prolog source files based on predicate and variable naming conventions
inotify0.9.113029
Access Linux inotify API to watch file system changes
indexed_terms1.0.011
Positional access to terms' arguments
index_util0.0.21236229
Prolog index utils
imodule0.0.11
Support for modules from the server.
identity0.2.29
Registration, login, and role management
ical0.1.09
iCalendar DCGs and parsers
httplog0.5.01163
Analyse SWI-Prolog HTTP server log files
http2_client1.0.063627
An HTTP/2 client
hook_hybrid1.1.11812142
Hook assert retract call of *specific* predicates
hilog1.1.118176
XSB-Prolog's Hilog Syntax in SWI-Prolog
hello_world0.18
Hello World pack as a test
hdt0.565525
Access RDF HDT files
hashtbl0.0.213736
Pure and impure hash tables
gvar_syntax2.0.31811862
Global Variable Syntax
graphql-swipl0.0.11
GraphQL Prolog Library
graphql0.0.123
GraphQL Prolog Library
graphpl0.1.16272
Graph data structure utilities
gpc1.2.033310
Generic polygon clipper
googleclient0.5.233111
SWI-Prolog code for "Login with Google"
geoip0.9.01233
Access GeoIP library
genutils0.3.8239342
General miscellaneous utilities
gbn0.2132
BNs for large cohort genomic studies.
format_spec0.0.213433
Parse and check format/2 specifications
fnotation1.0.05806
Function notation for Prolog
flux1.1.11823
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.21176
Access all solutions of a goal without backtracking
fld0.1.03392
Easy assess to term args when loading from ODBC or CSV.
fine_upload0.1.541510
HTTP support for file uploading
fileutils0.3.5107820
Utilities for reading, writing and finding files
files_extras0.1.0142
Few extra predicates for traversing folders and simplifying work with file system
file_utilities0.125
File system related utilities
file_scope1.1.1185121
File local scoped efects
ffimatrix0.1.010651
Operations with matrices using Prolog and C
ffi0.46856
Dynamically call C functions
fcgi0.9.022
fcgi - Fast Common Gateway Interface (FastCGI) library for Prolog
execution_context0.2.0393
Allows to retrieve setting from execution environment, given flexibility over setting/2, get_env, or command line configuration
excel_worksheets0.3.0561
Excel reader of worksheets cell values into prolog terms
environ1.053
Demo package with C code, fetching the program environment
eggdrop2.0.320331
Hook up to an existing IRC Client called an Eggdrop
each_call_cleanup1.1.11810171
Each Call Redo Setup and Cleanup
dynworks1.3.26877
Dynamic multi-dimensional arrays and vectors
dpath0.5.1142615
Directory traversal module
dotcloud0.0.212418
Conveniences for running on dotCloud
dot_dcg0.1.04271
A DCG for a subset of the DOT language
docstore2.0.261667
Document-oriented database for Prolog
djson0.0.32124118
Declarative JSON
disp_bn0.12
Construct and display BN terms via graphviz
dirtree1.0.132810
Load XML of directory content.
dictype0.0.210
Concise dict type definitions
dictoo2.0.32113044
Dict-like OO Syntax
dict_schema0.0.21105102
Dict converter and validator
dialect-ciao0.0.11
Ciao Prolog compatibility library
dia0.133
An interface to .dia-uml-diagrams
delay0.3.378456
Avoid instantiation errors for built-in predicates
debug_call1.46499
Debugging with calls
dcgutils1.1.311482383
DCG related utilities
dcg4pt1.0.044016
DCG for Parse Trees
db_facts0.5519278
Common db-tables-as-facts and SQL layer for ODBC and proSQLite.
date_time0.1.3337327
Logical arithmetic on dates and times
ct_fft0.01
Cooley–Tukey FFT algorithm
css_write1.3.25371
DCG for generating CSS
cplint_r1.0.0147028
R plotting predicates for cplint
cplint_datasets1.060
Dataset for machine learning with cplint
cplint4.5.01977512
A suite of programs for reasoning with probabilistic logic programs
coworkers0.1.07
Workflow definition as tree of coroutines
consul_client0.0.421310
Consul Client
condition0.1.135139
Condition system a la Common Lisp
clpBNR0.9.812703
CLP over Reals using Interval Arithmetic - includes Rational, Integer and Boolean domains as subsets.
clitable1.0.874011
Pretty unicode tables for the CLI with Prolog
cli_table1.0.1018
Pretty unicode tables for the CLI with Prolog
clause_attvars1.1.1187121
An alternate interface to the clause database to allow attributed variables to be asserted
ciao0.0.113
Ciao Prolog compatibility library
chess_db1.03342
PGN and chess game databases.
chat801.11298
Classic CHAT80 Prolog natural language application
chan0.2.017
Directional channels for thread communication
ccprism0.1.0204620
Probabilistic programming using delimited continuations
cclab0.1.5132811
Continuations lab
canny_tudor0.18.017342
Canny bag o' Tudor
call_cleaup_each0.0.11
Call A Goal On Each Redo
by_unix0.22696
An elegance layer to calling unix commands.
bousi_pack1.0.03171
On my way to a SWISH enabled BPL - a FLI exercise
body_reordering2.0.36215
Clause expansion Utils for deciding which order to run Goals in a body
blog_core1.5.3231016
Blog/CMS framework
biomake0.1.510337
Prolog makefile-like system
bio_db_repo21.7.1916481
Data package for bio_db.
bio_db3.422773
Access, use and manage big, biological datasets.
bio_analytics0.43175
Computational biology data analytics.
bims2.356327
Bayesian inference of model structure.
bibtex0.1.832010
Parser and predicates for BibTeX files
bencode0.0.142
Bencoding from BitTorrent protocol
bddem4.3.1201262
A library for manipulating Binary Decision Diagrams
b_real0.76372
Interface predicates to commonly used R functions.
auc1.0101282
Library for computing Areas Under the Receiving Operating Charactersitics and Precision Recall curves
atom_feed0.2.048571
Parse Atom and RSS feeds
assertions0.0.132491
Ciao Assertions Reader for SWI-Prolog
arouter2.0.051899
Alternative HTTP path router
arithmetic_types0.0.2154
Support for user defined types in arithmetic expressions
app0.112
Prolog Application Server
ape6.7.18071513
Parser for Attempto Controlled English (ACE)
ansi_termx0.0.114
ANSI terminal operations
amazon_api0.0.326255
Interface to Amazon APIs
aleph5203531
Aleph Inductive Logic Programming system
achelois0.5.077,113133
Collection of tools to make writing scripts in Prolog easier.
abbreviated_dates0.0.942918
Parses abbreviated & incomplete dates in multiple languages