Skip to main content

GNU Affero General Public License v3

Project description


This is a bridge to use some features of SATS in a Python project.


  • Python: 3.8+ (required for guaranteeing insertion order in dicts)
  • Pyjnius 1.3.0

Set up

  1. Create a Python environment that satisfied above requirements. To install Pyjnius, follow the steps in
  2. Download the latest SATS JAR from
  3. Place the SATS JAR together with the cplex.jar (which can be found in the CPLEX installation's bin folder) together in some directory on your machine, and set the PYJNIUS_CLASSPATH environment variable to the absolute path of this directory.


After having set up the environment according the the previous section, install the package

$ pip install pysats

Use it in your project as follows. Have a look at the test/ directory for more examples.

from pysats import PySats

gsvm = PySats.getInstance().create_gsvm()
for bidder_id in gsvm.get_bidder_ids():
    goods_of_interest = gsvm.get_goods_of_interest(bidder_id)
    print(f'Bidder_{bidder_id}: {goods_of_interest}')

Verify installation

The best way to verify installation, and check if everything is wired up correctly, is to check out the project and to run the tests:

$ python -m unittest

Alternative to set up locally: Poetry

You can use Poetry to set up and test pysats locally. Install it as described in, and then run:

$ poetry install

This will install all dependencies automatically. To test the setup, run:

$ poetry run python -m unittest

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

pysats-0.2.2.tar.gz (19.7 kB view hashes)

Uploaded source

Built Distribution

pysats-0.2.2-py3-none-any.whl (22.1 kB view hashes)

Uploaded py3

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