Prerequisites
- A Pragmatiks account with an authenticated CLI:
pragma auth login - A working provider project (see Building Providers)
- A
pyproject.tomlwith provider metadata configured
Provider Metadata
Before publishing, configure the[tool.pragma] section in your pyproject.toml with store metadata:
| Field | Required | Description |
|---|---|---|
display_name | Yes | Human-readable name shown in the store |
description | Yes | Short description of what the provider does |
tags | No | Searchable tags for categorization |
Publishing
Publish a Version
Run the publish command from your provider project directory:- Creates a tarball of your provider source code
- Uploads it to the store with the specified version
- Waits for the build to complete (by default)
Add a Changelog
Include release notes with each version:Skip Build Wait
If you do not want to wait for the build to finish:Force Republish
If a version with the same source code already exists, use--force to publish anyway:
Specify Source Directory
Publish from a different directory:Specify Package Name
If auto-detection fails, specify the package explicitly:Versioning
Provider versions follow Semantic Versioning (semver):- Major (2.0.0) — Breaking changes to resource schemas or behavior
- Minor (1.1.0) — New resource types or backward-compatible features
- Patch (1.0.1) — Bug fixes and minor improvements
1.0.0, 1.2.3-beta.1).
Build Process
After you publish, the platform builds your provider into a deployable image. You can monitor build status:- building — Build in progress
- published — Build succeeded, available for installation
- failed — Build failed (check error logs)
- yanked — Version withdrawn from the store
Updating Metadata
To update your provider’s store metadata (display name, description, tags), updatepyproject.toml and publish a new version. Metadata is extracted during the build process.
Complete Workflow
Next Steps
Building Providers
Learn how to build a provider from scratch.
Best Practices
Guidelines for production-quality providers.