diff --git a/.travis.yml b/.travis.yml index 737a4c73..fe2e87ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,14 +20,13 @@ branches: # command to install dependencies install: - - travis_retry pip install -q -r requirements.txt; - - travis_retry pip install -q coverage python-coveralls warcat youtube-dl + - travis_retry pip install --ignore-requires-python '.[resmon]' + - travis_retry pip install warcat youtube-dl # command to run tests script: - - pip install . -t thematrix/ --no-dependencies - - cd thematrix/ && nosetests --with-coverage --cover-package=wpull --cover-branches + - python setup.py test after_success: diff --git a/doc/install.rst b/doc/install.rst index 1febbf93..1204bf38 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -58,10 +58,6 @@ case, use the manual install. Manual Install ============== -Install the dependencies known to work with Wpull:: - - pip3 install -r https://raw2.github.com/chfoo/wpull/master/requirements.txt - Install Wpull from GitHub:: pip3 install git+https://github.com/chfoo/wpull.git#egg=wpull diff --git a/requirements-sphinx.txt b/requirements-sphinx.txt index 995d297e..8b422e1e 100644 --- a/requirements-sphinx.txt +++ b/requirements-sphinx.txt @@ -1,15 +1,3 @@ -# Should be the same for requirements.txt: -chardet>=2.0.1,<=2.3 -dnspython3==1.12 -html5lib>=0.999,<1.0 -# lxml>=3.1.0,<=3.5 # except for this because it requires building C libs -namedlist>=1.3,<=1.7 -psutil>=2.0,<=4.2 -sqlalchemy>=0.9,<=1.0.13 -tornado>=3.2.2,<5.0 -typing>=3.5,<=3.5.1 -yapsy==1.11.223 - # for sphinx doc only: sphinx-argparse<=0.1.15 sphinxcontrib-napoleon>=0.2.6,<=0.5.0 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e9fbfb52..00000000 --- a/requirements.txt +++ /dev/null @@ -1,14 +0,0 @@ -# Absolutely known to work versions only: -chardet>=2.0.1,<=2.3 -dnspython3==1.12 -html5lib>=0.999,<1.0 -lxml>=3.1.0,<=3.5 -namedlist>=1.3,<=1.7 -psutil>=2.0,<=4.2 -sqlalchemy>=0.9,<=1.0.13 -tornado>=3.2.2,<5.0 -typing>=3.5,<=3.5.1 -yapsy==1.11.223 - -# Keep me sorted and update the other files :) - diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..e2d65c91 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,6 @@ +[aliases] +test=nosetests +[nosetests] +with-coverage=1 +cover-package=wpull +cover-branches=1 diff --git a/setup.py b/setup.py index 775472a7..f06916e4 100644 --- a/setup.py +++ b/setup.py @@ -81,6 +81,7 @@ def get_version(): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', 'Topic :: Internet :: File Transfer Protocol (FTP)', 'Topic :: Internet :: WWW/HTTP', 'Topic :: System :: Archiving', @@ -93,26 +94,33 @@ def get_version(): 'wpull3=wpull.application.main:main', ], }, + extras_require={ + 'resmon': ['psutil>=2.0,<=4.2'], + }, + setup_requires=['nose>=1.0'], + # XXX: for some odd reason this specific coverage version is required + tests_require=['coverage==4.0.3', 'python-coveralls'], + python_requires='>=3.4,<3.7', ) -# Do not add version ranges unless absolutely required! -# See also requirements.txt setup_kwargs['install_requires'] = [ - 'chardet', - 'dnspython3', - 'html5lib', - 'namedlist', - 'sqlalchemy', - 'tornado', - 'yapsy', + 'chardet>=2.0.1', + 'dnspython3==1.12', + 'html5lib>=0.999,<=0.9999999', + 'lxml>=3.1.0,<=3.5', + 'namedlist>=1.3', + 'sqlalchemy>=0.9', + 'tornado>=3.2.2,<4.5.3', + 'yapsy>=1.11.223', ] if sys.version_info < (3, 5): - setup_kwargs['install_requires'].append('typing') + setup_kwargs['install_requires'].append('typing>=3.5,<=3.5.1') if __name__ == '__main__': + # this check is for old versions of pip/setuptools if sys.version_info[0] < 3: raise Exception('Sorry, Python 2 is not supported.')