| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Importing pkg_resources has a side-effect of scanning every installed
distribution on sys.path to load the metadata, especially the entry
points defined in the packages. This can have a significant
launch-time cost for command line applications when there are a lot of
distributions to scan.
Since cmd2 is only using pkg_resources to find the version of the
installed package, pkg_resources can be replaced with
importlib.metadata. The implementation in the new library is
significantly faster because it goes immediately to the metadata file
for the requested distribution, instead of scanning all of them. There
are also no import-time side-effects.
importlib.metadata is a new standard library module starting with
python 3.8. For earlier versions, a compatible library has been
released to PyPI as 'importlib_metadata'. This change adds the new
dependency with a qualifier so that it is only applied to older
versions of python, and then updates the places that were importing
pkg_resources to look for the different versions of the new library
instead. The documentation configuration is changed to import cmd2
itself to get its version, since the package has to be installed for
the metadata to be available anyway.
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
|
|
|
|
|
|
|
| |
Also:
- Added isort to Pipenv dev
- Added setup.cfg to make it easy to run flake8, doc8, and isort directly from the command line without using invoke
- Ran isort to sort includes
|
|
|
|
|
| |
Also:
- Deal with warnings when building docs with Sphinx 3.0.0
|
| |
|
| |
|
| |
|
|
|
|
| |
During recent work to upgrade the format of the Sphinx documentation, the license the docs are copyright under was accidentally changed from MIT to CreativeCommons. This restores the documentation to be under an MIT license so there is a single license governing both code and documentation.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit contains a very large number of trivial changes in order to fix flake8 errors and warnings. Predominantly these are whitespace changes.
Additionally, the build for Python 3.7 on TravisCI has been tweaked to fail if there are any flake8 errors using the following commandline:
* flake8 . --count --ignore=E252 --max-complexity=31 --max-line-length=127 --show-source --statistics
NOTE: In the future the max cyclomatic complexity should be lowered, but some improvements need to be made first.
One flake8 error is being ignored entirely:
* E252 missing whitespace around parameter equals
* ignored because it doesn't correctly deal with default argument values after a type hint
A few flake8 errors are being selectively ignored in certain files:
* C901 fuction is too complex
* ignored in argparse_completer.py because the complex code is an override of argparse complexity
* E302 expected 2 blank lines after ...
* ignored in all unit test files for convenience
* F401 module imported but unused
* ignored in cmd2/__init__.py because imports are for convenience of cmd2 developers and backwards compatibility
* F821 undefined name
* ignored in cmd2 script files which are intended to run only within cmd2 applications via pyscript where "app" and "cmd" are defined
|
|
|
|
|
| |
Also:
- Made alias_startup.py example robust as to what directory it is launched from
|
| |
|
|
|
|
|
|
| |
Also:
- Bumped version to 0.9.4
- Updated info in Readme and Sphinx docs to reflect new dependency on attrs
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Also:
- Bumped version to 0.9.0
|
| |
| |
| |
| |
| | |
- Bumped version to 0.8.5
- Added details to CHANGELOG.md regarding recent changes
|
| | |
|
| | |
|
|/
|
|
|
| |
Also:
- Bumped version to 0.8.4
|
| |
|
|
|
|
|
|
|
|
| |
Added example showing how to display tabular data in a cmd2 application.
Also:
- Updated CHANGELOG with data on all PRs since last release
- Bumped version to 0.8.2 in preparation for next release
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Including an example and info in the Sphinx docs
Also:
- Created CHANGELOG entry for 0.8.1 release
- Added info to README about new sub-menu feature
- Bumped version to 0.8.1
TODO:
- Added a unit test for the persistent readline history feature
|
|
|
|
| |
Also bumped version to 0.8.0.
|
| |
|
|
|
|
|
|
|
|
|
| |
Also included a number of minor maintenance updates:
- Bumped version to 0.7.8 in preparation for upcoming release
- Updated Readme.md to add link to slides from recent Florida PyCon talk about cmd2
- Updated documentation on integrating cmd2 with other event loops to use newer runcmds_plus_hooks() method instead of legacy onecmds_plus_hooks method which doesn't properly deal with load commands
- Deleted old files which were used to prepare for a PyCon 2010 presentation
- Updated ChangeLog regarding this bug fix
|
|
|
|
|
|
| |
regexes
Also bumped version from 0.7.7a to 0.7.7 in preparation for eventual next release.
|
|
|
|
| |
This is to help distinguish latest code in GitHub from a version installed via pip from PyPI
|
| |
|
| |
|
| |
|
|
|
|
| |
A few other miscellaneous minor tweaks for whitespace and such.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Also:
- Added locals_in_py to settable parameters to match documentation.
- Added pycon2010 slides back into doc build since they are referenced with :doc:
- Fixed some references in the documentation
- Updated unit tests accordingly
|
|
|
|
| |
The docs now use the custom HTML theme from Read the Docs so that when they are built locally they look the same as they will at https://cmd2.readthedocs.io/en/latest/
|
|
|
|
|
|
|
|
|
| |
- Updated .gitignore for code coverage result dirs from coverage and pytest-cov
- Updated README.rst to include badge for latest docs from readthedocs.io
- Updated setup.py to have updated info for the next time a release is made to PyPI
- Documentation updates:
- Bumped version in conf.py to 0.7
- Updated links in index.rst and alternatives.rst
|
| |
|
|
|
|
| |
compatibility via use of the six module.
|
| |
|
| |
|
|
|