Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
80a0e82
Merge pull request #2 from HumanSignal/fb-leap-1834/readable-pause-sc…
hlomzik Feb 24, 2025
ad426f9
Add sample labeling config
smohan123 Feb 25, 2025
aa463d4
feat: LEAP-1683: Custom scripts dropdown
nass600 Mar 19, 2025
545ae1b
Merge pull request #4 from HumanSignal/fb-leap-1683/custom-scripts
smohan123 Mar 20, 2025
565e25a
feat: LEAP-1683: Adapted structure and improved docs
nass600 Mar 21, 2025
54c21ca
Merge pull request #5 from HumanSignal/fb-leap-1683/custom-scripts
nass600 Mar 21, 2025
1fbd209
feat: LEAP-1683: Aded banner
nass600 Mar 21, 2025
7839fc4
feat: LEAP-1972: Ensure initial plugins are ready for release
nass600 Mar 27, 2025
8434ec9
Merge pull request #6 from HumanSignal/fb-leap-1972/ensure-initial-state
nass600 Mar 27, 2025
9cd38a7
docs: Edit manifest
caitlinwheeless Mar 28, 2025
2d465cf
Couple more fixes
caitlinwheeless Mar 28, 2025
4134e06
Incorporating Alec's comments
caitlinwheeless Mar 28, 2025
75fd2ab
Merge pull request #7 from HumanSignal/docs/update-manifest
nass600 Mar 31, 2025
4d71df7
fix: LEAP-1972: Minor improvements
nass600 Mar 31, 2025
5e8cbbd
Merge pull request #8 from HumanSignal/fb-leap-1972/ensure-initial-state
nass600 Mar 31, 2025
2e7f704
feat: LEAP-1984: Rename Custom Scripts to Plugins
nass600 Apr 4, 2025
3cbc49d
applied biome and changed ci
nass600 Apr 4, 2025
1d1cf96
standardized src folder
nass600 Apr 7, 2025
62a7511
biome fixes
nass600 Apr 7, 2025
719e8ee
fixed redact pii
nass600 Apr 7, 2025
1b083c7
Merge pull request #9 from HumanSignal/fb-leap-1984/rename-plugins
nass600 Apr 8, 2025
9a42248
Update README.md
nass600 Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Description

<!-- A brief description of what this PR accomplishes. Include any screenshots if helpful. -->

## Related Issues

<!-- If this PR fixes an issue, link it here (e.g. Fixes #123). -->

## Checklist

- [ ] I have tested the changes in the Label Studio Labeling Config.
- [ ] I have added the `plugin.js` file.
- [ ] I have added the `view.xml` file.
- [ ] My code follows the guidelines stated in the README.md.

<!-- Thanks for contributing to Awesome Label Studio Configs! -->
37 changes: 37 additions & 0 deletions .github/workflows/validate-plugins.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Validate Plugins

on:
push:
branches: ["**"]
pull_request:
branches: ["**"]

jobs:
validate-structure:
name: Validate File Structure
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Run Folder Structure Check
run: node validate-structure.mjs
linting:
name: Linting
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: latest

- name: Run Biome
run: biome ci .
80 changes: 79 additions & 1 deletion README.md
Comment thread
smohan123 marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1 +1,79 @@
# label-studio-custom-scripts
![Label Studio Plugins](docs/banner.png)

# Label Studio Plugins

Welcome to **Label Studio Plugins**! This repository contains `plugins` designed to extend the functionality of
[Label Studio](https://labelstud.io), a powerful data labeling tool. These plugins can be used to automate workflows,
integrate with external tools, and customize the labeling process according to your needs.

Whether you're building custom data processors, integrations, or UI components, you'll find the necessary resources and
examples in this repo to get started.

> **Note**: Plugins are an `Enterprise` feature and require a [Label Studio Enterprise](https://humansignal.com/pricing/) subscription to use.

## Official Documentation

For detailed documentation and guides on how to use and extend Label Studio with plugins, visit the official
[Label Studio Plugins Documentation](https://docs.humansignal.com/guide/plugins).

## File Structure

This repository follows a clear folder structure to organize the various plugins and configuration files:

```bash
label-studio-plugins/
├── src/
│ ├── plugin1/
│ │ ├── data.{json|mp3|mp4}
│ │ ├── plugin.js
│ │ └── view.xml
│ ├── plugin2/
│ │ ├── data.{json|mp3|mp4}
│ │ ├── plugin.js
│ │ └── view.xml
│ └── ...
└── manifest.json
```

- **`/plugin1`**: Contains all the files to document a plugin.
- Each plugin has `plugin.js`, `view.xml`, and `data.json` files that define the logic, UI, and data of the plugin.
- **`/plugin.js`**: Contains the actual `javascript` plugin file that can be embedded in the Label Studio code editor.
- **`/view.xml`**: Stores an example of a `<View>` that will work along the plugin.
- **`/data.{json|mp3|mp4}`**: Stores an example of the data that can be used along with the plugin.
- **`manifest.json`**: This file lists the plugins, their metadata (title, description, etc.), and their paths for easy integration with Label Studio.

## Usage

After your plugin gets merged you will be able to find it in your project's **Labeling Interface**

![Labeling Interface](docs/labeling-interface.png)

## Contributing

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:

1. **Create a new branch** for your feature or bugfix.
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.
3. **Register the plugin** in the `manifest.json` adding the following information:
```json
[
{
"title": "Your plugin title",
"description": "Your plugin description",
"path": "exact-name-of-the-plugin-folder", // `plugin1` as per the File Structure example
"private": false // whether you want to hide it in the "Insert Plugin" dropdown in the Configurator code tab
}
]
```
4. **Test your changes** to ensure everything works as expected.
5. **Submit a pull request** explaining the changes you made.

Please make sure that your contributions follow the existing code style and structure.

## License

This software is licensed under the [Apache 2.0 LICENSE](/LICENSE) © [Heartex](https://www.heartex.com/). 2020-2025

---

If you have any questions or need assistance, feel free to reach out through issues or discussions. We look forward to your contributions!
10 changes: 0 additions & 10 deletions bulk_labeling/html.txt

This file was deleted.

18 changes: 0 additions & 18 deletions bulk_labeling/js.txt

This file was deleted.

Binary file removed count_words_in_textarea/.DS_Store
Binary file not shown.
22 changes: 0 additions & 22 deletions count_words_in_textarea/html.txt

This file was deleted.

15 changes: 0 additions & 15 deletions count_words_in_textarea/js.txt

This file was deleted.

Binary file added docs/banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/labeling-interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 0 additions & 44 deletions llm_backend/html.txt

This file was deleted.

88 changes: 0 additions & 88 deletions llm_backend/js.txt

This file was deleted.

Loading