Skip to content

Prepare release 0.52.0: update version, dependencies, and Python 3.10-3.13 support#395

Open
vkarampudi wants to merge 11 commits into
tensorflow:r0.52.0from
vkarampudi:r0.52.0
Open

Prepare release 0.52.0: update version, dependencies, and Python 3.10-3.13 support#395
vkarampudi wants to merge 11 commits into
tensorflow:r0.52.0from
vkarampudi:r0.52.0

Conversation

@vkarampudi

@vkarampudi vkarampudi commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Prepare Fairness Indicators and TensorBoard Plugin for 0.52.0 Release

Overview

This pull request prepares both the core fairness-indicators package and tensorboard-plugin-fairness-indicators for the 0.52.0 release. It upgrades core dependencies to align with TensorFlow 2.21.0 and TFX 0.52.0, updates the Python support matrix to 3.10–3.13 across all metadata and CI workflows, fixes protobuf config import compatibility issues in TFMA 0.52.0, and ensures 100% compliance across test suites and pre-commit linters.


Detailed Summary of Changes

1. Version Bump & Release Notes

  • Version Update: Bumped package version from 0.51.0 to 0.52.0 in:
    • fairness_indicators/version.py
    • tensorboard_plugin/tensorboard_plugin_fairness_indicators/version.py
  • Release Documentation: Added comprehensive 0.52.0 release notes in both root RELEASE.md and tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md.

2. Python Support Matrix (3.10 – 3.13)

  • Deprecation: Removed Python 3.9 support across setup files and GitHub Actions workflows.
  • Trove Classifiers: Updated setup.py and tensorboard_plugin/setup.py classifiers to officially declare support for Python 3.10, 3.11, 3.12, and 3.13.
  • CI Workflows: Updated GitHub Actions test matrices in .github/workflows/build.yml, .github/workflows/docs.yml, and .github/workflows/test.yml to run against Python ['3.10', '3.11', '3.12', '3.13'].

3. Dependency & Ecosystem Alignment

Updated dependency constraints in setup.py and tensorboard_plugin/setup.py to match the TF 2.21 / TFX 0.52 ecosystem:

  • TensorFlow: tensorflow>=2.21,<2.22 (and tf-keras>=2.21,<2.22 in plugin).
  • TF Model Analysis (TFMA): tensorflow-model-analysis>=0.52.0,<0.53.0 (>=0.52,<0.53 in plugin).
  • TF Data Validation (TFDV): tensorflow-data-validation>=1.21.0,<2.0.0.
  • Protobuf: protobuf>=6.0.0,<7.0.0 (aligned with TFDV 1.21.0 while avoiding pip resolution conflicts with TF 2.21.0).
  • PEP 508 NumPy Markers: Conditionally specified NumPy requirements to support Python 3.13 while preventing C-extension crashes in older wheels on Python 3.10–3.12:
    "numpy>=1.23.5,<2.0.0; python_version < '3.13'",
    "numpy>=2.1.0; python_version >= '3.13'",

4. Code Compatibility & Bug Fixes

  • TFMA 0.52.0 Protobuf Config Import Fix: In TFMA 0.52.0, config protobuf symbols (such as EvalConfig) were removed from top-level module exports in sdk.py. Updated the following files to import config_pb2 directly from tensorflow_model_analysis.proto and use config_pb2.EvalConfig(), resolving all AttributeError: module 'tensorflow_model_analysis' has no attribute 'EvalConfig' test failures:
    • fairness_indicators/example_model_test.py
    • fairness_indicators/tutorial_utils/util.py
    • fairness_indicators/tutorial_utils/util_test.py
    • tensorboard_plugin/tensorboard_plugin_fairness_indicators/plugin_test.py

5. Test Environment & Linter Compliance

  • Test Discovery: Added pythonpath = ["."] to pyproject.toml and pythonpath = . to tensorboard_plugin/pytest.ini so local pytest execution discovers package modules cleanly without requiring an editable pip install.
  • Ruff Linting: Removed unused import (import tensorflow_model_analysis as tfma) in fairness_indicators/tutorial_utils/util_test.py, satisfying ruff linter rule F401 and ensuring 100% clean pre-commit CI checks.

6. Build & PyPI Publishing Automation

  • Release Triggers: Added release: types: [published, created, edited] and tag pushes (tags: ['*']) to .github/workflows/build.yml so that creating/drafting a release automatically triggers the build and upload workflow.
  • Dual Package Packaging: Updated build.yml to build and package both fairness-indicators and tensorboard-plugin-fairness-indicators wheels and sdists.
  • Authentication: Configured the PyPI upload step to support both secret API tokens (PYPI_API_TOKEN / PYPI_TOKEN / PYPI_PASSWORD) and PyPI Trusted Publishing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant