Metadata-Version: 2.4
Name: pollin-tool
Version: 0.2.0
Summary: CLI tool for static site generation from GAMS5 digital object collections
Project-URL: Repository, https://zimlab.uni-graz.at/gams5/production/postprocessing/poll-in-tool
Author-email: Sebastian Schiller-Stoff <sebastian.stoff@uni-graz.at>
License: MIT
License-File: LICENSE.md
Keywords: digital-humanities,gams,jinja2,static-site-generator
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Requires-Python: >=3.12
Requires-Dist: aiohttp>=3.13.3
Requires-Dist: click>=8.3.1
Requires-Dist: jinja2==3.1.6
Requires-Dist: requests>=2.32.4
Requires-Dist: watchdog>=6.0.0
Description-Content-Type: text/markdown

# Poll-In tool

CLI tool that polls / pulls-in ("poll-in") digital objects from a GAMS5 project and performs static site rendering.
(Informatics: polling-concept)
Supplies a development workflow for GAMS5-based web projects.

Meant as replacement for the gams3 "gamsdev" development workflow.

## Quickstart

1. Setup project files for the pollin tool

2. Install pollin-tool itself

```sh

# 1. install uv
# mac might need brew to install uv

# 2. install pollin-tool via 
# optionally specifiy version tag
uv tool install pollin-tool

# verify installation via
pollin --version

# 3. use the pollin-tool
cd ./my/working/directory
pollin dev # will use the pollin.toml from the current working dir
# alternatively specifiy a path
pollin dev "C:\path\to\project"
# check for basic commands
pollin 

```

## Basic usage

1. Have a running GAM5-API (OR external)
2. Clone or init project files
3. UV setup (install via pypi or clone via git)


```sh
# 01. Setup project files from templates: https://zimlab.uni-graz.at/gams5/projects/project_template/gams-www
# 01b. Install uv (python package)

# 02a. Install via pypi
# 02a. uv install / pip install

# 02b. Clone pollin-tool
# 02b. uv sync (uv procedure)
# 02b. Start virtual environment (venv)

# 03. Configure pollin tool via config file (pollin.toml) in template project folder

# (point to project folder with config file)
pollin dev "C:\path\to\project"

# for production use
pollin build "C:\path\to\project"

```

### Staging

```sh
pollin stage "/path/to/project"

```


### Production

```sh
# use build command to generate the production files
pollin build "/path/to/project"

```


### Deployment

- use the -d flag to deploy to staging or production environment

```sh
# staging deployment
pollin stage "/path/to/project" -d

# production deployment
pollin build "/path/to/project" -d


```


## Development

### Release

1. Increment version in pyproject.toml in feature branch (merging into develop):
    - make sure version follow vd.d.d pattern 
2. Merge changes to develop -> main
3. Create release on the gitlab webclient (from main branch) with new git tag that must be the same as in the pyproject.toml!
    - e.g. v0.1.1
    - create the release from the main branch!
    - gitlab will autodeploy the new version to pypi