Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions sdk/tables/azure-data-tables/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Release History

## 12.4.1 (Unreleased)
## 12.5.0 (Unreleased)

### Features Added

Expand All @@ -10,7 +10,9 @@
* Fix handling of client-side exceptions that get raised during service requests (such as [#21416](https://github.com/Azure/azure-sdk-for-python/issues/21416)) ([#24788](https://github.com/Azure/azure-sdk-for-python/pull/24788))

### Other Changes
* Bumped minimum dependency on `azure-core` to `>=1.23.0`
* Python 3.6 is no longer supported. Please use Python version 3.7 or later.
* Bumped minimum dependency on `azure-core` to `>=1.24.0`
* Bumped minimum dependency on `msrest` to `>=0.7.1`

## 12.4.0 (2022-05-10)

Expand Down
5 changes: 3 additions & 2 deletions sdk/tables/azure-data-tables/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@ Please note, this package is a replacement for [`azure-cosmosdb-tables`](https:/
## _Disclaimer_

_Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_
_Python 3.7 or later is required to use this package. For more details, please refer to [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy)._

## Getting started
The Azure Tables SDK can access an Azure Storage or CosmosDB account.

### Prerequisites
* Python 3.6 or later is required to use this package.
* Python 3.7 or later is required to use this package.
* You must have an [Azure subscription][azure_subscription] and either
* an [Azure Storage account][azure_storage_account] or
* an [Azure Cosmos Account][azure_cosmos_account].
Expand Down Expand Up @@ -313,7 +314,7 @@ Get started with our [Table samples][tables_samples].
Several Azure Tables Python SDK samples are available to you in the SDK's GitHub repository. These samples provide example code for additional scenarios commonly encountered while working with Tables.

### Common Scenarios
These code samples show common scenario operations with the Azure Tables client library. The async versions of the samples (the python sample files appended with _async) show asynchronous operations with Tables and require Python 3.6 or later.
These code samples show common scenario operations with the Azure Tables client library. The async versions of the samples (the python sample files appended with _async) show asynchronous operations.

* Create and delete tables: [sample_create_delete_table.py](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/sample_create_delete_table.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/async_samples/sample_create_delete_table_async.py))
* List and query tables: [sample_query_tables.py](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/sample_query_tables.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/async_samples/sample_query_tables_async.py))
Expand Down
2 changes: 1 addition & 1 deletion sdk/tables/azure-data-tables/azure/data/tables/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
# license information.
# --------------------------------------------------------------------------

VERSION = "12.4.1"
VERSION = "12.5.0"
2 changes: 1 addition & 1 deletion sdk/tables/azure-data-tables/samples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ These sample programs show common scenarios for the Tables client's offerings.


### Prerequisites
* Python 3.6 or later is required to use this package.
* Python 3.7 or later is required to use this package.
* You must have an [Azure subscription](https://azure.microsoft.com/free/) and either an
[Azure storage account](https://docs.microsoft.com/azure/storage/common/storage-account-overview) or an [Azure Cosmos Account](https://docs.microsoft.com/azure/cosmos-db/account-overview) to use this package.

Expand Down
7 changes: 3 additions & 4 deletions sdk/tables/azure-data-tables/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
'Programming Language :: Python',
"Programming Language :: Python :: 3 :: Only",
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
Expand All @@ -63,9 +62,9 @@
'tests',
'azure.data',
]),
python_requires=">=3.6",
python_requires=">=3.7",
install_requires=[
"azure-core<2.0.0,>=1.23.0",
"msrest>=0.6.21"
"azure-core<2.0.0,>=1.24.0",
"msrest>=0.7.1"
],
)
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Tables Performance Tests

In order to run the performance tests, the `azure-devtools` package must be installed. This is done as part of the `dev_requirements`.
Start be creating a new virtual environment for your perf tests. This will need to be a Python 3 environment, preferably >=3.6.
Start be creating a new virtual environment for your perf tests. This will need to be a Python 3 environment, preferably >=3.7.
T1 perf tests are not available at this time.

### Setup for test resources
Expand Down
1 change: 0 additions & 1 deletion sdk/tables/azure-data-tables/tests/test_table_aad.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,6 @@ def test_aad_query_user_filter(self, tables_storage_account_name):
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_aad_batch_all_operations_together(self, tables_storage_account_name):
Expand Down
1 change: 0 additions & 1 deletion sdk/tables/azure-data-tables/tests/test_table_aad_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,6 @@ async def test_aad_query_user_filter(self, tables_storage_account_name):
finally:
await self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator_async
@recorded_by_proxy_async
async def test_aad_batch_all_operations_together(self, tables_storage_account_name):
Expand Down
25 changes: 0 additions & 25 deletions sdk/tables/azure-data-tables/tests/test_table_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
#------------------------------------------------------------------------------

class TestTableBatch(AzureRecordedTestCase, TableTestCase):
@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_single_insert(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -81,7 +80,6 @@ def test_batch_single_insert(self, tables_storage_account_name, tables_primary_s
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_single_update(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -122,7 +120,6 @@ def test_batch_single_update(self, tables_storage_account_name, tables_primary_s
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_update(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -165,7 +162,6 @@ def test_batch_update(self, tables_storage_account_name, tables_primary_storage_
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_merge(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -210,7 +206,6 @@ def test_batch_merge(self, tables_storage_account_name, tables_primary_storage_a
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_update_if_match(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -244,7 +239,6 @@ def test_batch_update_if_match(self, tables_storage_account_name, tables_primary
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_update_if_doesnt_match(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -278,7 +272,6 @@ def test_batch_update_if_doesnt_match(self, tables_storage_account_name, tables_
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_single_op_if_doesnt_match(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -328,7 +321,6 @@ def test_batch_single_op_if_doesnt_match(self, tables_storage_account_name, tabl
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_insert_replace(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -364,7 +356,6 @@ def test_batch_insert_replace(self, tables_storage_account_name, tables_primary_
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_insert_merge(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -400,7 +391,6 @@ def test_batch_insert_merge(self, tables_storage_account_name, tables_primary_st
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_delete(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -438,7 +428,6 @@ def test_batch_delete(self, tables_storage_account_name, tables_primary_storage_
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_inserts(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -479,7 +468,6 @@ def test_batch_inserts(self, tables_storage_account_name, tables_primary_storage
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_all_operations_together(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -555,7 +543,6 @@ def test_batch_all_operations_together(self, tables_storage_account_name, tables
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_reuse(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -600,7 +587,6 @@ def test_batch_reuse(self, tables_storage_account_name, tables_primary_storage_a
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_same_row_operations_fail(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -634,7 +620,6 @@ def test_batch_same_row_operations_fail(self, tables_storage_account_name, table
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_different_partition_operations_fail(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -665,7 +650,6 @@ def test_batch_different_partition_operations_fail(self, tables_storage_account_
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_too_many_ops(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -694,7 +678,6 @@ def test_batch_too_many_ops(self, tables_storage_account_name, tables_primary_st
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_different_partition_keys(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand All @@ -717,7 +700,6 @@ def test_batch_different_partition_keys(self, tables_storage_account_name, table
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_new_non_existent_table(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand All @@ -741,7 +723,6 @@ def test_new_non_existent_table(self, tables_storage_account_name, tables_primar
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_new_invalid_key(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand All @@ -764,7 +745,6 @@ def test_new_invalid_key(self, tables_storage_account_name, tables_primary_stora
with pytest.raises(ClientAuthenticationError):
resp = self.table.submit_transaction(batch)

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_new_delete_nonexistent_entity(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand All @@ -786,7 +766,6 @@ def test_new_delete_nonexistent_entity(self, tables_storage_account_name, tables
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_delete_batch_with_bad_kwarg(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -820,7 +799,6 @@ def test_delete_batch_with_bad_kwarg(self, tables_storage_account_name, tables_p
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@pytest.mark.live_test_only
@tables_decorator
def test_batch_sas_auth(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -875,7 +853,6 @@ def test_batch_sas_auth(self, tables_storage_account_name, tables_primary_storag
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@pytest.mark.live_test_only # Request bodies are very large
@tables_decorator
def test_batch_request_too_large(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -905,7 +882,6 @@ def test_batch_request_too_large(self, tables_storage_account_name, tables_prima
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_with_mode(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -955,7 +931,6 @@ def test_batch_with_mode(self, tables_storage_account_name, tables_primary_stora
finally:
self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator
@recorded_by_proxy
def test_batch_with_specialchar_partitionkey(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down
2 changes: 0 additions & 2 deletions sdk/tables/azure-data-tables/tests/test_table_batch_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,6 @@ async def test_batch_request_too_large(self, tables_storage_account_name, tables
finally:
await self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator_async
@recorded_by_proxy_async
async def test_delete_batch_with_bad_kwarg(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down Expand Up @@ -768,7 +767,6 @@ async def test_delete_batch_with_bad_kwarg(self, tables_storage_account_name, ta
finally:
await self._tear_down()

@pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3")
@tables_decorator_async
@recorded_by_proxy_async
async def test_batch_with_mode(self, tables_storage_account_name, tables_primary_storage_account_key):
Expand Down
Loading