Metadata-Version: 2.4
Name: gamster
Version: 0.6.5
Summary: Convert local GAMS object directories to BagitFiles.
Project-URL: Homepage, https://github.com/DHGraz/gamster
Project-URL: Documentation, https://dhgraz.github.io/gamster/
Project-URL: Issues, https://github.com/DHGraz/gamster/issues
Project-URL: Changelog, https://github.com/DHGraz/gamster/blob/main/CHANGELOG.md
Author-email: Gunter Vasold <gunter.vasold@uni-graz.at>, Fabio Tosques <fabio.tosques@uni-graz.at>
License-File: LICENSE
Keywords: GAMS
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
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: Topic :: Utilities
Requires-Python: >=3.11
Requires-Dist: click>=8.4.2
Requires-Dist: gamslib>=0.8.5
Description-Content-Type: text/markdown

# Gamster

## Overview

`gamster` creates bag directories from *GAMS object directories*, which can then be ingested into GAMS.
The program can also convert bags back into GAMS object directories.

The command for creating Bags is `gamster create <PATH>`.

The command for "unpacking" Bags into GAMS object directories is:
`gamster unpack <PATH>`


Using `unpack`, an object directory can be recreated from a bag directory at any time.

Currently, only a command-line interface (CLI) is available. A GUI is planned.

## Installation

### Without explicit installation

If the user has `uv` installed, `gamster` can be run directly without prior
installation via `uvx gamster` (or `uv tool install gamster`).
If needed, a suitable Python installation and virtual environment are created
in the background.

### Traditional installation

`pip install gamster`. We strongly recommend using a dedicated virtual
environment for this.
`gamster` and `gamspreprocessing` can be installed in the same virtual
environment.


## Usage
## Create Bags from object directories

`gamster create` creates Bags.

In the simplest form, this command is sufficient:
```
gamster create <PATH>
```

    * `PATH` can be a single object directory or a
        directory that contains multiple object directories.

By default, the generated Bags are created in the `./bags` directory.

`gamster create` supports several options that control its behavior. Details
are available via `gamster create --help` or in the
[Online-Dokumentation](https://dhgraz.github.io/gamster/)



## Convert Bags into an object directory

To create an object directory from a Bag, this command is sufficient:
`gamster unpack <PATH>`. `PATH` is either the path to the bag to unpack or
to a directory that contains bags to unpack (these are also searched for in
subdirectories). `unpack` can handle both bag directories and zipped bags.
Here is a complete example that converts all bags in the `bags` directory into
object directories and creates them in the `objects` directory:

```
gamster unpack -o objects bags
```

All available options are shown via `gamster unpack --help` and in the
[online documentation](https://dhgraz.github.io/gamster/).
