Skip to content

Commit d345d9d

Browse files
Cat & Krista FR beta work (#20834)
1 parent 35ee2fa commit d345d9d

File tree

658 files changed

+118390
-89486
lines changed

Some content is hidden

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

658 files changed

+118390
-89486
lines changed

sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
# Release History
22

3-
## 3.1.3 (Unreleased)
3+
## 3.2.0b1 (Unreleased)
4+
5+
This version of the SDK defaults to the latest supported API version, which currently is v2021-09-30-preview.
46

57
### Features Added
8+
- Added new `DocumentAnalysisClient` with `begin_analyze_document` and `begin_analyze_document_from_url` methods. Use these methods with the latest Form Recognizer
9+
API version to analyze documents, with prebuilt and custom models.
10+
- Added new models to use with the new `DocumentAnalysisClient`: `AnalyzeResult`, `AnalyzedDocument`, `BoundingRegion`, `DocumentElement`, `DocumentEntity`, `DocumentField`, `DocumentKeyValuePair`, `DocumentKeyValueElement`, `DocumentLine`, `DocumentPage`, `DocumentSelectionMark`, `DocumentSpan`, `DocumentStyle`, `DocumentTable`, `DocumentTableCell`, `DocumentWord`.
11+
- Added new `DocumentModelAdministrationClient` with methods: `begin_build_model`, `begin_create_composed_model`, `begin_copy_model`, `get_copy_authorization`, `get_model`, `delete_model`, `list_models`, `get_operation`, `list_operations`, `get_account_info`, `get_document_analysis_client`.
12+
- Added new models to use with the new `DocumentModelAdministrationClient`: `DocumentModel`, `DocumentModelInfo`, `DocTypeInfo`, `ModelOperation`, `ModelOperationInfo`, `AccountInfo`.
13+
- Added samples using the `DocumentAnalysisClient` and `DocumentModelAdministrationClient` under `/samples/v3.2-beta`.
14+
- Added `DocumentAnalysisApiVersion` to be used with `DocumentAnalysisClient` and `DocumentModelAdministrationClient`.
615

716
### Breaking Changes
817

918
### Bugs Fixed
1019

1120
### Other Changes
21+
- Python 3.5 is no longer supported in this release.
1222

1323
## 3.1.2 (2021-08-10)
1424

sdk/formrecognizer/azure-ai-formrecognizer/README.md

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ from form documents. It includes the following main functionalities:
1616
## Getting started
1717

1818
### Prerequisites
19-
* Python 2.7, or 3.5 or later is required to use this package.
19+
* Python 2.7, or 3.6 or later is required to use this package.
2020
* You must have an [Azure subscription][azure_subscription] and a
2121
[Cognitive Services or Form Recognizer resource][FR_or_CS_resource] to use this package.
2222

@@ -436,7 +436,7 @@ These code samples show common scenario operations with the Azure Form Recognize
436436
* Create a composed model from a collection of models trained with labels: [sample_create_composed_model.py][sample_create_composed_model]
437437

438438
### Async APIs
439-
This library also includes a complete async API supported on Python 3.5+. To use it, you must
439+
This library also includes a complete async API supported on Python 3.6+. To use it, you must
440440
first install an async transport, such as [aiohttp](https://pypi.org/project/aiohttp/). Async clients
441441
are found under the `azure.ai.formrecognizer.aio` namespace.
442442

@@ -507,29 +507,31 @@ This project has adopted the [Microsoft Open Source Code of Conduct][code_of_con
507507
[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/
508508
[coc_contact]: mailto:[email protected]
509509

510-
[sample_authentication]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_authentication.py
511-
[sample_authentication_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_authentication_async.py
512-
[sample_manage_custom_models]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_manage_custom_models.py
513-
[sample_manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_manage_custom_models_async.py
514-
[sample_recognize_content]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_content.py
515-
[sample_recognize_content_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_content_async.py
516-
[sample_recognize_custom_forms]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_custom_forms.py
517-
[sample_recognize_custom_forms_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_custom_forms_async.py
518-
[sample_recognize_receipts_from_url]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_receipts_from_url.py
519-
[sample_recognize_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_receipts_from_url_async.py
520-
[sample_recognize_receipts]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_receipts.py
521-
[sample_recognize_receipts_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_receipts_async.py
522-
[sample_recognize_business_cards]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_business_cards.py
523-
[sample_recognize_business_cards_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_business_cards_async.py
524-
[sample_recognize_invoices]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_invoices.py
525-
[sample_recognize_invoices_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_invoices_async.py
526-
[sample_recognize_identity_documents]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_recognize_identity_documents.py
527-
[sample_recognize_identity_documents_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_recognize_identity_documents_async.py
528-
[sample_train_model_with_labels]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_with_labels.py
529-
[sample_train_model_with_labels_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_with_labels_async.py
530-
[sample_train_model_without_labels]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_without_labels.py
531-
[sample_train_model_without_labels_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_without_labels_async.py
532-
[sample_copy_model]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_copy_model.py
533-
[sample_copy_model_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_copy_model_async.py
534-
[sample_create_composed_model]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_create_composed_model.py
535-
[sample_create_composed_model_async]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_create_composed_model_async.py
510+
<!-- TODO re-enable when in public repo
511+
[sample_authentication]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_authentication.py
512+
[sample_authentication_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_authentication_async.py
513+
[sample_manage_custom_models]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_manage_custom_models.py
514+
[sample_manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_manage_custom_models_async.py
515+
[sample_recognize_content]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_content.py
516+
[sample_recognize_content_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_content_async.py
517+
[sample_recognize_custom_forms]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_custom_forms.py
518+
[sample_recognize_custom_forms_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_custom_forms_async.py
519+
[sample_recognize_receipts_from_url]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_receipts_from_url.py
520+
[sample_recognize_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_receipts_from_url_async.py
521+
[sample_recognize_receipts]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_receipts.py
522+
[sample_recognize_receipts_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_receipts_async.py
523+
[sample_recognize_business_cards]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_business_cards.py
524+
[sample_recognize_business_cards_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_business_cards_async.py
525+
[sample_recognize_invoices]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_invoices.py
526+
[sample_recognize_invoices_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_invoices_async.py
527+
[sample_recognize_identity_documents]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_recognize_identity_documents.py
528+
[sample_recognize_identity_documents_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_recognize_identity_documents_async.py
529+
[sample_train_model_with_labels]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_train_model_with_labels.py
530+
[sample_train_model_with_labels_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_train_model_with_labels_async.py
531+
[sample_train_model_without_labels]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_train_model_without_labels.py
532+
[sample_train_model_without_labels_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_train_model_without_labels_async.py
533+
[sample_copy_model]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_copy_model.py
534+
[sample_copy_model_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_copy_model_async.py
535+
[sample_create_composed_model]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/sample_create_composed_model.py
536+
[sample_create_composed_model_async]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/v2/async_samples/sample_create_composed_model_async.py
537+
-->

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/__init__.py

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
from ._version import VERSION
88
from ._form_recognizer_client import FormRecognizerClient
99
from ._form_training_client import FormTrainingClient
10+
from ._document_analysis_client import DocumentAnalysisClient
11+
from ._document_model_administration_client import DocumentModelAdministrationClient
12+
from ._polling import DocumentModelAdministrationLROPoller
1013
from ._models import (
1114
FormElement,
1215
LengthUnit,
@@ -34,12 +37,36 @@
3437
CustomFormModelProperties,
3538
FormSelectionMark,
3639
TextAppearance,
40+
AnalyzeResult,
41+
AnalyzedDocument,
42+
BoundingRegion,
43+
DocumentElement,
44+
DocumentEntity,
45+
DocumentField,
46+
DocumentKeyValuePair,
47+
DocumentKeyValueElement,
48+
DocumentLine,
49+
DocumentPage,
50+
DocumentSelectionMark,
51+
DocumentSpan,
52+
DocumentStyle,
53+
DocumentTable,
54+
DocumentTableCell,
55+
DocumentWord,
56+
ModelOperationInfo,
57+
ModelOperation,
58+
DocumentModel,
59+
DocumentModelInfo,
60+
DocTypeInfo,
61+
AccountInfo
3762
)
38-
from ._api_versions import FormRecognizerApiVersion
63+
from ._api_versions import FormRecognizerApiVersion, DocumentAnalysisApiVersion
3964

4065

4166
__all__ = [
4267
"FormRecognizerApiVersion",
68+
"DocumentAnalysisClient",
69+
"DocumentModelAdministrationClient",
4370
"FormRecognizerClient",
4471
"FormTrainingClient",
4572
"LengthUnit",
@@ -68,6 +95,30 @@
6895
"CustomFormModelProperties",
6996
"FormSelectionMark",
7097
"TextAppearance",
98+
"AnalyzeResult",
99+
"AnalyzedDocument",
100+
"BoundingRegion",
101+
"DocumentElement",
102+
"DocumentEntity",
103+
"DocumentField",
104+
"DocumentKeyValueElement",
105+
"DocumentKeyValuePair",
106+
"DocumentLine",
107+
"DocumentPage",
108+
"DocumentSelectionMark",
109+
"DocumentSpan",
110+
"DocumentStyle",
111+
"DocumentTable",
112+
"DocumentTableCell",
113+
"DocumentWord",
114+
"DocumentModelAdministrationLROPoller",
115+
"ModelOperationInfo",
116+
"ModelOperation",
117+
"DocumentAnalysisApiVersion",
118+
"DocumentModel",
119+
"DocumentModelInfo",
120+
"DocTypeInfo",
121+
"AccountInfo"
71122
]
72123

73124
__VERSION__ = VERSION

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_api_versions.py

Lines changed: 41 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,54 @@
66
from enum import Enum
77

88

9+
class DocumentAnalysisApiVersion(str, Enum):
10+
"""Form Recognizer API versions supported by DocumentAnalysisClient and DocumentModelAdministrationClient."""
11+
12+
#: This is the default version
13+
V2021_09_30_PREVIEW = "2021-09-30-preview"
14+
15+
916
class FormRecognizerApiVersion(str, Enum):
10-
"""Form Recognizer API versions supported by this package"""
17+
"""Form Recognizer API versions supported by FormRecognizerClient and FormTrainingClient."""
1118

1219
#: This is the default version
1320
V2_1 = "2.1"
1421
V2_0 = "2.0"
1522

1623

17-
def validate_api_version(api_version):
18-
# type: (str) -> None
24+
def validate_api_version(api_version, client_kind):
25+
# type: (str, str) -> None
1926
"""Raise ValueError if api_version is invalid """
20-
if not api_version:
21-
return
22-
23-
try:
24-
api_version = FormRecognizerApiVersion(api_version)
25-
except ValueError:
26-
raise ValueError(
27-
"Unsupported API version '{}'. Please select from:\n{}".format(
27+
28+
if client_kind == "form":
29+
try:
30+
api_version = FormRecognizerApiVersion(api_version)
31+
except ValueError:
32+
err_message = "Unsupported API version '{}'. Please select from: {}".format(
2833
api_version, ", ".join(v.value for v in FormRecognizerApiVersion)
2934
)
30-
)
35+
try:
36+
api_version = DocumentAnalysisApiVersion(api_version)
37+
err_message += (
38+
"\nAPI version '{}' is only available for "
39+
"DocumentAnalysisClient and DocumentModelAdministrationClient.".format(api_version)
40+
)
41+
except ValueError:
42+
pass
43+
raise ValueError(err_message)
44+
else:
45+
try:
46+
api_version = DocumentAnalysisApiVersion(api_version)
47+
except ValueError:
48+
err_message = "Unsupported API version '{}'. Please select from: {}".format(
49+
api_version, ", ".join(v.value for v in DocumentAnalysisApiVersion)
50+
)
51+
try:
52+
api_version = FormRecognizerApiVersion(api_version)
53+
err_message += (
54+
"\nAPI version '{}' is only available for "
55+
"FormRecognizerClient and FormTrainingClient.".format(api_version)
56+
)
57+
except ValueError:
58+
pass
59+
raise ValueError(err_message)

0 commit comments

Comments
 (0)