CHANGES¶
Remove unnecessary shebangs
ruff: Enable pyupgrade rules
Migrate to ruff, ruff-format
Drop support for Python 3.8, add Python 3.12
pre-commit: Bump versions
Normalize columns given by ‘-c’/’–columns’
4.7.0¶
Add fixtures explicitly in test requirements
tox: Use pre-commit for linter checks
Blacken code base
requirements: Bump minimums
4.6.0¶
Test python 3.10 and 3.11
4.5.0¶
Use importlib.metadata on Python 3.10+
4.4.0¶
Handle complex objects in yaml formatter better
Add pre-commit
Fix pre-commit issues
Autofit table output if stdout is a tty
Fix flake8 violation E721
Use upper-constraint in doc generation
4.3.0¶
Removing helper functions providing Python < 3.3 compatibility
4.2.0¶
Strip trailing periods when getting description
Clarification of the algorithm used
4.1.0¶
columns: Useful __str__, __repr__ implementation
Add Python3 antelope unit tests
4.0.0¶
Removing brackets around tested conditional
Replace abc.abstractproperty with property and abc.abstractmethod
Remove final use of pkg_resources
Defer loading PyYAML
Defer loading cmd2
requirements: Remove explicit python-subunit dependency
requirements: Remove explicit pbr dependency
requirements: Remove explicit pyparsing dependency
Update Python testing per Zed cycle testing runtime
Migrate Python 3.6/7 jobs to Python 3.8
3.10.1¶
Removing modindex link from docs
3.10.0¶
Add Python3 yoga unit tests
3.9.0¶
Automatically page interactive root help output
Colourise and automatically page help output
Update unit test to satisfy python3.10+
Handle SIGPIPE exit gracefully
Add conflict_handler parameter as attribut in Command class
3.8.0¶
setup.cfg: Replace dashes with underscores
Replace getargspec with getfullargspec
setup.cfg: Replace dashes with underscores
Use py3 as the default runtime for tox
Add Python3 xena unit tests
3.7.0¶
requirements: Uncap PrettyTable
Add ‘–sort-ascending’, ‘–sort-descending’ parameters
Make ‘FormattableColumn’ comparable
Handle null values when sorting
Remove unicode from code
gitignore: Ignore reno artefacts
Remove lower-constraints
3.6.0¶
trivial: Remove references to Python 2.7
3.5.0¶
columns: Make ‘FormattableColumn’ comparable
Update requirements URLs in tox config
Remove six
Update requirements
doc: Update bug tracker to storyboard
Remove references to setuptools
Add py38 package metadata
Remove Babel from lower-constraints.txt
Bump py37 to py38 in tox.ini
List setuptools under install_requires
Document KeyboardInterrupt exit code
Exit gracefully on Ctrl-C
change help action to use its own exception for exit
Add Python3 wallaby unit tests
Capturing argparse errors due to problem with cmd2
3.4.0¶
switch to stevedore for loading entry points
3.3.0¶
Remove cap on cmd2
Fix compatibility with new cmd2
3.2.0¶
drop mock from lower-constraints and requirements
Import command group support from osc-lib
Remove unneeded tests
Migrate to stestr
Remove python3.5
Stop to use the __future__ module
Switch to newer openstackdocstheme version
Use unittest.mock instead of third party mock
Add Python3 victoria unit tests
3.1.0¶
Re-add support for python 3.5
Fix nested argument groups with ignore conflict handler
adding missing releasenote for the drop of py27 support
3.0.0¶
[ussuri][goal] Drop python 2.7 support and testing
2.18.0¶
Add autoprogram_cliff_app_dist_name config opt
Switch to Ussuri jobs
Add contributors link to readme
2.16.0¶
Pin cmd2 back to <0.9 on all versions
Modify the help message of `-c`/`–column` parameter
Add Python 3 Train unit tests
Stop wildcard importing argparse
2.15.0¶
Add an errexit attribute to InteractiveApp to exit on command errors
Dropping the py35 testing
Updates for OpenDev transition
OpenDev Migration Patch
add python 3.7 unit test job
Missing carriage return in some cases, using -f json
2.14.1¶
Use template for lower-constraints
Change openstack-dev to openstack-discuss
2.14.0¶
Don’t try to run issubclass on non-classes
Removed unused err variable
Remove dead files
add lib-forward-testing-python3 test job
add python 3.6 unit test job
switch documentation job to new PTI
import zuul job settings from project-config
2.13.0¶
Assure executable name is kept when app is called as module
2.12.1¶
Build universal wheels
fix tox python3 overrides
support cmd2 0.9.1 in interactive mode
2.12.0¶
update cmd2 dependency to handle py3 only versions
Remove travis.yml
exclude cmd2 0.8.3 and update to 0.8.4
add lower-constraints job
fix typos in documentation
2.17.0¶
Allow finding command by partial name
Updated from global requirements
Remove the warning of getargspec removal
Align parsed() call with cmd2 versions >= 0.7.3
Fix cmd2 doc URL
add argparse conflict handler “ignore”
sphinxext: Warn if namespace or command pattern invalid
Zuul: Remove project name
Updated from global requirements
2.11.0¶
remove -s alias for –sort-columns
2.10.0¶
Remove empty files
Add ability to sort data by columns for list commands
Updated from global requirements
Remove tox_install.sh and just pass -c in tox
Replace legacy tips jobs with shiny new versions
Move doc requirements to doc/requirements.txt
do not require installing demo app to build docs
add support for legacy command name translation
Use in-tree cliffdemo app for docs build
Updated from global requirements
add bandit to pep8 job
sphinxext: Support cliff application
Fix PEP8 in gate
doc: Cleanup of demoapp doc
Generate demoapp CLI refernece
Fix codec error when format=csv
2.9.1¶
handle more varied top_level.txt files in distributions
2.9.0¶
show the distribution providing the command in help output
Update .gitignore
Docs update for more-hooks
Updates for stestr
Allow command hooks to make changes
Updated from global requirements
add actual column names to error msg Closes-Bug: 1712876
Alias exit to cmd2’s quit command to exit interactive shell
Updated from global requirements
Update doc on Sphinx integration process
Fix regexp for detecting long options
sphinxext: Correct issues with usage formatting
Move comments up in [extras] section of setup.cfg
Updated from global requirements
Make openstackdocstheme an optional doc dependency
Updated from global requirements
doc: minor cleanup
Update and replace http with https for doc links
doc: Remove blank lines between term and definition
trivial: Fix comments in sphinxext module
Use assertIsNone(…) instead of assertIs(None,…)
Updated from global requirements
2.8.0¶
add tests for display command classes and hooks
Run hooks for DisplayCommandBase
add –fit-width option to table formatter
sphinxext: Add ‘application’ option to the autoprogram directive
use openstackdocstheme html context
switch from oslosphinx to openstackdocstheme
Fix erroneous line in command hook test
make smart help formatter test deterministic
remove references to distribute in the docs
add before and after hooks
add hook for get_epilog
add hook for manipulating the argument parser
Updated from global requirements
pass the command name from HelpCommand
Adjust completenames tests for cmd2 0.7.3+
rearrange existing content to follow new standard
sphinext: Use metavar where possible
sphinxext: Use ‘argparse.description’, ‘argparse.epilog’
sphinxext: Allow configuration of ignorable options
sphinxext: Generate better usage examples
add cmd_name argument to CompleteCommand
Ensure python standard argparse module is loaded
Updated from global requirements
2.7.0¶
covert test suite to use testrepository
2.6.0¶
Updated from global requirements
Add smart help formatter for command parser
Add support for epilogs
Add ‘autoprogram-cliff’ Sphinx directive
.gitignore: Ignore eggs
2.5.0¶
Use Sphinx 1.5 warning-is-error
Update cmd2 fix to still work with 0.6.7
Remove support for py34
Fix broken test with cmd2 0.7.0
Updated from global requirements
Updated from global requirements
Updated from global requirements
Add newline if the output formatter is json
2.4.0¶
Add Constraints support
Remove tox environments that no longer work
Fix command order
Show team and repo badges on README
Add print_empty parameter
2.3.0¶
ignore Command docstring when looking for descriptions
let the Command get its one-liner description from a class attribute
flake8 fix
Replace dashes and colons when using bash formatter
Show entire command in error message
Updated from global requirements
Updated from global requirements
Fix spelling mistake
Add Python 3.5 classifier and venv
Updated from global requirements
Changed the home-page link
Add Apache 2.0 license to source file
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Clean imports in code
[doc]Fix URL for ‘setuptools entry points’
Fix a typo in comment
2.2.0¶
Avoid ASCII encoding errors when output is redirected
Fix cliff URLs in doc and demoapp
Remove announce.rst
Fix Command class doc typo
Updated from global requirements
Fixed broken link
add formattable columns concept
Add tests, cover more cases
Updated from global requirements
pep8: fix F405 error
command: make run() return take_action() value
2.1.0¶
Updated from global requirements
Update –max-width help
Add more test coverage for shell formatter
Add more test coverage for CSV formatter
Support multiple sub commands in completion
Factorize more test data
Factorize some test data
Factorize common test code
Factorize argparse importing
Updated from global requirements
Updated from global requirements
Add CLIFF_MAX_TERM_WIDTH envvar to complement –max-width
Fix prettytable.PrettyTable().max_width wrong usage
Fix AttributeError when entry point load failed
Distinguish no existed columns in ShowOne
Refactor HelpCommand
Updated from global requirements
Remove httplib2 from test-requirements.txt
Sync help message for –help
2.0.0¶
handle empty list in table formatter
1.17.0¶
Drop Python 2.6 support
Revert “app,command: disallow abbrev by default”
Fixes terminal_width on Windows
1.16.0¶
Updated from global requirements
remove openstack-common.conf
Add doc for deferred_help parameter
Fix pep8 failure
app,command: disallow abbrev by default
app: work-around abbrev
remove unnecessary dependency on argparse
Make verbose and quiet mutually exclusive
setup: fix Python versions classifiers
Don’t import unused logging
Don’t use non-existent method of Mock
Replace dashes with underscores in bash completion
Updated from global requirements
Resize columns to fit screen width
fix fuzzy search for same-distance case
Correct path to docs
only use unicodecsv for python 2.x
Fix test class docstring for py 3.5
1.15.0¶
Replace ‘r’ with ‘ ‘ for prettytable
Implement a json formatter in cliff
Implement a yaml formatter in cliff
Updated from global requirements
Improve help messages
1.14.0¶
Add csv formatter test
Fix encoding issue with the default python csv output
Remove py26 as a default test from tox.ini
Set demo app up with deferred help
Add command fuzzy matching
Updated from global requirements
Remove requirements.txt from tox.ini
Updated from global requirements
Updated from global requirements
Allow subcommands to accept –help when using ‘deferred_help’
Updated from global requirements
Fix logging config in demo app
Use base command for help test
Updated from global requirements
Include the automatically-generated changelog
Updated from global requirements
1.13.0¶
Fix object has no attribute debug error
Add some docs for list value formatter
Add value format for list command
Updated from global requirements
Remove run_cross_tests.sh
fix author contact details
Print help on help command
1.12.0¶
Do not check requirements when loading plugins
1.11.0¶
Catch and ignore error when locale can not be set
Uncap library requirements for liberty
Add documentation for the value formatter
Sort the fuzzy matches
Defer interactive import
Updated from global requirements
Update links to setuptools doc
1.10.1¶
Pass user command text to the Command object
Document print_help_if_requested method
1.10.0¶
Allow to call initialize_app when running –help
Hide prompt in batch/pipe mode
Correct completion in interactive mode
Change the argument passed to __init__ for help
Fix pep8 tests for lambda
Updated from global requirements
Fix git repo urls in tox.ini
Add deprecated attribute to commands
Workflow documentation is now in infra-manual
1.9.0¶
print the real error cmd argument
Updated from global requirements
1.8.0¶
Update link to docs in README
Bring doc build up to standard
Add pbr to installation requirements
Add more detail to the README
Updated from global requirements
Add docs environment to tox.ini
mock.assert_called_once() is not a valid method
Work toward Python 3.4 support and testing
warn against sorting requirements
1.7.0¶
Add release notes for 1.7.0
Fix stable integration tests
Updated from global requirements
Clean up default tox environment list
Do not allow wheels for stable tests
Set the main logger name to match the application
CSV formatter should use system-dependent line ending
Make show option compatible with Python 2.6
Use six.add_metaclass instead of __metaclass__
fixed typos found by RETF rules
The –variable option to shell format is redundant
Expose load_commands publicly
Fix wrong method name assert_called_once
Updated from global requirements
Fix pep8 failures on rule E265
1.6.1¶
Remove PrettyTable from documentation requirements
Fix a bug in ShellFormatter’s escaping of double quotes in strings
Import run_cross_tests.sh from oslo-incubator
add doc requirements to venv
1.6.0¶
Add max-width support for table formatter
Add value only output formattter
Update readme with links to bug tracker and source
Move pep8 dependency into pep8 tox test
Fix doc build with Python 2.6.x
Fix interactive mode with command line args
Update .gitreview after repo rename
Escape double quotes in shell formatter
Add unit test for shell formatter
Rename private attribute to avoid conflict
Sync with global requirements
Add integration tests with known consumers
update history for previous change
Make the formatters a private part of the command
1.5.2¶
move to pbr for packaging
1.5.1¶
add venv environ to tox config
1.5.0¶
Update history for next release
Move to stackforge
update history for stevedore change
Use stevedore to load formatter plugins
use entry points for completion plugins
Clean up recursive data handling
Always install complete command
attribution for bash completion work in history
code style fixes
code style fixes
various python code optimizations; shuffle I/O to shell classes
add bash complete
Enable debug in help mode
Pass the right args when pulling help from commands
prepare for 1.4.5 release
add pypy test env configuration
Update pyparsing dependency to 2.0.1
1.4.4¶
update for release 1.4.4
Re-raise Exception on debug mode
Add test to check if return code is 2 on unknown command
Return code 1 is already use, use code 2 instead
Reraise error on debug
Display better error message on unknown command, and return code 1
update announce file
1.4.3¶
prepare for 1.4.3 release
force python2.6 for that test env
Provide a default output encoding
1.4.2¶
prepare for release 1.4.2
1.4.1¶
prepare for release 1.4.1
Tighten requirements on cmd2
remove use of distribute in demo app
Fix default encoding issue with python 2.6
move tests into cliff package
add tests for dict2columns
Add dict2columns()
turn off distribute in tox
1.4¶
prep for release 1.4
fix flake8 issues with setup.py
remove the other traces of distribute
Remove explicit depend on distribute
update history for recent contribution
Expose instantiated interpreter instance and assign it to the ‘interpreter’ variable on the App instance
Update announcement for release 1.3.3
1.3.3¶
Prepare for release 1.3.3
declare support for python 3.3
cmd2 0.6.5.1 was released, and is compatible
Restore compatibility with Prettytable < 0.7.2
1.3.2¶
Prepare 1.3.2 release
Bump prettytable version accepted
add python 3.3 to tox
add style checks to tests
Add tests for underscore handling
use flake8 for style checks
update history.rst with convert_underscores change
make converting underscores optional in CommandManager
fix version in docs
1.3.1¶
prepare for 1.3.1 release
Fix PyParsing dependency
Fix typo
update history file for previous merge
Make list of application commands lexicographically ordered for help command in interactive mode
1.3¶
Prepare for 1.3 release
clean up history file
Document dependency on distribute
fix rst formatting in docstring
Update history file
Add tests for new functionality
Allow user to pass argparse_kwargs argument to the build_option_parser method. Those arguments gets passed to the ArgumentParser constructor
1.2.1¶
Set up for 1.2.1 release
Remove unused logging import
Fix problem with missing izip import in lister.py
Update announcement file for new release
1.2¶
Set up release 1.2
Add python2.6 support
remove debug print
remove tablib from test requirements
Fix logging default behavior
Fix interactive help command
1.1.2¶
bumping version number for release
remove the entry point data for the moved formatters
1.1.1¶
bump the version number to release a clean build
1.1¶
Update version and status values
Remove tablib formatters from core
fix version # in announcement
1.0¶
Doc updates for API changes. Clean up docstrings. Bump version to 1.0
merge API refactoring work
yet more pep8 work
fix help and tests for API change
Move take_action() to Command
more pep8 work
Refactor DisplayBase.run() to make it easier to override separate parts in subclasses. Rename get_data() to take_action() so subclasses that do something other than query for values have a clear place to override
pep8 cleanup
add attribution to history for the previous merge
Adding new line to tablib formatters
fix tags declaration
document updates for 0.7
disable py26 tests since I do not have an environment for running them
0.7¶
bump version
fix interactive command processor to handle multi-part commands, including some that use the same first word as existing commands
declare a couple of commands that use builtin command names but use multiple words
update changelog
set the interactive mode flag before initializing the app so subclasses can check it; handle initialization errors more cleanly
add travis-ci status image to developer docs
add travis-ci status image to README
add a requirements file for travis-ci
bogus commit to trigger ci build
add travis-ci.org configuration file
add version num to history file
0.6¶
bump version number
pass more details to initialize_app so subclasses can decide what sort of initialization to do
enable to use in Python2.6
0.5.1¶
remove hard version requirement to unbreak the OpenStack build
0.5¶
prepare for 0.5 release
document changes in history file
make the organization of the classes page a little more clear
update formatter documentation
fix yaml, html, and json show formatters
move the column option so it applies to “show” commands, too
add yaml, json, and html formatters
move the columns option out of the table formatter and into the lister base
make help list commands if none match exactly; fixes #8
require at least PrettyTable 0.6 for Python 3 support, fixes #7
changes in the prettytable API rolled into the python 3 support update
add a tox stage for pep8 testing
python 3.2 does not have a unicode type so ignore the error if it is missing
move todo list to github issues
update todo list
note about prettytable and python3
refactor ShowOne and Lister to share a common base class
more todo notes
tests for cliff.help
pass the App to the help action instead of passing just the command manager, since the app has the stout handle we want to use for printing the help
100% coverage of cliff.command
100% coverage for commandmanager.py
100% coverage of cliff.app module
let the interactive app set its own prompt
add tests for App and fix an issue with error handling and clean_up() in python 3
use the stderr handle given to the app instead of assuming the default
0.4¶
version number and release note updates for 0.4
documentation improvements
simplify packaging file for demo app
ignore files generated by dev environment
first pass at interactive app
note to add more options to csv formatter
add –prefix option for shell formatter; add docs for shell formatter
clean up help text for the other formatters
add shell output formatter for single items
add longer docstring to show how it is printed by help
update todo list
fix typo in blog post
0.3¶
update blog announcement
bump the version number and update the release notes
add ShowOne base class for commands that need to show properties of an individual object make the table formatter work as a single object formatter update the docs for the new features
handle an empty data set
correct the doctoring
fix version # in doc build script
0.2 release announcement post
0.2¶
bump version number
start a release log
update doc instructions for getting help
only show the one-line description in the command list; add a description of “help”
register a custom help action that knows how to print the list of commands available and a help command to generate help for the other commands
provide an internal API for applications to register commands without going through setuptools (used for help handler)
Use argparse for global arguments
fix doc build instructions
add some developer instructions and links ot the source repo and bug tracker
add announcement blog post source
advice from the distutils list was to stick with distribute for now
add Makefile with some common release operations
add example output to the list formatters
add a requirements file for doc build on readthedocs.org
add some real documentation
Add get_data() to the Lister base class
remove example that I was using as a syntax reminder
Add a link to the docs
while looking for documentation on entry points I realized distutils2 doesn’t seem to support them in the same way
fill in a real description of the project
start sphinx documentation
Added a bit more to the README
flesh out instructions for using the demo app
add a few more ideas
Added a README for the demo app
Added download url to both setup.py files and updated the demo setup.py with the new url
0.1¶
Added missing distribute setup file
move repo link to the dreamhost project
more to-do items
add demoapp to release package and clean up files being distributed from the test directory
notes about work still to be done
require PrettyTable package for the table formatter
improve error handling when loading formatter plugins
add a csv formatter for list apps
start creating a subclass of command for producing a list of output in different formats, using prettytable as an example formatter
remove unused import
better error handling of post-action hook in app
Pass the I/O streams into the app
add some error handling to App
make the log messages slightly easier to parse
tweak App api to make it easier to override and perform global actions before and after a command runs
use logging for controlling console output verbosity
clean up argv handling
install nose for tox tests
if no arguments are provided at all show the help message
replace default –help processor with one that includes the list of subcommands available
add debug option to nose
clean up dead code
include version info when configuring opt parse
Sample program with command plugins
first pass at an app class that can invoke commands
save commands using the name representation to be used in help output; don’t modify the input arg list when searching for the command; return the name of the command found so the app can stuff it into the help text of the command
start building command manager
change to apache license
add tox config file for tests
add distribute_setup.py so install works
add setup.py and package directory
add a basic description to readme
convert readme to rst
initial commit