openedx-unsupported / ease

EASE (Enhanced AI Scoring Engine) is a library that allows for machine learning based classification of textual content. This is useful for tasks such as scoring student essays.
GNU Affero General Public License v3.0
216 stars 96 forks source link

Add requirements to setup.py; bump version number #50

Closed wedaly closed 10 years ago

wedaly commented 10 years ago

@singingwolfboy This should pull in the requirements for EASE during pip install. Looks okay?

singingwolfboy commented 10 years ago

I'd like to go even farther and reorganize the requirements files. What's the difference between requirements.txt, base_requirements.txt, and pre-requirements.txt? Why are some of the development requirements (like coverage and sphinx) mixed in with the requirements to actually run the code?

I think it would be better to have two requirements files: requirements.txt and dev-requirements.txt. The former contains all the requirements to actually run all the functionality with ease. The latter contains other requirements necessary to develop the code: running tests, building documentation, etc. You can even pass both of these sets of dependencies to the setup() function: the first list for the install_requires argument, and the second list for the tests_require argument. https://pythonhosted.org/setuptools/setuptools.html#new-and-changed-setup-keywords

wedaly commented 10 years ago

@singingwolfboy I think the reason why the requirements files are organized this way is (a) to ensure that numpy is installed before scipy (https://github.com/edx/discern/issues/18), and (b) to avoid installing numpy/scipy/scikit in Travis.

In addition, some of our deploy scripts currently assume that the requirements files are set up a certain way, and I'm concerned about messing that up.

wedaly commented 10 years ago

That said, I agree that the requirements files could be cleaned up -- I just think it's outside the scope of this PR.

singingwolfboy commented 10 years ago

I'll totally accept "outside the scope of this PR" as a valid reason not to do this right now. :) Your changes look good to me! :+1: