Merge pull request #37 from bom-sourcingguide/main

Docs
This commit is contained in:
Steph Piper 2025-01-06 21:03:26 +10:00 committed by GitHub
commit 59c25d2ae9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 58 additions and 0 deletions

57
python/README.md Normal file
View file

@ -0,0 +1,57 @@
# Skill Tree SVG Generator
## Overview
This Python script generates SVG skill trees from YAML input files using a predefined SVG template. It is part of the MakerSkillTree project, which creates interactive skill tracking visualizations.
## Files in this Directory
- `create_skill_tree_svg.py`: Main Python script for generating SVG skill trees
- `skill_tree_template.svg.j2`: Jinja2-style SVG template used as the base for skill tree generation
- `input.yml`: Example input YAML file demonstrating the required data structure
- `requirements.txt`: Lists Python package dependencies
## Requirements
- Python 3.x
- PyYAML library
## Installation
1. Clone the repository
2. Install dependencies:
```
pip install -r requirements.txt
```
## Usage
```bash
python create_skill_tree_svg.py input.yml output.svg
```
### Parameters
- `input.yml`: Path to the YAML file containing skill tree data
- `output.svg`: Path where the generated SVG will be saved
## YAML Input Format
The input YAML file should contain:
- `title`: The title of the skill tree
- `footer`: Footer text for the SVG
- `row`: A 2D list representing the skill tree content, with 10 rows and 7 columns
## Example YAML
```yaml
title: My Skill Tree
footer: © 2023 My Organization
row:
0: ['Skill 1', 'Skill 2', 'Skill 3', '', '', '', '']
1: ['Skill 4', 'Skill 5', 'Skill 6', '', '', '', '']
# ... more rows following the same pattern
```
## Dependencies
- argparse (Python standard library)
- os (Python standard library)
- PyYAML
## Template
The script uses a Jinja2-style SVG template (`skill_tree_template.svg.j2`) with placeholders for dynamically inserting skill tree content.
## License
Part of the MakerSkillTree project. See the main repository for licensing details.

1
python/requirements.txt Normal file
View file

@ -0,0 +1 @@
PyYAML==6.0.1