Skip to main content

GNU Affero General Public License v3

Project description

PySATS

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

Requirements

  • Python: 3.7+ (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 https://pyjnius.readthedocs.io/en/stable/installation.html#.
  2. Download the latest SATS JAR from https://github.com/spectrumauctions/sats/releases/
  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.

Usage

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 https://python-poetry.org/docs/#installation, 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.0.1.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

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

pysats-0.0.1-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file pysats-0.0.1.tar.gz.

File metadata

  • Download URL: pysats-0.0.1.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.7.10 Windows/10

File hashes

Hashes for pysats-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6caede2f4d87150de6c1a5ba3575646165715f8891120385c0573d27d514d422
MD5 698eae5e5dbd7552cd100df35ae346c1
BLAKE2b-256 b7d2662170baedaab443b3fe90f5a1671ebd2a8d9e110bb076146fcea4ed4957

See more details on using hashes here.

File details

Details for the file pysats-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pysats-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.7.10 Windows/10

File hashes

Hashes for pysats-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38cd589c0bdb87ce8e241693818c7dc40e515e3d4bc3d74fe02b1fc5ec32ebec
MD5 db570761dd9d4a7379e76affa167af3c
BLAKE2b-256 be97605800ca70af2aa9e7b25e2a96fd04a3b0fdb58dee62a6afe48ed227a179

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 Pingdom Monitoring Sentry Error logging StatusPage Status page