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.5.1.tar.gz (157.5 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.5.1.tar.gz.

File metadata

File hashes

Hashes for dagster_community_components_cli-0.5.1.tar.gz
Algorithm Hash digest
SHA256 a67306c3675e0f76ab522a146409a43b1f32499e91dc92d96d0bb95d8cfc66a5
MD5 5fb658e54522aacf3d4a6b634b6e3df8
BLAKE2b-256 1be05551abb82a5ec564277918b1dec3c0055e1b3c494dc1d44b55ce9e4761c5

See more details on using hashes here.

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

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.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dagster_community_components_cli-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 67eca7523779ddade7ce30570ad76c406f0bd241fc61782ec9c220cc852df0a5
MD5 30e3549dea77ab5ac4daa678b8716027
BLAKE2b-256 d0d5a09f73b31098280d35ed859f9b4fd70f181b284fa70fa2195f56692ea10b

See more details on using hashes here.

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

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