+1 (binding): checked reproducibility, signatures, checksums (licences not
needed as we are using already checked and released "airflow" sources to
generate all client code).

I think there is a bit of discrepancy between the tag and release. I run a
reproducibility check and the code is slightly different (both .sdist and
whl are different).

├── apache_airflow_client-3.1.0.tar
│ ├── file list
│ │ @@ -164,15 +164,15 @@
│ │  -rw-r--r--   0        0        0     7140 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/task_instance_response.py
│ │  -rw-r--r--   0        0        0     1374 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/task_instance_state.py
│ │  -rw-r--r--   0        0        0     6436 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/task_instances_batch_body.py
│ │  -rw-r--r--   0        0        0     3152 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/task_instances_log_response.py
│ │  -rw-r--r--   0        0        0     3019 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/task_outlet_asset_reference.py
│ │  -rw-r--r--   0        0        0     6362 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/task_response.py
│ │  -rw-r--r--   0        0        0     3083 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/time_delta.py
│ │ --rw-r--r--   0        0        0     3641 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/trigger_dag_run_post_body.py
│ │ +-rw-r--r--   0        0        0     3639 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/trigger_dag_run_post_body.py
│ │  -rw-r--r--   0        0        0     3101 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/trigger_response.py
│ │  -rw-r--r--   0        0        0     2920 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/triggerer_info_response.py
│ │  -rw-r--r--   0        0        0     2997 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/update_hitl_detail_payload.py
│ │  -rw-r--r--   0        0        0     3299 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/validation_error.py
│ │  -rw-r--r--   0        0        0     5081 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/validation_error_loc_inner.py
│ │  -rw-r--r--   0        0        0     5140 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/value.py
│ │  -rw-r--r--   0        0        0     3159 2025-09-23 20:07:31.000000
apache_airflow_client-3.1.0/airflow_client/client/models/variable_body.py
│ ├──
apache_airflow_client-3.1.0/airflow_client/client/models/trigger_dag_run_post_body.py
│ │ @@ -58,15 +58,15 @@
│ │          * Fields in `self.additional_properties` are added to the
output dict.
│ │          """
│ │          excluded_fields: Set[str] = set(['additional_properties'])
│ │          _dict = self.model_dump(by_alias=True,
exclude=excluded_fields, exclude_none=True)
│ │          if 'logical_date' not in _dict:
│ │              _dict['logical_date'] = None
│ │          if self.additional_properties is not None:
│ │ -            for (_key, _value) in self.additional_properties.items():
│ │ +            for _key, _value in self.additional_properties.items():
│ │                  _dict[_key] = _value
│ │          return _dict
│ │
│ │      @classmethod
│ │      def from_dict(cls, obj: Optional[Dict[str, Any]]) ->
Optional[Self]:
│ │          """Create an instance of TriggerDAGRunPostBody from a dict"""
│ │          if obj is None:

I am not sure how the client was generated - and where the difference came
from - either different generator or our post-processing code (we
post-process the generated code to fix some of the generator issues ->
https://github.com/apache/airflow/pull/50704 - or maybe that is a
"black/ruff" formatting issue with different version of ruff/black
used? But the difference is insignificant enough and easily manually
verifiable, so that's not a reason for -1 (reproducibility for now is
optional check that can be followed by inspecting the differences).

J.


On Mon, Oct 27, 2025 at 2:16 AM Kaxil Naik <[email protected]> wrote:

> Aah, yes thanks Jens. Files have been pushed.
>
> On Sun, 26 Oct 2025 at 18:00, Jarek Potiuk <[email protected]> wrote:
>
> > Ah.. I missed this one. Yeah - we need those.
> >
> > On Sun, Oct 26, 2025 at 6:56 PM Jens Scheffler <[email protected]>
> > wrote:
> >
> > > Hi Kaxil,
> > >
> > > finally wanted to make my PMC duties and check release but needed to
> > > realize that ASC and SHA512 files are missing/not uploaded. Can you
> > > please push them to SVN for validation?
> > >
> > > Jens
> > >
> > > On 22.10.25 22:26, Kaxil Naik wrote:
> > > > Hey fellow Airflowers,
> > > >
> > > > I have cut the first release candidate for the Apache Airflow Python
> > > Client
> > > >   3.1.0.
> > > > This email is calling for a vote on the release,
> > > > which will last for 72 hours. Consider this my (binding) +1.
> > > >
> > > > Airflow Client 3.1.0rc1 is available at:
> > > >
> > https://dist.apache.org/repos/dist/dev/airflow/clients/python/3.1.0rc1/
> > > >
> > > > The apache_airflow_client-3.1.0.tar.gz is an sdist release that
> > contains
> > > > INSTALL instructions, and also
> > > > is the official source release.
> > > >
> > > > The apache_airflow_client-3.1.0-py3-none-any.whl is a binary wheel
> > > release
> > > > that pip can install.
> > > >
> > > > Those packages do not contain .rc* version as, when approved, they
> will
> > > be
> > > > released as the final version.
> > > >
> > > > The rc packages are also available at PyPI (with rc suffix) and you
> can
> > > > install it with pip as usual:
> > > > https://pypi.org/project/apache-airflow-client/3.1.0rc1/
> > > >
> > > > Public keys are available at:
> > > > https://dist.apache.org/repos/dist/release/airflow/KEYS
> > > >
> > > > Only votes from PMC members are binding, but all members of the
> > community
> > > > are encouraged to test the release and vote with "(non-binding)".
> > > >
> > > > The test procedure for PMC members is described in:
> > > >
> > >
> >
> https://github.com/apache/airflow/blob/main/dev/README_RELEASE_PYTHON_CLIENT.md#verify-the-release-candidate-by-pmc-members
> > > >
> > > > The test procedure for contributors and members of the community who
> > > would
> > > > like to test this RC is described in:
> > > >
> > >
> >
> https://github.com/apache/airflow/blob/main/dev/README_RELEASE_PYTHON_CLIENT.md#verify-the-release-candidate-by-contributors
> > > >
> > > > *Changelog*: https://github.com/apache/airflow-client-python
> > > > /blob/3.1.0rc1/CHANGELOG.md
> > > >
> > > > Regards,
> > > > Kaxil
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> > >
> > >
> >
>

Reply via email to