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
docs
key toextras_require
in setup.pyupdate all outdated, non-MSL packages from PyPI
Changed
renamed the
authorize
function toauthorise
use
~/.msl/package-manager
as the HOME directory to save the GitHub token and the PyPI/GitHub caches.use 4x additive
--quiet
flag (for silencingDEBUG
,INFO
,WARNING
andERROR
logging levels)direct logging messages less than
WARNING
tosys.stdout
and greater than or equal toWARNING
tosys.stderr
the default name of a repository branch is now main for the
install
andupdate
commandsuse 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-reinstall
flag when updating a package from GitHub (previously this flag was included when updating from PyPI as well)include the
--no-deps
flag 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_options
kwarg to theinstall
,update
anduninstall
functionssupport for Python 3.8
can now create a new package that is not part of a namespace
authorise
as an alias forauthorize
for the CLIthe
--create
,--requires
and--ini
arguments 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.py
from 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.py
now 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
-D
flag for--disable-mslpm-version-check
use of a shell-style wildcard when specifying the package name(s)
authorize as an API function
Changed
renamed the optional
--path
argument to--dir
in the create commandrenamed the
path
kwarg todirectory
in the create methodrenamed the
-uc
flag to-u
for the--update-cache
flag
Fixed
running the
list
command did not align the Description text if the text continued on the next lineremoved the
--quiet
flag in the pip search msl- queryremoved the
--process-dependency-links
flag when installing packages (for compatibility with pip v19.0)
Version 2.2.0 (2019-01-06)
Added
the
--doctest-glob='*.rst'
anddoctest_optionflags = NORMALIZE_WHITESPACE
options to the setup.cfg file that is generated when a new package is createda
--disable-mslpm-version-check
flaga
-uc
alias for--upgrade-cache
Changed
renamed
test_envs.py
tocondatests.py
and made it compatible with an optional condatests.ini filedisable pip from checking for version updates by using the
--disable-pip-version-check
flagrename the
--detailed
flag to be--json
moved 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.Thread
instead ofmultiprocessing.pool.ThreadPool
when fetching info from GitHub since usingThreadPool
would 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_info
named 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
authorize
command)create a 3x additive
--quiet
flag (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_set
instead ofpip.get_installed_distributions
to get the information about the MSL packages that are installeduse logging instead of print statements
the function signature for
install
,uninstall
,update
andcreate
replace
--update-github-cache
and--update-pypi-cache
flags with a single--update-cache
flagrename function
print_packages()
toinfo()
rename module
helper.py
toutils.py
show the detailed info about the GitHub repos in JSON format
many changes to the documentation
Fixed
ApiDocs
insetup.py
failed 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
msl
but did not start withmsl-
Removed
the constants
IS_PYTHON2
,IS_PYTHON3
andPKG_NAME
Version 1.5.1 (2018-02-23)
Fixed
the
setup.py
file 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-cache
and--pypi
flags for the CLI
Changed
default “yes/no” choice for the CLI was changed to be “yes”
test_envs.py
has been updated to properly color the output text from pytest (v3.3.1) using colorama
Version 1.4.1 (2017-10-19)
Added
pip
as 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
--branch
and--tag
argument for theinstall
andupdate
commandsadd a
--path
and--yes
argument for thecreate
commandadded 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_list
function was renamed toprint_packages
updated 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-cache
flag for the CLIupdate documentation and docstrings
Fixed
the
msl
namespace got destroyed after uninstalling a package in Python 2.7running
python setup.py test
now setsinstall_requires = []
the
test_envs.py
file would hang if it had to “install eggs”
Removed
the
--release-info
flag for the CLI is no longer supported
Version 1.2.0 (2017-08-10)
add the
--all
flag for the CLIinclude
--process-dependency-links
argument forpip install
create 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
\n
instead 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
--yes
and--release-info
flags for CLIcreate documentation and unit tests
many bug fixes
Version 0.1.0 (2017-02-19)
initial release