Skip to main content
When you’re ready to serve your model to other users, you can publish it to the Credible platform. Published models can be accessed via: Published models are organized into packages. A package is a folder containing your Malloy models, notebooks, and any embedded data files, and is published and versioned as a single unit. Publishing also triggers Credible’s Intelligent Context Engine to index your model’s dimensions and measures, making them discoverable through natural language interfaces.

Package Configuration

A package requires a publisher.json file that defines its metadata:
{
    "name": "ecommerce",
    "version": "0.0.1",
    "description": "ecommerce demo data"
}
A package can contain:
  • .malloy files - Semantic model definitions
  • .malloynb files - Malloy notebooks for exploration and documentation
  • Data files (CSV or Parquet) - Embedded data that gets published with your package (see Embed Data Files)

Publishing via CLI

Use the Credible CLI to publish your models:
  1. Install the CLI (if not already installed):
    npm i -g @credibledata/cred-cli
    
  2. Navigate to your package directory:
    cd /path/to/your/package
    
  3. Login to Credible:
    cred login <organizationName>
    
  4. Set your project:
    cred set project <projectName>
    
  5. Check the version: Open the publisher.json file and confirm the version number
  6. Publish the model:
    cred publish --set-latest
    
    The --set-latest flag pins this version as the default “latest” version for consumers. Omit this flag to publish without pinning.
  7. Confirm the deployment: Refresh the “Credible Service” panel in VS Code to verify that your new version appears
For comprehensive CLI documentation, see the CLI Reference.
Want to automate publishing when changes are merged to Git? See CI/CD Setup to configure GitHub Actions for automatic versioning and publishing.

Understanding Package Versions

Each time you publish a package, you create a new immutable version. All versions remain available indefinitely, providing full version history and lifecycle management similar to software packages.

Version Management

Pinned Version (Latest): One version can be designated as “latest” - this becomes the default version served to consumers who don’t specify a version. Consumers using “latest” automatically receive updates when you change the pin, unless they explicitly pin their application to a specific version (such as a dashboard that should remain stable). All Versions Remain Available: Every published version is preserved, enabling rollbacks, pinned production deployments, gradual adoption across teams, and historical audits. This version management approach treats semantic models as versioned software artifacts, giving you the same deployment safety and flexibility that modern software engineering practices provide.

Viewing Published Versions

After publishing, you can view your package versions in two places: VS Code Service Panel: Expand the “Credible Service” panel in VS Code to see your organization’s projects and packages. Each package shows all published versions, which version is pinned as latest, and version metadata. VS Code Service Panel showing package versions Admin Portal: Navigate to https://your-org.admin.credibledata.com to manage packages through the web interface. The Admin Portal provides complete version history, the ability to pin/unpin versions, package metadata and settings, and usage analytics. For step-by-step instructions on managing versions in the Admin Portal, see Managing Package Versions.

Next Steps

Now that you’ve published your models, you can analyze your data or build applications with your data.