|
1 |
| -# label-studio-custom-scripts |
| 1 | + |
| 2 | + |
| 3 | +# Label Studio Plugins |
| 4 | + |
| 5 | +Welcome to **Label Studio Plugins**! This repository contains `plugins` designed to extend the functionality of |
| 6 | +[Label Studio](https://labelstud.io), a powerful data labeling tool. These plugins can be used to automate workflows, |
| 7 | +integrate with external tools, and customize the labeling process according to your needs. |
| 8 | + |
| 9 | +Whether you're building custom data processors, integrations, or UI components, you'll find the necessary resources and |
| 10 | +examples in this repo to get started. |
| 11 | + |
| 12 | +> **Note**: Plugins are an `Enterprise` feature and require a [Label Studio Enterprise](https://humansignal.com/pricing/) subscription to use. |
| 13 | +
|
| 14 | +## Official Documentation |
| 15 | + |
| 16 | +For detailed documentation and guides on how to use and extend Label Studio with plugins, visit the official |
| 17 | +[Label Studio Plugins Documentation](https://docs.humansignal.com/guide/plugins). |
| 18 | + |
| 19 | +## File Structure |
| 20 | + |
| 21 | +This repository follows a clear folder structure to organize the various plugins and configuration files: |
| 22 | + |
| 23 | +```bash |
| 24 | +label-studio-plugins/ |
| 25 | +├── src/ |
| 26 | +│ ├── plugin1/ |
| 27 | +│ │ ├── data.{json|mp3|mp4} |
| 28 | +│ │ ├── plugin.js |
| 29 | +│ │ └── view.xml |
| 30 | +│ ├── plugin2/ |
| 31 | +│ │ ├── data.{json|mp3|mp4} |
| 32 | +│ │ ├── plugin.js |
| 33 | +│ │ └── view.xml |
| 34 | +│ └── ... |
| 35 | +└── manifest.json |
| 36 | +``` |
| 37 | + |
| 38 | +- **`/plugin1`**: Contains all the files to document a plugin. |
| 39 | + - Each plugin has `plugin.js`, `view.xml`, and `data.json` files that define the logic, UI, and data of the plugin. |
| 40 | +- **`/plugin.js`**: Contains the actual `javascript` plugin file that can be embedded in the Label Studio code editor. |
| 41 | +- **`/view.xml`**: Stores an example of a `<View>` that will work along the plugin. |
| 42 | +- **`/data.{json|mp3|mp4}`**: Stores an example of the data that can be used along with the plugin. |
| 43 | +- **`manifest.json`**: This file lists the plugins, their metadata (title, description, etc.), and their paths for easy integration with Label Studio. |
| 44 | + |
| 45 | +## Usage |
| 46 | + |
| 47 | +After your plugin gets merged you will be able to find it in your project's **Labeling Interface** |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +## Contributing |
| 52 | + |
| 53 | +We welcome contributions! Whether it's bug fixes or new plugins, feel free to open a pull request. Here's how you can get started: |
| 54 | + |
| 55 | +1. **Create a new branch** for your feature or bugfix. |
| 56 | +2. **Make your changes** and ensure that they adhere to the project's file structure and guidelines. You need to create a folder with the name using underscores (`path`) of your plugin and add a `view.xml` and a `plugin.js` file minimum. |
| 57 | +3. **Register the plugin** in the `manifest.json` adding the following information: |
| 58 | + ```json |
| 59 | + [ |
| 60 | + { |
| 61 | + "title": "Your plugin title", |
| 62 | + "description": "Your plugin description", |
| 63 | + "path": "exact-name-of-the-plugin-folder", // `plugin1` as per the File Structure example |
| 64 | + "private": false // whether you want to hide it in the "Insert Plugin" dropdown in the Configurator code tab |
| 65 | + } |
| 66 | + ] |
| 67 | + ``` |
| 68 | +4. **Test your changes** to ensure everything works as expected. |
| 69 | +5. **Submit a pull request** explaining the changes you made. |
| 70 | + |
| 71 | +Please make sure that your contributions follow the existing code style and structure. |
| 72 | + |
| 73 | +## License |
| 74 | + |
| 75 | +This software is licensed under the [Apache 2.0 LICENSE](/LICENSE) © [Heartex](https://www.heartex.com/). 2020-2025 |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +If you have any questions or need assistance, feel free to reach out through issues or discussions. We look forward to your contributions! |
0 commit comments