Docs
/
Components
/

Component Libraries

Component Libraries

Navigate to Components > Libraries to manage component library packages. A library is a .kcl (Koios Component Library) file containing one or more component types that can be instantiated on an environment canvas.

Library List

The library list page shows all uploaded libraries grouped by name. Each row displays:

ColumnDescription
NameLibrary name
VersionsNumber of uploaded versions
ComponentsNumber of component types in the active version
StatusWhether the library has an active version
CreatedWhen the first version was uploaded
DescriptionLibrary description from the package metadata

Click a row to open the library detail page.

Uploading a Library

  1. Click Upload Library at the top of the list page
  2. Drag and drop a .kcl file into the upload area (or click to browse)
  3. Koios validates the package metadata and extracts component definitions
  4. On success, you are taken to the library detail page

If this is the first version of a new library, it is automatically activated. If you are uploading a new version of an existing library, you will be prompted to review and activate it.

Upload Limits and Safety

  • Maximum size: 500 MiB. Uploads above this size are rejected before the file is read into memory. A full data-science stack (numpy + pandas + scipy + sklearn) lands around 110 MiB, leaving plenty of headroom for typical ONNX bundles and additional dependencies.
  • Safe extraction. The platform rejects archives that contain path-traversal entries (zip slip), absolute paths, or malformed member names. Bundled wheels are extracted into an isolated location and their metadata is filtered before installation.
  • Library name validation. Library names are restricted to lowercase letters, digits, hyphens, and underscores. Uploads with invalid names are rejected at the validation step.

Library Detail

The library detail page has four tabs:

Overview

Shows all uploaded versions of this library, sorted by version number (newest first). Each version row shows:

  • Version — semantic version (e.g., 1.2.0)
  • Status — Active, Inactive, or Invalid
  • Created — upload date
  • Instances — how many component instances use this version
  • Actions — Activate, View, or Delete

Components

Lists all component types defined in this library. Click a component to view its full specification:

  • Inputs — fields that receive data (name, type, description, default value)
  • Outputs — fields that produce data
  • Configuration — static settings that don't change at runtime (with constraints like min/max values and dropdown choices)

Dependencies

Shows the library's package dependencies:

  • Bundled Packages — third-party packages that are included in the .kcl file and installed when the library is activated
  • Platform Packages — packages that are already pre-installed in the Koios container and do not need to be bundled. If a dependency is satisfied by a platform package, it is listed here with the installed version.

Documentation

If the library includes documentation (a README), it is rendered here.

Danger Zone

Permanently delete all versions of this library. You must type the library name to confirm. If any instances exist, they will also be deleted.

Activating a Version

Only one version of a library can be active at a time. The active version determines which component types are available on the canvas.

To activate a different version:

  1. Open the library detail page
  2. On the Overview tab, click Activate next to the version you want
  3. A migration preview appears showing:
    • Component changes — which component types were added, removed, or modified
    • Affected instances — which existing instances will be migrated or deleted
    • Wires to remove — any wires that connect to fields that no longer exist
  4. Review the changes and click Activate (or Upgrade / Downgrade depending on the version direction)

Koios automatically detects whether the activation is an upgrade, downgrade, or lateral move based on semantic versioning.

Versioning

Libraries use semantic versioning (major.minor.patch) with optional pre-release tags (e.g., 1.0.0-beta.1).

When you upload a new version of an existing library:

  • The new version appears as Inactive in the version list
  • The previously active version remains active until you explicitly activate the new one
  • You can have multiple inactive versions uploaded at the same time
  • Activating a version migrates all existing instances to the new component definitions

What's Next