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
- Create a Python environment that satisfied above requirements. To install Pyjnius, follow the steps in https://pyjnius.readthedocs.io/en/stable/installation.html#.
- Download the latest SATS JAR from https://github.com/spectrumauctions/sats/releases/
- 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 hashes)
Built Distribution
pysats-0.2.2-py3-none-any.whl
(22.1 kB
view hashes)