Skip to content

Commit cfe2713

Browse files
committed
Release 3.0.4
1 parent 65376ed commit cfe2713

File tree

4 files changed

+43
-19
lines changed

4 files changed

+43
-19
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ The version number of the pip module corresponds to the version of the Open Data
99
| Open Data Contract Standard Version | Pip Module Version |
1010
|-------------------------------------|--------------------|
1111
| 3.0.1 | >=3.0.1 |
12+
| 3.0.2 | >=3.0.4 |
1213

1314
**Note**: We mirror major and minor version from the ODCS to the pip module, but not the patch version!
1415

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "open-data-contract-standard"
3-
version = "3.0.3" # in sync with spec
3+
version = "3.0.4" # in sync with spec
44
description = "The Pydantic Model of the Open Data Contract Standard"
55
readme = "README.md"
66
authors = [

src/open_data_contract_standard/model.py

+16-13
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,29 @@
88

99

1010
class AuthoritativeDefinition(pyd.BaseModel):
11-
url: str
12-
type: str
11+
url: str | None = None
12+
type: str | None = None
1313

1414

1515
class Support(pyd.BaseModel):
16-
channel: str
17-
url: str
16+
channel: str | None = None
17+
url: str | None = None
1818
description: str | None = None
1919
tool: str | None = None
2020
scope: str | None = None
2121
invitationUrl: str | None = None
2222

2323

2424
class Pricing(pyd.BaseModel):
25-
priceAmount: float | None = None
25+
priceAmount: float | int | None = None
2626
priceCurrency: str | None = None
2727
priceUnit: str | None = None
2828

2929

3030
class Team(pyd.BaseModel):
3131
username: str | None = None
32+
name: str | None = None
33+
description: str | None = None
3234
role: str | None = None
3335
dateIn: str | None = None
3436
dateOut: str | None = None
@@ -37,7 +39,7 @@ class Team(pyd.BaseModel):
3739

3840

3941
class ServiceLevelAgreementProperty(pyd.BaseModel):
40-
property: str
42+
property: str | None = None
4143
value: str | float | int | bool | None = None
4244
valueExt: str | float | int | bool | None = None
4345
unit: str | None = None
@@ -88,6 +90,7 @@ class Description(pyd.BaseModel):
8890
class SchemaProperty(pyd.BaseModel):
8991
name: str | None = None
9092
physicalType: str | None = None
93+
physicalName: str | None = None
9194
description: str | None = None
9295
businessName: str | None = None
9396
authoritativeDefinitions: list[AuthoritativeDefinition] | None = None
@@ -129,7 +132,7 @@ class SchemaObject(pyd.BaseModel):
129132

130133

131134
class Role(pyd.BaseModel):
132-
role: str
135+
role: str | None = None
133136
description: str | None = None
134137
access: str | None = None
135138
firstLevelApprovers: str | None = None
@@ -138,8 +141,8 @@ class Role(pyd.BaseModel):
138141

139142

140143
class Server(pyd.BaseModel):
141-
server: str
142-
type: str
144+
server: str | None = None
145+
type: str | None = None
143146
description: str | None = None
144147
environment: str | None = None
145148
roles: list[Role] | None = None
@@ -170,10 +173,10 @@ class OpenDataContractStandard(pyd.BaseModel):
170173
model_config = pyd.ConfigDict(
171174
extra='forbid',
172175
)
173-
version: str
174-
kind: str
175-
apiVersion: str
176-
id: str
176+
version: str | None = None
177+
kind: str | None = None
178+
apiVersion: str | None = None
179+
id: str | None = None
177180
name: str | None = None
178181
tenant: str | None = None
179182
tags: list[str] | None = None

src/open_data_contract_standard/schema.json

+25-5
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
},
1717
"apiVersion": {
1818
"type": "string",
19-
"default": "v3.0.1",
20-
"description": "Version of the standard used to build data contract. Default value is v3.0.1.",
21-
"enum": ["v3.0.1", "v3.0.0", "v2.2.2", "v2.2.1", "v2.2.0"]
19+
"default": "v3.0.2",
20+
"description": "Version of the standard used to build data contract. Default value is v3.0.2.",
21+
"enum": ["v3.0.2","v3.0.1", "v3.0.0", "v2.2.2", "v2.2.1", "v2.2.0"]
2222
},
2323
"id": {
2424
"type": "string",
@@ -626,7 +626,7 @@
626626
}
627627
},
628628
"required": [
629-
"staging_dir",
629+
"stagingDir",
630630
"schema"
631631
]
632632
},
@@ -1555,6 +1555,11 @@
15551555
"type": "string",
15561556
"description": "The physical element data type in the data source. For example, VARCHAR(2), DOUBLE, INT."
15571557
},
1558+
"physicalName": {
1559+
"type": "string",
1560+
"description": "Physical name.",
1561+
"examples": ["col_str_a"]
1562+
},
15581563
"required": {
15591564
"type": "boolean",
15601565
"default": false,
@@ -2196,7 +2201,22 @@
21962201
"properties": {
21972202
"username": {
21982203
"type": "string",
2199-
"description": "The user's username or email."
2204+
"description": "The user's username or email.",
2205+
"examples": [
2206+
2207+
"uid12345678"
2208+
]
2209+
},
2210+
"name": {
2211+
"type": "string",
2212+
"description": "The user's name.",
2213+
"examples": [
2214+
"Jane Doe"
2215+
]
2216+
},
2217+
"description": {
2218+
"type": "string",
2219+
"description": "The user's description."
22002220
},
22012221
"role": {
22022222
"type": "string",

0 commit comments

Comments
 (0)