# Project Overview
Pyteryx is a python-first reimplementation of the Alteryx tool.
The intent is to keep the same features of obserability and a rich DAG based user interface, but take advantage of the ease of deploying python.

Pyteryx should have a near identical look-and-feel of Alteryx, but have the option of exporting a workflow (yxmd) as a python script.

### Alteryx Tools Documentation / UI Examples
https://help.alteryx.com/current/en/designer/tools.html

### Alteryx Tool Logic / Conversion code
./alteryx-to-python-migration-strategy-main
This migration system helps organizations transition from Alteryx's visual workflow platform to Python-based data processing pipelines. It automatically converts Alteryx workflow XML files (.yxmd) into equivalent Python code using pandas, numpy, and other standard data science libraries.

./alteryx-to-python-migration-strategy-main/migration_toolkit.py
This file contains conversion logic that could be used to create an Alteryx execution engine that can run within the Pyteryx app.

# Back End
This is a Python project using `uv` for dependency management and environment setup.

## Agent instructions
When interacting with this project, AI agents should adhere to the following guidelines:
- Always use uv for dependency management and environment activation. Avoid using pip directly.
- Do not manually edit pyproject.toml or uv.lock files. Use uv add or uv lock --upgrade for dependency changes.
- Ensure the virtual environment is activated before executing Python scripts or commands. Use uv run for this purpose.
- Prioritize using uv commands over direct Python or system commands for package management.
- If suggesting package installations, always recommend using uv add <package-name> over pip install <package-name>

## Setup Commands
### Install dependencies
uv add <package-name>

### Running files
uv run python <your_script.py>

### Clean cache
uv clean

### Environment Variables / Auth
.env file in the project root folder contains all required Auth strings in the following format
name = 'string',

# Front End
GoLang and the fyne UI library (http://fyne.io/) for the front end.

