đŽ Welcome to Dataloop Applications - Level Up Your Platform!
đ What are Dataloop Applications?
These applications are extensions that plug right into the Dataloop ecosystem (we call it Dataloop OS), giving you access to:
- Custom panels that feel right at home in the platform
- The mighty Dataloop SDK for crafting powerful features
- Special components that make your workflow smoother
Just like choosing the right tools for crafting in a game, applications let you customize your workspace with exactly what you need! đ ī¸
đĻ The Art of DPK (Dataloop Package Kit)
Think of a DPK as your application's treasure chest - it's a magical bundle that contains everything your application needs to work its wonders! Let's peek inside this chest:
đ Your DPK Structure
âââ đ modules/ # Your Python magic spells
â âââ __init__.py
â âââ main.py
âââ đ panels/ # Your UI enchantments
â âââ index.html
âââ đ src/ # Your source code artifacts
â âââ .gitkeep
âââ đ tests/ # Your quality assurance scrolls
â âââ __init__.py
â âââ index.html
âââ đ dataloop.json # The sacred manifest
âââ đ README.md # Your application's story
âââ đ build.sh # Your building instructions
âââ đ requirements.txt # Your dependencies scroll
Want to see some real magic in action? Visit our GitHub Apps Space for working examples! But if you're feeling adventurous and want to start from scratch:
import dtlpy as dl
# Create your first DPK
project = dl.projects.get('Project Name')
dpk = project.dpks.publish()
đ Installing Your Applications
đĒ The Marketplace Way
Think of the Marketplace as your app store - it's where all the cool applications hang out! Here you'll find everything from:
- đ Metadata viewers
- đī¸ Annotation Studios
- đŧī¸ AI Model Adapters
- And many more magical tools!
To install an app:
- đââī¸ Sprint to the marketplace
- đ Search for your desired application
- đ¯ Click install
- ⨠Watch the magic happen!
Need to tweak some settings? You can adjust machine types, autoscaling, and other configurations in the app settings.
đ The Python SDK Way
For those who prefer to wave their Python wand:
import dtlpy as dl
# Get your project ready
project = dl.projects.get('Apps Project')
# Find your desired app
dpk = dl.dpks.get(dpk_name='<app-name>')
# Cast the installation spell
app = project.apps.install(dpk=dpk)
And if you want to upgrade your app:
app = project.apps.get(app_name='<app-name>')
app.dpk_version = dpk.version
app.update()
𧊠DPK Components - The Building Blocks
đ¯ Scopes
Your DPK can cast its magic in two realms:
- đ° Project Scope: The app only works within its home project
- đ Organization Scope: The app can work across all projects in your organization
Here's how to set your scope:
{
"name": "My App",
"scope": "project"
...
}
đž Codebase
Your application's brain can live in two places:
- đĻ Directly in a git repository with a specific tag
- đī¸ In Dataloop's Item Codebase
Here's how to set it up:
# For local codebase
codebase = project.codebases.pack(directory=os.getcwd(),
name=dpk.name,
description="My awesome app!")
# For git codebase
codebase = dl.GitCodebase(git_url='git_url',
git_tag='git_tag')
dpk.codebase = codebase
dpk = project.dpks.publish(dpk)
đ¨ Panels and Toolbars
Think of panels as your app's face - they're what users see and interact with. You can place them in various spots:
- đŧī¸ Item Viewer - Give items a fresh look
- đĒ Floating Window - Create movable command centers
- đ Data Browser - Reimagine how users browse items
- âšī¸ Item Side Panel - Add helpful sidekicks to the viewer
Toolbars are like your app's quick actions - they can appear as:
- đ Buttons in various places
- âī¸ Configuration panels
- đ Project widgets
đ Modules and Functions
Your Python modules are like spell books - they hold all the powerful functions your app can perform. Find out more about crafting these spells in our FaaS tutorial.
đ§ Services
Think of services as your app's faithful servants - they keep your panels running and manage their lifecycle. Learn more about training these helpers in our FaaS tutorial.
đ And More!
You can use any other Dataloop entity (Models, Tasks, etc.) in your app - just define them in your manifest, and they'll spring to life during installation!
đ The Sacred Manifest - dataloop.json
Your dataloop.json
is like your app's spellbook - it contains all the instructions for how your app should work. Check out more examples in our DPK Examples page, or explore real-world magic in our GitHub!
Ready to create your own magical application? Let's get started! đâ¨