CLI to search, install, and manage Dagster community components.
Project description
dagster-community-components-cli
CLI to search, install, and manage Dagster community components in your project.
$ dagster-component add s3_parquet_io_manager
✓ Found s3_parquet_io_manager in the registry
✓ Detected project at /Users/me/myproject
✓ Will install to: /Users/me/myproject/components/io_managers/s3_parquet_io_manager
Files to add (7):
• component.py (3,412 B)
• io_manager.py (4,109 B)
• __init__.py (132 B)
• README.md (2,201 B)
• schema.json (1,847 B)
• example.yaml (256 B)
• requirements.txt (52 B)
Dependencies (3):
• s3fs>=2023.1.0
• pandas>=1.5.0
• pyarrow>=12.0.0
Continue? [Y/n] y
✓ Wrote 7 files
✓ Dependencies installed
Next steps
1. Open components/io_managers/s3_parquet_io_manager/example.yaml for a ready-to-use snippet.
2. Read README.md for full configuration reference.
3. Run dagster dev to load the new component.
Install
# Zero-install via uvx (recommended):
uvx --from dagster-community-components-cli dagster-component add postgres_resource
# Or pip install:
pip install dagster-community-components-cli
dagster-component add postgres_resource
Don't have uv? curl -LsSf https://astral.sh/uv/install.sh | sh (macOS / Linux) — see uv docs for Windows.
Commands
add <component_id>
Install a component into your project. Auto-detects your project root, picks a sensible install location, and installs the component's pip dependencies.
dagster-component add postgres_resource
dagster-component add s3_parquet_io_manager --target-dir ./resources/io
dagster-component add github_ingestion --auto-install # don't prompt
dagster-component add great_expectations_check --no-install # skip pip install
dagster-component add snowflake_resource --manager uv # use uv even if pip is on PATH
search <query>
Search the registry by id, name, description, or tags.
dagster-component search snowflake
dagster-component search "vector store"
dagster-component search api --category resource
info <component_id>
Show full details for a component before installing.
dagster-component info one_hot_encoding
list
Show components installed in the current project.
dagster-component list
dagster-component list --available # everything in the registry
dagster-component list --available --category transformation
remove <component_id>
Uninstall a component. Refuses to remove directories that aren't tagged with the install marker .dg-community.json.
dagster-component remove postgres_resource
update <component_id>
Re-fetch the component's files from the registry, overwriting in place.
dagster-component update postgres_resource
Where components get installed
By default, add installs to <project-root>/components/<category>/<id>/. Project root is auto-detected by walking upward from the current directory looking for dg.toml, pyproject.toml, or a defs/ folder.
Override with --target-dir if you have a different convention. Each install drops a .dg-community.json marker file so the CLI can later list / update / remove only its own installs without touching hand-written code.
Configuration
| Env var | Purpose |
|---|---|
DAGSTER_COMPONENT_REGISTRY_URL |
Override the default registry URL (e.g. point at a fork) |
The manifest is cached at ~/.cache/dagster-community-components/manifest.json for one hour. Force a refresh with --refresh:
dagster-component --refresh search clickhouse
Registry
This CLI reads the manifest from:
https://raw.githubusercontent.com/eric-thomas-dagster/dagster-component-templates/main/manifest.json
Browse the components in the web UI:
https://dagster-component-ui.vercel.app/
Source repo for the components themselves:
https://github.com/eric-thomas-dagster/dagster-component-templates
Status
This is a community / prototype project — not officially supported by Dagster Labs. Components are best-effort and provided as templates to copy and adapt into your project. Issues and PRs welcome.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dagster_community_components_cli-0.5.1.tar.gz.
File metadata
- Download URL: dagster_community_components_cli-0.5.1.tar.gz
- Upload date:
- Size: 157.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a67306c3675e0f76ab522a146409a43b1f32499e91dc92d96d0bb95d8cfc66a5
|
|
| MD5 |
5fb658e54522aacf3d4a6b634b6e3df8
|
|
| BLAKE2b-256 |
1be05551abb82a5ec564277918b1dec3c0055e1b3c494dc1d44b55ce9e4761c5
|
Provenance
The following attestation bundles were made for dagster_community_components_cli-0.5.1.tar.gz:
Publisher:
publish.yml on eric-thomas-dagster/dagster-community-components-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dagster_community_components_cli-0.5.1.tar.gz -
Subject digest:
a67306c3675e0f76ab522a146409a43b1f32499e91dc92d96d0bb95d8cfc66a5 - Sigstore transparency entry: 1454095856
- Sigstore integration time:
-
Permalink:
eric-thomas-dagster/dagster-community-components-cli@0f208bcba58bf05c9cac91505bf161f9f5d69cbc -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/eric-thomas-dagster
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0f208bcba58bf05c9cac91505bf161f9f5d69cbc -
Trigger Event:
push
-
Statement type:
File details
Details for the file dagster_community_components_cli-0.5.1-py3-none-any.whl.
File metadata
- Download URL: dagster_community_components_cli-0.5.1-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67eca7523779ddade7ce30570ad76c406f0bd241fc61782ec9c220cc852df0a5
|
|
| MD5 |
30e3549dea77ab5ac4daa678b8716027
|
|
| BLAKE2b-256 |
d0d5a09f73b31098280d35ed859f9b4fd70f181b284fa70fa2195f56692ea10b
|
Provenance
The following attestation bundles were made for dagster_community_components_cli-0.5.1-py3-none-any.whl:
Publisher:
publish.yml on eric-thomas-dagster/dagster-community-components-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dagster_community_components_cli-0.5.1-py3-none-any.whl -
Subject digest:
67eca7523779ddade7ce30570ad76c406f0bd241fc61782ec9c220cc852df0a5 - Sigstore transparency entry: 1454095987
- Sigstore integration time:
-
Permalink:
eric-thomas-dagster/dagster-community-components-cli@0f208bcba58bf05c9cac91505bf161f9f5d69cbc -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/eric-thomas-dagster
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0f208bcba58bf05c9cac91505bf161f9f5d69cbc -
Trigger Event:
push
-
Statement type: