Metadata-Version: 2.4
Name: cyberpublisher
Version: 1.0.2
Summary: CLI publishing tool for template-driven flat-file output, validation, and optional remote deployment
Author-email: Gilray4 <cyberfluence@gmail.com>
License: GPL-3.0
Keywords: publishing,flat-file,template-driven,cli,deployment,validation
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=41.0.0
Requires-Dist: jinja2>=3.0.0
Requires-Dist: paramiko>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Dynamic: license-file

# cyberPublisher

**cyberPublisher** is a template-driven CLI publishing tool for generating flat-file output from structured data, validating results, and optionally shipping published output to a remote destination.

It is designed for practical publishing workflows where you want to render repeatable output from templates and data without dragging in a heavyweight CMS or database stack.

## What it does

- Publishes flat-file output from templates and input data
- Supports structured input such as JSON, XML, CSV, and Markdown
- Generates one file per record or aggregate/index-style output
- Validates local output and related publishing artifacts
- Supports optional remote deployment over SSH/SFTP
- Maintains instance-scoped policy and runtime state under `~/.pypub`

## Install

### From source (development / local)

```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
```

### From built wheel

```bash
python -m pip install ./dist/cyberpublisher-1.0.2-py3-none-any.whl
```

## Command

```bash
cyberpublisher --help
```

## Basic usage

### Publish local output

```bash
cyberpublisher -t ./template.html -d ./data.json -o ./build/
```

### Publish and ship to a configured destination

```bash
cyberpublisher -t ./template.html -d ./data.json -o ./build/ --ship myserver
```

### Manage destinations

```bash
cyberpublisher dest list
cyberpublisher dest add myserver
cyberpublisher dest remove myserver
```

## Requirements

- Python 3.8+
- `cryptography`
- `jinja2`
- `paramiko`

## License

Licensed under the GNU General Public License v3.0.

See the `LICENSE` file for the full license text.
