|
1 | 1 | # GDXInterface.jl |
2 | 2 |
|
3 | | -High-level Julia interface for reading and writing |
4 | | -[GDX files](https://gams-dev.github.io/gdx/index.html) |
5 | | -(GAMS Data Exchange). |
| 3 | +[](https://github.com/jd-foster/GDXInterface.jl/actions?query=workflow%3ACI) |
| 4 | +[](https://codecov.io/gh/jd-foster/GDXInterface.jl) |
6 | 5 |
|
7 | | -Uses the [`gdx_jll`](https://github.com/JuliaBinaryWrappers/gdx_jll.jl.git) package to |
8 | | -provide the GDX C library independently of GAMS. |
9 | | - |
10 | | -**No GAMS installation required.** |
| 6 | +[GDXInterface.jl](https://github.com/jd-foster/GDXInterface.jl) is an unofficial |
| 7 | +wrapper for [gams-dev/gdx](http://github.com/gams-dev/gdx), which provides |
| 8 | +support for reading and writing [GDX (GAMS Data Exchange) files](https://gams-dev.github.io/gdx/index.html). |
11 | 9 |
|
12 | 10 | For more information on the GDX file format, see the blog post |
13 | | -['GDX source code published on GitHub'](https://www.gams.com/blog/2023/12/gdx-source-code-published-on-github/). |
| 11 | +[GDX source code published on GitHub](https://www.gams.com/blog/2023/12/gdx-source-code-published-on-github/). |
14 | 12 |
|
15 | | -## Installation |
| 13 | +## Affiliation |
16 | 14 |
|
17 | | -```julia |
18 | | -using Pkg |
19 | | -Pkg.add(url="https://github.com/jd-foster/GDXInterface.jl.git") |
20 | | -``` |
| 15 | +This package is an unofficial Julia wrapper of [gams-dev/gdx](https://github.com/gams-dev/gdx). |
| 16 | +It is developed and maintained by the JuMP community. It is not an official |
| 17 | +product by [GAMS](https://gams.com). |
21 | 18 |
|
22 | | -Or in the Pkg REPL: |
| 19 | +## Getting help |
23 | 20 |
|
24 | | -``` |
25 | | -pkg> add https://github.com/jd-foster/GDXInterface.jl.git |
26 | | -``` |
| 21 | +If you need help, please ask a question on the [JuMP community forum](https://jump.dev/forum). |
27 | 22 |
|
28 | | -Run tests with: |
| 23 | +If you have a reproducible example of a bug, please [open a GitHub issue](https://github.com/jd-foster/GDXInterface.jl/issues/new). |
29 | 24 |
|
30 | | -``` |
31 | | -pkg> test GDXInterface |
| 25 | +## License |
| 26 | + |
| 27 | +`GDXInterface.jl` is licensed under the [MIT License](https://github.com/jd-foster/GDXInterface.jl/blob/main/LICENSE.md). |
| 28 | + |
| 29 | +`GDXInterface.jl` wraps the [official GAMS GDX project](https://github.com/GAMS-dev/gdx), |
| 30 | +which is also licensed under the [MIT License](https://github.com/GAMS-dev/gdx/blob/main/LICENSE). |
| 31 | +You do not need a GAMS license to use `GDXInterface.jl`. |
| 32 | + |
| 33 | +## Installation |
| 34 | + |
| 35 | +Install `GDXInterface.jl` as follows: |
| 36 | + |
| 37 | +```julia |
| 38 | +using Pkg |
| 39 | +Pkg.add(; url = "https://github.com/jd-foster/GDXInterface.jl.git") |
32 | 40 | ``` |
33 | 41 |
|
34 | | -These instructions will be updated if/when the package is registered. |
| 42 | +You do not need a GAMS installation to use `GDXInterface.jl`. |
35 | 43 |
|
36 | 44 | ## Quick Start |
37 | 45 |
|
@@ -141,13 +149,13 @@ for (k, v) in gdx ... # iterate over symbols |
141 | 149 |
|
142 | 150 | GAMS special values are mapped to Julia equivalents when reading: |
143 | 151 |
|
144 | | -| GAMS | Julia | Notes | |
145 | | -|------|-------|-------| |
146 | | -| `UNDEF` | `NaN` | Undefined value | |
147 | | -| `NA` | `NaN` | Not available | |
148 | | -| `+INF` | `Inf` | Positive infinity | |
149 | | -| `-INF` | `-Inf` | Negative infinity | |
150 | | -| `EPS` | `-0.0` | "Explicitly zero" in sparse data | |
| 152 | +| GAMS | Julia | Notes | |
| 153 | +| :------ | :----- | :------------------------------- | |
| 154 | +| `UNDEF` | `NaN` | Undefined value | |
| 155 | +| `NA` | `NaN` | Not available | |
| 156 | +| `+INF` | `Inf` | Positive infinity | |
| 157 | +| `-INF` | `-Inf` | Negative infinity | |
| 158 | +| `EPS` | `-0.0` | "Explicitly zero" in sparse data | |
151 | 159 |
|
152 | 160 | When writing, `NaN` maps to GAMS `NA`, `Inf`/`-Inf` map to `+INF`/`-INF`, |
153 | 161 | and `-0.0` maps back to GAMS `EPS`. This preserves EPS semantics through |
|
0 commit comments