Skip to content

Commit f7a9a15

Browse files
Move Weaviate provider to new structure (apache#46049)
* Move weaviate provider * remove incorrectly added file
1 parent 63f3b0e commit f7a9a15

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+496
-54
lines changed

.github/boring-cyborg.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -498,10 +498,7 @@ labelPRBasedOnFilePath:
498498
- providers/tests/vertica/**/*
499499

500500
provider:weaviate:
501-
- providers/src/airflow/providers/weaviate/**/*
502-
- docs/apache-airflow-providers-weaviate/**/*
503-
- providers/tests/weaviate/**/*
504-
- providers/tests/system/weaviate/**/*
501+
- providers/weaviate/**
505502

506503
provider:yandex:
507504
- providers/src/airflow/providers/yandex/**/*

docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ apache-airflow-providers-common-sql
99
apache-airflow-providers-edge
1010
apache-airflow-providers-pinecone
1111
apache-airflow-providers-standard
12+
apache-airflow-providers-weaviate

docs/apache-airflow-providers-weaviate/changelog.rst

Lines changed: 0 additions & 25 deletions
This file was deleted.

providers/weaviate/README.rst

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
2+
.. Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
.. http://www.apache.org/licenses/LICENSE-2.0
11+
12+
.. Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
19+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
20+
21+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
22+
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
23+
24+
25+
Package ``apache-airflow-providers-weaviate``
26+
27+
Release: ``3.0.0``
28+
29+
30+
`Weaviate <https://weaviate.io/developers/weaviate>`__
31+
32+
33+
Provider package
34+
----------------
35+
36+
This is a provider package for ``weaviate`` provider. All classes for this provider package
37+
are in ``airflow.providers.weaviate`` python package.
38+
39+
You can find package information and changelog for the provider
40+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-weaviate/3.0.0/>`_.
41+
42+
Installation
43+
------------
44+
45+
You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
46+
for the minimum Airflow version supported) via
47+
``pip install apache-airflow-providers-weaviate``
48+
49+
The package supports the following python versions: 3.9,3.10,3.11,3.12
50+
51+
Requirements
52+
------------
53+
54+
=================== ==================
55+
PIP package Version required
56+
=================== ==================
57+
``apache-airflow`` ``>=2.9.0``
58+
``httpx`` ``>=0.25.0``
59+
``weaviate-client`` ``>=4.4.0``
60+
``pandas`` ``>=2.1.2,<2.2``
61+
=================== ==================
62+
63+
The changelog for the provider package can be found in the
64+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-weaviate/3.0.0/changelog.html>`_.

docs/apache-airflow-providers-weaviate/operators/weaviate.rst renamed to providers/weaviate/docs/operators/weaviate.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,28 @@ connect to your account.
3333

3434
An example using the operator to ingest data with custom vectors retrieved from XCOM:
3535

36-
.. exampleinclude:: /../../providers/tests/system/weaviate/example_weaviate_operator.py
36+
.. exampleinclude:: /../../providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
3737
:language: python
3838
:start-after: [START howto_operator_weaviate_embedding_and_ingest_xcom_data_with_vectors]
3939
:end-before: [END howto_operator_weaviate_embedding_and_ingest_xcom_data_with_vectors]
4040

4141
An example using the operator to ingest data with custom vectors retrieved from a python callable:
4242

43-
.. exampleinclude:: /../../providers/tests/system/weaviate/example_weaviate_operator.py
43+
.. exampleinclude:: /../../providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
4444
:language: python
4545
:start-after: [START howto_operator_weaviate_embedding_and_ingest_callable_data_with_vectors]
4646
:end-before: [END howto_operator_weaviate_embedding_and_ingest_callable_data_with_vectors]
4747

4848
An example using the operator to ingest data without vectors retrieved from XCOM for which the operator would generate embedding vectors:
4949

50-
.. exampleinclude:: /../../providers/tests/system/weaviate/example_weaviate_operator.py
50+
.. exampleinclude:: /../../providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
5151
:language: python
5252
:start-after: [START howto_operator_weaviate_ingest_xcom_data_without_vectors]
5353
:end-before: [END howto_operator_weaviate_ingest_xcom_data_without_vectors]
5454

5555
An example using the operator to ingest data without vectors retrieved from a python callable for which the operator would generate embedding vectors:
5656

57-
.. exampleinclude:: /../../providers/tests/system/weaviate/example_weaviate_operator.py
57+
.. exampleinclude:: /../../providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
5858
:language: python
5959
:start-after: [START howto_operator_weaviate_ingest_callable_data_without_vectors]
6060
:end-before: [END howto_operator_weaviate_ingest_callable_data_without_vectors]

providers/src/airflow/providers/weaviate/provider.yaml renamed to providers/weaviate/provider.yaml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,6 @@ integrations:
4949
- /docs/apache-airflow-providers-weaviate/operators/weaviate.rst
5050
tags: [software]
5151

52-
dependencies:
53-
- apache-airflow>=2.9.0
54-
- httpx>=0.25.0
55-
- weaviate-client>=4.4.0
56-
# In pandas 2.2 minimal version of the sqlalchemy is 2.0
57-
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
58-
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
59-
# In addition FAB also limit sqlalchemy to < 2.0
60-
- pandas>=2.1.2,<2.2
61-
6252
hooks:
6353
- integration-name: Weaviate
6454
python-modules:

providers/weaviate/pyproject.toml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
19+
20+
# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE TEMPLATE
21+
# `pyproject_TEMPLATE.toml.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
22+
[build-system]
23+
requires = ["flit_core==3.10.1"]
24+
build-backend = "flit_core.buildapi"
25+
26+
[project]
27+
name = "apache-airflow-providers-weaviate"
28+
version = "3.0.0"
29+
description = "Provider package apache-airflow-providers-weaviate for Apache Airflow"
30+
readme = "README.rst"
31+
authors = [
32+
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
33+
]
34+
maintainers = [
35+
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
36+
]
37+
keywords = [ "airflow-provider", "weaviate", "airflow", "integration" ]
38+
classifiers = [
39+
"Development Status :: 5 - Production/Stable",
40+
"Environment :: Console",
41+
"Environment :: Web Environment",
42+
"Intended Audience :: Developers",
43+
"Intended Audience :: System Administrators",
44+
"Framework :: Apache Airflow",
45+
"Framework :: Apache Airflow :: Provider",
46+
"License :: OSI Approved :: Apache Software License",
47+
"Programming Language :: Python :: 3.9",
48+
"Programming Language :: Python :: 3.10",
49+
"Programming Language :: Python :: 3.11",
50+
"Programming Language :: Python :: 3.12",
51+
"Topic :: System :: Monitoring",
52+
]
53+
requires-python = "~=3.9"
54+
55+
# The dependencies should be modified in place in the generated file
56+
# Any change in the dependencies is preserved when the file is regenerated
57+
dependencies = [
58+
"apache-airflow>=2.9.0",
59+
"httpx>=0.25.0",
60+
"weaviate-client>=4.4.0",
61+
# In pandas 2.2 minimal version of the sqlalchemy is 2.0
62+
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
63+
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
64+
# In addition FAB also limit sqlalchemy to < 2.0
65+
"pandas>=2.1.2,<2.2",
66+
]
67+
68+
[project.urls]
69+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-weaviate/3.0.0"
70+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-weaviate/3.0.0/changelog.html"
71+
"Bug Tracker" = "https://github.com/apache/airflow/issues"
72+
"Source Code" = "https://github.com/apache/airflow"
73+
"Slack Chat" = "https://s.apache.org/airflow-slack"
74+
"Twitter" = "https://x.com/ApacheAirflow"
75+
"YouTube" = "https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/"
76+
77+
[project.entry-points."apache_airflow_provider"]
78+
provider_info = "airflow.providers.weaviate.get_provider_info:get_provider_info"
79+
80+
[tool.flit.module]
81+
name = "airflow.providers.weaviate"
82+
83+
[tool.pytest.ini_options]
84+
ignore = "tests/system/"

0 commit comments

Comments
 (0)