Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extension manager rewrite (ACTIVE PR) #466

Open
tomlin7 opened this issue Dec 4, 2024 · 0 comments · May be fixed by #467
Open

Extension manager rewrite (ACTIVE PR) #466

tomlin7 opened this issue Dec 4, 2024 · 0 comments · May be fixed by #467
Assignees
Labels
enhancement New feature or request extensions Related to the biscuit extensions API help wanted Extra attention is needed

Comments

@tomlin7
Copy link
Owner

tomlin7 commented Dec 4, 2024

New rewrite plan for extension manager

Fetch list

  • Biscuit will clone the extension repo itself
  • The extension repo contains submodules
  • extensions.toml contains extension names mapped to their submodule name, name, version etc.

Installation

  • Submodule of extension will be update --init'ed and that's all
  • <extension_name>/extension.py will be entry point which must contain a def setup(api)
  • and now, yes extensions can be using multiple files

Extension dev

  • For now, a hello biscuit template has been added to github
  • Later, this will be cloned when biscuit ext new ... command is used
  • Maybe when there are more templates (language, theme, etc) we can go with biscuit ext new --<template> ...
  • Extension dev runs -- something like biscuit ext dev will launch a biscuit instance with that extension on
  • Extension tests -- I have added some tests to template repo demonstrating how it's done, so they can just run pytest and it will work

publishing and updating

  • devs submodule the extension to extensions repo, and mark name, version etc. in the list
  • for updates, the submodule is updated, version changed in list

Extension version control

  • Since we're storing the version info within extension list, we can easily detect if anything is outdated (the list is fetched on every biscuit launch)
  • upon user confirming update, just fetch, pull the submodule latest -- done!
@tomlin7 tomlin7 added enhancement New feature or request extensions Related to the biscuit extensions API help wanted Extra attention is needed labels Dec 4, 2024
@tomlin7 tomlin7 self-assigned this Dec 4, 2024
@tomlin7 tomlin7 linked a pull request Dec 4, 2024 that will close this issue
@tomlin7 tomlin7 changed the title Extension manager rewrite Extension manager rewrite (ACTIVE PR) Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request extensions Related to the biscuit extensions API help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant