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.2.2.tar.gz (170.6 kB view details)

Uploaded Source

Built Distribution

simplesat-0.2.2-py2.py3-none-any.whl (207.4 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for simplesat-0.2.2.tar.gz
Algorithm Hash digest
SHA256 7a183b7bee641ebe4d2039091c625ac25df72470eb43af4ce940d6562e61346e
MD5 78b6611a7f5dd6624c87f1412537b3be
BLAKE2b-256 6e4a4bdb0b8d660f6f93630f9a38b65f9a70c9067b68003706314e7f34a3e0a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simplesat-0.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3a86973762b369ecf4c418093e76bc1875ac4964c613c6111ca1a9dac34beef1
MD5 92d56873b59b807858b4de61bc83caf8
BLAKE2b-256 6ea1e27a193072abe07961cf847c755557199e05a533986a5be4618e0ae3df0d

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