Developing with LabKey Server
LabKey Server is both broadly API-enabled and extensible, giving developers flexibility and rich tools for building custom applications on the LabKey Server platform.
LabKey Server Client APIs
LabKey Server’s client API libraries provide secure, auditable, programmatic access to LabKey Server data and services, and allow teams to extend and leverage LabKey Server from other applications. LabKey supports a variety of programming languages, enabling developers to build everything from simple customization scripts to sophisticated stand-alone applications to meet their research goals.
Common goals achieved through usage of LabKey APIs include:
- Analyzing and visualizing data stored in LabKey Server using a statistical languages such as R or SAS
- Performing routine, automated tasks
- Querying and manipulation data in a repeatable and reproducible way
- Developing new user interfaces (web-based or otherwise) that are deployed separately from LabKey Server itself, but still interact with its data and services
LabKey currently supports working with the following programming languages/environments:
Visit the LabKey Support portal for LabKey Server client API documentation and tutorials.
LabKey Server Scripting
LabKey Server provides numerous ‘hooks’ for adding scripts, allowing developers to validate and manipulate data during import and automate analyses.
Common scripts utilized in LabKey Server include:
- Assay transformation scripts, written in virtually any language
- Script-based pipelines for multi-step, repeatable processing
Visit the LabKey Support portal for LabKey Server scripting and reporting documentation and tutorials.
LabKey Server Modules
Common uses of custom modules, developed for LabKey Server include:
- Custom Schemas: Create and manage database schemas for persisting and querying data
- Extract-Transform-Load (ETL) Processes: Modules designed to configure data transfer and synchronization between databases
- New Assay Types: Modules used for defining a new assay type
- Java Applications: Modules used for Java-based applications to create server-side code
Visit the LabKey Support portal for LabKey Server module development documentation and tutorials.