Metadata-Version: 2.4
Name: gamspy
Version: 1.26.3
Summary: Python-based algebraic modeling interface to GAMS
Author-email: GAMS Development Corporation <support@gams.com>
Project-URL: homepage, https://gams.com/sales/gamspy_facts/
Project-URL: documentation, https://gamspy.readthedocs.io/en/latest/user/index.html
Project-URL: repository, https://github.com/GAMS-dev/gamspy
Project-URL: changelog, https://github.com/GAMS-dev/gamspy/blob/develop/CHANGELOG.rst
Keywords: Optimization,GAMS
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gamsapi<55.0.0,>=54.1.0
Requires-Dist: gamspy_base<55.0.0,>=54.1.0
Requires-Dist: pandas<3.1,>=2.2.2
Requires-Dist: pydantic>=2.0
Requires-Dist: requests>=2.28.0
Requires-Dist: typer>=0.16.0
Provides-Extra: torch
Requires-Dist: torch>=2.7.0; extra == "torch"
Provides-Extra: graph
Requires-Dist: graphviz>=0.20; extra == "graph"
Dynamic: license-file

![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)

-----------------
[![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
[![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
[![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)

# GAMSPy: Algebraic Modeling Interface to GAMS

## Installation

```sh
pip install gamspy
```

## What is it?

**GAMSPy** is a mathematical optimization package that combines the power of the high-performance GAMS execution system
and the flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
Equation) to compose mathematical models, a math package, and various utility functions.

## Documentation
The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).

## Design Philosophy
GAMSPy makes extensive use of set-based operations -- the absence of any explicit looping, indexing, etc., in native Python.
These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.

A set-based approach has many advantages:

  - Results in more concise Python code -- avoids inefficient and difficult to read for loops
  - Closely resembles standard mathematical notation
  - Easier to read
  - Fewer lines of code generally means fewer bugs


## Main Features
Here are just a few of the things that **gamspy** does well:

  - Specify model algebra in Python natively
  - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
  - Test a variety of solvers on a model by changing only one line

## Getting Help

For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).
