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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pysats-0.2.2.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.1 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for pysats-0.2.2.tar.gz
Algorithm Hash digest
SHA256 7a52724b0f17198dac96ac91a159c0a5d4c4e94f4716e825c86c336c8acfc7db
MD5 b8e61a8047db3e0bed00bb5c98e886fa
BLAKE2b-256 2c93f77a3a38d11fce84382a7baaf762babc154d3de5ddfcb8f28c1f660cf97c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pysats-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.1 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for pysats-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca8c24fb1212b69c55ab24564a4075da34134f7ff5bff892166ab57acab05950
MD5 a00a852736c338f237b1ab122c409105
BLAKE2b-256 caff0fb0ba04b65e20015dfaa5ec3c3c323b30ee151a7a16379b4298128c56cc

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