Open ebresie opened 2 years ago
This may involve integration with package tools like:
As part of this, the Python Platform page has a "Module" tab which currently is not populated.
Will likely need to interface via python - pip list to obtain the currently installed modules for the given platform. The results of this will need to be populated in the list.
For project specific module management, may need to leverage setuptool or equivalent project management to have dependencies available for use in the Python Project. See https://github.com/ebresie/python4nb/issues/20
Adjusting the scope of this to focus on providing a pip interface. This may further be expanded upon for other Module/Package Management based development which will be captured in a separate issue as applicable.
As of v0.3.0, possible places in the code to focus on pip interfaces which includes
Python Platform - this is from the Tools...Python Platform contexts for a given Python Platform and it's applicable "Modules"
Project Properties Library - this is used as part of the Python Project Properties - Library pane
LSP interface
Option Interfaces - this is from Tools...Options...Python
General Interfaces - These are possible shared utilities classes for use in multiple contexts. I think some of this may still be for use in the Options context but need further investigation
The getPip interface in use in Tools...Option...Python context I believe may have been used previously during logic derived from NBPython as it's called in that context, but the PythonOptionsPanel has nowhere to display any "libraries" as such. Here either need to add a pane to display libraries or look elsehwhere.
I maybe mixing PythonLibraries and PythonPackages in similar intent. I may need to combine some of these or refactor some of this code in some way. Since PIP stands for "Pip Installs Python" or "PIP Installs Packages" I think "package" is more appropriate.
Trying to refactor any "Library" references to "PythonPackage" usage. There appears to be some Node type logic in the PythonPackage context which may be left over from code base.
May want to consider Dependency management as part of the scope here. This may overlap with other tickets such as #42 which has some overlapping coverage with dependency management as well.
For example, dependencies could be captured in a requirements.txt or a setup.cfg or some other similar dependency management file.
Presently as of 0.1, there is no ability to manage or identify Python modules/packages within a given environment and/or project.
This is issue will implement module / package functionality within the IDE.