Skip to content

ZurichMedTech/s4l-plugins-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

S4L Plugin Cookiecutter Template

This is a cookiecutter template for creating new S4L simulator plugins based on the heat-conduction plugin structure.

Requirements

Usage

  1. Install cookiecutter:

    pip install cookiecutter
    
  2. Generate a new S4L plugin:

    cookiecutter cookiecutter-s4l-plugin/
    
  3. Follow the prompts to customize your plugin.

Template Parameters

  • plugin_name: Name of the plugin (e.g., "heat-conduction")
  • package_name: Python package name (automatically derived from plugin_name)
  • plugin_display_name: Display name for the plugin in the S4L interface
  • plugin_description: Description of the plugin's functionality
  • author_name: Your name
  • author_email: Your email
  • version: Initial version of your plugin
  • python_requires: Python version requirements

Structure

The generated plugin will have the following structure:

plugin-name/
├── .gitignore
├── LICENSE
├── README.md
├── integration/
│   └── simulator_icon.png
├── manifest.json
├── setup.py
├── src/
│   └── package_name/
│       ├── __init__.py
│       ├── controller/
│       │   ├── __init__.py
│       │   ├── simulation_binding.py
│       │   └── simulation_manager.py
│       ├── model/
│       │   ├── __init__.py
│       │   ├── boundary_settings.py
│       │   ├── example_plots.py
│       │   ├── grid_settings.py
│       │   ├── material_settings.py
│       │   ├── setup_settings.py
│       │   ├── simulation.py
│       │   ├── simulation_extractor.py
│       │   ├── solver_settings.py
│       │   └── source_settings.py
│       ├── register.py
│       └── solver/
│           ├── __init__.py
│           └── driver/
│               ├── __init__.py
│               ├── api_models.py
│               └── main.py

About

A cookiecutter to Create Sim4Life Plugins

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages