Skip to main content

Simple SAT solvers for use in Enstaller

Project description

Prototype for SAT-based dependency handling. This is a work in progress, do not expect any API not to change at this point.

Installation

To install the python package, simple do as follows:

git clone --recursive https://github.com/enthought/sat-solver
cd sat-solver
pip install -e .

Example usage

TODO

Usage from the CLI

To try things out from the CLI, you need to write a scenario file (yaml format), see simplesat/tests/simple_numpy.yaml for a simple example.

To print the rules:

python scripts/print_rules.py simplesat/tests/simple_numpy.yaml

To print the operations:

python scripts/solve.py simplesat/tests/simple_numpy.yaml

Comparing with php’s composer

First, clone composer’s somewhere on your machine:

git clone https://github.com/composer/composer

Then, use the scripts/scenario_to_php.py script to write a php file that will print the composer’s solution for a given scenario:

python scripts/scenario_to_php.py \
    --composer-root <path to composer github checkout> \
    simplesat/tests/simple_numpy.yaml \
    scripts/print_operations.php.in

This will create a scripts/print_operations.php script you can simply execute w/ php:

php scripts/print_operations.php

Bibliography

On the use of SAT solvers for managing packages:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplesat-0.7.0.tar.gz (201.4 kB view details)

Uploaded Source

Built Distribution

simplesat-0.7.0-py2.py3-none-any.whl (244.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file simplesat-0.7.0.tar.gz.

File metadata

  • Download URL: simplesat-0.7.0.tar.gz
  • Upload date:
  • Size: 201.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for simplesat-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f234402f8617ce2ec46a4ec71d11682372b36a28ddf2db78e87458ca77821e91
MD5 54510ab10c52f905b4120ce7d0c1abc4
BLAKE2b-256 53c941aad358f8db2888e5313686238fdbd8342841b112c5cbb1a2d00ccffca7

See more details on using hashes here.

File details

Details for the file simplesat-0.7.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for simplesat-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 115db65bfd4a59c07cc02a083f09423320c265a2bc16fc4af8985ad62bbed004
MD5 2e07ca231dc6dd59ec67bfae1b11f557
BLAKE2b-256 c955527e1758908031ef9e15c1658b3f7d94391234df01a4cfdf47d00e3df2ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page