-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: herewasmike/rules_python
base: main
head repository: bazel-contrib/rules_python
compare: main
- 18 commits
- 82 files changed
- 14 contributors
Commits on May 29, 2025
-
docs: fix sphinxdocs mis-redirect (bazel-contrib#2940)
The redirect was going to a non-existent URL when viewed on the deployed docs. This was happening because the absolute paths `/api/whatever` don't exist in the deployed site -- it's actually `/en/latest/api/whatever`. This went unnoticed because it works locally (where there is no /en/latest prefix). To fix, use a relative url (relative urls are relative to the path that is redirected from)
Configuration menu - View commit details
-
Copy full SHA for bbf3ab8 - Browse repository at this point
Copy the full SHA bbf3ab8View commit details -
feat: allow custom platform when overriding (bazel-contrib#2880)
This basically allows using any python-build-standalone archive and using it if custom flags are set. This is done through the `single_version_platform_override()` API, because such archives are inherently version and platform specific. Key changes: * The `platform` arg can be any value (mostly; it ends up in repo names) * Added `target_compatible_with` and `target_settings` args, which become the settings used on the generated toolchain() definition. The platform settings are version specific, i.e. the key `(python_version, platform)` is what maps to the TCW/TS values. If an existing platform is used, it'll override the defaults that normally come from the PLATFORMS global for the particular version. If a new platform is used, it creates a new platform entry with those settings. Along the way: * Added various docs about internal variables so they're easier to grok at a glance. Work towards bazel-contrib#2081
Configuration menu - View commit details
-
Copy full SHA for d60cee2 - Browse repository at this point
Copy the full SHA d60cee2View commit details
Commits on May 30, 2025
-
feat: Support constraints in pip_compile (bazel-contrib#2916)
This adds in support to pass in a constraints file to pip-compile. This is extremly useful when you want to uprade an indirect/intermediate dependency to pull in security fixes but don't want to add said dependency to the requirements.in file. --------- Signed-off-by: Vihang Mehta <vihang@gimletlabs.ai> Co-authored-by: Ignas Anikevicius <240938+aignas@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ce80db6 - Browse repository at this point
Copy the full SHA ce80db6View commit details -
fix(pypi): allow pip_compile to work with read-only sources (bazel-co…
…ntrib#2712) The validating `py_test` generated by `compile_pip_requirements` chokes when the source `requirements.txt` is stored read-only, such as when managed by the Perforce Helix Core SCM. Though `dependency_resolver` makes a temporary copy of this file, it does so w/ `shutil.copy` which preserves the original read-only file mode. To address this, this commit replaces `shutil.copy` with a `shutil.copyfileobj` such that the temporary file is created w/ permissions according to the user's umask. Resolves (bazel-contrib#2608). --------- Co-authored-by: Ignas Anikevicius <240938+aignas@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for af9e959 - Browse repository at this point
Copy the full SHA af9e959View commit details
Commits on May 31, 2025
-
feat(uv): handle credential helpers and .netrc (bazel-contrib#2872)
This allows one to download the uv binaries from private mirrors. The plumbing of the auth attrs allows us to correctly use the `~/.netrc` or the credential helper for downloading from mirrors that require authentication. Testing notes: * When I tested this, it seems that the dist manifest json may not work with private mirrors, but I think it is fine for users in such cases to define the `uv` srcs using the `urls` attribute. Work towards bazel-contrib#1975.
Configuration menu - View commit details
-
Copy full SHA for 02198f6 - Browse repository at this point
Copy the full SHA 02198f6View commit details
Commits on Jun 2, 2025
-
fix(pypi): correctly aggregate the requirements files (bazel-contrib#…
…2932) This implements the actual fix where we are aggregating the whls and sdists correctly from multiple different requirements lines. Fixes bazel-contrib#2648. Closes bazel-contrib#2658.
Configuration menu - View commit details
-
Copy full SHA for 948fcec - Browse repository at this point
Copy the full SHA 948fcecView commit details
Commits on Jun 3, 2025
-
fix(pypi): inherit proxy env variables in compile_pip_requirements te…
…st (bazel-contrib#2941) Bazel does not pass environment variables implicitly (even running test outside of sandbox). This forces compile_pip_requirements test to fail with timeout when attempting to run it behind the proxy. Also changes test_command in dependency_resolver string helper to use dot instead of underscore following deprecation notice
Configuration menu - View commit details
-
Copy full SHA for 9429ae6 - Browse repository at this point
Copy the full SHA 9429ae6View commit details
Commits on Jun 5, 2025
-
feat: add persistent worker for sphinxdocs (bazel-contrib#2938)
This implements a simple, serialized persistent worker for Sphinxdocs with several optimizations. It is enabled by default. * The worker computes what inputs have changed, allowing Sphinx to only rebuild what is necessary. * Doctrees are written to a separate directory so they are retained between builds. * The worker tells Sphinx to write output to an internal directory, then copies it to the expected Bazel output directory afterwards. This allows Sphinx to only write output files that need to be updated. This works by having the worker compute what files have changed and having a Sphinx extension use the `get-env-outdated` event to tell Sphinx which files have changed. The extension is based on https://pwrev.dev/294057, but re-implemented to be in-memory as part of the worker instead of a separate extension projects must configure. For rules_python's doc building, this reduces incremental building from about 8 seconds to about 0.8 seconds. From what I can tell, about half the time is spent generating doctrees, and the other half generating the output files. Worker mode is enabled by default and can be disabled on the target or by adjusting the Bazel flags controlling execution strategy. Docs added to explain how. Because `--doctree-dir` is now always specified and outside the output dir, non-worker invocations can benefit, too, if run without sandboxing. Docs added to explain how to do this. Along the way: * Remove `--write-all` and `--fresh-env` from run args. This lets direct invocations benefit from the normal caching Sphinx does. * Change the args formatting to `--foo=bar` so they are a single element; just a bit nicer to see when debugging. Work towards bazel-contrib#2878, bazel-contrib#2879 --------- Co-authored-by: Kayce Basques <kayce@google.com> Co-authored-by: Richard Levasseur <rlevasseur@google.com>
Configuration menu - View commit details
-
Copy full SHA for 0498664 - Browse repository at this point
Copy the full SHA 0498664View commit details
Commits on Jun 10, 2025
-
fix: Updating setuptools to patch CVE-2025-47273 (bazel-contrib#2955)
Update setuptools to patch CVE-2025-47273
Configuration menu - View commit details
-
Copy full SHA for d98547e - Browse repository at this point
Copy the full SHA d98547eView commit details -
feat: data and pyi files in the venv (bazel-contrib#2936)
This adds the remaining of the files into the venv and should get us reasonably close to handling 99% of the cases. The expected differences from this and a `venv` built by `uv` would be: * The `RECORD` files are excluded from the `venv`s for better cache hit rate in `bazel`. Topological ordering is removed because topo ordering doesn't provide the "closer target first" guarantees desired. For now, just use default ordering and document conflicts as undefined behavior. Internally, it continues to use first-wins (i.e. first in depset.to_list() order) semantics. Work towards bazel-contrib#2156
Configuration menu - View commit details
-
Copy full SHA for 013acd9 - Browse repository at this point
Copy the full SHA 013acd9View commit details
Commits on Jun 11, 2025
-
Configuration menu - View commit details
-
Copy full SHA for cb1c382 - Browse repository at this point
Copy the full SHA cb1c382View commit details -
revert: change default bootstrap back to system_python (bazel-contrib…
…#2968) Switch the default bootstrap back to system_python, per maintainer discussion. The main reason is downstream consumers are unlikely to be fully ready for the usage of raw symlinks (declare_symlink artifacts). APIs to detect them aren't available until Bazel 8, which makes it difficult for packaging rules, such as rules_pkg, bazel-lib, or tar rules. This reverts the core part of commit 9f3512f
Configuration menu - View commit details
-
Copy full SHA for 95fb54a - Browse repository at this point
Copy the full SHA 95fb54aView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb2298a - Browse repository at this point
Copy the full SHA fb2298aView commit details -
refactor: Add missing uses of DefaultInfo (bazel-contrib#2972)
Required for compatibility with bazelbuild/bazel#20183
Configuration menu - View commit details
-
Copy full SHA for e03b63c - Browse repository at this point
Copy the full SHA e03b63cView commit details -
docs: fix typo in toolchains.md example code (bazel-contrib#2970)
Added missing commas in `local toolchains` instructions
Configuration menu - View commit details
-
Copy full SHA for 108a66c - Browse repository at this point
Copy the full SHA 108a66cView commit details -
chore: prepare for 1.5 release (bazel-contrib#2973)
Update version markers with upcoming version.
Configuration menu - View commit details
-
Copy full SHA for ef14ae2 - Browse repository at this point
Copy the full SHA ef14ae2View commit details
Commits on Jun 12, 2025
-
fix: support pre-release versions and add new toolchain versions (baz…
…el-contrib#2969) Add latest toolchain builds and attempt adding a beta build. This shows/tests that we can handle pre-release versions just fine and we are able to test the toolchain matching. Whilst at it it implements the static advertising of the remaining interpreter information. Fixes bazel-contrib#2837 --------- Co-authored-by: Richard Levasseur <richardlev@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9b8f650 - Browse repository at this point
Copy the full SHA 9b8f650View commit details -
Configuration menu - View commit details
-
Copy full SHA for e225a1e - Browse repository at this point
Copy the full SHA e225a1eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...main