summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml2
-rw-r--r--.travis.yml10
-rwxr-xr-xREADME.md11
-rwxr-xr-xsetup.py17
-rw-r--r--tox.ini37
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
diff --git a/README.md b/README.md
index 89285a5f..35befefc 100755
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/setup.py b/setup.py
index e6bc878a..868288cd 100755
--- a/setup.py
+++ b/setup.py
@@ -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']
diff --git a/tox.ini b/tox.ini
index 40855318..030c6b7c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -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