69a466ec654c6e687d2f32c3c5e47a54f3e34084
Styles CSV Loader Extension for ComfyUI
Extension for ComfyUI that loads styles from a CSV file.
Description
This extension allows users to load styles from a CSV file (styles.csv), primarily for migration purposes from the automatic1111 Stable Diffusion web UI.
Installation
- Clone this repository into the
custom_nodesfolder of ComfyUI. Restart ComfyUI and the extension should be loaded. - OR: Use the ComfyUI-Manager to install this extension.
Important: The styles.csv file must be located in the root of ComfyUI where main.py resides.
Nodes Description
Each style is represented as a dictionary with the keys being style_name and the values being a list containing positive_prompt and negative_prompt. The prompts are outputs of this Node.
CSV Format
The CSV file should have the following format:
name,prompt,negative_prompt
"Style Name","positive prompt text","negative prompt text"
"Another Style","more positive text","more negative text"
Development
Setting up the development environment
- Clone the repository
- Install test dependencies:
pip install pytest pytest-cov
Running tests
Run all tests:
pytest tests/ -v
Run tests with coverage:
pytest tests/ -v --cov=. --cov-report=term-missing
Test Structure
tests/test_styles_csv_loader.py- Main test file for the StylesCSVLoader classtests/fixtures/- Example CSV files for testing:valid_styles.csv- Properly formatted CSV with valid stylesinvalid_styles.csv- CSV with missing columns to test error handlingcomplex_styles.csv- CSV with complex content (quotes, special characters)
Continuous Integration
The project uses GitHub Actions for CI/CD. Tests are automatically run on:
- Python 3.8, 3.9, 3.10, 3.11, and 3.12
- Every push to main branch
- Every pull request
Code Coverage
The project maintains 100% test coverage. Coverage reports are generated during CI runs.
Author
- David Fischer
- GitHub: theUpsider
- Support me on BuyMeACoffee
Languages
Python
100%