Skip to main content
                _  __    _  __              __             _      __
   _____ _____ (_)/ /__ (_)/ /_        ____/ /___   _____ (_)____/ /___
  / ___// ___// // //_// // __/______ / __  // _ \ / ___// // __  // _ \
 (__  )/ /__ / // ,<  / // /_ /_____// /_/ //  __// /__ / // /_/ //  __/
/____/ \___//_//_/|_|/_/ \__/        \__,_/ \___/ \___//_/ \__,_/ \___/

actions status version stars forks


Scikit-decide for Python

Scikit-decide is an AI framework for Reinforcement Learning, Automated Planning and Scheduling.

This framework was initiated at Airbus AI Research and notably received contributions through the ANITI and TUPLES projects, and also from ANU.

Main features

  • Problem solving: describe your decision-making problem once and auto-match compatible solvers.
    For instance planning/scheduling problems can be solved by RL solvers using GNNs.
  • Growing catalog: enjoy a growing list of domains & solvers catalog, supported by the community.
  • Open & Extensible: scikit-decide is open source and is able to wrap existing state-of-the-art domains/solvers.
  • Domains available:
    • Gym(nasium) environments for reinforcement learning (RL)
    • PDDL (Planning Domain Definition Language) via unified-planning and plado libraries
      • encoding in gym(nasium) spaces compatible with RL
      • graph representations for RL (inspired by Lifted Learning Graph) 🆕
    • RDDL (Relational Dynamic Influence Diagram Language) using pyrddl-gym library.
    • Flight planning, based on openap or in-house Poll-Schumann for performance model
    • Scheduling, based on rcpsp problem from discrete-optimization library
    • Toy domains like: maze, mastermind, rock-paper-scissors
  • Solvers available:
    • RL solvers from ray.rllib and stable-baselines3
      • existing algos with action masking
      • adaptation of RL algos for graph observation, based on GNNs from pytorch-geometric 🆕
      • autoregressive models with action masking component by component for parametric actions 🆕
    • Planning solvers from unified-planning library
    • RDDL solvers jax and gurobi-based based on pyRDDLGym-jax and pyRDDLGym-gurobi from pyrddl-gym project
    • Search solvers coded in scikit-decide library:
      • A*, AO*, Improved-LAO*
      • Value Iteration (VI), Policy Iteration (PI)
      • Labeled RTDP, Learning Real-Time A*
      • LDFS (Label-correcting Depth-First Search), Iterative Deepening A*
      • SSiPP (Short-Sighted Planning), FRET (Find, Revise, Eliminate Traps)
      • iDual (LP-based SSP solver), Goal Probability and Cost Iteration (GPCI)
      • Best First Width Search, Iterated Width (IW), Rollout IW (RIW)
      • Monte Carlo Tree Search (MCTS), POMCP
      • DESPOT, SARSOP, Witness (POMDP solvers)
      • RTDP-Bel (belief-space RTDP), HSVI / GoalHSVI
      • SSPReplan, SSPDetHindsight, SSPPlanMerger (determinization approaches)
      • Multi-Agent RTDP, Multi-Agent Heuristic meta-solver (MAHD)
    • (Probabilistic) PDDL (PPDDL) solvers:
      • FF planner
      • FFReplan / PPDDLReplan (replanning with pluggable inner solvers)
      • FFDetHindsight / PPDDLDetHindsight (determinization in hindsight)
      • RFF / PPDDLPlanMerger (plan aggregation into a policy)
    • PDDL heuristics (with their probabilistic extensions):
      • Delete-Relaxation heuristics
      • FF Heuristic
    • PDDL+ parser and simulators with Probabilistic PDDL extensions
      • Lifted applicable action filtering using Clingo
      • Z3-based event synchronization in python using z3-solver
    • Evolution strategy: Cartesian Genetic Programming (CGP)
    • Scheduling solvers from discrete-optimization,
      • itself wrapping ortools, gurobi, toulbar, minizinc, deap (genetic algorithm), didppy (dynamic programming),
      • and coding local search (hill climber, simulated annealing), Large Neighborhood Search (LNS), and genetic programming based hyper-heuristic (GPHH)
  • Tuning solvers hyperparameters
    • hyperparameters definition
    • automated study with optuna

Installation

Quick version:

pip install scikit-decide[all]

For more details, see the online documentation.

Documentation

The latest documentation is available online.

Examples

Some educational notebooks are available in notebooks/ folder. Links to launch them online with binder are provided in the Notebooks section of the online documentation.

More examples can be found as Python scripts in the examples/ folder, showing how to import or define a domain, and how to run or solve it. Most of the examples rely on scikit-decide Hub, an extensible catalog of domains/solvers.

Contributing

See more about how to contribute in the online documentation.

Metadata

Release files for scikit-decide 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scikit-decide 1.1.1
File Size Uploaded
scikit_decide-1.1.1.tar.gz 21.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for scikit-decide 1.1.1
File
scikit_decide-1.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
scikit_decide-1.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
scikit_decide-1.1.1-cp312-cp312-macosx_12_0_arm64.whl CPython 3.12 CPython 3.12 macOS 12.0+ ARM64 Details
scikit_decide-1.1.1-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
scikit_decide-1.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
scikit_decide-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
scikit_decide-1.1.1-cp311-cp311-macosx_12_0_arm64.whl CPython 3.11 CPython 3.11 macOS 12.0+ ARM64 Details
scikit_decide-1.1.1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
scikit_decide-1.1.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
scikit_decide-1.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
scikit_decide-1.1.1-cp310-cp310-macosx_12_0_arm64.whl CPython 3.10 CPython 3.10 macOS 12.0+ ARM64 Details
scikit_decide-1.1.1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details

Total release size: 341.1 MB

Release files / scikit_decide-1.1.1.tar.gz

Download URL scikit_decide-1.1.1.tar.gz
Size 21.0 MB
Tags Source
SHA-256 checksum
How to use checksums
4dd501a2d82c2eadf2b7286bf5a6534a9a4c64af853a316e4977730d18c85dfd
BLAKE2b-256 checksum
How to use checksums
cdfd46185faaa175724b934951833841c4cef0dfe21d199a960ff8d5b323189b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp312-cp312-win_amd64.whl

Download URL scikit_decide-1.1.1-cp312-cp312-win_amd64.whl
Size 57.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f57eac23e2fbeae2f707f89210722d8577a15c08824700096a132b09718e61c6
BLAKE2b-256 checksum
How to use checksums
4160a22414dd0a59e13358884a0336df1989553ac69b855d85fd325aac30d7e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL scikit_decide-1.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 19.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b8bfaa7ae47ab56eaa83b38bb30dcf40e576c8a5764a53dc55b01cd2da8548cc
BLAKE2b-256 checksum
How to use checksums
4f91f1c1f9c03468123e348a50730a7d4ccdbc581ce28a3c5b4b20827977f441
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp312-cp312-macosx_12_0_arm64.whl

Download URL scikit_decide-1.1.1-cp312-cp312-macosx_12_0_arm64.whl
Size 14.0 MB
Tags CPython 3.12 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
c55ff43c60b30203276eee4cdca9d26d0d1c5a0d0d5b5151b57cbdd8455ef0dd
BLAKE2b-256 checksum
How to use checksums
9d5d58304e164a6e5cb1236505f30ddb6b4fb23c2905e52d945c668c475c13e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp312-cp312-macosx_10_15_x86_64.whl

Download URL scikit_decide-1.1.1-cp312-cp312-macosx_10_15_x86_64.whl
Size 15.9 MB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
81220fa30a466b21e1c7b6ab12b69acec86f9d49b1f4cd8fce3b832d16112cbc
BLAKE2b-256 checksum
How to use checksums
083871424ee6ee023a31d355e9a961862fa4b3dc79303e891ead98037389be11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp311-cp311-win_amd64.whl

Download URL scikit_decide-1.1.1-cp311-cp311-win_amd64.whl
Size 57.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
34ca442fdafda12a37ec3a9996b2ed817922ddf92adfbe53357257a2b61058c1
BLAKE2b-256 checksum
How to use checksums
0274c9f7a2e3f63ecde2be3b45e545ccb9d6d54cfa4982d58a005df2d38ea4bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL scikit_decide-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 19.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b8ffcab7eebd53798460c959bd1cfaeccd5ac790755082cb77abf5e7684c36d9
BLAKE2b-256 checksum
How to use checksums
e29a0d86f27269dbc39e32485fdcf66000ebc80b08cca2157ef3196d99f1d5fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp311-cp311-macosx_12_0_arm64.whl

Download URL scikit_decide-1.1.1-cp311-cp311-macosx_12_0_arm64.whl
Size 14.0 MB
Tags CPython 3.11 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
65bf8aaa5b8d4012d139e03ba416cafef1bfe3a3eef9834f55c14292b39fc2d9
BLAKE2b-256 checksum
How to use checksums
a3f672aad06a94e0033302714eac9721d5d6e865c2fd49a26f4e2a1a8ff2a9a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp311-cp311-macosx_10_15_x86_64.whl

Download URL scikit_decide-1.1.1-cp311-cp311-macosx_10_15_x86_64.whl
Size 15.9 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
44c6dc8e68234ab3107faad88d0de94537c17fcd5f5d81be1ecbc0ab4048a1c4
BLAKE2b-256 checksum
How to use checksums
7faf79fbb085e5507c830a71c7a9390aa90711c4a6040f31822d1aa64e027a0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp310-cp310-win_amd64.whl

Download URL scikit_decide-1.1.1-cp310-cp310-win_amd64.whl
Size 57.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6ab5c4255805fab430a7ae6ae3584392cf4ec3b5ee666ffb75a10655380b657d
BLAKE2b-256 checksum
How to use checksums
3100b11a3e6f6435d21fece7377a71283a0a56ee423f4bfb2aa00ba9efe0ca11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL scikit_decide-1.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 19.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
117bd9945122a12b1ea60efc902e5a72ba6902721f5bcd57b4f02406e59883a1
BLAKE2b-256 checksum
How to use checksums
be5350c9ad5ef5a20ad98be970f179519964907e8834a7b072cc30b49c9420ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp310-cp310-macosx_12_0_arm64.whl

Download URL scikit_decide-1.1.1-cp310-cp310-macosx_12_0_arm64.whl
Size 14.1 MB
Tags CPython 3.10 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
210fabf553692222e7fffffdb60c0caac4844568823fd96aed3808c9f8742f0f
BLAKE2b-256 checksum
How to use checksums
2cfa19fc7a6c1c6260682c85a27243544a7c5dd9e876b4c1562cb0fc592ce557
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / scikit_decide-1.1.1-cp310-cp310-macosx_10_15_x86_64.whl

Download URL scikit_decide-1.1.1-cp310-cp310-macosx_10_15_x86_64.whl
Size 15.9 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
db45d1ea150af5efe7091dc7e6dbc9a1a729c8d9635be2f735218699da5159ff
BLAKE2b-256 checksum
How to use checksums
824f9e7e99221a27bd8efc2d50be127c8a3731df42b2b48792475d7b0ca67230
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.1.1 This release

13 release files

1.1.0

12 release files

1.0.3

16 release files

1.0.2

20 release files

1.0.1

16 release files

1.0.0

16 release files

0.9.8

15 release files

0.9.7

12 release files

0.9.4

9 release files

0.9.3

6 release files

0.9.2

6 release files

0.9.1

7 release files

0.8.5

7 release files

0.8.2

7 release files

0.8.1

7 release files

0.8.0

7 release files

0.6.5

7 release files

0.6.4

6 release files

0.6.2

6 release files

0.6.1

7 release files

0.6.0

7 release files

0.5.0

7 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page