Package Details: coursera-dl-git 0.9.0.r0.g154ef8d-1

Git Clone URL: (read-only)
Package Base: coursera-dl-git
Description: Script for downloading videos and naming them
Upstream URL:
Licenses: LGPL3
Conflicts: coursera-dl
Provides: coursera-dl
Submitter: ilpianista
Maintainer: hexchain
Last Packager: hexchain
Votes: 31
Popularity: 0.000030
First Submitted: 2012-09-10 15:59
Last Updated: 2017-08-09 08:24

Latest Comments

nanners commented on 2017-06-15 09:48

Unlisted dependency: configargparse

pip install configargparse and running coursera-dl should then show the help rather than python error.

hexchain commented on 2016-03-31 13:23

@zsrkmyn: fixed, thanks!

zsrkmyn commented on 2016-03-31 12:31

==> Starting package()...
Traceback (most recent call last):
File "./", line 60, in <module>
'Generate README.rst from via pandoc!\n\nExample: '
File "./", line 50, in read_file
lines =
File "/usr/lib/python3.5/encodings/", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19273: ordinal not in range(128)

prepare() {
export LC_CTYPE=en_US.UTF-8

hexchain commented on 2016-02-21 08:17

I've included html5lib in dependencies and updated PKGBUILD. Coursera-dl itself requires html5lib>=1.0b2 in its requirements.txt but currently I have not encountered any problems with the one in community. So I'm overwritting the launcher script generated by setuptools with the one provided by author.

Also there's a coursera-dl package (without -git), which is considered more stable.

anatolik commented on 2015-07-04 22:20

python-html5lib seems hard dependency now:

Traceback (most recent call last):
File "/usr/bin/coursera-dl", line 6, in <module>
File "/usr/lib/python3.4/site-packages/coursera/", line 1022, in main
result = download_class(args, class_name)
File "/usr/lib/python3.4/site-packages/coursera/", line 919, in download_class
args.intact_fnames, subtitle_language)
File "/usr/lib/python3.4/site-packages/coursera/", line 255, in parse_syllabus
soup = BeautifulSoup(page)
File "/usr/lib/python3.4/site-packages/coursera/", line 63, in <lambda>
BeautifulSoup = lambda page: BeautifulSoup_(page, 'html5lib')
File "/usr/lib/python3.4/site-packages/bs4/", line 152, in __init__
% ",".join(features))
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?

tklee commented on 2014-07-12 03:52

I'm sorry I made a mistake of falgging it out-of-date. The PKGBUILD is still valid and up-to-date. Could you remove the wrong flag?

hexchain commented on 2014-03-30 09:30

Updated for Python 3.4

dummyano commented on 2014-03-30 02:51

Please update path for python 3.4. Thanks for mantaining this!

hexchain commented on 2014-01-05 11:23

Adopting this package.

ilpianista commented on 2013-10-29 16:50

Disowned as tdy didn't reply to all update requests

chrisdunder commented on 2013-10-01 19:30

Here's a reup of untitaker's PKGBUILD:

@tdy: Please update the PKGBUILD or orphan it.

chrisdunder commented on 2013-10-01 18:12

Here's a reup of untitaker's PKGBUILD:

@tdy: Please update the PKGBUILD or orphan it.

chrisdunder commented on 2013-10-01 01:58

@untitaker: The sprunge expired. Can you please reupload it? Thanks in advance! Also, thanks for making it!

@tdy: Update or orphan it, please. untitake already did the work.

arlimus commented on 2013-09-05 19:15

@tdy: Could you by any chance update the PKGBUILD to untitaker's Python3-based configuration? Thanks in advance!

arlimus commented on 2013-09-03 10:04

@untitaker: thank you! please add "python-six" to dependencies ;) works great!

only caveat in current version is that it's trying to write cache to '/usr/lib/python3.3/site-packages/_cache' (ie non-user permissions necessary). if you don't want to sudo, change it in /usr/lib/python3.3/site-packages/coursera/
PATH_CACHE = os.path.join(ROOT, '_cache')
PATH_CACHE = '/tmp/coursera-dl-cache'

untitaker commented on 2013-08-15 13:38

PKGBUILD using Python 3.3:

untitaker commented on 2013-08-15 13:22

Also this needs beautifulsoup4

untitaker commented on 2013-08-15 13:13

Oh yeah, and please look how other python packages do the packaging. You can use python2 install --root="$pkgdir"

untitaker commented on 2013-08-15 13:11

Also it seems to me that the prepare() func doesn't really do anything useful?

untitaker commented on 2013-08-15 13:09

Please use the coursera-dl script from the repo instead of your `python2 ...` thing and only patch the shebang. Doing it like this breaks Python's import system.

gauthma commented on 2013-07-19 06:57

This is not working:

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/coursera/", line 53, in <module>
from six import iteritems
ImportError: No module named six

Further, it is installed in the python2.7 dir, but the shebang reads:
#! /usr/bin/env python, which AFAIK implies the use of python3...

enikulenkov commented on 2013-07-06 14:41

Sorry, there was an error in my script. Fixed version at the same address

Also changed default application data dir to ~/.coursera-dl (otherwise root privileges are needed to store cookies)

tdy commented on 2013-07-06 13:36


enikulenkov commented on 2013-07-06 10:57

The package is broken again, because new files are added to repository, that are imported from main coursera/ file. It's similar problem that was with "" file before.
I think that modifying coursera/ file during package build for newly added files maybe is not a good idea. In git repository main coursera-dl executable is just a symlink to coursera/ Maybe it's better to make symlink in /usr/bin directory, too. In this case the only problem is that coursera-dl uses python2, but python3 is default in Arch.
So, coursera/ file can be modified to use python2 forcibly. Another way is to create small script instead of symlink that executes coursera/ with python2 interpreter. I implemented this approach here

tdy commented on 2013-06-26 00:56


jleclanche commented on 2013-06-26 00:43

Updated PKGBUILD that works a lot better:

jleclanche commented on 2013-06-26 00:12

Actually package is broken because of a git update. There is a separate "" file which tries to be imported but, from /usr/bin, cannot

jleclanche commented on 2013-06-26 00:09

Depends on python2-requests.

jck commented on 2013-04-02 17:16

python2-argparse is not needed for python 2.7.