Lines Matching +full:pip +full:- +full:requirements +full:- +full:file
1 :::{default-domain} bzl
6 This is a human-friendly changelog in a keepachangelog.com style format.
7 Because this changelog is for end-user consumption of meaningful changes,only
20 * Particular sub-systems are identified using parentheses, e.g. `(bzlmod)` or
23 <!--
26 {#v0-0-0}
31 {#v0-0-0-changed}
35 {#v0-0-0-fixed}
39 {#v0-0-0-added}
43 {#v0-0-0-removed}
46 -->
48 {#v0-0-0}
53 {#v0-0-0-changed}
57 {#v0-0-0-fixed}
61 {#v0-0-0-added}
65 {#v0-0-0-removed}
69 {#v1-0-0}
70 ## [1.0.0] - 2024-12-05
74 {#v1-0-0-changed}
92 * (bzlmod) `pip.parse.parse_all_requirements_files` attribute has been removed.
95 * (deps) protobuf 29.0-rc2 (workspace; bzlmod already specifying that version).
100 * (binaries/tests) For {obj}`--bootstrap_impl=script`, a binary-specific (but
106 {#v1-0-0-fixed}
109 * (pypi): Correctly handle multiple versions of the same package in the requirements
112 * (uv): Correct the sha256sum for the `uv` binary for aarch64-apple-darwin.
114 * (binaries/tests) ({obj}`--bootstrap_impl=scipt`) Using `sys.executable` will
119 * (pypi): {bzl:obj}`compile_pip_requirements` no longer fails on Windows when `--enable_runfiles` i…
120 …uirements` now correctly updates files in the source tree on Windows when `--windows_enable_symlin…
125 first `sys.path` entry when using {obj}`--bootstrap_impl=script`
127 {#v1-0-0-added}
145 {#v1-0-0-removed}
149 * (bzlmod): Remove `DEFAULT_PYTHON_VERSION` from `interpreters.bzl` file. If
150 you need the version, please use it from the `versions.bzl` file instead.
152 {#v0-40-0}
153 ## [0.40.0] - 2024-11-17
157 {#v0-40-changed}
161 {#v0-40-fixed}
163 * (rules) Don't drop custom import paths if Bazel-builtin PyInfo is removed.
166 {#v0-40-added}
170 {#v0-40-removed}
172 * (publish) Remove deprecated `requirements.txt` for the `twine` dependencies.
180 {#v0-39-0}
181 ## [0.39.0] - 2024-11-13
185 {#v0-39-0-changed}
187 * (deps) bazel_skylib 1.6.1 -> 1.7.1
188 * (deps) rules_cc 0.0.9 -> 0.0.14
189 * (deps) protobuf 24.4 -> 29.0-rc2
190 * (deps) rules_proto 6.0.0-rc1 -> 6.0.2
191 * (deps) stardoc 0.6.2 -> 0.7.1
200 all of the given `requirements.txt` files are now parsed by `default`, to
202 {bzl:obj}`pip.parse.extra_hub_aliases`, which will be removed or made noop in
205 [20241016]: https://github.com/indygreg/python-build-standalone/releases/tag/20241016
207 {#v0-39-0-fixed}
213 {#v0-39-0-added}
218 selection of the free-threaded toolchains.
222 {#v0-39-0-removed}
226 {#v0-38-0}
227 ## [0.38.0] - 2024-11-08
231 {#v0-38-0-changed}
239 * (whl_library) Remove `--no-build-isolation` to allow non-hermetic sdist builds
242 …[`pip.parse#extra_pip_args`](https://rules-python.readthedocs.io/en/latest/api/rules_python/python…
243 * (pip.parse) {attr}`pip.parse.whl_modifications` now normalizes the given whl names
245 * (bzlmod) `pip.parse` spoke repository naming will be changed in an upcoming
249 repository directly and make use of {bzl:obj}`pip.parse.extra_hub_aliases`
252 {#v0-38-0-fixed}
256 * (pypi) When {attr}`pip.parse.experimental_index_url` is set, we need to still
261 same lock file irrespective if `experimental_index_url` is set by any module
263 `pip.parse.parse_all_requirements_files`, which will become the
269 {#v0-38-0-added}
271 * (publish) The requirements file for the `twine` publishing rules have been
274 and one extra file `requirements_universal.txt` if you prefer a single file.
275 The `requirements.txt` file may be removed in the future.
277 * (pip.parse) {attr}`pip.parse.extra_hub_aliases` can now be used to expose extra
280 * (bzlmod) `pip.parse` now supports `whl-only` setup using
281 `download_only = True` where users can specify multiple requirements files
282 and use the `pip` backend to do the downloading. This was only available for
283 users setting {bzl:obj}`pip.parse.experimental_index_url`, but now users have
286 {#v0-37-2}
287 ## [0.37.2] - 2024-10-27
291 {#v0-37-2-fixed}
297 {#v0-37-1}
298 ## [0.37.1] - 2024-10-22
302 {#v0-37-1-fixed}
304 * (rules) Setting `--incompatible_python_disallow_native_rules` no longer
308 {#v0-37-0}
309 ## [0.37.0] - 2024-10-18
313 {#v0-37-0-changed}
318 can be temporarily restored by setting {obj}`--add_srcs_to_runfiles=enabled`,
327 {obj}`--@rules_python//python/config_settings:exec_tools_toolchain=disabled`.
330 {#v0-37-0-fixed}
335 * (bzlmod) The default value for the {obj}`--python_version` flag will now be
337 * (bzlmod) correctly wire the {attr}`pip.parse.extra_pip_args` all the
340 {attr}`pip.parse.experimental_index_url`. See
342 * (whl_filegroup): Provide per default also the `RECORD` file
343 * (py_wheel): `RECORD` file entry elements are now quoted if necessary when a
346 case where a requirement has many `--hash=sha256:...` flags
355 * (pip) Skip patching wheels not matching `pip.override`'s `file`
358 outside of the `//:BUILD.bazel` file.
361 {#v0-37-0-added}
372 * `3.8 -> 3.8.20`
373 * `3.9 -> 3.9.20`
374 * `3.10 -> 3.10.15`
375 * `3.11 -> 3.11.10`
376 * `3.12 -> 3.12.7`
379 when {bzl:attr}`pip.parse.experimental_index_url` is set.
383 [20241008]: https://github.com/indygreg/python-build-standalone/releases/tag/20241008
385 {#v0-37-0-removed}
387 * (precompiling) {obj}`--precompile_add_to_runfiles` has been removed.
388 * (precompiling) {obj}`--pyc_collection` has been removed. The `pyc_collection`
389 attribute now bases its default on {obj}`--precompile`.
393 {#v0-36-0}
394 ## [0.36.0] - 2024-09-24
398 {#v0-36-0-changed}
400 * (gazelle): Update error messages when unable to resolve a dependency to be more human-friendly.
401 * (flags) The {obj}`--python_version` flag now also returns
408 the {obj}`--python_version` flag will determine the value. This allows
409 specifying the build-time Python version for the
416 {#v0-36-0-fixed}
418 * (whl_library): Remove `--no-index` and add `--no-build-isolation` to the
419 `pip install` command when installing a wheel from a local file, which happens
422 platform non-dependent hashes in the lock file when the requirement markers need
426 re-evaluated when the said files change.
428 * (toolchain) Omit third-party python packages from coverage reports from
431 * (gazelle) Correctly resolve deps that have top-level module overlap with a gazelle_python.yaml de…
432 * (rules) Make `RUNFILES_MANIFEST_FILE`-based invocations work when used with
433 {obj}`--bootstrap_impl=script`. This fixes invocations using non-sandboxed
434 test execution with `--enable_runfiles=false --build_runfile_manifests=true`.
436 * (py_wheel) Fix incorrectly generated `Required-Dist` when specifying requirements with markers
439 bootstrap .py file when using {obj}`--bootstrap_impl=script`
443 {#v0-36-0-added}
450 executable-specific information useful for packaging an executable or
457 allowing values that are other than `1`, which has been hard-coded up until
460 the `patch_strip` explicitly to `1` if you depend on this value - in the
465 {#v0-36-0-removed}
471 {#v0-35-0}
472 ## [0.35.0] - 2024-08-15
476 {#v0-35-0-changed}
485 * `3.12 -> 3.12.4`
487 disabling it (Requires {obj}`--bootstrap_impl=script`)
490 {#v0-35-0-fixed}
500 * (rules) Signals are properly received when using {obj}`--bootstrap_impl=script`
501 (for non-zip builds).
503 * (rules) Fixes Python builds when the `--build_python_zip` is set to `false` on
505 * (rules) Fixes Mac + `--build_python_zip` + {obj}`--bootstrap_impl=script`
507 * (rules) User dependencies come before runtime site-packages when using
508 {obj}`--bootstrap_impl=script`.
510 * (rules) Version-aware rules now return both `@_builtins` and `@rules_python`
513 * (pip) Fixed pypi parse_simpleapi_html function for feeds with package metadata
518 * (pip) Correctly use the `sdist` downloaded by the bazel downloader when using
529 in the same directory as the main file.
532 {#v0-35-0-added}
534 * (rules) `compile_pip_requirements` supports multiple requirements input files as `srcs`.
536 disabling it (Requires {obj}`--bootstrap_impl=script`)
540 [`pytest-bazel`][pytest_bazel], [rules_python_pytest] or `rules_py`
545 * (pypi) Support env markers in requirements files. Note, that this means that
546 if your requirements files contain env markers, the Python interpreter will
548 downloading an interpreter (for hermetic-based builds) or cause non-hermetic
553 [pytest_bazel]: https://pypi.org/project/pytest-bazel
554 [20240726]: https://github.com/indygreg/python-build-standalone/releases/tag/20240726
556 {#v0-34-0}
557 ## [0.34.0] - 2024-07-04
561 {#v0-34-0-changed}
564 * (bzlmod): optimize the creation of config settings used in pip to
573 {#v0-34-0-fixed}
597 and drop the defaults from the lock file.
598 * (whl_library) Correctly handle arch-specific dependencies when we encounter a
602 * (pip) Fixed crash when pypi packages lacked a sha (e.g. yanked packages)
604 {#v0-34-0-added}
606 * (toolchains) {obj}`//python/runtime_env_toolchains:all`, which is a drop-in
609 …allows altering default Gazelle label format to third-party dependencies useful for re-using Gazel…
612 {#v0-34-0-removed}
614 * (pip): Removes the `entrypoint` macro that was replaced by `py_console_script_binary` in 0.26.0.
616 {#v0-33-2}
617 ## [0.33.2] - 2024-06-13
621 {#v0-33-2-fixed}
624 To enable it, set {obj}`--//python/config_settings:exec_tools_toolchain=enabled`.
629 {#v0-33-1}
630 ## [0.33.1] - 2024-06-13
634 {#v0-33-1-fixed}
636 * (py_binary) Fix building of zip file when using `--build_python_zip`
639 {#v0-33-0}
640 ## [0.33.0] - 2024-06-12
644 {#v0-33-0-changed}
646 * (deps) Upgrade the `pip_install` dependencies to pick up a new version of pip.
652 marked as `reproducible` and will not include any lock file entries from now
655 Introduced a new Go-based helper leveraging tree-sitter for syntax analysis.
656 Implemented the use of `pypi/stdlib-list` for standard library module verification.
657 * (pip.parse): Do not ignore yanked packages when using `experimental_index_url`.
659 * (pip.parse): Add references to all supported wheels when using `experimental_index_url`
668 * (bzlmod) The `pythons_hub//:interpreters.bzl` no longer has platform-specific
673 {#v0-33-0-fixed}
680 * (whl_library): Use _is_python_config_setting_ to correctly handle multi-python
686 * (bzlmod) remove `pip.parse(annotations)` attribute as it is unused and has been
688 * (pip) Correctly select wheels when the python tag includes minor versions.
690 * (pip.parse): The lock file is now reproducible on any host platform if the
692 chain. To make the lock file identical on each `os` and `arch`, please use
694 different private index and write the contents to the lock file. Fixes
696 * (pip.parse): Install `yanked` packages and print a warning instead of
697 ignoring them. This better matches the behaviour of `uv pip install`.
699 and explicit and should fix rare edge-cases where the host toolchain
706 {#v0-33-0-added}
712 [Precompiling docs][precompile-docs] and API reference docs for more
727 * `//python:features.bzl` added to allow easy feature-detection in the future.
728 * (pip) Allow specifying the requirements by (os, arch) and add extra
729 validations when parsing the inputs. This is a non-breaking change for most
731 with `extra_pip_args = ["--platform=manylinux_2_4_x86_64"]`, that was an
739 {obj}`--@rules_python//python/config_settings:bootstrap_impl=script`. It
745 * (toolchains) A replacement for the Bazel-builtn autodetecting toolchain is
747 * (pip): Support fetching and using the wheels for other platforms. This
749 `glibc`, whether `universal2` or arch-specific MacOS wheels are preferred and
755 * (whl_filegroup) Added a new `whl_filegroup` rule to extract files from a wheel file.
758 [precompile-docs]: /precompiling
760 {#v0-32-2}
761 ## [0.32.2] - 2024-05-14
765 {#v0-32-2-fixed}
768 …rms with recent Python toolchains. Works around an upstream [issue][indygreg-231]. Fixes [#1800][r…
770 [indygreg-231]: https://github.com/indygreg/python-build-standalone/issues/231
773 {#v0-32-0}
774 ## [0.32.0] - 2024-05-12
778 {#v0-32-0-changed}
783 default in order to reduce the size of the lock file.
784 …` to [7.4.3](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst#version-743--2024-02-23).
786 non-blocking downloads.
791 * `3.8 -> 3.8.19`
792 * `3.9 -> 3.9.19`
793 * `3.10 -> 3.10.14`
794 * `3.11 -> 3.11.9`
795 * `3.12 -> 3.12.3`
807 that file doesn't exist.
812 `pip.parse` extension is now possible, see the
815 * (refactor) The pre-commit developer workflow should now pass `isort` and `black`
838 `experimental_index_url_overrides` to `pip.parse` for using the bazel
841 the whl and sdist files will be written to the lock file. Controlling whether
855 [python_default_visibility]: gazelle/README.md#directive-python_default_visibility
857 [test_file_pattern_docs]: gazelle/README.md#directive-python_test_file_pattern
858 [20240224]: https://github.com/indygreg/python-build-standalone/releases/tag/20240224.
859 [20240415]: https://github.com/indygreg/python-build-standalone/releases/tag/20240415.
862 ## [0.31.0] - 2024-02-12
874 ## [0.30.0] - 2024-02-12
892 * (bzlmod) pip.parse now does not fail with an empty `requirements.txt`.
895 being extracted by `installer` and/or `pip`.
915 Python version explicitly and the output `BUILD.bazel` file will be correct
916 irrespective of the python interpreter that is generating the file and
921 `common --@rules_python//python/config_settings:python_version=X.Y.Z`.
924 https://github.com/indygreg/python-build-standalone/releases/tag/20240107.
927 the version-aware `py_binary` and `py_test` rules. This allows users to
948 ## [0.29.0] - 2024-01-22
960 * (bzlmod) The pip hub repository now uses the newly introduced config settings
967 * (bzlmod pip.parse) Use a platform-independent reference to the interpreter
968 pip uses. This reduces (but doesn't eliminate) the amount of
969 platform-specific content in `MODULE.bazel.lock` files; Follow
971 platform-specific content in `MODULE.bazel.lock` files.
974 lower-cased when normalizing under PEP440 conventions.
982 Python. This means that `WORKSPACE` users can now copy the `requirements.bzl`
983 file for vendoring as seen in the updated `pip_parse_vendored` example.
1000 ## [0.28.0] - 2024-01-07
1021 map of names to lists of requirements which form a dependency
1024 `pip.parse(experimental_requirement_cycles={})`.
1030 * (gazelle) When `python_generation_mode` is set to `file`, create one `py_binary`
1031 target for each file with `if __name__ == "__main__"` instead of just one
1035 `requirements` argument to `gazelle_python_manifest` is unset, no integrity
1049 * (bzlmod pip.parse) The `pip.parse(python_interpreter)` arg now works for
1051 * (bzlmod pip.parse) Requirements files with duplicate entries for the same
1058 the RECORD file consistency requirement is lifted and now a warning is emitted
1061 file if you decide to do so.
1062 * (coverage): coverage reports are now created when the version-aware
1074 * (docs) bzlmod extensions are now documented on rules-python.readthedocs.io
1076 See https://rules-python.readthedocs.io/en/latest/support.html
1077 * (gazelle) `file` generation mode can now also add `__init__.py` to the srcs
1081 ## [0.27.0] - 2023-11-16
1089 re-exported via `//python:pip_bzl` `bzl_library`.
1098 * (pip_parse) The generated `requirements.bzl` file now has an additional symbol
1100 PyPI package name to the target that provides the built wheel file. Use
1101 `pip_utils.normalize_name` function from `@rules_python//python:pip.bzl` to
1106 `True` by default on `non-bzlmod` setups allowing users to use the same label
1114 default, which will cause `gazelle` to change third-party dependency labels
1115 from `@pip_foo//:pkg` to `@pip//foo` by default.
1119 `pip-compile` behaviour more closely.
1124 * (gazelle) When using `python_generation_mode file`, one `py_test` target is
1125 made per test file even if a target named `__test__` or a file named
1131 * (pip) `pip_install` repository rule in this release has been disabled and
1134 rule no longer supports `requirements` attribute, please use
1151 * (py_wheel) Produce deterministic wheel files and make `RECORD` file entries
1162 * (bzlmod) sub-modules now don't have the `//conditions:default` clause in the
1163 hub repos created by `pip.parse`. This should fix confusing error messages
1169 arguments to the new `pip.override` tag class.
1171 * (pip) Support for using [PEP621](https://peps.python.org/pep-0621/) compliant
1172 `pyproject.toml` for creating a resolved `requirements.txt` file.
1177 ## [0.26.0] - 2023-10-06
1182 * 3.8.15 -> 3.8.18
1183 * 3.9.17 -> 3.9.18
1184 * 3.10.12 -> 3.10.13
1185 * 3.11.4 -> 3.11.6
1187 * (deps) Upgrade rules_go 0.39.1 -> 0.41.0; this is so gazelle integration works with upcoming Baze…
1189 * (multi-version) The `distribs` attribute is no longer propagated. This
1197 * (bzlmod) The `pip.parse` extension will generate os/arch specific lock
1198 file entries on `bazel>=6.4`.
1208 https://github.com/indygreg/python-build-standalone/releases/tag/20230826.
1210 * (gazelle) New `# gazelle:python_generation_mode file` directive to support
1211 generating one `py_library` per file.
1228 https://github.com/indygreg/python-build-standalone/releases/tag/20231002.
1236 * (bzlmod) The `pip.parse` no longer generates `{hub_name}_{py_version}` hub repos
1239 * (bzlmod) The `pip.parse` no longer generates `{hub_name}_{distribution}` hub repos.
1251 ## [0.25.0] - 2023-08-22
1256 * 3.9.16 -> 3.9.17
1257 * 3.10.9 -> 3.10.12
1258 * 3.11.1 -> 3.11.4
1259 * (bzlmod) `pip.parse` can no longer automatically use the default
1267 * (multi-version) The `main` arg is now correctly computed and usually optional.
1268 * (bzlmod) `pip.parse` no longer requires a call for whatever the configured
1279 ## [0.24.0] - 2023-07-11
1285 * (bzlmod) `pip.parse` arg `name` renamed to `hub_name`
1286 * (bzlmod) `pip.parse` arg `incompatible_generate_aliases` removed and always
1294 * (pip) Ignore temporary pyc.NNN files in wheels
1295 * (pip) Add format() calls to glob_exclude templates
1301 * (bzlmod) `pip.parse` can be called multiple times with different Python
1303 * (bzlmod) Allow bzlmod `pip.parse` to reference the default python toolchain and interpreter
1305 * (gazelle) support multiple requirements files in manifest generation
1306 * (py_wheel) Support for specifying `Description-Content-Type` and `Summary` in METADATA
1307 * (py_wheel) Support for specifying `Project-URL`
1310 * (pip) Create all_data_requirements alias