-
User facing
- Add payload and test for randomize, lglob, collect_missing_docs, caller_name, my_name, isnum_str, cmkdir
- Add tests for git_hash, git_last_tag, git_current_branch, git_status
- Support list value in sep arg to tbx.contents()
- Improved doc strings for the functions
- Simplified README.md
-
Internal
- Test coverage tracking and reporting
- Simplify git_current_branch()
- Test for git_hash that does not depend on a specific hash value
- .gitignore TAGS, .tbx-cov, etc.
- Add 'clean' target to Makefile to remove emacs leftover files
- Update version string
-
User Facing
- Applying the unlicense: "This is free and unencumbered software released into the public domain. For more information, please refer to http://unlicense.org/" (LICENSE, README.md, setup.py, tbx/init.py, tbx/verinfo.py, test/conftest.py, test/test_tbx.py)
-
Internal
- .gitignore egg-info directories and file .project (.gitignore)
- Upgraded pip, install . editably for development (requirements.txt)
- Set minimum python version, deliver data files, set the license (setup.py)
- Drop Pipfile, Pipfile.lock
- Test both Python 3.6 and 3.8 in continuous integration (on travis)
- Add tests and payload for segments argument in tbx.basename() and tbx.dirname()
- Argument 'level' in tbx.dirname() is deprecated in favor of 'segments'. Argument 'level' will be removed in release 1.2.0.
- Document missing functions in README.md, moving examples up close to their respective function descriptions
- Add list of projects that depend on this one to the bottom of README.md
- Avoid "import this" to get the Zen of Python -- just hardcode it internally.
- Remove obsolete imports.
- Update .travis.yml to drop support for Python 2.7.
- Don't build for Python 2.6.
- Fix call to io.StringIO in test_tbx.get_this() to not attempt to initialize the StringIO object -- Python 2.7 was complaining about this.
- Stringify the arguments to tbx.exists() to keep Python 2.7 happy.
- Update .travis.yml to only build tagged versions and branch 'travis'.
- Back in 2018, I wrote random_path() to generate random relative paths for testing tbx.abspath(), tbx.exists(), and tbx.basename(). This was fine on my machine where I own all the files. It was not such a good idea on, say, Travis' (the CI service) machines where my code has no business peeking over into the directories of other processes. I have rewritten those tests to behave more responsibly and predictably.
- On Travis, only build branches 'master' and 'travis'
- Remove fx_deprecated, the tests that used it, and the old tbx.dispatch() functionality the tests covered
- Tweaks to keep flake happy with the code quality
- Remove an unused module (warnings)
- Prefix strings containing escapes with 'r'
- Remove version.py from top level directory
- Update setup.py, tbx/init.py, and tests to import verinfo from tbx
- Add tests and support for tbx.abspath(), tbx.basename(), and tbx.exists(). (Requires function random_path for testing.)
- Ensure all tests are debuggable with --dbg
- Deprecate dispatch(), dispatch_help() and update tests to verify the deprecation warnings.
- Bug in git_status due to loss of meaningful leading whitespace in 'git status --porc' output.
- Write git functions and use them in test_deployable()
- Document and add examples for Error() and expand().
- Rename expanduser() to _expanduser() to indicate that it is intended to be internal to the libary.
- Improve legibility of CHANGELOG.md by separating version and date.
- tbx.run() used to return a byte array, now it always returns a str.
- Starting to use pipenv (added Pipfile, Pipfile.lock).
- Added test to verify that processes spawned under tbx.envset() reflect the adjusted environment.
- Update tbx.expand() to expand '~' even when it's not at the beginning of the input (which is what os.path.expanduser() does).
- Fix for breakage when setting a non-existent env var to None. We were attempting to del a key from os.environ that wasn't there.
- Hold the version in version.py rather than hard-coding it in setup.py. In setup.py, make use of version._v.
- Add test to verify that version._v matches the last git tag.
- Rearrange the tests: lint first, version last.
- Improving CHANGELOG legibility
- Use coverage with pytest to see how completely the target code is tested
- Test tweaks
- More .gitignore items: .env, venv, .coverage*, ...
- Use tox with travis to cover more Python versions
- Add '--all' option to pytest
- Add CHANGELOG.md (this file)
- Wordsmithed README.md, separated function descriptions from examples
- New functions: contents(), dirname(), dispatch(), dispatch_help(), fatal(), revnumerate(), run()
- New tests for contents(), dirname(), dispatch(), dispatch_help(), envset(), fatal(), revnumerate(), run()
- New class: Error
- Configure pytest: new file conftest.py
- Use flake8 to assess code quality
- Add function descriptions in README.md
- Add Travis config file
- Ignore emacs work files in .gitignore
- Add version in setup.py
- Make package directory explicit
- Getting setup, adding .gitignore, etc.
- Repo started