Skip to main content

Introduction

PyCLP is a Python library to interface ECLiPSe Constraint Programmig System.

This module try to implement a pythonic interface to ECLiPSe (alias easy to use) by compromising on a little bit on performance.

Major differences from ECLiPSe standard interface libraries

The main difference compared to embedded interface provided by ECLiPSe system is the persistence of constructed terms after calling the pyclp.resume (check 3.1.2 Building ECLiPSe terms ) function. In ECLiPSe standard interfaces compound terms are destroyed after resume while in PyCLP are stored in a reference that survives after resuming. PyCLP will destroy the reference only when python destroys the linked python object (garbage collection). This consumes more memory but now the python object and the related ECLiPSe object have the same lifetime.

Moreover, in the definition of the API I tried to take advantage of a common propety of python and ECLiPSe: both are weak typed languages.

Next steps

  • Extend functionality of set_option function

Installation

At this moment only Linux platform is supported.(tested on Ubuntu 12.04).

Linux

In this page it is explained how to compile and install from source in a Linux Platform

Requirments

Following packages shall be preinstalled before proceeding the installation of PyCLP

Download

Download source files from PyCLP sources

Compilation & Installation

Setup Enviromental variables for ECLiPSe:

ECLIPSEDIR enviromental variable shall be set to the folder where is located ECLiPSe system. This is required for compiling and using PyCLP.

LD_LIBRARY_PATH enviromental variable shall contains the path of folder that contains the ECLiPSe sharable library. E.g. <eclipsedir>/lib/<platform>.

Install using usual method

sudo python setup.py install

Regression test

python test.py

Tested enviroment

The present version of pyclp is tested on

  • Ubuntu 12.04 LTS (32bit), Python 2.7 and 3.3

  • Ubuntu 13.04 (64bit) , Python 2.7 and 3.3

However it is expected working on other platform that fullfill the requirements.

Windows

Binary installation

Requirments

Following packages shall be preinstalled before proceeding the installation of PyCLP python3 setup.py register

Enviroment variables

Setup Enviromental variables for ECLiPSe:

ECLIPSEDIR enviromental variable shall be set to the folder where is located ECLiPSe system. This is required for compiling and using PyCLP.

PATH add in the path the folder where is stored the eclipse.dll file

Download & Install

Download msi installer from PyCLP sources

Installation from sources

Requirments

Following packages shall be preinstalled before proceeding the installation of PyCLP

Download

Download source files from PyCLP sources

Compilation & Installation

Setup Enviromental variables for ECLiPSe:

ECLIPSEDIR enviromental variable shall be set to the folder where is located ECLiPSe system. This is required for compiling and using PyCLP.

PATH add in the path the folder where is stored the eclipse.dll file

Install using usual method

python setup.py install

Regression test

python test.py

Tested enviroment

The present version of pyclp is tested on

  • Windows 7 (64bit), Python 2.7, 3.3

  • Windows 7 (32bit), Python 2.7, 3.3

However it is expected working on other platform that fullfill the requirements.

Download files

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

Source Distribution

PyCLP-0.6.tar.gz (105.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

PyCLP-0.6.win-amd64-py3.3.exe (281.2 kB view details)

Uploaded Source

PyCLP-0.6.win-amd64-py2.7.exe (283.8 kB view details)

Uploaded Source

PyCLP-0.6.win32-py3.3.exe (244.6 kB view details)

Uploaded Source

PyCLP-0.6.win32-py2.7.exe (250.0 kB view details)

Uploaded Source

File details

Details for the file PyCLP-0.6.tar.gz.

File metadata

  • Download URL: PyCLP-0.6.tar.gz
  • Upload date:
  • Size: 105.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyCLP-0.6.tar.gz
Algorithm Hash digest
SHA256 68a61a03476d0d22a8c001485f7a2ab507c1a301659bd9facac75feeac99b182
MD5 73d094151b9bddceb582520635fdaffc
BLAKE2b-256 32bf34ab39bf16f6c29b0d72e9e0baa0c1701cbe6440a610cc8bed242729efc7

See more details on using hashes here.

File details

Details for the file PyCLP-0.6.win-amd64-py3.3.exe.

File metadata

File hashes

Hashes for PyCLP-0.6.win-amd64-py3.3.exe
Algorithm Hash digest
SHA256 a8d5a65dde238ff299aa4edc3a32e2900e2662e440f8b28955e3572c48d990c6
MD5 1e37a33a01dc71e18cb3311cc2331afd
BLAKE2b-256 613c660601dbd7d32e072f3eb885b46a6a0ef5606d542e71eaaa0fc5bf4d0131

See more details on using hashes here.

File details

Details for the file PyCLP-0.6.win-amd64-py2.7.exe.

File metadata

File hashes

Hashes for PyCLP-0.6.win-amd64-py2.7.exe
Algorithm Hash digest
SHA256 e3bc94fd202dda060bbd21c9b1fd0ea8e8ba6d174f454e03a27101120eb40f51
MD5 f9885478bb916621ea2ef6e104ed90f1
BLAKE2b-256 1ef9c16869680bc6710f656ef4172266cdd5dfaf3e3832ab24686c8830a40064

See more details on using hashes here.

File details

Details for the file PyCLP-0.6.win32-py3.3.exe.

File metadata

  • Download URL: PyCLP-0.6.win32-py3.3.exe
  • Upload date:
  • Size: 244.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyCLP-0.6.win32-py3.3.exe
Algorithm Hash digest
SHA256 f5e5cfd42a3d8ee8ef50bf1e776024ab89a93320e4abc327c4d91201875bdd30
MD5 8bf668cd7bb09bc58ad67a8f35053e54
BLAKE2b-256 7b59b1699280337591411f74d0923f5c04f17820ea33bef5072aa426da19db16

See more details on using hashes here.

File details

Details for the file PyCLP-0.6.win32-py2.7.exe.

File metadata

  • Download URL: PyCLP-0.6.win32-py2.7.exe
  • Upload date:
  • Size: 250.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyCLP-0.6.win32-py2.7.exe
Algorithm Hash digest
SHA256 74451cc4508c2e07d062dd30b5ff1dab3b7dfe63dab9eced1ec73fa74d70cf04
MD5 1adf8fd7746122f13ca12740b59958af
BLAKE2b-256 183fbbb92f3f554ef3036b6750ae091a8913e6ce647834a4f174f39a5f6d600e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page