Skip to main content

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

dagster_community_components_cli-0.3.0.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file dagster_community_components_cli-0.3.0.tar.gz.

File metadata

File hashes

Hashes for dagster_community_components_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2cd6463025d2f0215f0e8ec3cbe3955fe97cf8d7e990e3196f07672eaef87704
MD5 5584cdef614b406f1ee17d3d5437f81f
BLAKE2b-256 76c247ccd0585dd56394aef09c439b0051f0dbcfea56363ac2fb87d66dbb68ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagster_community_components_cli-0.3.0.tar.gz:

Publisher: publish.yml on eric-thomas-dagster/dagster-community-components-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dagster_community_components_cli-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dagster_community_components_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d55bed993166c05efb0bd0c28a4dfeffebd9d49dde1c31c7e5cb1fac6ad0840
MD5 f791c496a040ee99eaf788606e307810
BLAKE2b-256 3baee8a601da4aa835f90b6e4c4ed8d1158c0c070822ca1525ee57e85319ede3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagster_community_components_cli-0.3.0-py3-none-any.whl:

Publisher: publish.yml on eric-thomas-dagster/dagster-community-components-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page