# Roadmap

Development priorities and planned features for PyNodeWidget.

## Current Status

**Version:** 0.1.x (Alpha)  
**Focus:** Core functionality, API stabilization, documentation

**Widget are able to render nodes with two way interaction** 

---

## Next Steps

- [ ] **Test Coverage** - Pytest for Python, Vitest for JavaScript
- [ ] **Code Style Enforcement** - Ruff (Python), Prettier/ESLint (JavaScript)
- [ ] **CI/CD Pipeline** - Automated testing, builds, releases
- [ ] **Type Safety** - Complete type hints in Python, strict TypeScript

- [ ] Define Python API
- [ ] Define the use cases of this library

### Documentation

- [ ] Contributing guides (testing, code style)
- [ ] Revise documentation
- [ ] generate html from marimo notebooks to show the interactity of the library

---

## Use Cases

PyNodeWidget supports two primary use cases:

### 1. Visualization - Display Workflows/Graphs
Show existing workflows, data pipelines, or computational graphs in Jupyter notebooks.

**Examples:**
- Visualize ML pipelines (data → preprocessing → model → output)
- Display computation graphs (DAGs, neural networks)
- Show system architectures and data flows
- Document process workflows

### 2. Interactive Editing - Build Workflows/Graphs
Create and modify workflows interactively with drag-and-drop and forms.

**Examples:**
- Build data processing pipelines interactively
- Design computational workflows
- Prototype system architectures
- Experiment with graph structures

---

## Planned Features

### Visualization Use Case

### Interactive Editing Use Case


---

## Technical Debt


---

## Future Exploration

Ideas that may align with future use cases:

