Release Notes
Version 2.5.4 (2023-06-16)
This release will be the last to support Python 2.7, 3.5, 3.6 and 3.7
Version 2.5.2 (2021-11-08)
Added
support for Python 3.10
Fixed
increased the GitHub API pagination to 100 repositories per page
issue #8 - Invalid URL fragment with pip dependency resolver
Version 2.5.1 (2021-08-24)
Fixed
issue #7 - Updating non-MSL packages can install the wrong version
Version 2.5.0 (2021-05-17)
Added
install or update a package from the hash value of a commit
a
docskey toextras_requirein setup.pyupdate all outdated, non-MSL packages from PyPI
Changed
renamed the
authorizefunction toauthoriseuse
~/.msl/package-manageras the HOME directory to save the GitHub token and the PyPI/GitHub caches.use 4x additive
--quietflag (for silencingDEBUG,INFO,WARNINGandERRORlogging levels)direct logging messages less than
WARNINGtosys.stdoutand greater than or equal toWARNINGtosys.stderrthe default name of a repository branch is now main for the
installandupdatecommandsuse the conda-forge channel (instead of the anaconda channel) when installing packages in condatests.py
Version 2.4.1 (2021-02-20)
Added
support for Python 3.9
Changed
only include the
--force-reinstallflag when updating a package from GitHub (previously this flag was included when updating from PyPI as well)include the
--no-depsflag if no extras require option is specified when updating a package from GitHubno longer use the XMLRPC API to get the information about the MSL packages that are available on PyPI
Version 2.4.0 (2020-04-20)
Added
the
pip_optionskwarg to theinstall,updateanduninstallfunctionssupport for Python 3.8
can now create a new package that is not part of a namespace
authoriseas an alias forauthorizefor the CLIthe
--create,--requiresand--iniarguments tocondatests.py
Changed
make the order of the log messages consistent: pypi -> github -> local
use a personal access token instead of a password for authentication to the GitHub API (authenticating to the GitHub API using a password is deprecated)
omit the examples directory from the coverage report and from pytest
Fixed
call
getpass.getuser()if git is installed but the user.name parameter has not been defineddo not split the text in the Description field to the next line in the middle of a word for the
info()functioncan now run
condatests.pyfrom any conda environment not just the base environmentcheck if an MSL package was installed via pip in editable mode
issue #6 - add support for specifying a version number when installing/updating
issue #5 - add support for specifying an extras_require value when installing/updating
issue #4 - error updating a package if the installed name != repository name
the tests_require list in
setup.pynow specifies zipp<2.0, pyparsing<3.0 and pytest<5.0 for Python 2.7
Removed
support for Python 3.4
Version 2.3.0 (2019-06-10)
Added
ability to install, update, create and uninstall MSL packages that do not start with
msl-the shorter
-Dflag for--disable-mslpm-version-checkuse of a shell-style wildcard when specifying the package name(s)
authorize as an API function
Changed
renamed the optional
--pathargument to--dirin the create commandrenamed the
pathkwarg todirectoryin the create methodrenamed the
-ucflag to-ufor the--update-cacheflag
Fixed
running the
listcommand did not align the Description text if the text continued on the next lineremoved the
--quietflag in the pip search msl- queryremoved the
--process-dependency-linksflag when installing packages (for compatibility with pip v19.0)
Version 2.2.0 (2019-01-06)
Added
the
--doctest-glob='*.rst'anddoctest_optionflags = NORMALIZE_WHITESPACEoptions to the setup.cfg file that is generated when a new package is createda
--disable-mslpm-version-checkflaga
-ucalias for--upgrade-cache
Changed
renamed
test_envs.pytocondatests.pyand made it compatible with an optional condatests.ini filedisable pip from checking for version updates by using the
--disable-pip-version-checkflagrename the
--detailedflag to be--jsonmoved the GitHub authorization file to the .msl directory and renamed the file to be .mslpm-github-auth
Fixed
improved error handling if there is no internet connection
use
threading.Threadinstead ofmultiprocessing.pool.ThreadPoolwhen fetching info from GitHub since usingThreadPoolwould cause some Python versions to hang (see https://bugs.python.org/issue34172)colorama was not resetting properly
Version 2.1.0 (2018-08-24)
Added
autodoc_default_options to conf.py for Sphinx 1.8 support
nitpicky to conf.py
the
version_infonamed tuple now includes a releaselevelcan now update the MSL Package Manager using msl update package-manager
support for Python 3.7
Removed
support for Python 3.3
Version 2.0.0 (2018-07-02)
Added
ability to make authorized requests to the GitHub API (created
authorizecommand)create a 3x additive
--quietflag (for silencing WARNING, ERROR and CRITICAL logging levels)show a message if the current version of the MSL Package Manager is not the latest release
.pytest_cache/andjunk/directories are now in .gitignore
Changed
use
pkg_resources.working_setinstead ofpip.get_installed_distributionsto get the information about the MSL packages that are installeduse logging instead of print statements
the function signature for
install,uninstall,updateandcreatereplace
--update-github-cacheand--update-pypi-cacheflags with a single--update-cacheflagrename function
print_packages()toinfo()rename module
helper.pytoutils.pyshow the detailed info about the GitHub repos in JSON format
many changes to the documentation
Fixed
ApiDocsinsetup.pyfailed to run with Sphinx >1.7.0bug if the GitHub repo does not contain text in the Description field
searching PyPI packages showed results that contained the letters
mslbut did not start withmsl-
Removed
the constants
IS_PYTHON2,IS_PYTHON3andPKG_NAME
Version 1.5.1 (2018-02-23)
Fixed
the
setup.pyfile is now compatible with Sphinx 1.7.0
Version 1.5.0 (2018-02-15)
Added
the default install/update URI is PyPI (and uses the GitHub URI if the package does not exist on PyPI)
--update-pypi-cacheand--pypiflags for the CLI
Changed
default “yes/no” choice for the CLI was changed to be “yes”
test_envs.pyhas been updated to properly color the output text from pytest (v3.3.1) using colorama
Version 1.4.1 (2017-10-19)
Added
pipas a dependency
Changed
modified the template that is used for creating a new package:
the setup.py file is now self-contained, i.e., it no longer depends on other files to be available
removed requirements.txt and requirements-dev.txt so that one must specify the dependencies in install_requires
added the ApiDocs and BuildDocs classes from docs/docs_commands.py and removed docs/docs_commands.py
print the help message if no command-line argument was passed in
updated the documentation and the docstrings
Version 1.4.0 (2017-09-19)
Added
add a
--branchand--tagargument for theinstallandupdatecommandsadd a
--pathand--yesargument for thecreatecommandadded more functions to the helper module for the API:
check_msl_prefix
create_install_list
create_uninstall_list
get_zip_name
print_error
print_info
print_warning
print_install_uninstall_message
sort_packages
Changed
the
print_listfunction was renamed toprint_packagesupdated the documentation and the docstrings
Version 1.3.0 (2017-08-31)
Added
use a thread pool to request the version number of a release for MSL repositories on GitHub
cache the package information about the GitHub repositories
add an
--update-github-cacheflag for the CLIupdate documentation and docstrings
Fixed
the
mslnamespace got destroyed after uninstalling a package in Python 2.7running
python setup.py testnow setsinstall_requires = []the
test_envs.pyfile would hang if it had to “install eggs”
Removed
the
--release-infoflag for the CLI is no longer supported
Version 1.2.0 (2017-08-10)
add the
--allflag for the CLIinclude
--process-dependency-linksargument forpip installcreate upgrade alias for update
bug fixes and edits for the print messages
Version 1.1.0 (2017-05-09)
update email address to “measurement”
previous release date (in CHANGES.rst) was yyyy.dd.mm should have been yyyy.mm.dd
previous release should have incremented the minor number (new update feature)
Version 1.0.3 (2017-05-09)
add update command
run pip commands using sys.executable
Version 1.0.2 (2017-03-27)
split requirements.txt using
\ninstead of by any white spaceremove unnecessary “import time”
Version 1.0.1 (2017-03-03)
show help message if no package name was specified for “create” command
remove unused ‘timeout’ argument from test_envs.py
reorganize if-statement in “list” command to display “Invalid request” when appropriate
Version 1.0.0 (2017-03-02)
separate install, uninstall, create and list functions into different modules
fix MSL namespace
edit test_envs.py to work with colorama and update stdout in real time
add
--yesand--release-infoflags for CLIcreate documentation and unit tests
many bug fixes
Version 0.1.0 (2017-02-19)
initial release