Skip to content

Initialize new project types#4

Open
ktaletsk wants to merge 1 commit intomainfrom
feature/initialize-new-project
Open

Initialize new project types#4
ktaletsk wants to merge 1 commit intomainfrom
feature/initialize-new-project

Conversation

@ktaletsk
Copy link
Copy Markdown
Collaborator

@ktaletsk ktaletsk commented Mar 15, 2026

Summary

  • Adds a "Create Project" dialog that lets users initialize new project types directly from JupyterLab
  • Backend: new GET /creatable-types (cached) and POST /create endpoints that introspect the projspec registry and call Project.create()
  • Frontend: searchable/filterable type picker dialog with colored badges and descriptions, launched via:
    • "+" button in the sidebar header
    • Command palette ("Initialize Project Type")
    • Right-click context menu on directories in the file browser
  • Already-detected project types are excluded from the list
  • Success triggers a sidebar/chips re-scan and a toast notification
  • Bumps version to 0.3.0 and requires projspec >0.2.0 for the updated Project.create() API
image image image image

Files changed

Area Files
Backend jupyter_projspec/routes.py — new CreatableTypesRouteHandler, CreateRouteHandler, caching logic
Types & API src/types.ts, src/api.ts — new interfaces and fetchCreatableTypes(), createProject() wrappers
Dialog src/components/CreateProjectDialog.tsx — new searchable type picker component
Sidebar src/components/ProjspecPanelComponent.tsx, src/widgets/ProjspecPanel.ts — "+" button, refreshScan()
Wiring src/index.ts — command registration, palette, context menu, post-create refresh + notification
Chips src/widgets/ProjspecChipsWidget.tsrefreshScan() for post-create update
Styles style/base.css — create button and dialog styling
Config package.json, pyproject.toml — version bump to 0.3.0, projspec >0.2.0

Dependencies

Requires an unreleased version of projspec (>0.2.0) for Project.create() -> list[str]. See fsspec/projspec#73 for the release request.

Backend: new GET /creatable-types (cached) and POST /create endpoints
that introspect the projspec registry and call Project.create().

Frontend: searchable type picker dialog launched via a "+" button in
the sidebar header, the command palette, or a directory context menu.
Already-detected types are filtered out. Success triggers a re-scan
and a toast notification.

Requires projspec >0.2.0 for the updated Project.create() API.
Bumps jupyter-projspec version to 0.3.0.

Made-with: Cursor
@github-actions
Copy link
Copy Markdown

Binder 👈 Launch a Binder on branch fsspec/jupyter-projspec/feature%2Finitialize-new-project

@ktaletsk ktaletsk changed the title feat: add Create Project dialog for initializing new project types Initialize new project types Mar 15, 2026
@martindurant
Copy link
Copy Markdown
Member

0.3.0 is out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants