Metadata-Version: 2.4
Name: pstudio
Version: 0.1.0
Summary: Visual orchestration layer for the P* educational assessment tools.
Author: Oscar J. Pellicer-Valero
Project-URL: Homepage, https://github.com/OscarPellicer/pstudio
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: Topic :: Education
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: pexams
Requires-Dist: pevaluate
Requires-Dist: ptestgen
Requires-Dist: python-dotenv>=1.0.0

# PStudio

`pstudio` is the planned visual orchestration layer for the rest of the P ecosystem:

- `ptestgen` for question generation and review.
- `pexams` for printable exam generation, scan correction, and reporting.
- `pevaluate` for open-answer and assignment evaluation.

The goal is a teacher-facing GUI where each step is represented as a block or node with:

- input files or folders,
- configurable parameters,
- editable intermediate artifacts,
- explicit connections between stages,
- reusable workspaces per subject or course.

## Current status

This repository is intentionally barebones. Right now it only installs a tiny CLI entry point and declares the core package dependencies needed for the future integrated application.

Running the command currently prints a work-in-progress message:

```bash
pstudio
```

## Installation

From PyPI:

```bash
pip install pstudio
```

For local development:

```bash
git clone https://github.com/OscarPellicer/pstudio.git
cd pstudio
pip install -e .
```

## Planned scope

- Visual pipeline builder for `ptestgen`, `pexams`, and `pevaluate`.
- Artifact browser/editor for teacher review steps.
- Subject-specific workspaces.
- One-click execution for a single block or a full pipeline.
- Eventually, richer validation, persistence, and UI packaging.

## Release workflow

The repository includes a GitHub Actions workflow that:

- runs a minimal smoke test on push to `main` or `master`,
- creates a version tag and GitHub release when the version is new,
- builds the package,
- publishes it to PyPI using trusted publishing.

Configure the repository's PyPI trusted publisher before relying on the publish step.
