Skip to content

Commit 62902f6

Browse files
refactor: Move models to generated subdirectory and add convenience imports
- Moved all generated models to connector_metadata/generated/ - Added __init__.py in connector_metadata to export key models - Updated airbyte_cdk/test/models/__init__.py to import: - ConnectorMetadataDefinitionV0 (top-level manifest model) - ConnectorTestSuiteOptions (test suites definition model) - Updated README with new import paths and examples - Updated build script to output to new location This reduces the API surface area while keeping all models accessible through the generated submodule. Co-Authored-By: AJ Steers <aj@airbyte.io>
1 parent 63930c6 commit 62902f6

35 files changed

+61
-35
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
22
"""Models used for standard tests."""
33

4+
from airbyte_cdk.test.models.connector_metadata import (
5+
ConnectorMetadataDefinitionV0,
6+
ConnectorTestSuiteOptions,
7+
)
48
from airbyte_cdk.test.models.outcome import ExpectedOutcome
59
from airbyte_cdk.test.models.scenario import ConnectorTestScenario
610

711
__all__ = [
12+
"ConnectorMetadataDefinitionV0",
813
"ConnectorTestScenario",
14+
"ConnectorTestSuiteOptions",
915
"ExpectedOutcome",
1016
]

airbyte_cdk/test/models/connector_metadata/README.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ During the CDK build process (`poetry run poe build`), these schemas are downloa
1818
```python
1919
from pathlib import Path
2020
import yaml
21-
from airbyte_cdk.test.models.connector_metadata import ConnectorMetadataDefinitionV0
21+
from airbyte_cdk.test.models import ConnectorMetadataDefinitionV0
2222

2323
# Load metadata.yaml
2424
metadata_path = Path("path/to/metadata.yaml")
@@ -35,7 +35,7 @@ except Exception as e:
3535
### Accessing metadata fields
3636

3737
```python
38-
from airbyte_cdk.test.models.connector_metadata import ConnectorMetadataDefinitionV0
38+
from airbyte_cdk.test.models import ConnectorMetadataDefinitionV0
3939

4040
metadata = ConnectorMetadataDefinitionV0(**metadata_dict)
4141

@@ -46,6 +46,19 @@ print(f"Docker image tag: {metadata.data.dockerImageTag}")
4646
print(f"Support level: {metadata.data.supportLevel}")
4747
```
4848

49+
### Accessing other models
50+
51+
All generated models are available in the `generated` submodule:
52+
53+
```python
54+
from airbyte_cdk.test.models.connector_metadata.generated import (
55+
ConnectorBreakingChanges,
56+
ConnectorReleases,
57+
ReleaseStage,
58+
SupportLevel,
59+
)
60+
```
61+
4962
### Available models
5063

5164
The main model is `ConnectorMetadataDefinitionV0`, which includes nested models for:
@@ -70,7 +83,7 @@ poetry run poe build
7083
This command:
7184
1. Downloads the latest schema YAML files from the airbyte repository
7285
2. Generates Pydantic models using `datamodel-code-generator`
73-
3. Outputs models to `airbyte_cdk/test/models/connector_metadata/`
86+
3. Outputs models to `airbyte_cdk/test/models/connector_metadata/generated/`
7487

7588
## Schema Source
7689

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,7 @@
1-
# generated by bin/generate_component_manifest_files.py
2-
from .ActorDefinitionResourceRequirements import *
3-
from .AirbyteInternal import *
4-
from .AllowedHosts import *
5-
from .ConnectorBreakingChanges import *
6-
from .ConnectorBuildOptions import *
7-
from .ConnectorIPCOptions import *
8-
from .ConnectorMetadataDefinitionV0 import *
9-
from .ConnectorMetrics import *
10-
from .ConnectorPackageInfo import *
11-
from .ConnectorRegistryDestinationDefinition import *
12-
from .ConnectorRegistryReleases import *
13-
from .ConnectorRegistrySourceDefinition import *
14-
from .ConnectorRegistryV0 import *
15-
from .ConnectorReleases import *
16-
from .ConnectorTestSuiteOptions import *
17-
from .GeneratedFields import *
18-
from .GitInfo import *
19-
from .JobType import *
20-
from .NormalizationDestinationDefinitionConfig import *
21-
from .RegistryOverrides import *
22-
from .ReleaseStage import *
23-
from .RemoteRegistries import *
24-
from .ResourceRequirements import *
25-
from .RolloutConfiguration import *
26-
from .Secret import *
27-
from .SecretStore import *
28-
from .SourceFileInfo import *
29-
from .SuggestedStreams import *
30-
from .SupportLevel import *
31-
from .TestConnections import *
1+
from .generated.ConnectorMetadataDefinitionV0 import ConnectorMetadataDefinitionV0
2+
from .generated.ConnectorTestSuiteOptions import ConnectorTestSuiteOptions
3+
4+
__all__ = [
5+
"ConnectorMetadataDefinitionV0",
6+
"ConnectorTestSuiteOptions",
7+
]

0 commit comments

Comments
 (0)