diff options
-rw-r--r-- | .appveyor.yml | 2 | ||||
-rw-r--r-- | .travis.yml | 10 | ||||
-rwxr-xr-x | README.md | 11 | ||||
-rwxr-xr-x | setup.py | 17 | ||||
-rw-r--r-- | tox.ini | 37 |
5 files changed, 11 insertions, 66 deletions
diff --git a/.appveyor.yml b/.appveyor.yml index fad8437a..ad884315 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -4,4 +4,4 @@ install: build: off test_script: - - python -m tox -e py27-win,py35-win,py36-win + - python -m tox -e py35-win,py36-win diff --git a/.travis.yml b/.travis.yml index 2c5b5124..d6689c58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,6 @@ sudo: false # false enables container-based build for fast boot times on Linux matrix: include: - os: linux - python: 2.7 - env: TOXENV=py27 - - os: linux python: 3.4 env: TOXENV=py34 - os: linux @@ -21,15 +18,8 @@ matrix: env: TOXENV=py37 # # Warning: Don't try to use code coverage analysis with pypy as it is insanely slow # - os: linux -# python: pypy -# env: TOXENV=pypy -# - os: linux # python: pypy3 # env: TOXENV=pypy3 - # Stock OSX Python -# - os: osx -# language: generic -# env: TOXENV=py27 # # Latest Python 3.x from Homebrew # - os: osx # language: generic @@ -36,18 +36,17 @@ Main Features - Sub-menu support via the ``AddSubmenu`` decorator - Unicode character support (*Python 3 only*) - Good tab-completion of commands, sub-commands, file system paths, and shell commands -- Python 2.7 and 3.4+ support +- Python 3.4+ support - Windows, macOS, and Linux support - Trivial to provide built-in help for all commands - Built-in regression testing framework for your applications (transcript-based testing) - Transcripts for use with built-in regression can be automatically generated from `history -t` -Plan for dropping Python 2.7 support ------------------------------------- -Support for Python 2.7 will be discontinued on April 15, 2018. After that date, new releases of `cmd2` will only support -Python 3. Older releases of `cmd2` will of course continue to support Python 2.7. +Python 2.7 support is EOL +------------------------- +Support for adding new features to the Python 2.7 release of ``cmd2`` was discontinued on April 15, 2018. Bug fixes will be supported for Python 2.7 via 0.8.x until August 31, 2018. -Supporting Python 2 is an increasing burden on our limited resources. Switching to support only Python 3 will allow +Supporting Python 2 was an increasing burden on our limited resources. Switching to support only Python 3 will allow us to clean up the codebase, remove some cruft, and focus on developing new features. Installation @@ -34,7 +34,7 @@ Main features: - Parsing commands with arguments using `argparse`, including support for sub-commands - Unicode character support (*Python 3 only*) - Good tab-completion of commands, sub-commands, file system paths, and shell commands - - Python 2.7 and 3.4+ support + - Python 3.4+ support - Linux, macOS and Windows support - Trivial to provide built-in help for all commands - Built-in regression testing framework for your applications (transcript-based testing) @@ -52,30 +52,25 @@ Intended Audience :: Developers Intended Audience :: System Administrators License :: OSI Approved :: MIT License Programming Language :: Python -Programming Language :: Python :: 2 -Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: Implementation :: CPython -Programming Language :: Python :: Implementation :: PyPy +Programming Language :: Python :: Implementation :: PyPy3 Topic :: Software Development :: Libraries :: Python Modules """.splitlines()))) -INSTALL_REQUIRES = ['pyparsing >= 2.0.1', 'pyperclip', 'six'] +INSTALL_REQUIRES = ['pyparsing >= 2.1.0', 'pyperclip >= 1.6.0', 'six'] EXTRAS_REQUIRE = { # Windows also requires pyreadline to ensure tab completion works ":sys_platform=='win32'": ['pyreadline'], + # POSIX OSes also require wcwidth for correctly estimating the displayed width of unicode chars ":sys_platform!='win32'": ['wcwidth'], # Python 3.4 and earlier require contextlib2 for temporarily redirecting stderr and stdout ":python_version<'3.5'": ['contextlib2'], - # Python 3.3 and earlier require enum34 backport of enum module from Python 3.4 - ":python_version<'3.4'": ['enum34'], - # Python 2.7 also requires subprocess32 - ":python_version<'3.0'": ['subprocess32'], } if int(setuptools.__version__.split('.')[0]) < 18: @@ -86,10 +81,6 @@ if int(setuptools.__version__.split('.')[0]) < 18: INSTALL_REQUIRES.append('wcwidth') if sys.version_info < (3, 5): INSTALL_REQUIRES.append('contextlib2') - if sys.version_info < (3, 4): - INSTALL_REQUIRES.append('enum34') - if sys.version_info < (3, 0): - INSTALL_REQUIRES.append('subprocess32') # unittest.mock was added in Python 3.3. mock is a backport of unittest.mock to all versions of Python TESTS_REQUIRE = ['mock', 'pytest', 'pytest-xdist'] @@ -1,5 +1,5 @@ [tox] -envlist = py27,py34,py35,py36,py36-win,py37 +envlist = py34,py35,py36,py37,py35-win,py36-win [pytest] testpaths = tests @@ -9,41 +9,6 @@ passenv = CI TRAVIS TRAVIS_* APPVEYOR* setenv = PYTHONPATH={toxinidir} -[testenv:py27] -deps = - codecov - enum34 - mock - pyparsing - pyperclip - pytest - pytest-cov - pytest-forked - pytest-xdist - six - subprocess32 - wcwidth -commands = - py.test {posargs: -n 2} --cov=cmd2 --cov-report=term-missing --forked - codecov - -[testenv:py27-win] -deps = - codecov - enum34 - mock - pyparsing - pyperclip - pyreadline - pytest - pytest-cov - pytest-xdist - six - subprocess32 -commands = - py.test {posargs: -n 2} --cov=cmd2 --cov-report=term-missing - codecov - [testenv:py34] deps = mock |