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.2.0.tar.gz (35.1 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.2.0.tar.gz.

File metadata

  • Download URL: dagster_community_components_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dagster_community_components_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4f3370f0925bee62f654dfcfc546cffd16cfbcc1e85cde9f05df9396755b8976
MD5 645796fa8684c9d52edaa5ed987532bc
BLAKE2b-256 4da15d7dfa0b4aec987db908da94e10c884ae2169d3ee86165308c84c5275612

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dagster_community_components_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dagster_community_components_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4adee88ba301c4d663f47c79a2947268c2ebae345a999942944cfa41d1bca5b0
MD5 13eb70fcb005be3710e882d33b0e55c9
BLAKE2b-256 065ac444099c55ec41a1b592e15bde8cb8d119f60fc9f115e522488c57c9dcbd

See more details on using hashes here.

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