Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicitly mention dependencies in README #18

Closed
wants to merge 1 commit into from

Conversation

astrofrog
Copy link
Contributor

I use Anaconda so some of those dependencies are faster to install with conda. It's also good to be explicit so that users know why these packages are being installed.

@pdurbin
Copy link
Member

pdurbin commented Apr 29, 2015

I also suggested having a requirements.txt file: #12 (comment)

@pdurbin
Copy link
Member

pdurbin commented Apr 29, 2015

To clarify, my preference would be to factor this out to a separate "requirements.txt" file that can be operated on with pip install -r requirements.txt. The readme can link to the file.

@astrofrog
Copy link
Contributor Author

@pdurbin - the reason I think it should be repeated in the README file is because it's also possible to install these not with pip (e.g. conda). There are few enough dependencies that this is still pretty simple. I personally think there should be both a 'human-readable' version in the README and a machine-readable requirements.txt file. What do you think?

@codersquid
Copy link
Contributor

conda works with pip. Install pip in to your conda env and then you can use a pip requirements.txt file. If you don't want to use pip, you could add an environment.yml file that is generated from conda and check that in, but it is likely to get out of sync unless people are diligent.

I am pro requirements.txt.

@codersquid
Copy link
Contributor

I amend my previous statement. I am pro no requirements.txt file and pro telling people to use pip from their conda environment. Then they can follow the instructions.

@astrofrog
Copy link
Contributor Author

Just to clarify, I don't need to be able to automatically install the dependencies with conda, and I can indeed use pip inside conda, but what I meant is that people may have different ways of installing dependencies and will prefer the binary package (conda, apt-get, etc.) if available (if I can install a package with pip or conda, I will prefer conda because then it will be properly tracked and updated in future). So all I'm advocating is that the dependencies be listed in human-readable form in the readme (like I've done here) and people can then make their own decision. They can auto-install the dependencies with pip if they like, but they can also see what is required if they want to do it any other way.

Beyond that, I don't really mind whether or not there is a pip requirements file :)

@codersquid
Copy link
Contributor

@astrofrog I see what you are saying. If you think it would be human-friendly enough to mention that requirements are listed in setup.py then that could be added. If not, then maybe you could add mention of the test requirements too. I'm going to drop out of the conversation now so that I don't bikeshed anymore. :)

@rliebz
Copy link
Contributor

rliebz commented May 14, 2015

I think that a requirements.txt is a readable-enough version of the requirements that it would not need to be explicitly stated in the README, if you wanted to go that route. In that case, though, we would want setup.py to read and parse requirements.txt to avoid duplicating that information, and we wouldn't have to worry about updating requirements in two/three different places.

I'm not really an authority on this kind of thing, so if there's a different consensus on the best practice for this library, feel free to go ahead with that solution.

@astrofrog
Copy link
Contributor Author

Since it seems like there is a preference for a requirements.txt file, I'll close this.

@astrofrog astrofrog closed this Oct 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants