GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat(cli): Add `feast projects delete` command by mailtoboggavarapu-coder · Pull Request #6302 · feast-dev/feast

Conversation

@mailtoboggavarapu-coder

@mailtoboggavarapu-coder mailtoboggavarapu-coder commented Apr 20, 2026 •
edited by devin-ai-integration Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Summary

Closes #5095

Exposes project deletion through the CLI by adding a new feast projects delete <name> subcommand to the existing projects group.

What's changed

Added project_delete command to sdk/python/feast/cli/projects.py:

Usage: feast projects delete [OPTIONS] NAME

  Delete a project and all its resources from the registry.

  This removes the project entry from the registry. Individual objects
  (feature views, entities, data sources) that belong to the project
  are also purged when commit=True (the default).

Options:
  -y, --yes  Skip confirmation prompt and delete immediately.
  --help     Show this message and exit.

Design notes

  • Uses store._registry.delete_project(name, commit=True) directly since FeatureStore does not yet expose a delete_project public method (the abstract method exists in BaseRegistry and is implemented in all concrete registries)
  • Adds an interactive confirmation prompt with click.confirm — can be skipped with --yes / -y for scripting
  • Raises SystemExit(1) on FeastObjectNotFoundException to match the pattern used by describe

Example

# Interactive (prompts for confirmation)
feast projects delete my-project

# Non-interactive
feast projects delete my-project --yes

Checklist

  • Added delete command to projects_cmd group
  • Confirmation prompt with --yes bypass flag
  • Error handling for non-existent projects
  • Follows existing CLI patterns in projects.py

Open in Devin Review

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mailtoboggavarapu-coder
mailtoboggavarapu-coder requested a review from a team as a code owner April 20, 2026 23:10
@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 20, 2026

Copy link
Copy Markdown
Contributor Author

Hi team! 👋

This adds the feast projects delete CLI command requested in #5095.

The implementation directly calls store._registry.delete_project() since the abstract method is already fully implemented in all concrete registries (SQL, file, GCS, etc.) — there just wasn't a CLI surface for it yet.

A few design choices I'd love feedback on:

  1. Confirmation prompt — I added an interactive click.confirm that can be bypassed with --yes/-y. Is this the right UX, or would you prefer a different safety mechanism?
  2. Registry access — I call store._registry.delete_project() directly since there's no public FeatureStore.delete_project() method yet. Happy to add a public wrapper on FeatureStore if that's preferred.

Would appreciate a review when you get a chance! Happy to adjust based on feedback. 🙏

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 20, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the thorough review, @devin-ai-integration!

Fix applied in the latest commit:

  • Imported ProjectNotFoundException from feast.errors
  • Updated the except clause to catch both FeastObjectNotFoundException and ProjectNotFoundException, since registry implementations raise the latter when a project does not exist.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 21, 2026

Copy link
Copy Markdown
Contributor Author

Hi team! 👋 Friendly ping on this PR adding feast projects delete CLI command. Happy to address any feedback!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 21, 2026

Copy link
Copy Markdown
Contributor Author

Hi team! 👋 Friendly ping on this PR adding feast projects delete CLI command (issue #5095). Happy to address any feedback!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ntkathole ntkathole changed the title feat(cli): add feast projects delete command feat(cli): Add feast projects delete command Apr 22, 2026
@ntkathole

ntkathole commented Apr 22, 2026

Copy link
Copy Markdown
Member

@mailtoboggavarapu-coder please fix the linting pr checks

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

Hi team! Checking in on this PR adding the feast projects delete CLI command. The branch has been updated with the latest from master. Let me know if you'd like any changes!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder
feat(cli): add 'feast projects delete' command (issue feast-dev#5095)
686a55c
Exposes project deletion via the CLI. The new `feast projects delete <name>`
command calls `store._registry.delete_project()` which is already implemented
in all concrete registries. Adds an interactive confirmation prompt that can
be bypassed with --yes/-y for scripted workflows.

- Adds type guard (`assert store._registry is not None`) for mypy.
- Catches both FeastObjectNotFoundException and ProjectNotFoundException so
  the CLI exits cleanly (exit code 1) for either variant raised by concrete
  registry implementations.

Squashed history: this commit consolidates the previous unsigned commits on
the branch into a single DCO-signed commit, per DCO requirements.

Signed-off-by: Venkateswarlu Boggavarapu <[email protected]>
@mailtoboggavarapu-coder
mailtoboggavarapu-coder force-pushed the feat/expose-project-delete-cli branch from 544d892 to 686a55c Compare April 22, 2026 17:24
@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

Hi @ntkathole — thanks for the nudge! The PR checks have now been addressed:

  • DCO: The branch has been rebased onto the latest master and squashed into a single DCO-signed commit (Signed-off-by: Venkateswarlu Boggavarapu <[email protected]>). DCO is now ✅ passing.
  • Lint / ruff: The projects.py changes pass ruff format --check and ruff check locally. The integration/unit-test lanes are currently gated skipped on this PR (path filters), but the code itself is formatter-clean.
  • mypy: The store._registry is not None guard was already added in the previous round to satisfy the union-attr error.

Ready for another look whenever you have time — thanks again!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder
fix: use store.registry property instead of store._registry in projec…
a8315f4
…t_delete

store._registry is always None until accessed via the lazy-init registry
property. Using store._registry directly caused project_delete to always
crash with an AssertionError.

Fixes: Devin Review finding in feast-dev#6302
Signed-off-by: Venkateswarlu Boggavarapu <[email protected]>
@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the Devin review! Fixed the store._registry crash in the latest commit:

  • Removed the assert store._registry is not None guard (would always fail)
  • Changed store._registry.delete_project(...) → store.registry.delete_project(...) to use the lazy-init property

The registry property in feature_store.py handles initialization on first access, so this now works correctly.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder mailtoboggavarapu-coder closed this Apr 22, 2026
@mailtoboggavarapu-coder mailtoboggavarapu-coder reopened this Apr 22, 2026
@mailtoboggavarapu-coder

mailtoboggavarapu-coder commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

Closing this PR in favour of #6318 which has a clean single-commit history with a properly matched DCO sign-off (author name = Signed-off-by name). The DCO check was failing here because one commit had mailtoboggavarapu-coder as the git author name while the Signed-off-by said Venkateswarlu Boggavarapu. PR #6318 fixes this with a fresh single commit. All the same changes are included.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mailtoboggavarapu-coder mailtoboggavarapu-coder closed this Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@devin-ai-integration devin-ai-integration[bot] devin-ai-integration[bot] left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Expose project deletion to CLI

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@mailtoboggavarapu-coder @ntkathole
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.