diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index 5b42d0e..2720eff 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -15,7 +15,7 @@ jobs:
name: "Run tests with Python ${{ matrix.python-version }} on ${{ matrix.os }}"
strategy:
matrix:
- python-version: [ '3.8', '3.12', '3.13.0-rc.1' ]
+ python-version: [ '3.8', '3.12', '3.13' ]
os: [ "ubuntu-22.04", "ubuntu-24.04" ]
fail-fast: false
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fa4c7db..48362b0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,121 +1,3 @@
-# CHANGELOG
+# Change Log
-### 0.3.1 (Not Released)
-
-### 0.3.0
-
-* Improve list representations, unicode support and multiple threading usage, see: [97](https://github.com/yuce/pyswip/pull/97). Contributed by Guglielmo Gemignani.
-* Added PL_STRINGS_MARK to getAtomChars, fixes [102](https://github.com/yuce/pyswip/issues/102). Contributed by Vince Jankovics.
-* Backwards compatibility for Python 2 64bit, see: [104](https://github.com/yuce/pyswip/pull/104). Contributed by Tobias Grubenmann.
-* Improved handling of lists, nested lists, strings, and atoms. see: [112](https://github.com/yuce/pyswip/pull/112). Contributed by Tobias Grubenmann.
-* Fixes for changed constants, see: [125](https://github.com/yuce/pyswip/pull/125). Contributed by Arvid Norlander.
-* Refactored SWI-Prolog discovery [commit](https://github.com/yuce/pyswip/commit/d399f0d049ff17200b1b7e1cd878faf3e48502dc)
-* Dictionary support, see: [commit](https://github.com/yuce/pyswip/commit/59016e0841f56177d1b18ec08fd9b67792bd0a97). Contributed by Max Peltzer.
-* Check `PILLIBSWIPL` environment variable for the `libswipl` library path [145](https://github.com/yuce/pyswip/pull/145). Contributed by Jan Wielemaker.
-* Avoid AttributeError with PL_version_info in swipl <= 8.4.2 [154](https://github.com/yuce/pyswip/pull/154). Contributed by Jan DestyNova.
-* Added hardcoded path for `libswipl.so` [43](https://github.com/yuce/pyswip/pull/43). Contributed by Kumar Abhinav.
-* Fixed not finding swipl lib file when there are multiple options [153](https://github.com/yuce/pyswip/pull/153). Contributed by AdiHarif.
-
-### 0.2.10
-
-* Synchronized type constants with SWI-Prolog.h
- update for broken compatibility changes in SWI-Prolog.h up to 0.8.3.
-* Fix incorrect REP_* constants.
-* Fixed issue [#92](https://github.com/yuce/pyswip/issues/92) (C assert)
-* Fixed issue [#90](https://github.com/yuce/pyswip/issues/90) (quoted string)
-* Fixed Variables in foreign functions not unifiable. Contributed by Michael Kasch.
-* Added support multibyte strings and atoms. Contributed by Nikolai Merinov.
-* Updated core.py and easy.py for unifying strings properly. Contributed by rohanshekhar.
-* Fixed issue [#71](https://github.com/yuce/pyswip/issues/71). Contributed by prologrules.
-* Fixed compatibility with SWI-Prolog 8.2.0. Contributed by Stuart Reynolds.
-* Fixed compatibility with MacOS. Contributed by prologrules and Dylan Lukes.
-
-### 0.2.9
-
-* Added non deterministic foreign function support. Contributed by rmanhaeve.
-* Fixed issue [#67](https://github.com/yuce/pyswip/pull/67). Contributed by Galileo Sartor.
-
-### 0.2.8
-
-* Fixed issue [#35](https://github.com/yuce/pyswip/issues/35). Contributed by Robert Simione.
-
-### 0.2.7
-
-* Works on FreeBSD.
-
-### 0.2.6
-
-* Fixed issue [#9](https://github.com/yuce/pyswip/issues/9).
-* Fixed issue [#10](https://github.com/yuce/pyswip/issues/10).
-
-### 0.2.5
-
-* Project cleanup
-* Updated the examples for Python 3.
-
-### 0.2.4
-
-* Maintenance release of PySwip
-* Added an error to avoid opening nested queries using PySwip (SWI-Prolog does
- not allow that). The error is NestedQueryError.
-* Added Tomasz Gryszkiewicz's patch for better finding the SWI-Prolog lib in
- Darwin
-* Solved issue 4 "Patch for a dynamic method"
-* Solved issue 5 "Patch: hash and eq methods for Atom class"
-* Solved issue 3: "Problem with variables in lists"
-* Solved issue 17: "Can't find SWI-Prolog library in Homebrew's /usr/local"
-
-### 0.2.3
-
-* Maintenance release of PySwip
-* Solved issue "Segmentation fault when assertz-ing" (thanks to jpthompson23)
-* Solved issue "pyswip doesn't work on cygwin"
-* Solved issue "Callbacks can cause segv's" (thanks to jpthompson23)
-* Solved issue "Improve library loading"
-* Solved issue "sys.exit does not work when importing pyswip"
-
-### 0.2.2
-
-* PySwip won't rely on the (id of the) functor handle of `=/2`.
-* Sebastian Höhn's patch to enable PySwip to work on MAC OS-X is incorporated.
-
-### 0.2.1
-
-* Importing `pyswip` automatically initializes SWI-Prolog.
-* Fixed a bug with querying lists with the new interface.
-
-### 0.2.0
-
-* All names are included with `from pyswip import ...`
-* New *Pythonic* interface
-* Prolog.query returns real Python datatypes
-* Markus Triska's Sudoku Solver
-* Prolog module support
-* Foreign functions retrieve Python datatypes.
-
-### 0.1.3
-
-* Renamed `pyswip/util.py` to `pyswip/prolog.py`.
-* New module `pyswip.easy`.
-* Now it is possible to register a Python function as a Prolog predicate
- through SWI-Prolog's Foreign Function Interface.
-* Additions to the core library.
-* Added example, *register foreign* which shows how to register a Python
- function as an SWI-Prolog predicate.
-* Added example, *Towers of Hanoi*
-
-### 0.1.2
-
-* Renamed `PrologRunner` to `Prolog`.
-* Removed `query` method of `Prolog`, `queryGenerator` is renamed as `query`.
-* Added `asserta`, `assertz` and `consult` methods to `Prolog`.
-* The necessary cleanup is done even if the `query` generator doesn't run to the end.
-* Errors during the execution of `query` is caught and `PrologError` is raised.
-* Many new additions to the core library.
-* Added `examples` directory.
-* Added examples, *coins* and *draughts*.
-
-### 0.1.1
-
-* Added `queryGenerator` to PrologRunner, `query` calls `queryGenerator`.
-* Added example `send more money`.
+This content has moved to [PySwip Change Log](https://pyswip.org/change-log.html)
\ No newline at end of file
diff --git a/INSTALL.md b/INSTALL.md
index b06d208..18c067a 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,152 +1,3 @@
# Installing PySwip
-## Requirements
-
-* Python 3.8 or later
-* SWI-Prolog 8.4.2 or later
-* 64bit Intel or ARM processor
-
-> [!IMPORTANT]
-> Make sure the SWI-Prolog architecture is the same as the Python architecture.
-> If you are using a 64bit build of Python, use a 64bit build of SWI-Prolog, etc.
-
-## Installing on All Platforms
-
-PySwip is available to install from [Python Package Index](https://pypi.org/project/pyswip/).
-
-> [!NOTE]
-> We recommend installing PySwip into a Python virtual environment.
-> See: [Creation of virtual environments](https://docs.python.orgs/3/library/venv.html)
-
-You can install PySwip using:
-```
-pip install pyswip
-```
-
-You will need to have SWI-Prolog installed on your system.
-Some operating systems have packages for SWI-Prolog.
-Otherwise, you can download it from [SWI-Prolog's website](https://www.swi-prolog.org/Download.html) or build from source.
-
-PySwip requires the location of the `libswpl` shared library and also the SWI-Prolog home directory.
-In many cases, PySwip can find the shared library and the home directory automatically.
-Otherwise, you can use the following environment variables:
-* `SWI_HOME_DIR` - The SWI-Prolog home directory.
-* `LIBSWIPL_PATH` - The location of the `libswipl` shared library.
-
-You can get the locations mentioned above using the following commands:
-```
-swipl --dump-runtime-variables
-```
-
-That will output something like:
-```
-PLBASE="/home/yuce/swipl-9.3.8/lib/swipl";
-...
-PLLIBDIR="/home/yuce/swipl-9.3.8/lib/swipl/lib/x86_64-linux";
-```
-Use the value in the `PLBASE` variable as the value for the `SWI_HOME_DIR` environment variable.
-Use the value in the `PLLIBDIR` variable as the value for the `LIBSWIPL_PATH` environment variable.
-
-## Installing on Linux
-
-### Arch Linux
-
-Installing SWI-Prolog:
-```
-pacman -S swi-prolog
-```
-
-Installing PySwip:
-(Alternative to the `pip install` way explained above)
-```
-pacman -S python-pyswip
-```
-
-### Fedora Workstation
-
-Installing SWI-Prolog:
-```
-dnf install pl
-```
-
-Installing PySwip:
-(Alternative to the `pip install` way explained above)
-```
-dnf install python3-pyswip
-```
-
-### Manjaro Linux
-
-Same as the Arch Linux instructions.
-See: https://manjaristas.org/branch_compare?q=pyswip
-
-### Parabola GNU/Linux-libre
-
-Same as the Arch Linux instructions.
-See: https://www.parabola.nu/packages/?q=python-pyswip
-
-### Debian, Ubuntu, Raspbian
-
-Ubuntu 22.04 has SWI-Prolog 8.4.3 in its repository.
-Debian Bookworm, Ubuntu 24.04 and Raspberry Pi OS Bookworm have SWI-Prolog 9.0.4 in their repositories.
-
-To install PySwip, use the `pip install` way explained above.
-
-## Windows
-
-Download a recent version of SWI-Prolog from https://www.swi-prolog.org/Download.html and install it.
-
-To install PySwip, use the `pip install` way explained above.
-
-## MacOS
-
-The preferred way of installing SWI-Prolog on MacOS is using [Homebrew](https://brew.sh).
-
-### Homebrew
-
-Installing SWI-Prolog:
-```
-brew install swi-prolog
-```
-
-To install PySwip, use the `pip install` way explained above.
-
-### Official SWI-Prolog App
-
-Install SWI-Prolog from https://www.swi-prolog.org/Download.html.
-
-If you get an error like `libgmp.X not found`, you have to set the `DYLD_FALLBACK_LIBRARY_PATH` environment variable before running Python:
-```
-export DYLD_FALLBACK_LIBRARY_PATH=/Applications/SWI-Prolog.app/Contents/Frameworks
-```
-
-To install PySwip, use the `pip install` way explained above.
-
-## Other UNIX
-
-### OpenBSD
-
-Install SWI-Prolog using the following on OpenBSD 7.6 and later:
-```
-pkg_add swi-prolog
-```
-
-To install PySwip, use the `pip install` way explained above.
-
-### FreeBSD
-
-SWI-Prolog can be installed using `pkg`:
-```
-pkg install swi-pl
-```
-
-To install PySwip, use the `pip install` way explained above.
-
-## Test Drive
-
-Run a quick test by running following code at your Python console:
-```python
-from pyswip import Prolog
-prolog = Prolog()
-prolog.assertz("father(michael,john)")
-```
+This content has moved to [PySwip Get Started](https://pyswip.org/get-started.html)
diff --git a/LICENSE b/LICENSE
index 31eb3ef..9be69dc 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2007-2020 Yüce Tekol and PySwip contributors
+Copyright (c) 2007-2024 Yüce Tekol and PySwip contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
diff --git a/README.md b/README.md
index dda87c6..8aed3d8 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,13 @@
# PySwip
+
+
+
+
## What's New?
-See the [CHANGELOG](CHANGELOG.md).
+See the [Change Log](https://pyswip.org/change-log.html).
## Install
@@ -15,7 +19,7 @@ If you have SWI-Prolog installed, it's just:
pip install pyswip
```
-See [INSTALL](INSTALL.md) for detailed instructions.
+See [Get Started](https://pyswip.org/get-started.html) for detailed instructions.
## Introduction
@@ -43,13 +47,14 @@ for soln in prolog.query("father(X,Y)"):
# michael is the father of gina
```
-An existing knowledge base stored in a Prolog file can also be consulted,
-and queried. Assuming the filename "knowledge_base.pl" and the Python is
-being run in the same working directory, it is consulted like so:
+An existing knowledge base stored in a Prolog file can also be consulted, and queried.
+Assuming the filename "knowledge_base.pl" and the Python is being run in the same working directory, it is consulted like so:
- >>> from pyswip import Prolog
- >>> prolog = Prolog()
- >>> prolog.consult("knowledge_base.pl")
+```python
+from pyswip import Prolog
+prolog = Prolog()
+prolog.consult("knowledge_base.pl")
+```
### Foreign Functions
@@ -98,116 +103,20 @@ The core functionality of `Prolog.query` is based on Nathan Denny's public domai
* [Support Forum](https://groups.google.com/forum/#!forum/pyswip)
* [Stack Overflow](https://stackoverflow.com/search?q=pyswip)
-## Projects/Publications that Use or Reference PySwip
-
-**Do you have a project, video or publication that uses/mentions PySwip? [file an issue](https://github.com/yuce/pyswip/issues/new?title=Powered%20by%20PySwip) or send a pull request.**
-
-If you would like to reference PySwip in a LaTeX document, you can use the provided [BibTeX file](pyswip.bibtex).
-
-### Books
-
-* [Beginning Artificial Intelligence with the Raspberry Pi](https://www.apress.com/gp/book/9781484227428)
-
-### Publications
-
-* [Assessment of Graph Databases as a Viable Materiel Solution for the Army's Dynamic Force Structure (DFS) Portal Implementation: Part 3, Risks, Mitigation Approach, and Roadmap](https://www.researchgate.net/publication/321977892_Assessment_of_Graph_Databases_as_a_Viable_Materiel_Solution_for_the_Army's_Dynamic_Force_Structure_DFS_Portal_Implementation_Part_3_Risks_Mitigation_Approach_and_Roadmap_Assessment_of_Graph_Databases_)
-* [Tackling Complexity in High Performance Computing Applications](https://link.springer.com/article/10.1007/s10766-016-0422-9)
-* [Social Human-Robot Interaction: A New Cognitive and Affective Interaction-Oriented Architecture](https://www.springer.com/gp/book/9783319474366)
-* [A Planning Module for a ROS-Based Ubiquitous Robot Control System](https://dspace.library.uu.nl/bitstream/handle/1874/292669/2014-03-27%20MSc%20Thesis%20Pieterjan%20van%20Gastel.pdf) (PDF)
-* [A pilot framework developed as a common platform integrating diverse elements of computer aided fixture design](https://www.tandfonline.com/doi/full/10.1080/00207543.2013.832000)
-* [Integration von Prolog und ClioPatria in Python](http://www1.pub.informatik.uni-wuerzburg.de/pub/theses/2017-bodenlos-master.pdf) (PDF, German)
-* [SELECTSCRIPT: A Query Language for Robotic World Models and Simulations](https://ieeexplore.ieee.org/document/7140077/)
-* [A Concept for Declarative Information Acquisition in Smart Environments](https://d-nb.info/1122172583/34) (PDF)
-* [Implementation on ADHD Diagnostic Expert System based on DSM Diagnostic Criteria](http://jse.or.kr/AJMAHS/papers/v7n11/50.pdf) (PDF, Korean)
-* [Wie sehen Krebsmolekule aus? Vergleich der Gute der Klassifizierung potenziell krebserregender Molekule durch induktiv logische und merkmalsbasierte Lernverfahren](http://www.cogsys.wiai.uni-bamberg.de/teaching/ss17/pj_bama/ProjektberichtRelLearningFinzelGrabeHillebrandHornigRicci.pdf) (PDF, German)
-* [Companion Robots Behaving with Style: Towards Plasticity in Social Human-Robot Interaction](https://tel.archives-ouvertes.fr/tel-01679314/document) (PDF)
-* [Semi-automatically Augmenting Attack Trees using an Annotated Attack Tree Library](https://www.researchgate.net/publication/327985985_Semi-automatically_Augmenting_Attack_Trees_Using_an_Annotated_Attack_Tree_Library)
-* [A Learning Framework for Tool Creation by a Robot](http://www.araa.asn.au/acra/acra2015/papers/pap145.pdf) (PDF)
-* [Conceptual Maps as the First Step in an Ontology Construction Method](https://ieeexplore.ieee.org/abstract/document/5629027)
-* [Fact-Based Expert System for Supplier Selection with ERP Data](https://link.springer.com/chapter/10.1007/978-981-15-1041-0_3)
-* [Interactive Text Graph Mining with a Prolog-based Dialog Engine](https://link.springer.com/chapter/10.1007/978-3-030-39197-3_1)
-* [The Detection Of Conflicts In The Requirements Specification Based On An Ontological Model And A Production Rule System](https://www.researchgate.net/publication/337655252_The_detection_of_conflicts_in_the_requirements_specification_based_on_an_ontological_model_and_a_production_rule_system)
-* [Dependency-based Text Graphs for Keyphrase and Summary Extraction with Applications to Interactive Content Retrieval](https://arxiv.org/pdf/1909.09742.pdf) (PDF)
-* [Information Retrieval Based on Knowledge-Enhanced Word Embedding Through Dialog: A Case Study](https://www.atlantis-press.com/journals/ijcis/125936225/view)
-* [Exploring the world of declarative programming](https://fedoramagazine.org/exploring-the-world-of-declarative-programming/)
-* [Development of a Prototype of a Medical Application Using a Type-2 Fuzzy Inference System](https://www.researchgate.net/publication/377771997_Development_of_a_Prototype_of_a_Medical_Application_Using_a_Type-2_Fuzzy_Inference_System)
-* [Learning Where and When to Reason in Neuro-Symbolic Inference](https://openreview.net/pdf?id=en9V5F8PR) (PDF)
-* [MMDect: Metamorphic Malware Detection Using Logic Programming](http://platon.etsii.urjc.es/~jarias/tfg/23-Luciana.pdf) (PDF)
-* [Continuous QoS-compliant orchestration in the Cloud-Edge continuum](https://onlinelibrary.wiley.com/doi/10.1002/spe.3334) ([Code](https://github.com/di-unipi-socc/FogArm))
-* [ProPy: Prolog-based Fault Localization Tool for Python](https://ieeexplore.ieee.org/document/9825788)
-* [Building a Fuzzy Expert System for Assessing the Severity of Pneumonia](https://www.researchgate.net/publication/363190862_Building_a_Fuzzy_Expert_System_for_Assessing_the_Severity_of_Pneumonia)
-
-### Videos
-
-* [AI - Blocks world solver interactive planner](https://www.youtube.com/watch?v=p1m8htUEHrc)
-* [PySwip, Prolog, Javascript and HTML](https://www.youtube.com/watch?v=Oj8xsW2vaLA) (Spanish)
-* [Get out of the maze with Prolog and Python](https://www.youtube.com/watch?v=MW3S0Jfa0LU) (Spanish)
-* [Les robots deviennent (vraiment) intelligents ! (NAO discute avec Kylo Ren)](https://www.youtube.com/watch?v=JlfnpyIly-Y)
-* [Connect Python and Prolog | Using Pyswip Module | Using Prolog as Backend](https://www.youtube.com/watch?v=1jwAHIz8WXc)
-* [How to connect Prolog and Python Using Pyswip Module](https://www.youtube.com/watch?v=R_dpVolI7bg)
-* [Praktikum Sistem Pakar 01 - Pengenalan Prolog, SWI-Prolog, PySwip](https://www.youtube.com/watch?v=wY5C48NMDp4) (Indonesian)
-* [Curso Básico de Prolog: 4 - Interconectando Python con Prolog a través de PySwip](https://www.youtube.com/watch?v=5xDqp_lYlcM) (Spanish)
-
-### Projects
-
-* [noworkflow](https://github.com/gems-uff/noworkflow) Supporting infrastructure to run scientific experiments without a scientific workflow management system. http://gems-uff.github.io/noworkflow
-* [Super Pacman](https://github.com/kajornsakp/prologProject)
-* [Pokemon Weak Detector](https://github.com/ReiiYuki/PokemonWeakDetector)
-* [Food Recommendations in Hyderabad, India](https://github.com/cindyleowtt/prolog_food) Food Recommendation AI Expert System using a GUI hosted on Flask and a backend developed with PYSWIP and native Prolog.
-* [pyswip_envctrl](https://github.com/2rs2ts/pyswip_envctrl) An environment control module expert system written in PySwip.
-* [tic-tac-toe](https://github.com/ivpusic/tic-tac-toe) Tic-tac-toe game with AI in Prolog and GUI in Python (kivy framework + pyswip).
-* [TBM1 - "Getting to Know My Home"](http://thewiki.rockinrobotchallenge.eu/index.php?title=TBM1_-_“Getting_to_Know_My_Home”)
-* [Prolog natural language parsing component to control a Scribbler II robot over bluetooth](http://justinmangue.com/blog/scribpro-py/)
-* [Cosmos](https://github.com/mcsoto/cosmos) A new logic programming language.
-* [lib-annotated-attack-trees](https://github.com/yramirezc/lib-annotated-attack-trees) Scripts and resources for creating a library of annotated attack trees and using it to refine an annotated attack tree.
-* [ClIDE](https://github.com/skeledrew/clide) Command-line Intelligent Development Environment
-* [Artificial Intelligence INF1771 @ PUC-Rio](https://github.com/leotok/INF1771) Projects for the Artificial Intelligence class @ PUC-Rio
-* [AutomobileAdvisor](https://github.com/liscju/AutomobileAdvisor) Projekt na systemy ekspertowe pomagający wybrać odpowiedni samochód dla danego klienta na podstawie preferencji (Polish)
-* [Prolog Tetris AI](https://sourceforge.net/projects/prologtetrisai/)
-* [Jupyter SWI Prolog](https://github.com/targodan/jupyter-swi-prolog) A Jupyter Kernel for SWI-Prolog.
-* [Blocks World Planner](https://github.com/davideiacobs/BlocksWorldPlanner) A program that allows users to solve the blocks world problem interacting only using the natural language.
-* [DeepTalk](https://github.com/ptarau/DeepTalk) A Python+Prolog based Dialog Engine using the Python package text_graph_crafts that extracts the highest ranked sentences answering a query.
-* [DeepRank](https://github.com/ptarau/DeepRank) The system uses dependency links for building Text Graphs, that with help of a centrality algorithm like PageRank, extract relevant keyphrases, summaries and relations from text documents.
-* [Prolog Tic-tac-toe](https://github.com/guyzyl/prolog-tic-tac-toe) A full-stack tic-tac-toe game with AI in Prolog, backend in Python3 (+Flask) and frontend in Vue.js 3.
-* [MIDSI Project](https://github.com/devdaniellima/midsi) Solution for data discovery in projects applicable to the
- Semantic Web, enabling the loading of ontologies and inference of results using the WSML language.
-* [Popper](https://github.com/logic-and-learning-lab/Popper) An inductive logic programming system.
-* [Trabajo Final](https://github.com/NicolasLeidi/Trabajo-Final) Ingeniería para Sistemas de Información (Spanish)
-* [norms-games](https://github.com/nmontesg/norms-games) Integration of normative systems and game theory
-* [NAAV Language](https://github.com/atharva-date/SER502-NAAV-Team17)
-
-### Blog Posts
-
-* [Calling Prolog from Python](http://fernmac.blogspot.com.tr/2013/07/calling-prolog-from-python.html)
-* [Python v. Prolog: Round 1: Fight!](http://www.kuliniewicz.org/blog/archives/2007/10/21/python-v-prolog-round-1-fight/)
-* [Path Follower: Arduino+Rasp on ROS](http://blog.giacomocerquone.com/path-follower-maze-solving-car-arduino/) and its [Project code](https://github.com/giacomocerquone/robotics-MazeSolver)
-* [10 minutes to make a GUI for your SWI-Prolog App via Python](http://pbrown.me/blog/quick_gui/)
-* [Playing with Prolog – Prolog’s Role in the LLM Era, Part 3](https://eugeneasahara.com/2024/08/12/playing-with-prolog-prologs-role-in-the-llm-era-part-3/)
-* [Prolog - Gateway to Logic Programming](https://sut-ai.github.io/supplementary/notebooks/logic_programming/)
-
-## Companies using PySwip
-
-* [Magazino GmbH](https://www.magazino.eu/?lang=en) Magazino develops and builds intelligent, mobile robots for intralogistics.
+## PySwip Community Home
+
+PySwip was used in scientific articles, dissertations, and student projects over the years.
+Head out to [PySwip Community](https://pyswip.org/community.html) for more information and community links.
+
+**Do you have a project, video or publication that uses/mentions PySwip?**
+**[file an issue](https://github.com/yuce/pyswip/issues/new?title=Powered%20by%20PySwip) or send a pull request.**
+
+If you would like to reference PySwip in a LaTeX document, you can use the provided [BibTeX file](https://pyswip.org/pyswip.bibtex).
+You can also use the following information to refer to PySwip:
+* Author: Yüce Tekol and PySwip contributors
+* Title: PySwip VERSION
+* URL: https://pyswip.org
## License
-```
-Copyright (c) 2007-2024 Yüce Tekol and PySwip contributors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
+PySwip is licensed under the [MIT license](LICENSE).
diff --git a/pyproject.toml b/pyproject.toml
index ba63ae7..cba1dc8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,7 +37,7 @@ classifiers = [
[project.urls]
Download = "https://github.com/yuce/pyswip/releases"
-Homepage = "https://github.com/yuce/pyswip"
+Homepage = "https://pyswip.org"
[tool.ruff.lint]
ignore = ["F403", "F405", "E721"]
diff --git a/tests/test_examples.py b/tests/test_examples.py
index 7e96fa1..d48acf3 100644
--- a/tests/test_examples.py
+++ b/tests/test_examples.py
@@ -293,7 +293,7 @@ def test_large_db(self):
Generates a large database, then runs query
"""
- num_facts = 1250000
+ num_facts = 125000
prolog = Prolog()
for i in range(num_facts):
prolog.assertz("p(%s)" % i)