Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk merged PR #46405:
URL: https://github.com/apache/airflow/pull/46405


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk commented on PR #46405:
URL: https://github.com/apache/airflow/pull/46405#issuecomment-2637925362

   Indeed. Looks good. The fix to main is coming 
https://github.com/apache/airflow/pull/46492


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


o-nikolas commented on PR #46405:
URL: https://github.com/apache/airflow/pull/46405#issuecomment-2637647303

   @potiuk 
   I think this PR should be fine now, but it's failing for the kube related 
issues from main.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1943247563


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   Okay, I'll revert back to just adding a "broken" (could be interpreted as 
docs only) exclusion for 3.9 (i.e. back to "~=3.9,!=3.9") this will signal to 
the user that 3.9 is not to be used, and will update the trove classifiers, but 
won't actually affect dependency resolution.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1942934810


##
providers/cloudant/README.rst:
##
@@ -0,0 +1,62 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE 
TEMPLATE
+`PROVIDER_README_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+Package ``apache-airflow-providers-cloudant``
+
+Release: ``4.1.0``
+
+
+`IBM Cloudant `__
+
+
+Provider package
+
+
+This is a provider package for ``cloudant`` provider. All classes for this 
provider package
+are in ``airflow.providers.cloudant`` python package.
+
+You can find package information and changelog for the provider
+in the `documentation 
`_.
+
+Installation
+
+
+You can install this package on top of an existing Airflow 2 installation (see 
``Requirements`` below
+for the minimum Airflow version supported) via
+``pip install apache-airflow-providers-cloudant``
+
+The package supports the following python versions: 3.10,3.11,3.12
+
+Requirements
+
+
+==  =
+PIP package Version required
+==  =
+``apache-airflow``  ``>=2.9.0``
+``ibmcloudant`` ``==0.9.1; python_version >= "3.10"``
+==  =
+

Review Comment:
   Actually... I am totally stupid... It's already up there :) :+1: 
   
   >  The package supports the following python versions: 3.10,3.11,3.12



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1942939618


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   But would be nice to at least generate `~3.9` from the minimum Python 
version :) . That will not change generated pyproject.toml but at least all 
that effort here will not be completely lost :D



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1942932967


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   Yeah, I think it's indeed a red-herring we chase. I believe we should leave 
~3.9 in all providers and stay with "soft" exclusion with "trove classifiers". 
The main problem is that I think this is a `uv workspace` limitaiton that all 
projects that are part of the workspace have to have the same python version 
support:
   
   From 
https://docs.astral.sh/uv/concepts/projects/workspaces/#when-not-to-use-workspaces
   
   > Finally, uv's workspaces enforce a single requires-python for the entire 
workspace, taking the intersection of all members' requires-python values. If 
you need to support testing a given member on a Python version that isn't 
supported by the rest of the workspace, you may need to use uv pip to install 
that member in a separate virtual environment.
   
   So this is likely not something that we can workaround today - and "trove 
classifiers" and the explanation in the README are good enough of a signal to 
tell people which versions of python are supported per provider. I don't think 
we can do better than that.
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1942935549


##
providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py:
##
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+#
+# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+# `get_provider_info_TEMPLATE.py.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+def get_provider_info():
+return {
+"package-name": "apache-airflow-providers-cloudant",
+"name": "IBM Cloudant",
+"description": "`IBM Cloudant 
`__\n",
+"state": "ready",
+"source-date-epoch": 1734529058,
+"versions": [
+"4.1.0",
+"4.0.3",
+"4.0.2",
+"4.0.1",
+"4.0.0",
+"3.6.0",
+"3.5.2",
+"3.5.1",
+"3.5.0",
+"3.4.1",
+"3.4.0",
+"3.3.0",
+"3.2.1",
+"3.2.0",
+"3.1.0",
+"3.0.0",
+"2.0.4",
+"2.0.3",
+"2.0.2",
+"2.0.1",
+"2.0.0",
+"1.0.1",
+"1.0.0",
+],
+"excluded-python-versions": ["3.9"],
+"integrations": [
+{
+"integration-name": "IBM Cloudant",
+"external-doc-url": "https://www.ibm.com/cloud/cloudant";,
+"logo": "/docs/integration-logos/Cloudant.png",
+"tags": ["service"],
+}
+],
+"hooks": [
+{
+"integration-name": "IBM Cloudant",
+"python-modules": 
["airflow.providers.cloudant.hooks.cloudant"],
+}
+],
+"connection-types": [
+{
+"hook-class-name": 
"airflow.providers.cloudant.hooks.cloudant.CloudantHook",
+"connection-type": "cloudant",
+}
+],
+"dependencies": ["apache-airflow>=2.9.0", 'ibmcloudant==0.9.1 ; 
python_version >= "3.10"'],
+}

Review Comment:
   > Sure, I don't yet grok why we need all this info in two places, but I 
don't mind adding it. Should we do that in a separate PR since it will affect 
all providers?
   
   Yes.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-05 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1942932967


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   Yeah, I think it's indeed a red-herring we chase. I believe we should leave 
~3.9 in all providers and stay with "soft" exclusion with "trove classifiers". 
The main problem is that I think this is a `uv workspace` limitaiton that all 
projects that are part of the workspace have to have the same python version 
support:
   
   From 
https://docs.astral.sh/uv/concepts/projects/workspaces/#when-not-to-use-workspaces
   
   > Finally, uv's workspaces enforce a single requires-python for the entire 
workspace, taking the intersection of all members' requires-python values. If 
you need to support testing a given member on a Python version that isn't 
supported by the rest of the workspace, you may need to use uv pip to install 
that member in a separate virtual environment.
   
   So this is likely not something that we can workaround today - and "trove 
classifiers" are good enough of a signal to tell people which versions of 
python are supported per provider. I don't think we can do better than that.
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1942091116


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   That got me past image build failures, but now several tests downstream use 
that image in which cloudant is not longer installed, so many of the tests are 
failing (the static check to verify hooks for example is detecting that we 
should have a provider cloudant that has hooks but that module isn't found in 
the image because it wasn't installed).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941991788


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   I ended up adding a case for cloudant in `install_airflow.sh`, if we are on 
python3.9 exclude that provider from the build.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941831698


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   From what I can tell since `!=3.9` is not a valid exclusion (because there 
is no operator expanding it and `3.9` on its own is not a valid python version) 
we were actually allowing cloudant to be installed in 3.9 builds... So this was 
always kind of broken until now.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941816477


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   When the requires-python field is updated to be `"~=3.9,!=3.9.*"` the 
airflow 3.9 build step fails (error below), which makes sense because no 
resolution is possible using python 3.9. I'm actually curious how this was ever 
passing before...
   
   Any thoughts or insight on this one @potiuk?
   
   
   ```
  #45 0.956 Installing all packages in eager upgrade mode. Installation 
method: .
 #45 0.956 
 #45 0.956 + uv pip install --system --upgrade --resolution highest 
--editable '.[devel-ci]' --editable ./task_sdk --editable providers/pagerduty 
--editable providers/common/compat --editable providers/common/io --editable 
providers/common/sql --editable providers/cloudant --editable providers/asana 
--editable providers/pinecone --editable providers/cohere --editable 
providers/grpc --editable providers/singularity --editable 
providers/elasticsearch --editable providers/docker --editable 
providers/vertica --editable providers/snowflake --editable providers/standard 
--editable providers/imap --editable providers/exasol --editable 
providers/pgvector --editable providers/atlassian/jira --editable 
providers/google --editable providers/jenkins --editable providers/teradata 
--editable providers/segment --editable providers/salesforce --editable 
providers/influxdb --editable providers/redis --editable providers/apache/hive 
--editable providers/apache/pinot --editable providers/apache/liv
 y --editable providers/apache/drill --editable providers/apache/kafka 
--editable providers/apache/druid --editable providers/apache/pig --editable 
providers/apache/cassandra --editable providers/apache/kylin --editable 
providers/apache/iceberg --editable providers/apache/spark --editable 
providers/apache/beam --editable providers/mongo --editable providers 
--editable providers/alibaba --editable providers/mysql --editable 
providers/sftp --editable providers/celery --editable providers/datadog 
--editable providers/trino --editable providers/ssh --editable 
providers/airbyte --editable providers/openlineage --editable providers/github 
--editable providers/ftp --editable providers/ydb --editable providers/opsgenie 
--editable providers/weaviate --editable providers/microsoft/psrp --editable 
providers/microsoft/mssql --editable providers/oracle --editable 
providers/postgres --editable providers/fab --editable providers/telegram 
--editable providers/odbc --editable providers/samba --editab
 le providers/qdrant --editable providers/papermill --editable 
providers/sendgrid --editable providers/zendesk --editable providers/openai 
--editable providers/fac

Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941776515


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   Turns out this breaks some other automation we have, so this will need more 
work. I may pivot to adding the `.*` if it's missing.
   
   I am also curious if it will just work how it is now. I'm not sure the steps 
to verify that
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941662552


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"
+for excluded_python_version in provider_details.excluded_python_versions:
+requires_python_version += f", !={excluded_python_version}"

Review Comment:
   Actually, this is a different bug that was introduced at the same time. 
Misting the `~=` operator 
   
   
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941656216


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"
+for excluded_python_version in provider_details.excluded_python_versions:
+requires_python_version += f", !={excluded_python_version}"

Review Comment:
   Ah yes, I remember now, ruff fails when I remove the space. It has a hard 
time parsing the version specifier when it's omitted:
   ```
   ruff failed
 Cause: Failed to parse 
/home/ANT.AMAZON.COM/onikolas/code/oss/airflow/team_fork/providers/cloudant/pyproject.toml
 Cause: TOML parse error at line 52, column 19
  |
   52 | requires-python = "3.9,!=3.9"
  |   ^^^
   Failed to parse version: Unexpected end of version specifier, expected 
operator:
   3.9,!=3.9
   ^^^
   ``` 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941600698


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions

Review Comment:
   Ah, I see you mean the context object itself. It's used in several places, 
makes sense. I'll move the below logic over to `get_provider_jinja_context`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941588839


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"
+
+# The dependencies should be modified in place in the generated file
+# Any change in the dependencies is preserved when the file is regenerated
+dependencies = [
+"apache-airflow>=2.9.0",
+# Even though 3.9 is excluded below, we need to make this python_version 
aware so that `uv` can generate a
+# full lock file when building lock file from provider sources
+"ibmcloudant==0.9.1 ; python_version >= \"3.10\"",

Review Comment:
   This one had spaces from whoever added it before and it was just copied by 
the script. But I can update that now after the script is done.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941596541


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions

Review Comment:
   By context do you mean this comment itself? Or the `context` object above?
   
   I didn't intend for this comment to show in the pyproject.toml, which is why 
I put it here. It was more to explain the code itself. But I can also add one 
to the toml template if you think that's useful context to have in there?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941593577


##
providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py:
##
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+#
+# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+# `get_provider_info_TEMPLATE.py.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+def get_provider_info():
+return {
+"package-name": "apache-airflow-providers-cloudant",
+"name": "IBM Cloudant",
+"description": "`IBM Cloudant 
`__\n",
+"state": "ready",
+"source-date-epoch": 1734529058,
+"versions": [
+"4.1.0",
+"4.0.3",
+"4.0.2",
+"4.0.1",
+"4.0.0",
+"3.6.0",
+"3.5.2",
+"3.5.1",
+"3.5.0",
+"3.4.1",
+"3.4.0",
+"3.3.0",
+"3.2.1",
+"3.2.0",
+"3.1.0",
+"3.0.0",
+"2.0.4",
+"2.0.3",
+"2.0.2",
+"2.0.1",
+"2.0.0",
+"1.0.1",
+"1.0.0",
+],
+"excluded-python-versions": ["3.9"],
+"integrations": [
+{
+"integration-name": "IBM Cloudant",
+"external-doc-url": "https://www.ibm.com/cloud/cloudant";,
+"logo": "/docs/integration-logos/Cloudant.png",
+"tags": ["service"],
+}
+],
+"hooks": [
+{
+"integration-name": "IBM Cloudant",
+"python-modules": 
["airflow.providers.cloudant.hooks.cloudant"],
+}
+],
+"connection-types": [
+{
+"hook-class-name": 
"airflow.providers.cloudant.hooks.cloudant.CloudantHook",
+"connection-type": "cloudant",
+}
+],
+"dependencies": ["apache-airflow>=2.9.0", 'ibmcloudant==0.9.1 ; 
python_version >= "3.10"'],
+}

Review Comment:
   Sure, I don't yet grok why we need all this info in two places, but I don't 
mind adding it. Should we do that in a separate PR since it will affect all 
providers?
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941592050


##
providers/cloudant/README.rst:
##
@@ -0,0 +1,62 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE 
TEMPLATE
+`PROVIDER_README_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+Package ``apache-airflow-providers-cloudant``
+
+Release: ``4.1.0``
+
+
+`IBM Cloudant `__
+
+
+Provider package
+
+
+This is a provider package for ``cloudant`` provider. All classes for this 
provider package
+are in ``airflow.providers.cloudant`` python package.
+
+You can find package information and changelog for the provider
+in the `documentation 
`_.
+
+Installation
+
+
+You can install this package on top of an existing Airflow 2 installation (see 
``Requirements`` below
+for the minimum Airflow version supported) via
+``pip install apache-airflow-providers-cloudant``
+
+The package supports the following python versions: 3.10,3.11,3.12
+
+Requirements
+
+
+==  =
+PIP package Version required
+==  =
+``apache-airflow``  ``>=2.9.0``
+``ibmcloudant`` ``==0.9.1; python_version >= "3.10"``
+==  =
+

Review Comment:
   That could be a neat follow up. But it will affect all providers, perhaps we 
update it in a separate PR?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941587997


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"
+for excluded_python_version in provider_details.excluded_python_versions:
+requires_python_version += f", !={excluded_python_version}"

Review Comment:
   Sure, I saw spaces and not spaces in all the things I read but mostly spaces 
in docs. I don't have a preference, happy to remove the space.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941577001


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"

Review Comment:
   Yupp, had this thought as I went to bed last night, I didn't like this magic 
string here in the middle of the code. I'll update this



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941575637


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   > And yes 
https://packaging.python.org/en/latest/specifications/version-specifiers/#version-exclusion
 !=3.9.* sounds right
   
   Okay, I propose that we update the provider.yaml file to specify `3.9.*` 
then, rather than putting in brittle code here to detect that no wildcard was 
provided. It will set the example for future providers if they want to do that 
as well.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-04 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1941547640


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   Specification is here: 
https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers
 amd
   
   
   And yes 
https://packaging.python.org/en/latest/specifications/version-specifiers/#version-exclusion
 !=3.9.* sounds right



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940595968


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions

Review Comment:
   That's not the right place to set the context values (that's why the CI 
fails) - here we only override the values that we manually modify in 
pyproject.toml  (dependencies are manually modified directly in pyproject.toml 
- so before we regenerate pyproject.toml we read them from there - including 
comments - so that they are used when we regenerate pyproject.toml with other 
changes. 
   
   The right place where to set the context is `get_provider_jinja_context` in  
`src/airflow_breeze/utils/packages.py`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940587796


##
providers/cloudant/README.rst:
##
@@ -0,0 +1,62 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE 
TEMPLATE
+`PROVIDER_README_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+Package ``apache-airflow-providers-cloudant``
+
+Release: ``4.1.0``
+
+
+`IBM Cloudant `__
+
+
+Provider package
+
+
+This is a provider package for ``cloudant`` provider. All classes for this 
provider package
+are in ``airflow.providers.cloudant`` python package.
+
+You can find package information and changelog for the provider
+in the `documentation 
`_.
+
+Installation
+
+
+You can install this package on top of an existing Airflow 2 installation (see 
``Requirements`` below
+for the minimum Airflow version supported) via
+``pip install apache-airflow-providers-cloudant``
+
+The package supports the following python versions: 3.10,3.11,3.12
+
+Requirements
+
+
+==  =
+PIP package Version required
+==  =
+``apache-airflow``  ``>=2.9.0``
+``ibmcloudant`` ``==0.9.1; python_version >= "3.10"``
+==  =
+

Review Comment:
   NIT: An idea - this README is something immediatly visible for package in 
PyPI -> maybe we could also add information about Python versions supported? 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940586107


##
providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py:
##
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+#
+# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+# `get_provider_info_TEMPLATE.py.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+def get_provider_info():
+return {
+"package-name": "apache-airflow-providers-cloudant",
+"name": "IBM Cloudant",
+"description": "`IBM Cloudant 
`__\n",
+"state": "ready",
+"source-date-epoch": 1734529058,
+"versions": [
+"4.1.0",
+"4.0.3",
+"4.0.2",
+"4.0.1",
+"4.0.0",
+"3.6.0",
+"3.5.2",
+"3.5.1",
+"3.5.0",
+"3.4.1",
+"3.4.0",
+"3.3.0",
+"3.2.1",
+"3.2.0",
+"3.1.0",
+"3.0.0",
+"2.0.4",
+"2.0.3",
+"2.0.2",
+"2.0.1",
+"2.0.0",
+"1.0.1",
+"1.0.0",
+],
+"excluded-python-versions": ["3.9"],
+"integrations": [
+{
+"integration-name": "IBM Cloudant",
+"external-doc-url": "https://www.ibm.com/cloud/cloudant";,
+"logo": "/docs/integration-logos/Cloudant.png",
+"tags": ["service"],
+}
+],
+"hooks": [
+{
+"integration-name": "IBM Cloudant",
+"python-modules": 
["airflow.providers.cloudant.hooks.cloudant"],
+}
+],
+"connection-types": [
+{
+"hook-class-name": 
"airflow.providers.cloudant.hooks.cloudant.CloudantHook",
+"connection-type": "cloudant",
+}
+],
+"dependencies": ["apache-airflow>=2.9.0", 'ibmcloudant==0.9.1 ; 
python_version >= "3.10"'],
+}

Review Comment:
   NIT: maybe we can add "requires_python" here as well. The 
``get_provider_info` can have new fields, no problem with that - and it would 
be nice to specify it here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940585456


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"
+
+# The dependencies should be modified in place in the generated file
+# Any change in the dependencies is preserved when the file is regenerated
+dependencies = [
+"apache-airflow>=2.9.0",
+# Even though 3.9 is excluded below, we need to make this python_version 
aware so that `uv` can generate a
+# full lock file when building lock file from provider sources
+"ibmcloudant==0.9.1 ; python_version >= \"3.10\"",

Review Comment:
   Same here -> I prefer spaces to be removed :) 



##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Pytho

Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940581086


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"
+for excluded_python_version in provider_details.excluded_python_versions:
+requires_python_version += f", !={excluded_python_version}"

Review Comment:
   NIT: In most other places we generate version spec without spaces. While 
it's ok to have them and specs explicitly has spaces, all whitespace is 
normalized and removed anyway 
https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers
  
   
   That's more of an easthetic thing - but I think it would be good if we keep 
consistency here with other dependencies - for example in celery`:
   
   ```
   # The dependencies should be modified in place in the generated file
   # Any change in the dependencies is preserved when the file is regenerated
   dependencies = [
   "apache-airflow>=2.9.0",
   # The Celery is known to introduce problems when upgraded to a MAJOR 
version. Airflow Core
   # Uses Celery for CeleryExecutor, and we also know that Kubernetes 
Python client follows SemVer
   # 
(https://docs.celeryq.dev/en/stable/contributing.html?highlight=semver#versions).
   "celery[redis]>=5.4.0,<6",
   "flower>=1.0.0",
   "google-re2>=1.0",
   ]
   ```
   
   I personally prefer to avoid whitespace in such cases - it decreases the 
chance that somewhere in the code where space is treated as separator and you 
forgot to quote things the dependency will be mistakenly split into several 
separate specs.



##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"
+for excluded_python_version in provider_details.excluded_python_versions:
+requires_python_version += f", !={excluded_python_version}"

Review Comment:
   NIT: In most other places we generate version spec without spaces. While 
it's ok to have them and specs explicitly has spaces, all whitespace is 
normalized and removed anyway 
https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers
  
   
   That's more of an easthetic thing - but I think it would be good if we keep 
consistency here with other dependencies - for example in celery`:
   
   ```python
   # The dependencies should be modified in place in the generated file
   # Any change in the dependencies is preserved when the file is regenerated
   dependencies = [
   "apache-airflow>=2.9.0",
   # The Celery is known to introduce problems when upgraded to a MAJOR 
version. Airflow Core
   # Uses Celery for CeleryExecutor, and we also know that Kubernetes 
Python client follows SemVer
   # 
(https://docs.celeryq.dev/en/stable/contributing.html?highlight=semver#versions).
   "celery[redis]>=5.4.0,<6",
   "flower>=1.0.0",
   "google-re2>=1.0",
   ]
   ```
   
   I personally prefer to avoid whitespace in such cases - it decreases the 
chance that somewhere in the code where space is treated as separator and you 
forgot to quote things the dependency will be mistakenly split into several 
separate specs.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


potiuk commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940573071


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"

Review Comment:
   NIT: we coud use `DEFAULT_PYTHON_MAJOR_MINOR_VERSION` from 
global_constants.py here. This way we will not have to change it when we bump 
to 3.10.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940423983


##
providers/cloudant/pyproject.toml:
##
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE 
TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-cloudant"
+version = "4.1.0"
+description = "Provider package apache-airflow-providers-cloudant for Apache 
Airflow"
+readme = "README.rst"
+authors = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+maintainers = [
+{name="Apache Software Foundation", email="d...@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "cloudant", "airflow", "integration" ]
+classifiers = [
+"Development Status :: 5 - Production/Stable",
+"Environment :: Console",
+"Environment :: Web Environment",
+"Intended Audience :: Developers",
+"Intended Audience :: System Administrators",
+"Framework :: Apache Airflow",
+"Framework :: Apache Airflow :: Provider",
+"License :: OSI Approved :: Apache Software License",
+"Programming Language :: Python :: 3.10",
+"Programming Language :: Python :: 3.11",
+"Programming Language :: Python :: 3.12",
+"Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9, !=3.9"

Review Comment:
   @potiuk can you double check this one? Is the exclusion correct? I suspect 
`!=3.9` isn't legal and it should maybe be `!=3.9.*` instead?
   
   Also can this string be comma delimited like this? I found very little 
documentation and some of it is conflicting. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940422268


##
dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py:
##
@@ -1222,6 +1222,13 @@ def _regenerate_pyproject_toml(context: dict[str, Any], 
provider_details: Provid
 context["EXTRAS_REQUIREMENTS"] = "\n".join(optional_dependencies)
 context["DEPENDENCY_GROUPS"] = "\n".join(dependency_groups)
 
+# Most providers require the same python versions, but some may have 
exclusions
+requires_python_version = "~=3.9"
+for excluded_python_version in provider_details.excluded_python_versions:
+requires_python_version += f", !={excluded_python_version}"
+
+context["REQUIRES_PYTHON"] = requires_python_version

Review Comment:
   Dynamically generate the requires-python toml field now that it can have 
exclusions.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] provider migrate cloudant [airflow]

2025-02-03 Thread via GitHub


o-nikolas commented on code in PR #46405:
URL: https://github.com/apache/airflow/pull/46405#discussion_r1940421463


##
airflow/new_provider.yaml.schema.json:
##
@@ -31,6 +31,13 @@
 "removed"
 ]
 },
+"excluded-python-versions": {

Review Comment:
   Return support for excluded python versions. Copied from the old schema



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org