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

Formalize plan for representing Python imports in Vizier. #292

Open
okennedy opened this issue Dec 1, 2023 · 0 comments
Open

Formalize plan for representing Python imports in Vizier. #292

okennedy opened this issue Dec 1, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@okennedy
Copy link
Contributor

okennedy commented Dec 1, 2023

What pain point is this feature intended to address? Please describe.
Typical jupyter users use a single cell to define all of the imports that they plan to use. Vizier presently requires users to redundantly define 'import's in each cell.

Describe the solution you'd like
The more general solution is in #18 ; We automatically detect symbols representing imports and export them. However, #18 focuses primarily on the python-interpreter. There's also the deeper question of what we do on the back-end. That is, how is an 'import' represented to the Vizier backend.

Describe alternatives you've considered
The current default behavior would be to represent libraries as simple code snippets a'la functions. Those snippets get imported by being executed. However, this approach has several limitations:

  • It limits our ability to apply library-specific presentation to the user (e.g., 'Library' list #278 )
  • Treating the import as an opaque code blob forces us to rely on heavyweight mechanisms like parsing and code analysis to do interesting things.
  • Better options for code completion?!?

Additional context
Related Tickets:

@okennedy okennedy added the enhancement New feature or request label Dec 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant