Skip to content

Make the Positron IPython kernel a standalone package #6511

Open
@seeM

Description

Note: Actually distributing the package e.g. via PyPI is out of scope for this issue.

We initially started the Positron IPython kernel by modifying the upstream's existing jedi language server support. However, we've now drifted so far away from upstream that we could package the kernel separately.

The main benefit would be that by following a more standard Python approach, onboarding would be easier for future and external developers. Secondly, it would be much easier to distribute if we eventually decide to go that route.

In the simplest implementation, this would be achieved by just adding a pyproject.toml file to positron-python/python_files/posit.

Notes:

  1. We would want to keep the same approach to pinning test requirements, as well as testing certain test dependencies at older versions.
  2. We would also want to be able to bundle this package in the extension with pinned hashes (as in jedilsp_requirements/requirements.txt). I think this can be done by moving the positron dependencies out of the requirements.in file and into the pyproject.toml, then adding only positron to requirements.in.

Related thoughts:

  1. It could still live as a sub-folder of python_files, or in the root of positron-python.
  2. At the same time, we might want to consider re-organizing the package's modules. For instance, moving *_comm.py generated files into comm/*.py, and any other suggestions folks have.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: kernelsIssues related to Jupyter kernels and LSP serverslang: pythontidinessCode tidying, duplication, refactoring

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions