Closed fbergmann closed 4 months ago
😍 😍 😍
This is so cool thanks 🙏🏼
Sidenote: I tried installing it in my githubfolder and it got the error message (Shortened)
Obtaining file:///Users/pauljonasjost/Documents/GitHub_Folders/PysideGui Installing build dependencies ... done Checking if build backend supports build_editable ... done Getting requirements to build editable ... error error: subprocess-exited-with-error × Getting requirements to build editable did not run successfully. │ exit code: 1 ╰─> [14 lines of output] error: Multiple top-level packages discovered in a flat-layout: ['Widgets', 'huiPESTO', 'venvPySide', 'Boehm_JProteomeRes2014'].
This does not happen with a fresh checkout ... Or maybe send a full build log of (assuming you have build in your venv):
python -m build .
that should produce a wheel in the dist folder, which you could then install.
I guess this is since it was originally designed as the pyPESTO GUI and since i did not push those things to the github, my folder structure looks very different. But is it still possible to make the installation more independent of the folder structure? If not also perfectly fine.
well you could add ignore statements to everything that is not there right now.
I guess I should accept at this point that we are first doing a PEtab gui before the pyPESTO GUI, therefore changing the folder structure might be ok at this point :D
the main thing i would change is to move the example data out of the sources.
You could try, whether adding this:
[tool.setuptools.packages.find]
where = ["."] # list of folders that contain the packages (["."] by default)
include = ['huiPESTO'] # package names should match these glob patterns (["*"] by default)
exclude = ['Widgets', 'venvPySide', 'Boehm_JProteomeRes2014'] # exclude packages matching these glob patterns (empty by default)
namespaces = false # to disable scanning PEP 420 namespaces (true by default)
solves the issue for you.
You could try, whether adding this:
[tool.setuptools.packages.find] where = ["."] # list of folders that contain the packages (["."] by default) include = ['huiPESTO'] # package names should match these glob patterns (["*"] by default) exclude = ['Widgets', 'venvPySide', 'Boehm_JProteomeRes2014'] # exclude packages matching these glob patterns (empty by default) namespaces = false # to disable scanning PEP 420 namespaces (true by default)
solves the issue for you.
Nice, using
include = ['huiPESTO/PEtab_edit_gui'] # package names should match these glob patterns (["*"] by default)
did the trick 👍🏼 Open a small PR for this.
This PR makes it so that the project can be easily installed (using for example
pip install -e .
), After installing like that the GUI can be launched from the virtual environment by runningPEtab_gui
.Wheels for distribution on pypi can be created easily (for example with
python -m build .
)For this i had to make the includes relative, and ensure that the sample files are packaged.
IMO we could simplify the directory structure to clean things up ... but that can come later.