ialbert / genescape-central

Gene Ontology subgraph visualizations
MIT License
17 stars 0 forks source link

Avoid inclusion of `bottle.py` if possible #5

Closed j-andrews7 closed 6 months ago

j-andrews7 commented 6 months ago

I noticed that bottle is copied into the source code here with some edits to variable names. This feels like a "code smell" that is best avoided.

Is there any way to include it via typical imports? What was the impetus for including it?

ialbert commented 6 months ago

The beauty of Bottle is that it is a microframework and a single file; including it removes dependency issues or other troubles down the line.

This process is called "vendoring":

Vendoring is the act of making your own copy of the 3rd party packages your project is using. Those copies are traditionally placed inside each project and then saved in the project repository.

https://stackoverflow.com/questions/26217488/what-is-vendoring

There is a balance of what should and shouldn't be vendored of course.

Another reason for including it is to have full control over how it operates since it is used mainly as a GUI interface rather than a real webserver. I have already overwritten some of its outputs, and I was planning further customizations depending on what use cases appear.

So, additional modifications may be forthcoming.

ialbert commented 6 months ago

bottle webserver removed, the software now works via Shiny