whatisgithub

What is aima-python?

stefan-jansen/aima-python — explained in plain English

Analysis updated 2026-07-24 · repo last pushed 2016-03-30

PythonAudience · researcherComplexity · 2/5DormantSetup · easy

In one sentence

Python implementations of the algorithms from the AI textbook "Artificial Intelligence: A Modern Approach." You can run and experiment with search, logic, probability, and learning algorithms instead of just reading about them.

Mindmap

mindmap
  root((repo))
  What it does
    Algorithms from textbook
    Runnable Python code
    Jupyter notebook examples
  Topics covered
    Search algorithms
    Logic and reasoning
    Probability models
    Machine learning
  Who uses it
    AI students
    Self-learners
    Course instructors
  Learning aids
    Code-to-book mapping table
    Step-by-step notebooks
    Test files for correctness
  Contributing
    Missing algorithms to implement
    Google Summer of Code
    Open to student contributors
  Known issues
    Index table outdated
    Partially updated for new edition

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run and experiment with AI algorithms like search, logic, and learning from the textbook

USE CASE 2

Follow along with an AI course by stepping through annotated Jupyter notebooks

USE CASE 3

Practice Python skills by implementing missing algorithms and contributing them back

USE CASE 4

Cross-reference code with specific textbook figures and pages using the mapping table

What is it built with?

PythonJupyter Notebook

How does it compare?

stefan-jansen/aima-python0xallam/my-recipe0xhassaan/nn-from-scratch
Stars0
LanguagePythonPythonPython
Last pushed2016-03-302022-11-22
MaintenanceDormantDormant
Setup difficultyeasymoderatemoderate
Complexity2/52/54/5
Audienceresearchergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

No external services or API keys required, just clone the repo and open the Python files or Jupyter notebooks in your environment.

The repository does not clearly state a license, so check the repo files or contact the maintainers before using or distributing the code.

So what is it?

This project provides working Python versions of the algorithms described in the textbook "Artificial Intelligence: A Modern Approach." It lets you actually run and experiment with the concepts from the book, rather than just reading about them. The project is organized by topic, things like search, logic, probability, and learning. Each topic gets a Python file with the algorithm implementations, a Jupyter notebook that explains how they work with examples, and a test file to verify the code is correct. There is also a large table that maps each piece of code back to the specific figure and page where it appears in the textbook, so you can cross-reference what you are running with what you are reading. Students and self-learners working through the textbook are the main audience. If you are taking an AI course that uses the book, you can use this repository to see how the pseudocode translates into actual runnable Python. The notebook files are particularly handy for that, since they walk through examples step by step. The project is a work in progress. The table shows many algorithms that are already implemented, but also plenty of entries that are still blank, meaning no one has written the code for them yet. The maintainers actively invite contributors to fill in those gaps, and they mention looking for students to participate through Google Summer of Code. So beyond just using the code, someone learning AI could practice their Python skills by implementing one of the missing pieces. One thing to note is that the index table is partially outdated, having been built for an older edition of the book and only partially updated since. That means the mapping between figures and code is not perfectly current, which could be a minor frustration if you are trying to follow along with the latest edition.

Copy-paste prompts

Prompt 1
I want to understand how A* search from the AIMA textbook works. Show me the relevant Python implementation from this repo and walk me through a simple pathfinding example using the notebook.
Prompt 2
Help me find algorithms in the AIMA Python repo that are not yet implemented. Pick one missing search or learning algorithm, outline the pseudocode from the textbook, and help me write the Python implementation following the repo's style.
Prompt 3
I'm taking an AI course using 'Artificial Intelligence: A Modern Approach.' Use this repo's notebooks to explain probability and Bayesian networks with a concrete runnable example.
Prompt 4
Set up the aima-python repo locally and run the test suite for the learning algorithms module. Tell me which tests pass and help me fix any failures.
Prompt 5
Compare the logical inference algorithms in this repo with the pseudocode in Chapter 7 of the textbook. Point out where the Python version simplifies or extends the original pseudocode.

Frequently asked questions

What is aima-python?

Python implementations of the algorithms from the AI textbook "Artificial Intelligence: A Modern Approach." You can run and experiment with search, logic, probability, and learning algorithms instead of just reading about them.

What language is aima-python written in?

Mainly Python. The stack also includes Python, Jupyter Notebook.

Is aima-python actively maintained?

Dormant — no commits in 2+ years (last push 2016-03-30).

What license does aima-python use?

The repository does not clearly state a license, so check the repo files or contact the maintainers before using or distributing the code.

How hard is aima-python to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is aima-python for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.