Releases: aspect-build/rules_py
v1.11.3
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.11.3")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- chore: upgrade bazelrc-preset.bzl to 1.9.2 by @jbedard in #916
- Rewrite README with clearer structure and feature highlights by @xangcastle in #929
- fix(toolchains): register native_build_toolchain per exec/target platform for sdist builds by @gregmagolan in #928
- perf: reduce symlinks in third-party packages by @xangcastle in #931
- refactor: simplify coalesce_symlinks logic by @xangcastle in #932
- chore: split toolchain registration in root module to prod & dev by @gregmagolan in #933
- deterministically resolve unconstrained dependencies when lockfile contains multiple versions by @xangcastle in #935
- Updating Readme file by @xangcastle in #936
- fix(uv): resolve per-group dependency versions from lockfile to prevent configuration conflicts by @xangcastle in #937
- chore: upgrade llvm module to 0.7.1, fix macos 403s by @jbedard in #945
- perf: set repo and module reproducible = True where possible by @jbedard in #946
- refactor: do not duplicate site_packages into DefaultInfo+runfiles of py_binary by @jbedard in #949
- fix: check
mainby resolved file basename, not label name by @jbedard in #950 - refactor: upgrade toml2json to 0.0.26 by @jbedard in #955
- ci: use aspect-large runner for tests by @jbedard in #958
- chore: update cargo deps, remove unused by @jbedard in #956
- docs: Update Gazelle section with pytest_main usage instructions by @hofbi in #953
- chore: upgrade rules_rs to 0.0.64 by @jbedard in #915
- refactor: cleanup unused bazel/platforms/* logic by @jbedard in #957
- test: cherry-pick tests from #944 by @jbedard in #954
- feat: add uv toolchain extension by @jbedard in #943
- refactor(uv): remove dead lib_mode/whl_mode machinery by @jbedard in #951
- refactor: extract pth file creation and imports depset into reusable pth.bzl helpers by @xangcastle in #961
- chore: upgrade tar.bzl to 0.10.1 by @jbedard in #964
Full Changelog: v1.11.2...v1.11.3
v1.11.2
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.11.2")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- ci: replace github pre-commit workflow with aspect workflows buildifier by @jbedard in #922
- feat(whl_install): expose install_dir via OutputGroupInfo by @gregmagolan in #926
Full Changelog: v1.11.1...v1.11.2
v1.11.1
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.11.1")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- fix(interpreter): drop exec_compatible_with from Python interpreter toolchain by @gregmagolan in #924
- fix(whl_install): use rules_python exec tools toolchain for pyc compilation by @gregmagolan in #903
- fix(venv): handle internal package symlinks to prevent dangling references by @xangcastle in #904
- feat(e2e): add pytest subdirectory imports example and test case by @xangcastle in #908
- fix(whl_install): remove install_dir from DefaultInfo.files by @gregmagolan in #907
- feat(whl_install): enable path mapping for remote cache deduplication by @gregmagolan in #906
- refactor(whl_install): remove resolved_unpack_toolchain workaround by @gregmagolan in #905
- fix(toolchain): build unpack binary in exec config to prevent ELF-on-macOS failure by @gregmagolan in #910
- refactor(exec_tools): hoist py_exec_tools_toolchain from rules_python, drop min version to 1.0.0 by @gregmagolan in #913
- refactor(toolchain): replace resolved_venv_toolchain with venv_exec_toolchain_type by @gregmagolan in #911
- ci: do not run pre-commit when PRs come from forks by @jbedard in #914
- chore: replace toolchains_llvm_bootstrapped with llvm 0.7.0 by @gregmagolan in #920
- chore: remove dead would_create_symlink_cycle function by @gregmagolan in #919
- feat: add scope = "universal" to @pypi//venv for Bazel 10 compatibility by @gregmagolan in #917
- fix(uv): fix evaluation of PEP 508 specs involving nested parentheses by @acozzette in #901
New Contributors
- @xangcastle made their first contribution in #904
- @jbedard made their first contribution in #914
Full Changelog: v1.10.1...v1.11.1
v1.10.1
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.10.1")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- docs(examples): add debugger (debugpy) example by @arrdem in #882
- test(e2e): add namespace package regression test (#547) by @arrdem in #883
- fix: rename our crates repo by @alexeagle in #886
- tweak(sdist_configure): suppress setup.py stdout/stderr unless eval fails by @arrdem in #888
- fix(py_library): don't return transitive srcs in DefaultInfo.files by @arrdem in #891
- fix(uv): fix handling of versions containing plus characters by @acozzette in #898
- chore: update maintainers in metadata.template.json by @alexeagle in #902
- Make script parameter optional in py_console_script_binary by @hofbi in #893
New Contributors
- @acozzette made their first contribution in #898
Full Changelog: v1.10.0...v1.10.1
v1.10.0
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.10.0")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- Allow extra annotations in annotations.toml by @dzbarsky in #850
- test(uv): Add ~= (compatible release) version specifier tests by @arrdem in #856
- docs(examples): Conditional dev dependencies with dependency groups by @arrdem in #845
- fix(uv): Read python version from aspect_rules_py flag for abi3 compat by @arrdem in #861
- fix(uv): resolve multi-match version constraints to greatest version by @arrdem in #865
- feat(pyc): Add .pyc pre-compilation to wheel install by @arrdem in #857
- fix: Respect package_collisions in py_binary by @ramilmsh in #862
- feat(py): Interpreter feature exclusion flags by @arrdem in #836
- feat(interpreter): local interpreter support + config_settings on toolchains by @arrdem in #859
- fix(py_image_layer): Fix interpreter regex matching pip packages by @arrdem in #822
- fix(pytest): prefix generated pytest main file to avoid test discovery by @arrdem in #867
- fix(interpreter): Lazy toolchain resolution via hub-local config_settings by @arrdem in #871
- fix(pytest): remove spammy py_pytest_main deprecation warning by @arrdem in #872
- fix(pyc): default to checked-hash invalidation, add invalidation_mode flag by @arrdem in #873
- fix(venv): skip symlinking runfiles pycache/init.pyc by @arrdem in #875
- feat(sdist): auto-detect native sources and build deps by @arrdem in #870
- test(e2e): add pytest-mock regression test by @arrdem in #876
- fix(venv): skip walking nested virtualenvs during plan generation by @arrdem in #878
- test(e2e): add venv isolated mode regression test (#703) by @arrdem in #879
- feat(sdist): dynamic setup.py evaluator for build dep extraction by @arrdem in #874
- feat(venv): coalesce file-level symlinks into directory symlinks by @arrdem in #877
- fix(whl_install): use exec-configured interpreter for pyc compilation by @arrdem in #881
- feat(pex): use exec interpreter for PEX builds, enabling cross-builds by @arrdem in #880
- test(e2e): Add Windows cross-build verification test by @arrdem in #837
- Fix BCR release by @dzbarsky in #884
New Contributors
Full Changelog: v1.9.1...v1.10.0
v1.9.1
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.9.1")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
Full Changelog: v1.9.0...v1.9.1
v1.9.0
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.9.0")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- feat(uv): Support PEP 735 include-group syntax in dependency-groups by @ctcjab in #843
- fix(uv): Reject unsupported wheel platform tags via allowlist by @arrdem in #844
- feat(py_venv): Shell-less hermetic launcher for py_venv_binary by @arrdem in #825
- feat(py): Python interpreter provisioning from python-build-standalone by @arrdem in #827
- fix(py): Fix freethreaded e2e test for Bazel 9 on macOS by @arrdem in #846
- fix(e2e): Add @platforms//os:linux to OCI distroless exec tests by @arrdem in #847
New Contributors
Full Changelog: v1.8.6...v1.9.0
v1.8.6
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.8.6")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- Remove print statement from py_semantics.bzl by @lukasoyen in #811
- Fix python interpreter lookup when space in path exists by @Wito-1 in #806
- fix(py_venv): Stabilize _aspect.pth files by @arrdem in #815
- fix(uv): Prevent invalid cross-ABI wheel selection by @arrdem in #814
- chore(uv): Adding tests replacing #750 by @arrdem in #813
- fix(py_venv): Correct 'home' key by @arrdem in #816
- fix: Bump gazelle and rules_go for Bazel 9 compatibility by @arrdem in #821
- fix(py): Remove dead rattler_installs_packages dependency by @arrdem in #820
- fix(uv): Honor version pinnings in [dependency-groups] by @arrdem in #819
- perf(py_venv): Avoid depset flattening and explicit .path usage by @arrdem in #823
- chore(py_pytest_main): Refactor template to be valid Python by @arrdem in #824
- feat(uv): Support [tool.uv] no-binary-package by @arrdem in #831
- fix(uv): Support arbitrary version specifiers in dependency groups by @arrdem in #828
- feat(uv): Add package patching support to override_package by @arrdem in #829
- refactor(sdist_build): Use py_venv_binary for build tool by @arrdem in #832
- fix(sdist_build): Set determinism env vars for reproducible wheel builds by @arrdem in #834
- fix(uv): Don't just delete windows whls by @arrdem in #773
- fix(py_binary): Double-slash in paths when running from root directory by @arrdem in #838
- fix(py_binary): Resolve .venv.pth action conflict with .venv target by @arrdem in #839
- fix(py_venv): Link dependency bin scripts into venv bin/ directory by @arrdem in #840
- chore(uv): Expose gazelle_python_manifest in uv/unstable:defs.bzl by @arrdem in #842
New Contributors
- @lukasoyen made their first contribution in #811
- @Wito-1 made their first contribution in #806
Full Changelog: v1.8.5...v1.8.6
v1.8.5
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.8.5")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)What's Changed
- fix(uv): Transition build deps of whls back to libs by @arrdem in #772
- change hub name back to match root by @alexeagle in #775
- feat(uv): Support native sdist builds via RBE by @arrdem in #770
- chore: OCI tests to e2e by @arrdem in #786
- fix: document module extensions, not workspace repositories by @alexeagle in #788
- fix: rules_pkg is in the released version loading graph by @alexeagle in #799
- Upgrade toml2json to v0.0.23 and add Windows binaries by @mkanat in #808
- docs: fix starlark sample code by @hofbi in #809
- chore(docs): add starter repo section to README by @alexeagle in #782
- chore(deps): update dependency rules_oci to v2.2.7 by @renovate[bot] in #780
- chore(deps): update dependency rules_cc to v0.2.16 by @renovate[bot] in #779
- chore(deps): update dependency googleapis to v0.0.0-20260109-6145b5ff by @renovate[bot] in #765
- feat(uv): multiversion packages and extras support by @arrdem in #778
- Remove duplicated rules_shell by @dzbarsky in #812
New Contributors
Full Changelog: v1.8.4...v1.8.5
v1.8.4
Using Bzlmod with Bazel 6:
Add to your MODULE.bazel file:
bazel_dep(name = "aspect_rules_py", version = "1.8.4")And also register a Python toolchain, see rules_python. For example:
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)Using WORKSPACE
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_py",
sha256 = "d02bb318336198afb282ae2380cdd23dc3f06a509bd2e63600efa656e91d8fb4",
strip_prefix = "rules_py-1.8.4",
url = "https://github.com/aspect-build/rules_py/releases/download/v1.8.4/rules_py-v1.8.4.tar.gz",
)
load("@aspect_rules_py//py:repositories.bzl", "rules_py_dependencies")
rules_py_dependencies()
load("@aspect_rules_py//py:toolchains.bzl", "rules_py_toolchains")
rules_py_toolchains()
# "Installation" for rules_python
load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains")
python_register_toolchains(
name = "python_toolchain",
python_version = "3.9",
)
py_repositories()Full Changelog: v1.8.3...v1.8.4