slaclab / pysmurf

Other
2 stars 9 forks source link

Add dependencies to setup.py as install_requires #732

Closed BrianJKoopman closed 1 year ago

BrianJKoopman commented 1 year ago

Description

This adds all the dependencies listed in the requirements.txt file to the setup.py file, allowing a one-step installation via pip. This is per the python packaging guidelines.

On my end in packaging work I'm doing for SO I want to be able to add pysmurf as a dependency like:

pysmurf @ git+https://github.com/slaclab/pysmurf.git@main

and get any dependencies required by pysmurf automatically. This change would enable that.

install_requires vs requirements.txt

Naturally the question arises of whether you maintain the dependency list twice both in setup.py and in requirements.txt. Those files serve two different purposes (see the python packaging docs).

I'd advocate for dropping requirements.txt if you no longer think it's needed and want to maintain this list in just one place. Though I haven't done that here, just removed the need to install from the requirements file when installing pysmurf.

Jira Issue

Not on Jira.

Tests done on this branch

I've installed pysmurf locally using the updated instructions.

Function interfaces that changed

No function interfaces changes.

swh76 commented 1 year ago

@BrianJKoopman sorry for some reason I missed this until just now. Sounds good to me, but failing server & client tests. I'll try to look at this soon if you don't get to it first.