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.1.0.tar.gz (18.6 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.1.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pysats-0.1.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.8.10 Linux/5.4.72-microsoft-standard-WSL2

File hashes

Hashes for pysats-0.1.0.tar.gz
Algorithm Hash digest
SHA256 538e3661351bdef8374e936efc774860b58d1085a06411e4d33aa8c13a0e2f7e
MD5 6212c20dc508d8090ab1decca641fbc5
BLAKE2b-256 9f700eb4ea348656562ee3d1694db60cdd5377ead7eb0529d480c20637c3acb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pysats-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.8.10 Linux/5.4.72-microsoft-standard-WSL2

File hashes

Hashes for pysats-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5aa290597c75324ec93ba2fea572f626b54dd8ea1cdae86607dcf592c1d70498
MD5 289295a12693499e580d1ef905001668
BLAKE2b-256 8ffe7fbe15f2106a457ed99e397d5b987ae607457f4fe41de2b118b2a9365627

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