All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
installnow raises a helpfulValueErrorwhen given a VCS URL (git+,hg+,svn+,bzr+) instead of an opaque parser error, explaining that micropip only installs prebuilt wheels. #277
- Fixed content-type header parsing to handle PyPI mirrors that include charset parameters.
This improves compatibility with mirrors that return headers like
application/json; charset=utf-8. #261
- micropip now accepts
pyemscriptenplatform wheels in addition topyodideplatform wheels, following the PEP 783 standard. #270
micropip.installnow supports extras in custom download locations through thepkg[extras] @ https://example.com/pkg-1.0.0-py3-none-any.whlsyntax. #257
micropip.freeze()now updates the URLs inside the lockfile to absolute URLs. This behavior is consistent with thelockfileURLbehavior change in Pyodide 0.28.0. #241
- Added
reinstallparameter to micropip.install to allow reinstalling a package that is already installed #64
-
micropip now respects the
yankedflag in the PyPI Simple API. #208 -
Fixed a bug that relative URLs in some custom package indexes were not correctly resolved. #230
-
When multiple index URLs are given, micropip.install will now ignore CORS error when one index URL fails to find a package, and will fallback to the next index URL. #225
-
Fix a bug that prevented non-standard relative urls to be treated as such (the ones that starts with
../or./) #174 -
Fixed an error when calling
micropip.installwithdeps=Falseis set. #187
micropipnow vendorspypa/packagingfor better reliability. #178micropip.installadds optionalconstraints, similar topip install -c, which refine the version or direct URLs of requested packages and their dependencies. This includes built-in packages, which are now installed after any requested or constrained external packages. #181micropip.set_constraintssets default constraints for later calls tomicropip.installthat do not specify constraints. #181
- Added support for PEP-658. #139
- Fix a bug that prevented some wasm32 wheel to be recognized as compatible with pyodide #159
- Fixed bug that prevented package installation from
file:path in Node.js environment. #155
micropip.installnow works with simple http indexes that use relative links when referencing wheels. #150
micropip.install(index_urls=[...])parameter now supports the special value"PYPI"to refer thehttp://pypi.org/simple/index instead of having to type the full url.
-
micropip.install and micropip.uninstall now accepts
verbosity=Nonewhich does not overwrite a default log level. #132 -
When multiple index urls are given, micropip.install will now correctly fallback to the next index url when one index url fails to find a package. #129
- micropip.install can now locate shared libraries in
<pkg>.libsdirectory. This is consistent with the behavior of pyodide.loadpackage. #97
-
When custom index URLs are set by
micropip.set_index_urlsor bymicropip.install(index_urls=...), micropip will now query packages from the custom index first, and then from pyodide lockfile. #83 -
Made micropip.freeze correctly list dependencies of manually installed packages. #79
- Added
verboseparameter to micropip.install and micropip.uninstall #60 - Added
index_urlsparameter to micropip.install to support installing from custom package indexes. #74 - Added
micropip.set_index_urlsto support installing from custom package indexes. #74 - Added support for Simple API (PEP 503 / PEP 691) #75
- Fixed
micropip.add_mock_packageto work with Pyodide>=0.23.0 #66
- The default index URL is changed to https://pypi.org/simple #75
- Added
micropip.uninstallto uninstall packages #55
- When there is an invalid version on PyPi (defined as unparsable
by
packaging.version.Version) that version is now skipped. Otherwise a single invalid version would make the package uninstallable, following removal ofLegacyVersionin packaging#407.
- micropip now depends on packaging>=0.23.0 #49
- Support for adding mock packages, for use where something is a dependency and you don't need it, or you need only a limited subset of the package. This is done using
micropip.add_mock_package,micropip.remove_mock_packageandmicropip.list_mock_packages. Packages installed like this will be skipped by dependency resolution when you later install real packages. #26
- When multiple compatible builds for a package exist, the best
build is now installed, as determined by the order of tags in
packaging.tags.sys_tags. For example, if a package has two pure Python wheels, one taggedpy30and another taggedpy35, thepy35wheel will now always get installed. #34 micropip.installnow supports installing packages by URLs with query parameters #33
Initial standalone release. For earlier release notes, see the Pyodide project changelog.