Are you an LLM? You can read better optimized documentation at /docs/hub-user/using-hub/push-and-pull.md for this page in Markdown format
Pushing and Pulling ModelKits
ModelKits are pushed to and pulled from Jozu Hub using the Kit CLI from the open source KitOps project, or by SDKs for Python and Typescript. This page shows the minimum command for each common operation. The KitOps documentation covers the full set of options.
If you don't have the Kit CLI installed yet, follow the KitOps installation guide.
You'll also need to be signed in to the Hub from your terminal (for Jozu Hub On-Prem, substitute jozu.ml below with the domain of your self-hosted install):
sh
kit login jozu.mlThe reference format for any ModelKit in Hub is:
<registry>/<account-or-org>/<repository>:<tag>For example, jozu.ml/jozu-quickstarts/fraud-detection:latest.
Pulling a ModelKit
Pulling downloads a ModelKit from Hub to your a Kit registry on your local machine (view your local registry contents with kit list). From there you can kit unpack it to extract the contents into a working directory. You can also directly kit unpack if you want to skip adding the ModelKit to your local Kit registry.
sh
kit pull jozu.ml/jozu-quickstarts/fraud-detection:latest
kit unpack -d ./fraud-detection jozu.ml/jozu-quickstarts/fraud-detection:latestPublic repositories can be pulled by anyone. Private repositories require at least Guest rights in the owning account or organization.
For options like pulling only specific layers (model, datasets, code, docs), see kit pull and kit unpack in the KitOps docs.
TIP
If a ModelKit references a base model from a different ModelKit, kit pull will fetch both. See Model Parts in the KitOps docs.
Packing a ModelKit
Packing turns a working directory and a Kitfile into a ModelKit on your local machine. The Kitfile describes what's in the package - model weights, datasets, code, prompts, docs, parameters, and metadata.
A minimal Kitfile:
yaml
manifestVersion: "1.0.0"
package:
name: fraud-detection
version: 0.1.0
description: Fraud detection model trained on transaction data
model:
name: fraud-detection
path: ./model/fraud-detection.joblib
framework: scikit-learn
datasets:
- name: transactions
path: ./data/transactions.csv
code:
- path: ./src
docs:
- path: ./README.mdYou can create a Kitfile automatically for using the kit init command.
With the Kitfile in your working directory, pack a ModelKit and tag it for the repository you intend to push to:
sh
kit pack . -t jozu.ml/<account-or-org>/<repository>:<tag>For example:
sh
kit pack . -t jozu.ml/brad/fraud-detection:0.1.0For the full Kitfile reference, see Kitfile format in the KitOps docs.
Pushing a ModelKit
Pushing uploads a packed ModelKit from your local Kit registry to Jozu Hub.
sh
kit push jozu.ml/<account-or-org>/<repository>:<tag>For example:
sh
kit push jozu.ml/brad/fraud-detection:0.1.0You'll see a series of Copying messages followed by Pushed sha256:... when the upload completes.
You need at least Developer rights to push to a repository in an organization. Pushes to a personal account can only be made by the account owner.
If the target repository doesn't exist yet, Hub will create it automatically as long as the namespace exists and you have push rights to it. See Creating Repositories.
For the full set of push options, see kit push in the KitOps docs.
INFO
Every push triggers a security scan in Hub. The scan does not block the push - the ModelKit is stored regardless. See Security Scanning for what the scan covers and how results are surfaced.
