pylti / lti

Learning Tools Interoperability for Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Requirements file missing

petarnikolovski opened this issue · comments

The repo does not contain neither requirements nor Pipfile. It would be good to add such a file for people who would like to contribute in the future. I suggest that we use Pipfile because it can differentiate between regular and development dependencies. I can make a PR to add the file, if everyone are OK with the idea. The only thing I'm not sure is whether the pipenv is the good tool to deal with library dependencies?

I don't think that either a requirements.txt nor a Pipfile are a good approach for dealing with library dependencies. I do, however, think that a Pipfile.lock (and thus a Pipfile) is a really good approach for dealing with development dependencies and pinning dependencies for development. I find Pipfile and pipenv to be superior to just using pip and requirements.txt files.

What this means practically is that I want all the generic dependencies to be kept in the setup.py file, but I'd also be happy to see a Pipfile added to make for simpler development. The only non-dev dependency the Pipfile would have is on this package, but it could have lots of dev dependencies, and I think the Pipfile.lock could be helpful for development. We should make sure that the dependency on this library is using an editable install, and then pinning just dev dependencies shouldn't be an issue.

Thanks for bringing it up. I think a PR would be great!

@ryanhiebert Sorry for the delay on this. It proved to be a bit trickier than it seemed, I have problems with tox determining correct testing environment, and generating error for missing python environments. And also, despite installing lti package as editable tox doesn't find it (nor does it finds tests). I'll need some more time to debug, I've been really busy lately.

In the meantime this was the Pipfile I was working with:

[[source]]
name = "pypi"
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]
oauthlib = "*"
lxml = "*"
requests-oauthlib = "*"
tox = "*"
sphinx = "*"
tox-pipenv = "*"

[packages]
lti = {editable = true, path = "."}

[requires]
python_version = "3.5"

One of the problems for tox is probably the fixed Python version in the Pipfile.