From 024e2a57ced73131f85f3659fb3ff49538fe8f9b Mon Sep 17 00:00:00 2001 From: Paul Dorsch <107068277+pauld-msft@users.noreply.github.com> Date: Tue, 16 Jul 2024 15:49:35 -0400 Subject: [PATCH] PipReport back to experimental, add pre-generated PipReport parsing (#1201) * revert experiment graduation, bump threads, and enable fast deps * put reqs back * add ability for pip to detect pregenerated reports with a specific naming scheme * better directory handling * improve logging --- docs/detectors/pip.md | 7 + .../ScanRequest.cs | 2 +- .../pip/PipCommandService.cs | 7 + .../pip/PipComponentDetector.cs | 4 +- .../pip/PipReportComponentDetector.cs | 134 +- .../Configs/PipReportExperiment.cs | 18 + .../Extensions/ServiceCollectionExtensions.cs | 1 + .../Services/DetectorProcessingService.cs | 2 +- ....ComponentDetection.Detectors.Tests.csproj | 3 + .../test.component-detection-pip-report.json | 318 + .../PipReportComponentDetectorTests.cs | 35 + .../DetectorTestUtilityBuilder.cs | 7 + .../1.component-detection-pip-report.json | 717 ++ .../a.component-detection-pip-report.json | 709 ++ .../pre-generated/multiple/requirements.txt | 14 + .../component-detection-pip-report.json | 8212 +++++++++++++++++ .../pip/pre-generated/simple/requirements.txt | 5 + 17 files changed, 10159 insertions(+), 36 deletions(-) create mode 100644 src/Microsoft.ComponentDetection.Orchestrator/Experiments/Configs/PipReportExperiment.cs create mode 100644 test/Microsoft.ComponentDetection.Detectors.Tests/Mocks/test.component-detection-pip-report.json create mode 100644 test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/1.component-detection-pip-report.json create mode 100644 test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/a.component-detection-pip-report.json create mode 100644 test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/requirements.txt create mode 100644 test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/simple/component-detection-pip-report.json create mode 100644 test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/simple/requirements.txt diff --git a/docs/detectors/pip.md b/docs/detectors/pip.md index ad68a6fc7..0e8df8028 100644 --- a/docs/detectors/pip.md +++ b/docs/detectors/pip.md @@ -19,6 +19,9 @@ Serialization specifications: - https://peps.python.org/pep-0508/ - https://peps.python.org/pep-0301/ +The detector can also pick up installation reports that have already been generated in the same directory as the `setup.py` or `requirements.txt` files, +as long as the report adheres to the following naming scheme: `component-detection-pip-report.json` or `*.component-detection-pip-report.json` + ### Legacy Detection (PipDetector, SimplePipDetector) Pip detection is performed by running the following code snippet on every *setup.py*: @@ -60,3 +63,7 @@ The environment variable `PipReportOverrideBehavior` is used to override pip rep - `SourceCodeScan`: Scan `setup.py` and `requirements.txt` files, and record components explicitly from the package files without hitting a remote feed. Does not compile a dependency graph. The environment variable `PipReportSkipFallbackOnFailure` is used to skip the default fallback behavior if pip report fails. Default behavior scans `setup.py` and `requirements.txt` files, and record components explicitly from the package files without hitting a remote feed. Does not compile a dependency graph. + +The environment variable `PipReportFileLevelTimeoutSeconds` is used to control the timeout limit for generating the PipReport for individual files. This defaults to the overall timeout. + +The environment variable `PipReportDisableFastDeps` is used to disable the fast deps feature in PipReport. diff --git a/src/Microsoft.ComponentDetection.Contracts/ScanRequest.cs b/src/Microsoft.ComponentDetection.Contracts/ScanRequest.cs index dc3e51511..22abb6457 100644 --- a/src/Microsoft.ComponentDetection.Contracts/ScanRequest.cs +++ b/src/Microsoft.ComponentDetection.Contracts/ScanRequest.cs @@ -19,7 +19,7 @@ public class ScanRequest /// Container images to scan. /// Detector component recorder. /// Max number of threads to use for detection. - public ScanRequest(DirectoryInfo sourceDirectory, ExcludeDirectoryPredicate directoryExclusionPredicate, ILogger logger, IDictionary detectorArgs, IEnumerable imagesToScan, IComponentRecorder componentRecorder, int maxThreads = 3) + public ScanRequest(DirectoryInfo sourceDirectory, ExcludeDirectoryPredicate directoryExclusionPredicate, ILogger logger, IDictionary detectorArgs, IEnumerable imagesToScan, IComponentRecorder componentRecorder, int maxThreads = 5) { this.SourceDirectory = sourceDirectory; this.DirectoryExclusionPredicate = directoryExclusionPredicate; diff --git a/src/Microsoft.ComponentDetection.Detectors/pip/PipCommandService.cs b/src/Microsoft.ComponentDetection.Detectors/pip/PipCommandService.cs index 5133f3c7d..ae9e62054 100644 --- a/src/Microsoft.ComponentDetection.Detectors/pip/PipCommandService.cs +++ b/src/Microsoft.ComponentDetection.Detectors/pip/PipCommandService.cs @@ -13,6 +13,8 @@ namespace Microsoft.ComponentDetection.Detectors.Pip; public class PipCommandService : IPipCommandService { + private const string PipReportDisableFastDepsEnvVar = "PipReportDisableFastDeps"; + private readonly ICommandLineInvocationService commandLineInvocationService; private readonly IPathUtilityService pathUtilityService; private readonly IFileUtilityService fileUtilityService; @@ -127,6 +129,11 @@ private async Task CanCommandBeLocatedAsync(string pipPath) pipReportCommand += $" --index-url {this.environmentService.GetEnvironmentVariable("PIP_INDEX_URL")}"; } + if (!this.environmentService.DoesEnvironmentVariableExist(PipReportDisableFastDepsEnvVar) || !this.environmentService.IsEnvironmentVariableValueTrue(PipReportDisableFastDepsEnvVar)) + { + pipReportCommand += $" --use-feature=fast-deps"; + } + this.logger.LogDebug("PipReport: Generating pip installation report for {Path} with command: {Command}", formattedPath, pipReportCommand.RemoveSensitiveInformation()); command = await this.commandLineInvocationService.ExecuteCommandAsync( pipExecutable, diff --git a/src/Microsoft.ComponentDetection.Detectors/pip/PipComponentDetector.cs b/src/Microsoft.ComponentDetection.Detectors/pip/PipComponentDetector.cs index e343f9c29..74bebed59 100644 --- a/src/Microsoft.ComponentDetection.Detectors/pip/PipComponentDetector.cs +++ b/src/Microsoft.ComponentDetection.Detectors/pip/PipComponentDetector.cs @@ -11,7 +11,7 @@ namespace Microsoft.ComponentDetection.Detectors.Pip; using Microsoft.ComponentDetection.Contracts.TypedComponent; using Microsoft.Extensions.Logging; -public class PipComponentDetector : FileComponentDetector, IDefaultOffComponentDetector +public class PipComponentDetector : FileComponentDetector { private readonly IPythonCommandService pythonCommandService; private readonly IPythonResolver pythonResolver; @@ -38,7 +38,7 @@ public PipComponentDetector( public override IEnumerable SupportedComponentTypes { get; } = new[] { ComponentType.Pip }; - public override int Version { get; } = 11; + public override int Version { get; } = 12; protected override async Task> OnPrepareDetectionAsync(IObservable processRequests, IDictionary detectorArgs) { diff --git a/src/Microsoft.ComponentDetection.Detectors/pip/PipReportComponentDetector.cs b/src/Microsoft.ComponentDetection.Detectors/pip/PipReportComponentDetector.cs index b0d561295..31317a67b 100644 --- a/src/Microsoft.ComponentDetection.Detectors/pip/PipReportComponentDetector.cs +++ b/src/Microsoft.ComponentDetection.Detectors/pip/PipReportComponentDetector.cs @@ -13,11 +13,16 @@ namespace Microsoft.ComponentDetection.Detectors.Pip; using Microsoft.ComponentDetection.Contracts.Internal; using Microsoft.ComponentDetection.Contracts.TypedComponent; using Microsoft.Extensions.Logging; +using Newtonsoft.Json; -public class PipReportComponentDetector : FileComponentDetector +public class PipReportComponentDetector : FileComponentDetector, IExperimentalDetector { + // environment variables private const string PipReportOverrideBehaviorEnvVar = "PipReportOverrideBehavior"; private const string PipReportSkipFallbackOnFailureEnvVar = "PipReportSkipFallbackOnFailure"; + private const string PipReportFileLevelTimeoutSecondsEnvVar = "PipReportFileLevelTimeoutSeconds"; + + private static readonly IList PipReportPreGeneratedFilePatterns = new List { "*.component-detection-pip-report.json", "component-detection-pip-report.json" }; /// /// The maximum version of the report specification that this detector can handle. @@ -33,6 +38,7 @@ public class PipReportComponentDetector : FileComponentDetector private readonly IEnvironmentVariableService envVarService; private readonly IPythonCommandService pythonCommandService; private readonly IPythonResolver pythonResolver; + private readonly IFileUtilityService fileUtilityService; public PipReportComponentDetector( IComponentStreamEnumerableFactory componentStreamEnumerableFactory, @@ -41,6 +47,7 @@ public PipReportComponentDetector( IEnvironmentVariableService envVarService, IPythonCommandService pythonCommandService, IPythonResolver pythonResolver, + IFileUtilityService fileUtilityService, ILogger logger) { this.ComponentStreamEnumerableFactory = componentStreamEnumerableFactory; @@ -49,6 +56,7 @@ public PipReportComponentDetector( this.envVarService = envVarService; this.pythonCommandService = pythonCommandService; this.pythonResolver = pythonResolver; + this.fileUtilityService = fileUtilityService; this.Logger = logger; } @@ -67,7 +75,7 @@ private enum PipReportOverrideBehavior public override IEnumerable SupportedComponentTypes { get; } = new[] { ComponentType.Pip }; - public override int Version { get; } = 4; + public override int Version { get; } = 5; protected override bool EnableParallelism { get; set; } = true; @@ -117,7 +125,7 @@ protected override async Task OnFileFoundAsync(ProcessRequest processRequest, ID var singleFileComponentRecorder = processRequest.SingleFileComponentRecorder; var file = processRequest.ComponentStream; - FileInfo reportFile = null; + List reportFiles = new(); try { var pipOverride = this.GetPipReportOverrideBehavior(); @@ -150,44 +158,103 @@ protected override async Task OnFileFoundAsync(ProcessRequest processRequest, ID } var stopwatch = Stopwatch.StartNew(); - this.Logger.LogInformation("PipReport: Generating pip installation report for {File}", file.Location); - // Call pip executable to generate the installation report of a given project file. - (var report, reportFile) = await this.pipCommandService.GenerateInstallationReportAsync(file.Location, pipExePath, cancellationToken); + // Search for a pre-generated pip report file in the same directory as the file being scanned. + var fileParentDirectory = Path.GetDirectoryName(file.Location); + if (fileParentDirectory is null) + { + this.Logger.LogWarning("PipReport: Unable to determine parent directory for {File}.", file.Location); + return; + } + + var fileParentDirectoryInfo = Directory.Exists(fileParentDirectory) + ? new DirectoryInfo(fileParentDirectory) + : null; - // The report version is used to determine how to parse the report. If it is greater - // than the maximum supported version, there may be new fields and the parsing will fail. - if (!int.TryParse(report.Version, out var reportVersion) || reportVersion > MaxReportVersion.Major) + List preGeneratedReportFiles = null; + if (fileParentDirectoryInfo is not null) { - this.Logger.LogWarning( - "PipReport: The pip installation report version {ReportVersion} is not supported. The maximum supported version is {MaxVersion}.", - report.Version, - MaxReportVersion); + preGeneratedReportFiles = PipReportPreGeneratedFilePatterns + .SelectMany(pattern => fileParentDirectoryInfo.GetFiles(pattern)) + .Where(file => File.Exists(file.FullName)) + .ToList(); + } + + List reports = new(); + if (preGeneratedReportFiles is not null && preGeneratedReportFiles.Any()) + { + this.Logger.LogInformation("PipReport: Found pre-generated pip report(s) for {File}.", file.Location); - using var versionRecord = new InvalidParseVersionTelemetryRecord + foreach (var existingReport in preGeneratedReportFiles) { - DetectorId = this.Id, - FilePath = file.Location, - Version = report.Version, - MaxVersion = MaxReportVersion.ToString(), - }; + this.Logger.LogInformation("PipReport: Using pre-generated pip report '{ReportFile}' for package file '{File}'.", existingReport.FullName, file.Location); + var reportOutput = await this.fileUtilityService.ReadAllTextAsync(existingReport); + var report = JsonConvert.DeserializeObject(reportOutput); + reports.Add(report); + } + } + else + { + this.Logger.LogInformation("PipReport: Generating pip installation report for {File}", file.Location); - return; + // create linked cancellation token that will cancel if the file level timeout is reached, or if the parent token is cancelled. + // default to only using parent token if the env var is not set or is invalid + var childCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + if (this.envVarService.DoesEnvironmentVariableExist(PipReportFileLevelTimeoutSecondsEnvVar) + && int.TryParse(this.envVarService.GetEnvironmentVariable(PipReportFileLevelTimeoutSecondsEnvVar), out var timeoutSeconds)) + { + childCts.CancelAfter(TimeSpan.FromSeconds(timeoutSeconds)); + } + + // Call pip executable to generate the installation report of a given project file. + (var report, var reportFile) = await this.pipCommandService.GenerateInstallationReportAsync(file.Location, pipExePath, childCts.Token); + reports.Add(report); + reportFiles.Add(reportFile); } - stopwatch.Stop(); - this.Logger.LogInformation( - "PipReport: Generating pip installation report for {File} completed in {TotalSeconds} seconds with {PkgCount} detected packages.", - file.Location, - stopwatch.ElapsedMilliseconds / 1000.0, - report.InstallItems?.Length ?? 0); + if (!reports.Any()) + { + this.Logger.LogWarning("PipReport: Failed to generate or find pip installation report for {File}.", file.Location); + return; + } - // Now that all installed packages are known, we can build a graph of the dependencies. - if (report.InstallItems is not null) + foreach (var report in reports) { - var graph = this.BuildGraphFromInstallationReport(report); - this.RecordComponents(singleFileComponentRecorder, graph); + // The report version is used to determine how to parse the report. If it is greater + // than the maximum supported version, there may be new fields and the parsing will fail. + if (!int.TryParse(report.Version, out var reportVersion) || reportVersion > MaxReportVersion.Major) + { + this.Logger.LogWarning( + "PipReport: The pip installation report version {ReportVersion} is not supported. The maximum supported version is {MaxVersion}.", + report.Version, + MaxReportVersion); + + using var versionRecord = new InvalidParseVersionTelemetryRecord + { + DetectorId = this.Id, + FilePath = file.Location, + Version = report.Version, + MaxVersion = MaxReportVersion.ToString(), + }; + + return; + } + + this.Logger.LogInformation( + "PipReport: Pip installation report for {File} completed in {TotalSeconds} seconds with {PkgCount} detected packages.", + file.Location, + stopwatch.ElapsedMilliseconds / 1000.0, + report.InstallItems?.Length ?? 0); + + // Now that all installed packages are known, we can build a graph of the dependencies. + if (report.InstallItems is not null) + { + var graph = this.BuildGraphFromInstallationReport(report); + this.RecordComponents(singleFileComponentRecorder, graph); + } } + + stopwatch.Stop(); } catch (Exception e) { @@ -211,9 +278,12 @@ protected override async Task OnFileFoundAsync(ProcessRequest processRequest, ID finally { // Clean up the report output JSON file so it isn't left on the machine. - if (reportFile is not null && reportFile.Exists) + foreach (var reportFile in reportFiles) { - reportFile.Delete(); + if (reportFile is not null && reportFile.Exists) + { + reportFile.Delete(); + } } } } diff --git a/src/Microsoft.ComponentDetection.Orchestrator/Experiments/Configs/PipReportExperiment.cs b/src/Microsoft.ComponentDetection.Orchestrator/Experiments/Configs/PipReportExperiment.cs new file mode 100644 index 000000000..27efde329 --- /dev/null +++ b/src/Microsoft.ComponentDetection.Orchestrator/Experiments/Configs/PipReportExperiment.cs @@ -0,0 +1,18 @@ +namespace Microsoft.ComponentDetection.Orchestrator.Experiments.Configs; + +using Microsoft.ComponentDetection.Contracts; +using Microsoft.ComponentDetection.Detectors.Pip; + +/// +/// Validating the . +/// +public class PipReportExperiment : IExperimentConfiguration +{ + public string Name => "PipReport"; + + public bool IsInControlGroup(IComponentDetector componentDetector) => componentDetector is PipComponentDetector; + + public bool IsInExperimentGroup(IComponentDetector componentDetector) => componentDetector is PipReportComponentDetector; + + public bool ShouldRecord(IComponentDetector componentDetector, int numComponents) => true; +} diff --git a/src/Microsoft.ComponentDetection.Orchestrator/Extensions/ServiceCollectionExtensions.cs b/src/Microsoft.ComponentDetection.Orchestrator/Extensions/ServiceCollectionExtensions.cs index 2e6a2f3e1..182ed884e 100644 --- a/src/Microsoft.ComponentDetection.Orchestrator/Extensions/ServiceCollectionExtensions.cs +++ b/src/Microsoft.ComponentDetection.Orchestrator/Extensions/ServiceCollectionExtensions.cs @@ -64,6 +64,7 @@ public static IServiceCollection AddComponentDetection(this IServiceCollection s services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); // Detectors // CocoaPods diff --git a/src/Microsoft.ComponentDetection.Orchestrator/Services/DetectorProcessingService.cs b/src/Microsoft.ComponentDetection.Orchestrator/Services/DetectorProcessingService.cs index f802443c8..a5d03b8df 100644 --- a/src/Microsoft.ComponentDetection.Orchestrator/Services/DetectorProcessingService.cs +++ b/src/Microsoft.ComponentDetection.Orchestrator/Services/DetectorProcessingService.cs @@ -23,7 +23,7 @@ namespace Microsoft.ComponentDetection.Orchestrator.Services; public class DetectorProcessingService : IDetectorProcessingService { - private const int DefaultMaxDetectionThreads = 3; + private const int DefaultMaxDetectionThreads = 5; private const int ExperimentalTimeoutSeconds = 240; // 4 minutes private const int ProcessTimeoutBufferSeconds = 5; diff --git a/test/Microsoft.ComponentDetection.Detectors.Tests/Microsoft.ComponentDetection.Detectors.Tests.csproj b/test/Microsoft.ComponentDetection.Detectors.Tests/Microsoft.ComponentDetection.Detectors.Tests.csproj index eeb1b1c8b..d5ac856bd 100644 --- a/test/Microsoft.ComponentDetection.Detectors.Tests/Microsoft.ComponentDetection.Detectors.Tests.csproj +++ b/test/Microsoft.ComponentDetection.Detectors.Tests/Microsoft.ComponentDetection.Detectors.Tests.csproj @@ -46,6 +46,9 @@ Always + + Always + diff --git a/test/Microsoft.ComponentDetection.Detectors.Tests/Mocks/test.component-detection-pip-report.json b/test/Microsoft.ComponentDetection.Detectors.Tests/Mocks/test.component-detection-pip-report.json new file mode 100644 index 000000000..077cc17d1 --- /dev/null +++ b/test/Microsoft.ComponentDetection.Detectors.Tests/Mocks/test.component-detection-pip-report.json @@ -0,0 +1,318 @@ +{ + "version": "1", + "pip_version": "24.0", + "install": [ + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", + "archive_info": { + "hash": "sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", + "hashes": { + "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "requests", + "version": "2.32.3", + "summary": "Python HTTP for Humans.", + "description": "# Requests\n\n**Requests** is a simple, yet elegant, HTTP library.\n\n```python\n>>> import requests\n>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))\n>>> r.status_code\n200\n>>> r.headers['content-type']\n'application/json; charset=utf8'\n>>> r.encoding\n'utf-8'\n>>> r.text\n'{\"authenticated\": true, ...'\n>>> r.json()\n{'authenticated': True, ...}\n```\n\nRequests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your `PUT` & `POST` data — but nowadays, just use the `json` method!\n\nRequests is one of the most downloaded Python packages today, pulling in around `30M downloads / week`— according to GitHub, Requests is currently [depended upon](https://github.com/psf/requests/network/dependents?package_id=UGFja2FnZS01NzA4OTExNg%3D%3D) by `1,000,000+` repositories. You may certainly put your trust in this code.\n\n[![Downloads](https://static.pepy.tech/badge/requests/month)](https://pepy.tech/project/requests)\n[![Supported Versions](https://img.shields.io/pypi/pyversions/requests.svg)](https://pypi.org/project/requests)\n[![Contributors](https://img.shields.io/github/contributors/psf/requests.svg)](https://github.com/psf/requests/graphs/contributors)\n\n## Installing Requests and Supported Versions\n\nRequests is available on PyPI:\n\n```console\n$ python -m pip install requests\n```\n\nRequests officially supports Python 3.8+.\n\n## Supported Features & Best–Practices\n\nRequests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today.\n\n- Keep-Alive & Connection Pooling\n- International Domains and URLs\n- Sessions with Cookie Persistence\n- Browser-style TLS/SSL Verification\n- Basic & Digest Authentication\n- Familiar `dict`–like Cookies\n- Automatic Content Decompression and Decoding\n- Multi-part File Uploads\n- SOCKS Proxy Support\n- Connection Timeouts\n- Streaming Downloads\n- Automatic honoring of `.netrc`\n- Chunked HTTP Requests\n\n## API Reference and User Guide available on [Read the Docs](https://requests.readthedocs.io)\n\n[![Read the Docs](https://raw.githubusercontent.com/psf/requests/main/ext/ss.png)](https://requests.readthedocs.io)\n\n## Cloning the repository\n\nWhen cloning the Requests repository, you may need to add the `-c\nfetch.fsck.badTimezone=ignore` flag to avoid an error about a bad commit (see\n[this issue](https://github.com/psf/requests/issues/2690) for more background):\n\n```shell\ngit clone -c fetch.fsck.badTimezone=ignore https://github.com/psf/requests.git\n```\n\nYou can also apply this setting to your global Git config:\n\n```shell\ngit config --global fetch.fsck.badTimezone ignore\n```\n\n---\n\n[![Kenneth Reitz](https://raw.githubusercontent.com/psf/requests/main/ext/kr.png)](https://kennethreitz.org) [![Python Software Foundation](https://raw.githubusercontent.com/psf/requests/main/ext/psf.png)](https://www.python.org/psf)\n", + "description_content_type": "text/markdown", + "home_page": "https://requests.readthedocs.io", + "author": "Kenneth Reitz", + "author_email": "me@kennethreitz.org", + "license": "Apache-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Software Development :: Libraries" + ], + "requires_dist": [ + "charset-normalizer <4,>=2", + "idna <4,>=2.5", + "urllib3 <3,>=1.21.1", + "certifi >=2017.4.17", + "PySocks !=1.5.7,>=1.5.6 ; extra == 'socks'", + "chardet <6,>=3.0.2 ; extra == 'use_chardet_on_py3'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Documentation, https://requests.readthedocs.io", + "Source, https://github.com/psf/requests" + ], + "provides_extra": [ + "security", + "socks", + "use_chardet_on_py3" + ] + }, + "requested_extras": [ + "security" + ] + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/5b/11/1e78951465b4a225519b8c3ad29769c49e0d8d157a070f681d5b6d64737f/certifi-2024.6.2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56", + "hashes": { + "sha256": "ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "certifi", + "version": "2024.6.2", + "summary": "Python package for providing Mozilla's CA Bundle.", + "description": "Certifi: Python SSL Certificates\n================================\n\nCertifi provides Mozilla's carefully curated collection of Root Certificates for\nvalidating the trustworthiness of SSL certificates while verifying the identity\nof TLS hosts. It has been extracted from the `Requests`_ project.\n\nInstallation\n------------\n\n``certifi`` is available on PyPI. Simply install it with ``pip``::\n\n $ pip install certifi\n\nUsage\n-----\n\nTo reference the installed certificate authority (CA) bundle, you can use the\nbuilt-in function::\n\n >>> import certifi\n\n >>> certifi.where()\n '/usr/local/lib/python3.7/site-packages/certifi/cacert.pem'\n\nOr from the command line::\n\n $ python -m certifi\n /usr/local/lib/python3.7/site-packages/certifi/cacert.pem\n\nEnjoy!\n\n.. _`Requests`: https://requests.readthedocs.io/en/master/\n\nAddition/Removal of Certificates\n--------------------------------\n\nCertifi does not support any addition/removal or other modification of the\nCA trust store content. This project is intended to provide a reliable and\nhighly portable root of trust to python deployments. Look to upstream projects\nfor methods to use alternate trust.\n", + "home_page": "https://github.com/certifi/python-certifi", + "author": "Kenneth Reitz", + "author_email": "me@kennethreitz.com", + "license": "MPL-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", + "Natural Language :: English", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12" + ], + "requires_python": ">=3.6", + "project_url": [ + "Source, https://github.com/certifi/python-certifi" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/b6/7c/8debebb4f90174074b827c63242c23851bdf00a532489fba57fef3416e40/charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", + "hashes": { + "sha256": "96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "charset-normalizer", + "version": "3.3.2", + "summary": "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.", + "description": "

Charset Detection, for Everyone 👋

\r\n\r\n

\r\n The Real First Universal Charset Detector
\r\n \r\n \r\n \r\n \r\n \"Download\r\n \r\n \r\n \r\n \r\n

\r\n

\r\n Featured Packages
\r\n \r\n \"Static\r\n \r\n \r\n \"Static\r\n \r\n

\r\n

\r\n In other language (unofficial port - by the community)
\r\n \r\n \"Static\r\n \r\n

\r\n\r\n> A library that helps you read text from an unknown charset encoding.
Motivated by `chardet`,\r\n> I'm trying to resolve the issue by taking a new approach.\r\n> All IANA character set names for which the Python core library provides codecs are supported.\r\n\r\n

\r\n >>>>> 👉 Try Me Online Now, Then Adopt Me 👈 <<<<<\r\n

\r\n\r\nThis project offers you an alternative to **Universal Charset Encoding Detector**, also known as **Chardet**.\r\n\r\n| Feature | [Chardet](https://github.com/chardet/chardet) | Charset Normalizer | [cChardet](https://github.com/PyYoshi/cChardet) |\r\n|--------------------------------------------------|:---------------------------------------------:|:--------------------------------------------------------------------------------------------------:|:-----------------------------------------------:|\r\n| `Fast` | ❌ | ✅ | ✅ |\r\n| `Universal**` | ❌ | ✅ | ❌ |\r\n| `Reliable` **without** distinguishable standards | ❌ | ✅ | ✅ |\r\n| `Reliable` **with** distinguishable standards | ✅ | ✅ | ✅ |\r\n| `License` | LGPL-2.1
_restrictive_ | MIT | MPL-1.1
_restrictive_ |\r\n| `Native Python` | ✅ | ✅ | ❌ |\r\n| `Detect spoken language` | ❌ | ✅ | N/A |\r\n| `UnicodeDecodeError Safety` | ❌ | ✅ | ❌ |\r\n| `Whl Size (min)` | 193.6 kB | 42 kB | ~200 kB |\r\n| `Supported Encoding` | 33 | 🎉 [99](https://charset-normalizer.readthedocs.io/en/latest/user/support.html#supported-encodings) | 40 |\r\n\r\n

\r\n\"Reading\"Cat\r\n

\r\n\r\n*\\*\\* : They are clearly using specific code for a specific encoding even if covering most of used one*
\r\nDid you got there because of the logs? See [https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html](https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html)\r\n\r\n## ⚡ Performance\r\n\r\nThis package offer better performance than its counterpart Chardet. Here are some numbers.\r\n\r\n| Package | Accuracy | Mean per file (ms) | File per sec (est) |\r\n|-----------------------------------------------|:--------:|:------------------:|:------------------:|\r\n| [chardet](https://github.com/chardet/chardet) | 86 % | 200 ms | 5 file/sec |\r\n| charset-normalizer | **98 %** | **10 ms** | 100 file/sec |\r\n\r\n| Package | 99th percentile | 95th percentile | 50th percentile |\r\n|-----------------------------------------------|:---------------:|:---------------:|:---------------:|\r\n| [chardet](https://github.com/chardet/chardet) | 1200 ms | 287 ms | 23 ms |\r\n| charset-normalizer | 100 ms | 50 ms | 5 ms |\r\n\r\nChardet's performance on larger file (1MB+) are very poor. Expect huge difference on large payload.\r\n\r\n> Stats are generated using 400+ files using default parameters. More details on used files, see GHA workflows.\r\n> And yes, these results might change at any time. The dataset can be updated to include more files.\r\n> The actual delays heavily depends on your CPU capabilities. The factors should remain the same.\r\n> Keep in mind that the stats are generous and that Chardet accuracy vs our is measured using Chardet initial capability\r\n> (eg. Supported Encoding) Challenge-them if you want.\r\n\r\n## ✨ Installation\r\n\r\nUsing pip:\r\n\r\n```sh\r\npip install charset-normalizer -U\r\n```\r\n\r\n## 🚀 Basic Usage\r\n\r\n### CLI\r\nThis package comes with a CLI.\r\n\r\n```\r\nusage: normalizer [-h] [-v] [-a] [-n] [-m] [-r] [-f] [-t THRESHOLD]\r\n file [file ...]\r\n\r\nThe Real First Universal Charset Detector. Discover originating encoding used\r\non text file. Normalize text to unicode.\r\n\r\npositional arguments:\r\n files File(s) to be analysed\r\n\r\noptional arguments:\r\n -h, --help show this help message and exit\r\n -v, --verbose Display complementary information about file if any.\r\n Stdout will contain logs about the detection process.\r\n -a, --with-alternative\r\n Output complementary possibilities if any. Top-level\r\n JSON WILL be a list.\r\n -n, --normalize Permit to normalize input file. If not set, program\r\n does not write anything.\r\n -m, --minimal Only output the charset detected to STDOUT. Disabling\r\n JSON output.\r\n -r, --replace Replace file when trying to normalize it instead of\r\n creating a new one.\r\n -f, --force Replace file without asking if you are sure, use this\r\n flag with caution.\r\n -t THRESHOLD, --threshold THRESHOLD\r\n Define a custom maximum amount of chaos allowed in\r\n decoded content. 0. <= chaos <= 1.\r\n --version Show version information and exit.\r\n```\r\n\r\n```bash\r\nnormalizer ./data/sample.1.fr.srt\r\n```\r\n\r\nor\r\n\r\n```bash\r\npython -m charset_normalizer ./data/sample.1.fr.srt\r\n```\r\n\r\n🎉 Since version 1.4.0 the CLI produce easily usable stdout result in JSON format.\r\n\r\n```json\r\n{\r\n \"path\": \"/home/default/projects/charset_normalizer/data/sample.1.fr.srt\",\r\n \"encoding\": \"cp1252\",\r\n \"encoding_aliases\": [\r\n \"1252\",\r\n \"windows_1252\"\r\n ],\r\n \"alternative_encodings\": [\r\n \"cp1254\",\r\n \"cp1256\",\r\n \"cp1258\",\r\n \"iso8859_14\",\r\n \"iso8859_15\",\r\n \"iso8859_16\",\r\n \"iso8859_3\",\r\n \"iso8859_9\",\r\n \"latin_1\",\r\n \"mbcs\"\r\n ],\r\n \"language\": \"French\",\r\n \"alphabets\": [\r\n \"Basic Latin\",\r\n \"Latin-1 Supplement\"\r\n ],\r\n \"has_sig_or_bom\": false,\r\n \"chaos\": 0.149,\r\n \"coherence\": 97.152,\r\n \"unicode_path\": null,\r\n \"is_preferred\": true\r\n}\r\n```\r\n\r\n### Python\r\n*Just print out normalized text*\r\n```python\r\nfrom charset_normalizer import from_path\r\n\r\nresults = from_path('./my_subtitle.srt')\r\n\r\nprint(str(results.best()))\r\n```\r\n\r\n*Upgrade your code without effort*\r\n```python\r\nfrom charset_normalizer import detect\r\n```\r\n\r\nThe above code will behave the same as **chardet**. We ensure that we offer the best (reasonable) BC result possible.\r\n\r\nSee the docs for advanced usage : [readthedocs.io](https://charset-normalizer.readthedocs.io/en/latest/)\r\n\r\n## 😇 Why\r\n\r\nWhen I started using Chardet, I noticed that it was not suited to my expectations, and I wanted to propose a\r\nreliable alternative using a completely different method. Also! I never back down on a good challenge!\r\n\r\nI **don't care** about the **originating charset** encoding, because **two different tables** can\r\nproduce **two identical rendered string.**\r\nWhat I want is to get readable text, the best I can. \r\n\r\nIn a way, **I'm brute forcing text decoding.** How cool is that ? 😎\r\n\r\nDon't confuse package **ftfy** with charset-normalizer or chardet. ftfy goal is to repair unicode string whereas charset-normalizer to convert raw file in unknown encoding to unicode.\r\n\r\n## 🍰 How\r\n\r\n - Discard all charset encoding table that could not fit the binary content.\r\n - Measure noise, or the mess once opened (by chunks) with a corresponding charset encoding.\r\n - Extract matches with the lowest mess detected.\r\n - Additionally, we measure coherence / probe for a language.\r\n\r\n**Wait a minute**, what is noise/mess and coherence according to **YOU ?**\r\n\r\n*Noise :* I opened hundred of text files, **written by humans**, with the wrong encoding table. **I observed**, then\r\n**I established** some ground rules about **what is obvious** when **it seems like** a mess.\r\n I know that my interpretation of what is noise is probably incomplete, feel free to contribute in order to\r\n improve or rewrite it.\r\n\r\n*Coherence :* For each language there is on earth, we have computed ranked letter appearance occurrences (the best we can). So I thought\r\nthat intel is worth something here. So I use those records against decoded text to check if I can detect intelligent design.\r\n\r\n## ⚡ Known limitations\r\n\r\n - Language detection is unreliable when text contains two or more languages sharing identical letters. (eg. HTML (english tags) + Turkish content (Sharing Latin characters))\r\n - Every charset detector heavily depends on sufficient content. In common cases, do not bother run detection on very tiny content.\r\n\r\n## ⚠️ About Python EOLs\r\n\r\n**If you are running:**\r\n\r\n- Python >=2.7,<3.5: Unsupported\r\n- Python 3.5: charset-normalizer < 2.1\r\n- Python 3.6: charset-normalizer < 3.1\r\n- Python 3.7: charset-normalizer < 4.0\r\n\r\nUpgrade your Python interpreter as soon as possible.\r\n\r\n## 👤 Contributing\r\n\r\nContributions, issues and feature requests are very much welcome.
\r\nFeel free to check [issues page](https://github.com/ousret/charset_normalizer/issues) if you want to contribute.\r\n\r\n## 📝 License\r\n\r\nCopyright © [Ahmed TAHRI @Ousret](https://github.com/Ousret).
\r\nThis project is [MIT](https://github.com/Ousret/charset_normalizer/blob/master/LICENSE) licensed.\r\n\r\nCharacters frequencies used in this project © 2012 [Denny Vrandečić](http://simia.net/letters/)\r\n\r\n## 💼 For Enterprise\r\n\r\nProfessional support for charset-normalizer is available as part of the [Tidelift\r\nSubscription][1]. Tidelift gives software development teams a single source for\r\npurchasing and maintaining their software, with professional grade assurances\r\nfrom the experts who know it best, while seamlessly integrating with existing\r\ntools.\r\n\r\n[1]: https://tidelift.com/subscription/pkg/pypi-charset-normalizer?utm_source=pypi-charset-normalizer&utm_medium=readme\r\n\r\n# Changelog\r\nAll notable changes to charset-normalizer will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\r\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).\r\n\r\n## [3.3.2](https://github.com/Ousret/charset_normalizer/compare/3.3.1...3.3.2) (2023-10-31)\r\n\r\n### Fixed\r\n- Unintentional memory usage regression when using large payload that match several encoding (#376)\r\n- Regression on some detection case showcased in the documentation (#371)\r\n\r\n### Added\r\n- Noise (md) probe that identify malformed arabic representation due to the presence of letters in isolated form (credit to my wife)\r\n\r\n## [3.3.1](https://github.com/Ousret/charset_normalizer/compare/3.3.0...3.3.1) (2023-10-22)\r\n\r\n### Changed\r\n- Optional mypyc compilation upgraded to version 1.6.1 for Python >= 3.8\r\n- Improved the general detection reliability based on reports from the community\r\n\r\n## [3.3.0](https://github.com/Ousret/charset_normalizer/compare/3.2.0...3.3.0) (2023-09-30)\r\n\r\n### Added\r\n- Allow to execute the CLI (e.g. normalizer) through `python -m charset_normalizer.cli` or `python -m charset_normalizer`\r\n- Support for 9 forgotten encoding that are supported by Python but unlisted in `encoding.aliases` as they have no alias (#323)\r\n\r\n### Removed\r\n- (internal) Redundant utils.is_ascii function and unused function is_private_use_only\r\n- (internal) charset_normalizer.assets is moved inside charset_normalizer.constant\r\n\r\n### Changed\r\n- (internal) Unicode code blocks in constants are updated using the latest v15.0.0 definition to improve detection\r\n- Optional mypyc compilation upgraded to version 1.5.1 for Python >= 3.8\r\n\r\n### Fixed\r\n- Unable to properly sort CharsetMatch when both chaos/noise and coherence were close due to an unreachable condition in \\_\\_lt\\_\\_ (#350)\r\n\r\n## [3.2.0](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.2.0) (2023-06-07)\r\n\r\n### Changed\r\n- Typehint for function `from_path` no longer enforce `PathLike` as its first argument\r\n- Minor improvement over the global detection reliability\r\n\r\n### Added\r\n- Introduce function `is_binary` that relies on main capabilities, and optimized to detect binaries\r\n- Propagate `enable_fallback` argument throughout `from_bytes`, `from_path`, and `from_fp` that allow a deeper control over the detection (default True)\r\n- Explicit support for Python 3.12\r\n\r\n### Fixed\r\n- Edge case detection failure where a file would contain 'very-long' camel cased word (Issue #289)\r\n\r\n## [3.1.0](https://github.com/Ousret/charset_normalizer/compare/3.0.1...3.1.0) (2023-03-06)\r\n\r\n### Added\r\n- Argument `should_rename_legacy` for legacy function `detect` and disregard any new arguments without errors (PR #262)\r\n\r\n### Removed\r\n- Support for Python 3.6 (PR #260)\r\n\r\n### Changed\r\n- Optional speedup provided by mypy/c 1.0.1\r\n\r\n## [3.0.1](https://github.com/Ousret/charset_normalizer/compare/3.0.0...3.0.1) (2022-11-18)\r\n\r\n### Fixed\r\n- Multi-bytes cutter/chunk generator did not always cut correctly (PR #233)\r\n\r\n### Changed\r\n- Speedup provided by mypy/c 0.990 on Python >= 3.7\r\n\r\n## [3.0.0](https://github.com/Ousret/charset_normalizer/compare/2.1.1...3.0.0) (2022-10-20)\r\n\r\n### Added\r\n- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results\r\n- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES\r\n- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio\r\n- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl)\r\n\r\n### Changed\r\n- Build with static metadata using 'build' frontend\r\n- Make the language detection stricter\r\n- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1\r\n\r\n### Fixed\r\n- CLI with opt --normalize fail when using full path for files\r\n- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it\r\n- Sphinx warnings when generating the documentation\r\n\r\n### Removed\r\n- Coherence detector no longer return 'Simple English' instead return 'English'\r\n- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese'\r\n- Breaking: Method `first()` and `best()` from CharsetMatch\r\n- UTF-7 will no longer appear as \"detected\" without a recognized SIG/mark (is unreliable/conflict with ASCII)\r\n- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches\r\n- Breaking: Top-level function `normalize`\r\n- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch\r\n- Support for the backport `unicodedata2`\r\n\r\n## [3.0.0rc1](https://github.com/Ousret/charset_normalizer/compare/3.0.0b2...3.0.0rc1) (2022-10-18)\r\n\r\n### Added\r\n- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results\r\n- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES\r\n- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio\r\n\r\n### Changed\r\n- Build with static metadata using 'build' frontend\r\n- Make the language detection stricter\r\n\r\n### Fixed\r\n- CLI with opt --normalize fail when using full path for files\r\n- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it\r\n\r\n### Removed\r\n- Coherence detector no longer return 'Simple English' instead return 'English'\r\n- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese'\r\n\r\n## [3.0.0b2](https://github.com/Ousret/charset_normalizer/compare/3.0.0b1...3.0.0b2) (2022-08-21)\r\n\r\n### Added\r\n- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl)\r\n\r\n### Removed\r\n- Breaking: Method `first()` and `best()` from CharsetMatch\r\n- UTF-7 will no longer appear as \"detected\" without a recognized SIG/mark (is unreliable/conflict with ASCII)\r\n\r\n### Fixed\r\n- Sphinx warnings when generating the documentation\r\n\r\n## [3.0.0b1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...3.0.0b1) (2022-08-15)\r\n\r\n### Changed\r\n- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1\r\n\r\n### Removed\r\n- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches\r\n- Breaking: Top-level function `normalize`\r\n- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch\r\n- Support for the backport `unicodedata2`\r\n\r\n## [2.1.1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...2.1.1) (2022-08-19)\r\n\r\n### Deprecated\r\n- Function `normalize` scheduled for removal in 3.0\r\n\r\n### Changed\r\n- Removed useless call to decode in fn is_unprintable (#206)\r\n\r\n### Fixed\r\n- Third-party library (i18n xgettext) crashing not recognizing utf_8 (PEP 263) with underscore from [@aleksandernovikov](https://github.com/aleksandernovikov) (#204)\r\n\r\n## [2.1.0](https://github.com/Ousret/charset_normalizer/compare/2.0.12...2.1.0) (2022-06-19)\r\n\r\n### Added\r\n- Output the Unicode table version when running the CLI with `--version` (PR #194)\r\n\r\n### Changed\r\n- Re-use decoded buffer for single byte character sets from [@nijel](https://github.com/nijel) (PR #175)\r\n- Fixing some performance bottlenecks from [@deedy5](https://github.com/deedy5) (PR #183)\r\n\r\n### Fixed\r\n- Workaround potential bug in cpython with Zero Width No-Break Space located in Arabic Presentation Forms-B, Unicode 1.1 not acknowledged as space (PR #175)\r\n- CLI default threshold aligned with the API threshold from [@oleksandr-kuzmenko](https://github.com/oleksandr-kuzmenko) (PR #181)\r\n\r\n### Removed\r\n- Support for Python 3.5 (PR #192)\r\n\r\n### Deprecated\r\n- Use of backport unicodedata from `unicodedata2` as Python is quickly catching up, scheduled for removal in 3.0 (PR #194)\r\n\r\n## [2.0.12](https://github.com/Ousret/charset_normalizer/compare/2.0.11...2.0.12) (2022-02-12)\r\n\r\n### Fixed\r\n- ASCII miss-detection on rare cases (PR #170) \r\n\r\n## [2.0.11](https://github.com/Ousret/charset_normalizer/compare/2.0.10...2.0.11) (2022-01-30)\r\n\r\n### Added\r\n- Explicit support for Python 3.11 (PR #164)\r\n\r\n### Changed\r\n- The logging behavior have been completely reviewed, now using only TRACE and DEBUG levels (PR #163 #165)\r\n\r\n## [2.0.10](https://github.com/Ousret/charset_normalizer/compare/2.0.9...2.0.10) (2022-01-04)\r\n\r\n### Fixed\r\n- Fallback match entries might lead to UnicodeDecodeError for large bytes sequence (PR #154)\r\n\r\n### Changed\r\n- Skipping the language-detection (CD) on ASCII (PR #155)\r\n\r\n## [2.0.9](https://github.com/Ousret/charset_normalizer/compare/2.0.8...2.0.9) (2021-12-03)\r\n\r\n### Changed\r\n- Moderating the logging impact (since 2.0.8) for specific environments (PR #147)\r\n\r\n### Fixed\r\n- Wrong logging level applied when setting kwarg `explain` to True (PR #146)\r\n\r\n## [2.0.8](https://github.com/Ousret/charset_normalizer/compare/2.0.7...2.0.8) (2021-11-24)\r\n### Changed\r\n- Improvement over Vietnamese detection (PR #126)\r\n- MD improvement on trailing data and long foreign (non-pure latin) data (PR #124)\r\n- Efficiency improvements in cd/alphabet_languages from [@adbar](https://github.com/adbar) (PR #122)\r\n- call sum() without an intermediary list following PEP 289 recommendations from [@adbar](https://github.com/adbar) (PR #129)\r\n- Code style as refactored by Sourcery-AI (PR #131) \r\n- Minor adjustment on the MD around european words (PR #133)\r\n- Remove and replace SRTs from assets / tests (PR #139)\r\n- Initialize the library logger with a `NullHandler` by default from [@nmaynes](https://github.com/nmaynes) (PR #135)\r\n- Setting kwarg `explain` to True will add provisionally (bounded to function lifespan) a specific stream handler (PR #135)\r\n\r\n### Fixed\r\n- Fix large (misleading) sequence giving UnicodeDecodeError (PR #137)\r\n- Avoid using too insignificant chunk (PR #137)\r\n\r\n### Added\r\n- Add and expose function `set_logging_handler` to configure a specific StreamHandler from [@nmaynes](https://github.com/nmaynes) (PR #135)\r\n- Add `CHANGELOG.md` entries, format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) (PR #141)\r\n\r\n## [2.0.7](https://github.com/Ousret/charset_normalizer/compare/2.0.6...2.0.7) (2021-10-11)\r\n### Added\r\n- Add support for Kazakh (Cyrillic) language detection (PR #109)\r\n\r\n### Changed\r\n- Further, improve inferring the language from a given single-byte code page (PR #112)\r\n- Vainly trying to leverage PEP263 when PEP3120 is not supported (PR #116)\r\n- Refactoring for potential performance improvements in loops from [@adbar](https://github.com/adbar) (PR #113)\r\n- Various detection improvement (MD+CD) (PR #117)\r\n\r\n### Removed\r\n- Remove redundant logging entry about detected language(s) (PR #115)\r\n\r\n### Fixed\r\n- Fix a minor inconsistency between Python 3.5 and other versions regarding language detection (PR #117 #102)\r\n\r\n## [2.0.6](https://github.com/Ousret/charset_normalizer/compare/2.0.5...2.0.6) (2021-09-18)\r\n### Fixed\r\n- Unforeseen regression with the loss of the backward-compatibility with some older minor of Python 3.5.x (PR #100)\r\n- Fix CLI crash when using --minimal output in certain cases (PR #103)\r\n\r\n### Changed\r\n- Minor improvement to the detection efficiency (less than 1%) (PR #106 #101)\r\n\r\n## [2.0.5](https://github.com/Ousret/charset_normalizer/compare/2.0.4...2.0.5) (2021-09-14)\r\n### Changed\r\n- The project now comply with: flake8, mypy, isort and black to ensure a better overall quality (PR #81)\r\n- The BC-support with v1.x was improved, the old staticmethods are restored (PR #82)\r\n- The Unicode detection is slightly improved (PR #93)\r\n- Add syntax sugar \\_\\_bool\\_\\_ for results CharsetMatches list-container (PR #91)\r\n\r\n### Removed\r\n- The project no longer raise warning on tiny content given for detection, will be simply logged as warning instead (PR #92)\r\n\r\n### Fixed\r\n- In some rare case, the chunks extractor could cut in the middle of a multi-byte character and could mislead the mess detection (PR #95)\r\n- Some rare 'space' characters could trip up the UnprintablePlugin/Mess detection (PR #96)\r\n- The MANIFEST.in was not exhaustive (PR #78)\r\n\r\n## [2.0.4](https://github.com/Ousret/charset_normalizer/compare/2.0.3...2.0.4) (2021-07-30)\r\n### Fixed\r\n- The CLI no longer raise an unexpected exception when no encoding has been found (PR #70)\r\n- Fix accessing the 'alphabets' property when the payload contains surrogate characters (PR #68)\r\n- The logger could mislead (explain=True) on detected languages and the impact of one MBCS match (PR #72)\r\n- Submatch factoring could be wrong in rare edge cases (PR #72)\r\n- Multiple files given to the CLI were ignored when publishing results to STDOUT. (After the first path) (PR #72)\r\n- Fix line endings from CRLF to LF for certain project files (PR #67)\r\n\r\n### Changed\r\n- Adjust the MD to lower the sensitivity, thus improving the global detection reliability (PR #69 #76)\r\n- Allow fallback on specified encoding if any (PR #71)\r\n\r\n## [2.0.3](https://github.com/Ousret/charset_normalizer/compare/2.0.2...2.0.3) (2021-07-16)\r\n### Changed\r\n- Part of the detection mechanism has been improved to be less sensitive, resulting in more accurate detection results. Especially ASCII. (PR #63)\r\n- According to the community wishes, the detection will fall back on ASCII or UTF-8 in a last-resort case. (PR #64)\r\n\r\n## [2.0.2](https://github.com/Ousret/charset_normalizer/compare/2.0.1...2.0.2) (2021-07-15)\r\n### Fixed\r\n- Empty/Too small JSON payload miss-detection fixed. Report from [@tseaver](https://github.com/tseaver) (PR #59) \r\n\r\n### Changed\r\n- Don't inject unicodedata2 into sys.modules from [@akx](https://github.com/akx) (PR #57)\r\n\r\n## [2.0.1](https://github.com/Ousret/charset_normalizer/compare/2.0.0...2.0.1) (2021-07-13)\r\n### Fixed\r\n- Make it work where there isn't a filesystem available, dropping assets frequencies.json. Report from [@sethmlarson](https://github.com/sethmlarson). (PR #55)\r\n- Using explain=False permanently disable the verbose output in the current runtime (PR #47)\r\n- One log entry (language target preemptive) was not show in logs when using explain=True (PR #47)\r\n- Fix undesired exception (ValueError) on getitem of instance CharsetMatches (PR #52)\r\n\r\n### Changed\r\n- Public function normalize default args values were not aligned with from_bytes (PR #53)\r\n\r\n### Added\r\n- You may now use charset aliases in cp_isolation and cp_exclusion arguments (PR #47)\r\n\r\n## [2.0.0](https://github.com/Ousret/charset_normalizer/compare/1.4.1...2.0.0) (2021-07-02)\r\n### Changed\r\n- 4x to 5 times faster than the previous 1.4.0 release. At least 2x faster than Chardet.\r\n- Accent has been made on UTF-8 detection, should perform rather instantaneous.\r\n- The backward compatibility with Chardet has been greatly improved. The legacy detect function returns an identical charset name whenever possible.\r\n- The detection mechanism has been slightly improved, now Turkish content is detected correctly (most of the time)\r\n- The program has been rewritten to ease the readability and maintainability. (+Using static typing)+\r\n- utf_7 detection has been reinstated.\r\n\r\n### Removed\r\n- This package no longer require anything when used with Python 3.5 (Dropped cached_property)\r\n- Removed support for these languages: Catalan, Esperanto, Kazakh, Baque, Volapük, Azeri, Galician, Nynorsk, Macedonian, and Serbocroatian.\r\n- The exception hook on UnicodeDecodeError has been removed.\r\n\r\n### Deprecated\r\n- Methods coherence_non_latin, w_counter, chaos_secondary_pass of the class CharsetMatch are now deprecated and scheduled for removal in v3.0\r\n\r\n### Fixed\r\n- The CLI output used the relative path of the file(s). Should be absolute.\r\n\r\n## [1.4.1](https://github.com/Ousret/charset_normalizer/compare/1.4.0...1.4.1) (2021-05-28)\r\n### Fixed\r\n- Logger configuration/usage no longer conflict with others (PR #44)\r\n\r\n## [1.4.0](https://github.com/Ousret/charset_normalizer/compare/1.3.9...1.4.0) (2021-05-21)\r\n### Removed\r\n- Using standard logging instead of using the package loguru.\r\n- Dropping nose test framework in favor of the maintained pytest.\r\n- Choose to not use dragonmapper package to help with gibberish Chinese/CJK text.\r\n- Require cached_property only for Python 3.5 due to constraint. Dropping for every other interpreter version.\r\n- Stop support for UTF-7 that does not contain a SIG.\r\n- Dropping PrettyTable, replaced with pure JSON output in CLI.\r\n\r\n### Fixed\r\n- BOM marker in a CharsetNormalizerMatch instance could be False in rare cases even if obviously present. Due to the sub-match factoring process.\r\n- Not searching properly for the BOM when trying utf32/16 parent codec.\r\n\r\n### Changed\r\n- Improving the package final size by compressing frequencies.json.\r\n- Huge improvement over the larges payload.\r\n\r\n### Added\r\n- CLI now produces JSON consumable output.\r\n- Return ASCII if given sequences fit. Given reasonable confidence.\r\n\r\n## [1.3.9](https://github.com/Ousret/charset_normalizer/compare/1.3.8...1.3.9) (2021-05-13)\r\n\r\n### Fixed\r\n- In some very rare cases, you may end up getting encode/decode errors due to a bad bytes payload (PR #40)\r\n\r\n## [1.3.8](https://github.com/Ousret/charset_normalizer/compare/1.3.7...1.3.8) (2021-05-12)\r\n\r\n### Fixed\r\n- Empty given payload for detection may cause an exception if trying to access the `alphabets` property. (PR #39)\r\n\r\n## [1.3.7](https://github.com/Ousret/charset_normalizer/compare/1.3.6...1.3.7) (2021-05-12)\r\n\r\n### Fixed\r\n- The legacy detect function should return UTF-8-SIG if sig is present in the payload. (PR #38)\r\n\r\n## [1.3.6](https://github.com/Ousret/charset_normalizer/compare/1.3.5...1.3.6) (2021-02-09)\r\n\r\n### Changed\r\n- Amend the previous release to allow prettytable 2.0 (PR #35)\r\n\r\n## [1.3.5](https://github.com/Ousret/charset_normalizer/compare/1.3.4...1.3.5) (2021-02-08)\r\n\r\n### Fixed\r\n- Fix error while using the package with a python pre-release interpreter (PR #33)\r\n\r\n### Changed\r\n- Dependencies refactoring, constraints revised.\r\n\r\n### Added\r\n- Add python 3.9 and 3.10 to the supported interpreters\r\n\r\nMIT License\r\n\r\nCopyright (c) 2019 TAHRI Ahmed R.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n", + "description_content_type": "text/markdown", + "keywords": [ + "encoding", + "charset", + "charset-detector", + "detector", + "normalization", + "unicode", + "chardet", + "detect" + ], + "home_page": "https://github.com/Ousret/charset_normalizer", + "author": "Ahmed TAHRI", + "author_email": "ahmed.tahri@cloudnursery.dev", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: MIT License", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries :: Python Modules", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Text Processing :: Linguistic", + "Topic :: Utilities", + "Typing :: Typed" + ], + "requires_python": ">=3.7.0", + "project_url": [ + "Bug Reports, https://github.com/Ousret/charset_normalizer/issues", + "Documentation, https://charset-normalizer.readthedocs.io/en/latest" + ], + "provides_extra": [ + "unicode_backport" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e5/3e/741d8c82801c347547f8a2a06aa57dbb1992be9e948df2ea0eda2c8b79e8/idna-3.7-py3-none-any.whl", + "archive_info": { + "hash": "sha256=82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0", + "hashes": { + "sha256": "82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "idna", + "version": "3.7", + "summary": "Internationalized Domain Names in Applications (IDNA)", + "description": "Internationalized Domain Names in Applications (IDNA)\n=====================================================\n\nSupport for the Internationalized Domain Names in\nApplications (IDNA) protocol as specified in `RFC 5891\n`_. This is the latest version of\nthe protocol and is sometimes referred to as “IDNA 2008”.\n\nThis library also provides support for Unicode Technical\nStandard 46, `Unicode IDNA Compatibility Processing\n`_.\n\nThis acts as a suitable replacement for the “encodings.idna”\nmodule that comes with the Python standard library, but which\nonly supports the older superseded IDNA specification (`RFC 3490\n`_).\n\nBasic functions are simply executed:\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('ドメイン.テスト')\n b'xn--eckwd4c7c.xn--zckzah'\n >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))\n ドメイン.テスト\n\n\nInstallation\n------------\n\nThis package is available for installation from PyPI:\n\n.. code-block:: bash\n\n $ python3 -m pip install idna\n\n\nUsage\n-----\n\nFor typical usage, the ``encode`` and ``decode`` functions will take a\ndomain name argument and perform a conversion to A-labels or U-labels\nrespectively.\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('ドメイン.テスト')\n b'xn--eckwd4c7c.xn--zckzah'\n >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))\n ドメイン.テスト\n\nYou may use the codec encoding and decoding methods using the\n``idna.codec`` module:\n\n.. code-block:: pycon\n\n >>> import idna.codec\n >>> print('домен.испытание'.encode('idna2008'))\n b'xn--d1acufc.xn--80akhbyknj4f'\n >>> print(b'xn--d1acufc.xn--80akhbyknj4f'.decode('idna2008'))\n домен.испытание\n\nConversions can be applied at a per-label basis using the ``ulabel`` or\n``alabel`` functions if necessary:\n\n.. code-block:: pycon\n\n >>> idna.alabel('测试')\n b'xn--0zwm56d'\n\nCompatibility Mapping (UTS #46)\n+++++++++++++++++++++++++++++++\n\nAs described in `RFC 5895 `_, the\nIDNA specification does not normalize input from different potential\nways a user may input a domain name. This functionality, known as\na “mapping”, is considered by the specification to be a local\nuser-interface issue distinct from IDNA conversion functionality.\n\nThis library provides one such mapping that was developed by the\nUnicode Consortium. Known as `Unicode IDNA Compatibility Processing\n`_, it provides for both a regular\nmapping for typical applications, as well as a transitional mapping to\nhelp migrate from older IDNA 2003 applications.\n\nFor example, “Königsgäßchen” is not a permissible label as *LATIN\nCAPITAL LETTER K* is not allowed (nor are capital letters in general).\nUTS 46 will convert this into lower case prior to applying the IDNA\nconversion.\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('Königsgäßchen')\n ...\n idna.core.InvalidCodepoint: Codepoint U+004B at position 1 of 'Königsgäßchen' not allowed\n >>> idna.encode('Königsgäßchen', uts46=True)\n b'xn--knigsgchen-b4a3dun'\n >>> print(idna.decode('xn--knigsgchen-b4a3dun'))\n königsgäßchen\n\nTransitional processing provides conversions to help transition from\nthe older 2003 standard to the current standard. For example, in the\noriginal IDNA specification, the *LATIN SMALL LETTER SHARP S* (ß) was\nconverted into two *LATIN SMALL LETTER S* (ss), whereas in the current\nIDNA specification this conversion is not performed.\n\n.. code-block:: pycon\n\n >>> idna.encode('Königsgäßchen', uts46=True, transitional=True)\n 'xn--knigsgsschen-lcb0w'\n\nImplementers should use transitional processing with caution, only in\nrare cases where conversion from legacy labels to current labels must be\nperformed (i.e. IDNA implementations that pre-date 2008). For typical\napplications that just need to convert labels, transitional processing\nis unlikely to be beneficial and could produce unexpected incompatible\nresults.\n\n``encodings.idna`` Compatibility\n++++++++++++++++++++++++++++++++\n\nFunction calls from the Python built-in ``encodings.idna`` module are\nmapped to their IDNA 2008 equivalents using the ``idna.compat`` module.\nSimply substitute the ``import`` clause in your code to refer to the new\nmodule name.\n\nExceptions\n----------\n\nAll errors raised during the conversion following the specification\nshould raise an exception derived from the ``idna.IDNAError`` base\nclass.\n\nMore specific exceptions that may be generated as ``idna.IDNABidiError``\nwhen the error reflects an illegal combination of left-to-right and\nright-to-left characters in a label; ``idna.InvalidCodepoint`` when\na specific codepoint is an illegal character in an IDN label (i.e.\nINVALID); and ``idna.InvalidCodepointContext`` when the codepoint is\nillegal based on its positional context (i.e. it is CONTEXTO or CONTEXTJ\nbut the contextual requirements are not satisfied.)\n\nBuilding and Diagnostics\n------------------------\n\nThe IDNA and UTS 46 functionality relies upon pre-calculated lookup\ntables for performance. These tables are derived from computing against\neligibility criteria in the respective standards. These tables are\ncomputed using the command-line script ``tools/idna-data``.\n\nThis tool will fetch relevant codepoint data from the Unicode repository\nand perform the required calculations to identify eligibility. There are\nthree main modes:\n\n* ``idna-data make-libdata``. Generates ``idnadata.py`` and\n ``uts46data.py``, the pre-calculated lookup tables used for IDNA and\n UTS 46 conversions. Implementers who wish to track this library against\n a different Unicode version may use this tool to manually generate a\n different version of the ``idnadata.py`` and ``uts46data.py`` files.\n\n* ``idna-data make-table``. Generate a table of the IDNA disposition\n (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix\n B.1 of RFC 5892 and the pre-computed tables published by `IANA\n `_.\n\n* ``idna-data U+0061``. Prints debugging output on the various\n properties associated with an individual Unicode codepoint (in this\n case, U+0061), that are used to assess the IDNA and UTS 46 status of a\n codepoint. This is helpful in debugging or analysis.\n\nThe tool accepts a number of arguments, described using ``idna-data\n-h``. Most notably, the ``--version`` argument allows the specification\nof the version of Unicode to be used in computing the table data. For\nexample, ``idna-data --version 9.0.0 make-libdata`` will generate\nlibrary data against Unicode 9.0.0.\n\n\nAdditional Notes\n----------------\n\n* **Packages**. The latest tagged release version is published in the\n `Python Package Index `_.\n\n* **Version support**. This library supports Python 3.5 and higher.\n As this library serves as a low-level toolkit for a variety of\n applications, many of which strive for broad compatibility with older\n Python versions, there is no rush to remove older interpreter support.\n Removing support for older versions should be well justified in that the\n maintenance burden has become too high.\n\n* **Python 2**. Python 2 is supported by version 2.x of this library.\n While active development of the version 2.x series has ended, notable\n issues being corrected may be backported to 2.x. Use \"idna<3\" in your\n requirements file if you need this library for a Python 2 application.\n\n* **Testing**. The library has a test suite based on each rule of the\n IDNA specification, as well as tests that are provided as part of the\n Unicode Technical Standard 46, `Unicode IDNA Compatibility Processing\n `_.\n\n* **Emoji**. It is an occasional request to support emoji domains in\n this library. Encoding of symbols like emoji is expressly prohibited by\n the technical standard IDNA 2008 and emoji domains are broadly phased\n out across the domain industry due to associated security risks. For\n now, applications that need to support these non-compliant labels\n may wish to consider trying the encode/decode operation in this library\n first, and then falling back to using `encodings.idna`. See `the Github\n project `_ for more discussion.\n\n", + "description_content_type": "text/x-rst", + "author_email": "Kim Davies ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: Name Service (DNS)", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Utilities" + ], + "requires_python": ">=3.5", + "project_url": [ + "Changelog, https://github.com/kjd/idna/blob/master/HISTORY.rst", + "Issue tracker, https://github.com/kjd/idna/issues", + "Source, https://github.com/kjd/idna" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", + "hashes": { + "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "urllib3", + "version": "2.2.1", + "summary": "HTTP library with thread-safe connection pooling, file post, and more.", + "description": "

\n\n![urllib3](https://github.com/urllib3/urllib3/raw/main/docs/_static/banner_github.svg)\n\n

\n\n

\n \"PyPI\n \"Python\n \"Join\n \"Coverage\n \"Build\n \"Documentation
\n \"OpenSSF\n \"SLSA\n \"CII\n

\n\nurllib3 is a powerful, *user-friendly* HTTP client for Python. Much of the\nPython ecosystem already uses urllib3 and you should too.\nurllib3 brings many critical features that are missing from the Python\nstandard libraries:\n\n- Thread safety.\n- Connection pooling.\n- Client-side SSL/TLS verification.\n- File uploads with multipart encoding.\n- Helpers for retrying requests and dealing with HTTP redirects.\n- Support for gzip, deflate, brotli, and zstd encoding.\n- Proxy support for HTTP and SOCKS.\n- 100% test coverage.\n\nurllib3 is powerful and easy to use:\n\n```python3\n>>> import urllib3\n>>> resp = urllib3.request(\"GET\", \"http://httpbin.org/robots.txt\")\n>>> resp.status\n200\n>>> resp.data\nb\"User-agent: *\\nDisallow: /deny\\n\"\n```\n\n## Installing\n\nurllib3 can be installed with [pip](https://pip.pypa.io):\n\n```bash\n$ python -m pip install urllib3\n```\n\nAlternatively, you can grab the latest source code from [GitHub](https://github.com/urllib3/urllib3):\n\n```bash\n$ git clone https://github.com/urllib3/urllib3.git\n$ cd urllib3\n$ pip install .\n```\n\n\n## Documentation\n\nurllib3 has usage and reference documentation at [urllib3.readthedocs.io](https://urllib3.readthedocs.io).\n\n\n## Community\n\nurllib3 has a [community Discord channel](https://discord.gg/urllib3) for asking questions and\ncollaborating with other contributors. Drop by and say hello 👋\n\n\n## Contributing\n\nurllib3 happily accepts contributions. Please see our\n[contributing documentation](https://urllib3.readthedocs.io/en/latest/contributing.html)\nfor some tips on getting started.\n\n\n## Security Disclosures\n\nTo report a security vulnerability, please use the\n[Tidelift security contact](https://tidelift.com/security).\nTidelift will coordinate the fix and disclosure with maintainers.\n\n\n## Maintainers\n\n- [@sethmlarson](https://github.com/sethmlarson) (Seth M. Larson)\n- [@pquentin](https://github.com/pquentin) (Quentin Pradet)\n- [@illia-v](https://github.com/illia-v) (Illia Volochii)\n- [@theacodes](https://github.com/theacodes) (Thea Flowers)\n- [@haikuginger](https://github.com/haikuginger) (Jess Shapiro)\n- [@lukasa](https://github.com/lukasa) (Cory Benfield)\n- [@sigmavirus24](https://github.com/sigmavirus24) (Ian Stapleton Cordasco)\n- [@shazow](https://github.com/shazow) (Andrey Petrov)\n\n👋\n\n\n## Sponsorship\n\nIf your company benefits from this library, please consider [sponsoring its\ndevelopment](https://urllib3.readthedocs.io/en/latest/sponsors.html).\n\n\n## For Enterprise\n\nProfessional support for urllib3 is available as part of the [Tidelift\nSubscription][1]. Tidelift gives software development teams a single source for\npurchasing and maintaining their software, with professional grade assurances\nfrom the experts who know it best, while seamlessly integrating with existing\ntools.\n\n[1]: https://tidelift.com/subscription/pkg/pypi-urllib3?utm_source=pypi-urllib3&utm_medium=referral&utm_campaign=readme\n", + "description_content_type": "text/markdown", + "keywords": [ + "filepost", + "http", + "httplib", + "https", + "pooling", + "ssl", + "threadsafe", + "urllib" + ], + "author_email": "Andrey Petrov ", + "maintainer_email": "Seth Michael Larson , Quentin Pradet , Illia Volochii ", + "classifier": [ + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Software Development :: Libraries" + ], + "requires_dist": [ + "brotli>=1.0.9; (platform_python_implementation == 'CPython') and extra == 'brotli'", + "brotlicffi>=0.8.0; (platform_python_implementation != 'CPython') and extra == 'brotli'", + "h2<5,>=4; extra == 'h2'", + "pysocks!=1.5.7,<2.0,>=1.5.6; extra == 'socks'", + "zstandard>=0.18.0; extra == 'zstd'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Changelog, https://github.com/urllib3/urllib3/blob/main/CHANGES.rst", + "Documentation, https://urllib3.readthedocs.io", + "Code, https://github.com/urllib3/urllib3", + "Issue tracker, https://github.com/urllib3/urllib3/issues" + ], + "provides_extra": [ + "brotli", + "h2", + "socks", + "zstd" + ] + } + } + ], + "environment": { + "implementation_name": "cpython", + "implementation_version": "3.12.3", + "os_name": "nt", + "platform_machine": "AMD64", + "platform_release": "11", + "platform_system": "Windows", + "platform_version": "10.0.22631", + "python_full_version": "3.12.3", + "platform_python_implementation": "CPython", + "python_version": "3.12", + "sys_platform": "win32" + } +} diff --git a/test/Microsoft.ComponentDetection.Detectors.Tests/PipReportComponentDetectorTests.cs b/test/Microsoft.ComponentDetection.Detectors.Tests/PipReportComponentDetectorTests.cs index 303e53a37..93cfa7c2e 100644 --- a/test/Microsoft.ComponentDetection.Detectors.Tests/PipReportComponentDetectorTests.cs +++ b/test/Microsoft.ComponentDetection.Detectors.Tests/PipReportComponentDetectorTests.cs @@ -7,6 +7,7 @@ namespace Microsoft.ComponentDetection.Detectors.Tests; using System.Threading; using System.Threading.Tasks; using FluentAssertions; +using Microsoft.ComponentDetection.Common; using Microsoft.ComponentDetection.Contracts; using Microsoft.ComponentDetection.Contracts.TypedComponent; using Microsoft.ComponentDetection.Detectors.Pip; @@ -27,6 +28,8 @@ public class PipReportComponentDetectorTests : BaseDetectorTest mockEnvVarService; private readonly Mock> mockLogger; + private readonly IFileUtilityService fileUtilityService; + private readonly PipInstallationReport singlePackageReport; private readonly PipInstallationReport singlePackageReportBadVersion; private readonly PipInstallationReport multiPackageReport; @@ -52,6 +55,9 @@ public PipReportComponentDetectorTests() this.mockEnvVarService = new Mock(); this.DetectorTestUtility.AddServiceMock(this.mockEnvVarService); + this.fileUtilityService = new FileUtilityService(); + this.DetectorTestUtility.AddService(this.fileUtilityService); + this.pipCommandService.Setup(x => x.PipExistsAsync(It.IsAny())).ReturnsAsync(true); this.pipCommandService.Setup(x => x.GetPipVersionAsync(It.IsAny())) .ReturnsAsync(new Version(23, 0, 0)); @@ -526,6 +532,35 @@ public async Task TestPipReportDetector_OverrideSkipAsync() (Func)It.IsAny())); } + [TestMethod] + public async Task TestPipReportDetector_SimplePregeneratedFile_Async() + { + var file1 = Path.Join(Directory.GetCurrentDirectory(), "Mocks", "requirements.txt"); + var pregeneratedFile = Path.Join(Directory.GetCurrentDirectory(), "Mocks", "test.component-detection-pip-report.json"); + + var (result, componentRecorder) = await this.DetectorTestUtility + .WithFile("requirements.txt", string.Empty, fileLocation: file1) + .ExecuteDetectorAsync(); + + result.ResultCode.Should().Be(ProcessingResultCode.Success); + + this.mockLogger.Verify(x => x.Log( + LogLevel.Information, + It.IsAny(), + It.Is((o, t) => o.ToString().StartsWith("PipReport: Found pre-generated pip report")), + It.IsAny(), + (Func)It.IsAny())); + + var detectedComponents = componentRecorder.GetDetectedComponents(); + var pipComponents = detectedComponents.Where(detectedComponent => detectedComponent.Component.Id.Contains("pip")).ToList(); + + var requestsComponent = pipComponents.Single(x => ((PipComponent)x.Component).Name.Equals("requests")).Component as PipComponent; + requestsComponent.Version.Should().Be("2.32.3"); + + var idnaComponent = pipComponents.Single(x => ((PipComponent)x.Component).Name.Equals("idna")).Component as PipComponent; + idnaComponent.Version.Should().Be("3.7"); + } + private List<(string PackageString, GitComponent Component)> ToGitTuple(IList components) { return components.Select(dep => (dep, null)).ToList(); diff --git a/test/Microsoft.ComponentDetection.TestsUtilities/DetectorTestUtilityBuilder.cs b/test/Microsoft.ComponentDetection.TestsUtilities/DetectorTestUtilityBuilder.cs index ea8711d6d..719f5dac7 100644 --- a/test/Microsoft.ComponentDetection.TestsUtilities/DetectorTestUtilityBuilder.cs +++ b/test/Microsoft.ComponentDetection.TestsUtilities/DetectorTestUtilityBuilder.cs @@ -57,6 +57,13 @@ public DetectorTestUtilityBuilder AddServiceMock(Mock mock) return this; } + public DetectorTestUtilityBuilder AddService(TService service) + where TService : class + { + this.serviceCollection.AddSingleton(_ => service); + return this; + } + public DetectorTestUtilityBuilder WithFile(string fileName, Stream fileContents, IEnumerable searchPatterns = null, string fileLocation = null) { if (string.IsNullOrEmpty(fileLocation)) diff --git a/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/1.component-detection-pip-report.json b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/1.component-detection-pip-report.json new file mode 100644 index 000000000..5686d33f0 --- /dev/null +++ b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/1.component-detection-pip-report.json @@ -0,0 +1,717 @@ +{ + "version": "1", + "pip_version": "24.0", + "install": [ + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/dd/ac/f2729ca4952bd1c999f4fd63a45e6760e1ef862a2f2815d42ef927653a93/artifacts_keyring-0.3.4-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=10d16cfea98086e76efc424950927172eff8cb53e92b8a1f01824e474e562753", + "hashes": { + "sha256": "10d16cfea98086e76efc424950927172eff8cb53e92b8a1f01824e474e562753" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "artifacts-keyring", + "version": "0.3.4", + "summary": "\"Automatically retrieve credentials for Azure Artifacts.\"", + "description": "## NOTE\r\n'artifacts-keyring' is a relatively thin wrapper around [artifacts-credprovider](https://github.com/microsoft/artifacts-credprovider). Make sure to also look at that repository for more information about different scenarios. For example:\r\n\r\n* [Environment variable to explicitly override tokens](https://github.com/microsoft/artifacts-credprovider)\r\n* [Safely using credentials in docker](https://github.com/dotnet/dotnet-docker/blob/master/documentation/scenarios/nuget-credentials.md#using-the-azure-artifact-credential-provider)\r\n\r\n# artifacts-keyring\r\n\r\nThe `artifacts-keyring` package provides authentication for publishing or consuming Python packages to or from Azure Artifacts feeds within [Azure DevOps](https://azure.com/devops).\r\n\r\nThis package is an extension to [keyring](https://pypi.org/project/keyring), which will automatically find and use it once installed.\r\n\r\nBoth [pip](https://pypi.org/project/pip) and [twine](https://pypi.org/project/twine) will use `keyring` to\r\nfind credentials.\r\n\r\n## Installation\r\n\r\nTo install this package, run the following `pip` command:\r\n\r\n```\r\npip install artifacts-keyring\r\n```\r\n\r\n## Usage\r\n\r\n### Requirements\r\n\r\nTo use `artifacts-keyring` to set up authentication between `pip`/`twine` and Azure Artifacts, the following requirements must be met:\r\n\r\n* pip version **19.2** or higher\r\n* twine version **1.13.0** or higher\r\n* python version **3.0** or higher\r\n* .Net SDK is installed. Refer to [here](https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu) for installation guideline.\r\n\r\n### Publishing packages to an Azure Artifacts feed\r\nOnce `artifacts-keyring` is installed, to publish a package, use the following `twine` command, replacing **** and **** with your own:\r\n\r\n```\r\ntwine upload --repository-url https://pkgs.dev.azure.com//_packaging//pypi/upload \r\n```\r\n\r\n### Installing packages from an Azure Artifacts feed\r\nOnce `artifacts-keyring` is installed, to consume a package, use the following `pip` command, replacing **** and **** with your own, and **** with the package you want to install:\r\n\r\n```\r\npip install --index-url https://pkgs.dev.azure.com//_packaging//pypi/simple\r\n```\r\n\r\n## Advanced configuration\r\nThe `artifacts-keyring` package is layered on top of our [Azure Artifacts Credential Provider](https://github.com/microsoft/artifacts-credprovider). Check out that link to the GitHub repo for more information on configuration options.\r\n\r\n### Environment variables\r\n\r\n- `ARTIFACTS_KEYRING_NONINTERACTIVE_MODE`: Controls whether the underlying credential provider can issue interactive prompts.\r\n\r\n## Contributing\r\n\r\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Microsoft/artifacts-keyring", + "author": "Microsoft Corporation", + "classifier": [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7" + ], + "requires_dist": [ + "keyring >=16.0", + "requests >=2.20.0" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/5b/11/1e78951465b4a225519b8c3ad29769c49e0d8d157a070f681d5b6d64737f/certifi-2024.6.2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56", + "hashes": { + "sha256": "ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "certifi", + "version": "2024.6.2", + "summary": "Python package for providing Mozilla's CA Bundle.", + "description": "Certifi: Python SSL Certificates\n================================\n\nCertifi provides Mozilla's carefully curated collection of Root Certificates for\nvalidating the trustworthiness of SSL certificates while verifying the identity\nof TLS hosts. It has been extracted from the `Requests`_ project.\n\nInstallation\n------------\n\n``certifi`` is available on PyPI. Simply install it with ``pip``::\n\n $ pip install certifi\n\nUsage\n-----\n\nTo reference the installed certificate authority (CA) bundle, you can use the\nbuilt-in function::\n\n >>> import certifi\n\n >>> certifi.where()\n '/usr/local/lib/python3.7/site-packages/certifi/cacert.pem'\n\nOr from the command line::\n\n $ python -m certifi\n /usr/local/lib/python3.7/site-packages/certifi/cacert.pem\n\nEnjoy!\n\n.. _`Requests`: https://requests.readthedocs.io/en/master/\n\nAddition/Removal of Certificates\n--------------------------------\n\nCertifi does not support any addition/removal or other modification of the\nCA trust store content. This project is intended to provide a reliable and\nhighly portable root of trust to python deployments. Look to upstream projects\nfor methods to use alternate trust.\n", + "home_page": "https://github.com/certifi/python-certifi", + "author": "Kenneth Reitz", + "author_email": "me@kennethreitz.com", + "license": "MPL-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", + "Natural Language :: English", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12" + ], + "requires_python": ">=3.6", + "project_url": [ + "Source, https://github.com/certifi/python-certifi" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/b6/7c/8debebb4f90174074b827c63242c23851bdf00a532489fba57fef3416e40/charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", + "hashes": { + "sha256": "96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "charset-normalizer", + "version": "3.3.2", + "summary": "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.", + "description": "

Charset Detection, for Everyone 👋

\r\n\r\n

\r\n The Real First Universal Charset Detector
\r\n \r\n \r\n \r\n \r\n \"Download\r\n \r\n \r\n \r\n \r\n

\r\n

\r\n Featured Packages
\r\n \r\n \"Static\r\n \r\n \r\n \"Static\r\n \r\n

\r\n

\r\n In other language (unofficial port - by the community)
\r\n \r\n \"Static\r\n \r\n

\r\n\r\n> A library that helps you read text from an unknown charset encoding.
Motivated by `chardet`,\r\n> I'm trying to resolve the issue by taking a new approach.\r\n> All IANA character set names for which the Python core library provides codecs are supported.\r\n\r\n

\r\n >>>>> 👉 Try Me Online Now, Then Adopt Me 👈 <<<<<\r\n

\r\n\r\nThis project offers you an alternative to **Universal Charset Encoding Detector**, also known as **Chardet**.\r\n\r\n| Feature | [Chardet](https://github.com/chardet/chardet) | Charset Normalizer | [cChardet](https://github.com/PyYoshi/cChardet) |\r\n|--------------------------------------------------|:---------------------------------------------:|:--------------------------------------------------------------------------------------------------:|:-----------------------------------------------:|\r\n| `Fast` | ❌ | ✅ | ✅ |\r\n| `Universal**` | ❌ | ✅ | ❌ |\r\n| `Reliable` **without** distinguishable standards | ❌ | ✅ | ✅ |\r\n| `Reliable` **with** distinguishable standards | ✅ | ✅ | ✅ |\r\n| `License` | LGPL-2.1
_restrictive_ | MIT | MPL-1.1
_restrictive_ |\r\n| `Native Python` | ✅ | ✅ | ❌ |\r\n| `Detect spoken language` | ❌ | ✅ | N/A |\r\n| `UnicodeDecodeError Safety` | ❌ | ✅ | ❌ |\r\n| `Whl Size (min)` | 193.6 kB | 42 kB | ~200 kB |\r\n| `Supported Encoding` | 33 | 🎉 [99](https://charset-normalizer.readthedocs.io/en/latest/user/support.html#supported-encodings) | 40 |\r\n\r\n

\r\n\"Reading\"Cat\r\n

\r\n\r\n*\\*\\* : They are clearly using specific code for a specific encoding even if covering most of used one*
\r\nDid you got there because of the logs? See [https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html](https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html)\r\n\r\n## ⚡ Performance\r\n\r\nThis package offer better performance than its counterpart Chardet. Here are some numbers.\r\n\r\n| Package | Accuracy | Mean per file (ms) | File per sec (est) |\r\n|-----------------------------------------------|:--------:|:------------------:|:------------------:|\r\n| [chardet](https://github.com/chardet/chardet) | 86 % | 200 ms | 5 file/sec |\r\n| charset-normalizer | **98 %** | **10 ms** | 100 file/sec |\r\n\r\n| Package | 99th percentile | 95th percentile | 50th percentile |\r\n|-----------------------------------------------|:---------------:|:---------------:|:---------------:|\r\n| [chardet](https://github.com/chardet/chardet) | 1200 ms | 287 ms | 23 ms |\r\n| charset-normalizer | 100 ms | 50 ms | 5 ms |\r\n\r\nChardet's performance on larger file (1MB+) are very poor. Expect huge difference on large payload.\r\n\r\n> Stats are generated using 400+ files using default parameters. More details on used files, see GHA workflows.\r\n> And yes, these results might change at any time. The dataset can be updated to include more files.\r\n> The actual delays heavily depends on your CPU capabilities. The factors should remain the same.\r\n> Keep in mind that the stats are generous and that Chardet accuracy vs our is measured using Chardet initial capability\r\n> (eg. Supported Encoding) Challenge-them if you want.\r\n\r\n## ✨ Installation\r\n\r\nUsing pip:\r\n\r\n```sh\r\npip install charset-normalizer -U\r\n```\r\n\r\n## 🚀 Basic Usage\r\n\r\n### CLI\r\nThis package comes with a CLI.\r\n\r\n```\r\nusage: normalizer [-h] [-v] [-a] [-n] [-m] [-r] [-f] [-t THRESHOLD]\r\n file [file ...]\r\n\r\nThe Real First Universal Charset Detector. Discover originating encoding used\r\non text file. Normalize text to unicode.\r\n\r\npositional arguments:\r\n files File(s) to be analysed\r\n\r\noptional arguments:\r\n -h, --help show this help message and exit\r\n -v, --verbose Display complementary information about file if any.\r\n Stdout will contain logs about the detection process.\r\n -a, --with-alternative\r\n Output complementary possibilities if any. Top-level\r\n JSON WILL be a list.\r\n -n, --normalize Permit to normalize input file. If not set, program\r\n does not write anything.\r\n -m, --minimal Only output the charset detected to STDOUT. Disabling\r\n JSON output.\r\n -r, --replace Replace file when trying to normalize it instead of\r\n creating a new one.\r\n -f, --force Replace file without asking if you are sure, use this\r\n flag with caution.\r\n -t THRESHOLD, --threshold THRESHOLD\r\n Define a custom maximum amount of chaos allowed in\r\n decoded content. 0. <= chaos <= 1.\r\n --version Show version information and exit.\r\n```\r\n\r\n```bash\r\nnormalizer ./data/sample.1.fr.srt\r\n```\r\n\r\nor\r\n\r\n```bash\r\npython -m charset_normalizer ./data/sample.1.fr.srt\r\n```\r\n\r\n🎉 Since version 1.4.0 the CLI produce easily usable stdout result in JSON format.\r\n\r\n```json\r\n{\r\n \"path\": \"/home/default/projects/charset_normalizer/data/sample.1.fr.srt\",\r\n \"encoding\": \"cp1252\",\r\n \"encoding_aliases\": [\r\n \"1252\",\r\n \"windows_1252\"\r\n ],\r\n \"alternative_encodings\": [\r\n \"cp1254\",\r\n \"cp1256\",\r\n \"cp1258\",\r\n \"iso8859_14\",\r\n \"iso8859_15\",\r\n \"iso8859_16\",\r\n \"iso8859_3\",\r\n \"iso8859_9\",\r\n \"latin_1\",\r\n \"mbcs\"\r\n ],\r\n \"language\": \"French\",\r\n \"alphabets\": [\r\n \"Basic Latin\",\r\n \"Latin-1 Supplement\"\r\n ],\r\n \"has_sig_or_bom\": false,\r\n \"chaos\": 0.149,\r\n \"coherence\": 97.152,\r\n \"unicode_path\": null,\r\n \"is_preferred\": true\r\n}\r\n```\r\n\r\n### Python\r\n*Just print out normalized text*\r\n```python\r\nfrom charset_normalizer import from_path\r\n\r\nresults = from_path('./my_subtitle.srt')\r\n\r\nprint(str(results.best()))\r\n```\r\n\r\n*Upgrade your code without effort*\r\n```python\r\nfrom charset_normalizer import detect\r\n```\r\n\r\nThe above code will behave the same as **chardet**. We ensure that we offer the best (reasonable) BC result possible.\r\n\r\nSee the docs for advanced usage : [readthedocs.io](https://charset-normalizer.readthedocs.io/en/latest/)\r\n\r\n## 😇 Why\r\n\r\nWhen I started using Chardet, I noticed that it was not suited to my expectations, and I wanted to propose a\r\nreliable alternative using a completely different method. Also! I never back down on a good challenge!\r\n\r\nI **don't care** about the **originating charset** encoding, because **two different tables** can\r\nproduce **two identical rendered string.**\r\nWhat I want is to get readable text, the best I can. \r\n\r\nIn a way, **I'm brute forcing text decoding.** How cool is that ? 😎\r\n\r\nDon't confuse package **ftfy** with charset-normalizer or chardet. ftfy goal is to repair unicode string whereas charset-normalizer to convert raw file in unknown encoding to unicode.\r\n\r\n## 🍰 How\r\n\r\n - Discard all charset encoding table that could not fit the binary content.\r\n - Measure noise, or the mess once opened (by chunks) with a corresponding charset encoding.\r\n - Extract matches with the lowest mess detected.\r\n - Additionally, we measure coherence / probe for a language.\r\n\r\n**Wait a minute**, what is noise/mess and coherence according to **YOU ?**\r\n\r\n*Noise :* I opened hundred of text files, **written by humans**, with the wrong encoding table. **I observed**, then\r\n**I established** some ground rules about **what is obvious** when **it seems like** a mess.\r\n I know that my interpretation of what is noise is probably incomplete, feel free to contribute in order to\r\n improve or rewrite it.\r\n\r\n*Coherence :* For each language there is on earth, we have computed ranked letter appearance occurrences (the best we can). So I thought\r\nthat intel is worth something here. So I use those records against decoded text to check if I can detect intelligent design.\r\n\r\n## ⚡ Known limitations\r\n\r\n - Language detection is unreliable when text contains two or more languages sharing identical letters. (eg. HTML (english tags) + Turkish content (Sharing Latin characters))\r\n - Every charset detector heavily depends on sufficient content. In common cases, do not bother run detection on very tiny content.\r\n\r\n## ⚠️ About Python EOLs\r\n\r\n**If you are running:**\r\n\r\n- Python >=2.7,<3.5: Unsupported\r\n- Python 3.5: charset-normalizer < 2.1\r\n- Python 3.6: charset-normalizer < 3.1\r\n- Python 3.7: charset-normalizer < 4.0\r\n\r\nUpgrade your Python interpreter as soon as possible.\r\n\r\n## 👤 Contributing\r\n\r\nContributions, issues and feature requests are very much welcome.
\r\nFeel free to check [issues page](https://github.com/ousret/charset_normalizer/issues) if you want to contribute.\r\n\r\n## 📝 License\r\n\r\nCopyright © [Ahmed TAHRI @Ousret](https://github.com/Ousret).
\r\nThis project is [MIT](https://github.com/Ousret/charset_normalizer/blob/master/LICENSE) licensed.\r\n\r\nCharacters frequencies used in this project © 2012 [Denny Vrandečić](http://simia.net/letters/)\r\n\r\n## 💼 For Enterprise\r\n\r\nProfessional support for charset-normalizer is available as part of the [Tidelift\r\nSubscription][1]. Tidelift gives software development teams a single source for\r\npurchasing and maintaining their software, with professional grade assurances\r\nfrom the experts who know it best, while seamlessly integrating with existing\r\ntools.\r\n\r\n[1]: https://tidelift.com/subscription/pkg/pypi-charset-normalizer?utm_source=pypi-charset-normalizer&utm_medium=readme\r\n\r\n# Changelog\r\nAll notable changes to charset-normalizer will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\r\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).\r\n\r\n## [3.3.2](https://github.com/Ousret/charset_normalizer/compare/3.3.1...3.3.2) (2023-10-31)\r\n\r\n### Fixed\r\n- Unintentional memory usage regression when using large payload that match several encoding (#376)\r\n- Regression on some detection case showcased in the documentation (#371)\r\n\r\n### Added\r\n- Noise (md) probe that identify malformed arabic representation due to the presence of letters in isolated form (credit to my wife)\r\n\r\n## [3.3.1](https://github.com/Ousret/charset_normalizer/compare/3.3.0...3.3.1) (2023-10-22)\r\n\r\n### Changed\r\n- Optional mypyc compilation upgraded to version 1.6.1 for Python >= 3.8\r\n- Improved the general detection reliability based on reports from the community\r\n\r\n## [3.3.0](https://github.com/Ousret/charset_normalizer/compare/3.2.0...3.3.0) (2023-09-30)\r\n\r\n### Added\r\n- Allow to execute the CLI (e.g. normalizer) through `python -m charset_normalizer.cli` or `python -m charset_normalizer`\r\n- Support for 9 forgotten encoding that are supported by Python but unlisted in `encoding.aliases` as they have no alias (#323)\r\n\r\n### Removed\r\n- (internal) Redundant utils.is_ascii function and unused function is_private_use_only\r\n- (internal) charset_normalizer.assets is moved inside charset_normalizer.constant\r\n\r\n### Changed\r\n- (internal) Unicode code blocks in constants are updated using the latest v15.0.0 definition to improve detection\r\n- Optional mypyc compilation upgraded to version 1.5.1 for Python >= 3.8\r\n\r\n### Fixed\r\n- Unable to properly sort CharsetMatch when both chaos/noise and coherence were close due to an unreachable condition in \\_\\_lt\\_\\_ (#350)\r\n\r\n## [3.2.0](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.2.0) (2023-06-07)\r\n\r\n### Changed\r\n- Typehint for function `from_path` no longer enforce `PathLike` as its first argument\r\n- Minor improvement over the global detection reliability\r\n\r\n### Added\r\n- Introduce function `is_binary` that relies on main capabilities, and optimized to detect binaries\r\n- Propagate `enable_fallback` argument throughout `from_bytes`, `from_path`, and `from_fp` that allow a deeper control over the detection (default True)\r\n- Explicit support for Python 3.12\r\n\r\n### Fixed\r\n- Edge case detection failure where a file would contain 'very-long' camel cased word (Issue #289)\r\n\r\n## [3.1.0](https://github.com/Ousret/charset_normalizer/compare/3.0.1...3.1.0) (2023-03-06)\r\n\r\n### Added\r\n- Argument `should_rename_legacy` for legacy function `detect` and disregard any new arguments without errors (PR #262)\r\n\r\n### Removed\r\n- Support for Python 3.6 (PR #260)\r\n\r\n### Changed\r\n- Optional speedup provided by mypy/c 1.0.1\r\n\r\n## [3.0.1](https://github.com/Ousret/charset_normalizer/compare/3.0.0...3.0.1) (2022-11-18)\r\n\r\n### Fixed\r\n- Multi-bytes cutter/chunk generator did not always cut correctly (PR #233)\r\n\r\n### Changed\r\n- Speedup provided by mypy/c 0.990 on Python >= 3.7\r\n\r\n## [3.0.0](https://github.com/Ousret/charset_normalizer/compare/2.1.1...3.0.0) (2022-10-20)\r\n\r\n### Added\r\n- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results\r\n- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES\r\n- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio\r\n- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl)\r\n\r\n### Changed\r\n- Build with static metadata using 'build' frontend\r\n- Make the language detection stricter\r\n- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1\r\n\r\n### Fixed\r\n- CLI with opt --normalize fail when using full path for files\r\n- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it\r\n- Sphinx warnings when generating the documentation\r\n\r\n### Removed\r\n- Coherence detector no longer return 'Simple English' instead return 'English'\r\n- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese'\r\n- Breaking: Method `first()` and `best()` from CharsetMatch\r\n- UTF-7 will no longer appear as \"detected\" without a recognized SIG/mark (is unreliable/conflict with ASCII)\r\n- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches\r\n- Breaking: Top-level function `normalize`\r\n- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch\r\n- Support for the backport `unicodedata2`\r\n\r\n## [3.0.0rc1](https://github.com/Ousret/charset_normalizer/compare/3.0.0b2...3.0.0rc1) (2022-10-18)\r\n\r\n### Added\r\n- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results\r\n- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES\r\n- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio\r\n\r\n### Changed\r\n- Build with static metadata using 'build' frontend\r\n- Make the language detection stricter\r\n\r\n### Fixed\r\n- CLI with opt --normalize fail when using full path for files\r\n- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it\r\n\r\n### Removed\r\n- Coherence detector no longer return 'Simple English' instead return 'English'\r\n- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese'\r\n\r\n## [3.0.0b2](https://github.com/Ousret/charset_normalizer/compare/3.0.0b1...3.0.0b2) (2022-08-21)\r\n\r\n### Added\r\n- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl)\r\n\r\n### Removed\r\n- Breaking: Method `first()` and `best()` from CharsetMatch\r\n- UTF-7 will no longer appear as \"detected\" without a recognized SIG/mark (is unreliable/conflict with ASCII)\r\n\r\n### Fixed\r\n- Sphinx warnings when generating the documentation\r\n\r\n## [3.0.0b1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...3.0.0b1) (2022-08-15)\r\n\r\n### Changed\r\n- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1\r\n\r\n### Removed\r\n- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches\r\n- Breaking: Top-level function `normalize`\r\n- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch\r\n- Support for the backport `unicodedata2`\r\n\r\n## [2.1.1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...2.1.1) (2022-08-19)\r\n\r\n### Deprecated\r\n- Function `normalize` scheduled for removal in 3.0\r\n\r\n### Changed\r\n- Removed useless call to decode in fn is_unprintable (#206)\r\n\r\n### Fixed\r\n- Third-party library (i18n xgettext) crashing not recognizing utf_8 (PEP 263) with underscore from [@aleksandernovikov](https://github.com/aleksandernovikov) (#204)\r\n\r\n## [2.1.0](https://github.com/Ousret/charset_normalizer/compare/2.0.12...2.1.0) (2022-06-19)\r\n\r\n### Added\r\n- Output the Unicode table version when running the CLI with `--version` (PR #194)\r\n\r\n### Changed\r\n- Re-use decoded buffer for single byte character sets from [@nijel](https://github.com/nijel) (PR #175)\r\n- Fixing some performance bottlenecks from [@deedy5](https://github.com/deedy5) (PR #183)\r\n\r\n### Fixed\r\n- Workaround potential bug in cpython with Zero Width No-Break Space located in Arabic Presentation Forms-B, Unicode 1.1 not acknowledged as space (PR #175)\r\n- CLI default threshold aligned with the API threshold from [@oleksandr-kuzmenko](https://github.com/oleksandr-kuzmenko) (PR #181)\r\n\r\n### Removed\r\n- Support for Python 3.5 (PR #192)\r\n\r\n### Deprecated\r\n- Use of backport unicodedata from `unicodedata2` as Python is quickly catching up, scheduled for removal in 3.0 (PR #194)\r\n\r\n## [2.0.12](https://github.com/Ousret/charset_normalizer/compare/2.0.11...2.0.12) (2022-02-12)\r\n\r\n### Fixed\r\n- ASCII miss-detection on rare cases (PR #170) \r\n\r\n## [2.0.11](https://github.com/Ousret/charset_normalizer/compare/2.0.10...2.0.11) (2022-01-30)\r\n\r\n### Added\r\n- Explicit support for Python 3.11 (PR #164)\r\n\r\n### Changed\r\n- The logging behavior have been completely reviewed, now using only TRACE and DEBUG levels (PR #163 #165)\r\n\r\n## [2.0.10](https://github.com/Ousret/charset_normalizer/compare/2.0.9...2.0.10) (2022-01-04)\r\n\r\n### Fixed\r\n- Fallback match entries might lead to UnicodeDecodeError for large bytes sequence (PR #154)\r\n\r\n### Changed\r\n- Skipping the language-detection (CD) on ASCII (PR #155)\r\n\r\n## [2.0.9](https://github.com/Ousret/charset_normalizer/compare/2.0.8...2.0.9) (2021-12-03)\r\n\r\n### Changed\r\n- Moderating the logging impact (since 2.0.8) for specific environments (PR #147)\r\n\r\n### Fixed\r\n- Wrong logging level applied when setting kwarg `explain` to True (PR #146)\r\n\r\n## [2.0.8](https://github.com/Ousret/charset_normalizer/compare/2.0.7...2.0.8) (2021-11-24)\r\n### Changed\r\n- Improvement over Vietnamese detection (PR #126)\r\n- MD improvement on trailing data and long foreign (non-pure latin) data (PR #124)\r\n- Efficiency improvements in cd/alphabet_languages from [@adbar](https://github.com/adbar) (PR #122)\r\n- call sum() without an intermediary list following PEP 289 recommendations from [@adbar](https://github.com/adbar) (PR #129)\r\n- Code style as refactored by Sourcery-AI (PR #131) \r\n- Minor adjustment on the MD around european words (PR #133)\r\n- Remove and replace SRTs from assets / tests (PR #139)\r\n- Initialize the library logger with a `NullHandler` by default from [@nmaynes](https://github.com/nmaynes) (PR #135)\r\n- Setting kwarg `explain` to True will add provisionally (bounded to function lifespan) a specific stream handler (PR #135)\r\n\r\n### Fixed\r\n- Fix large (misleading) sequence giving UnicodeDecodeError (PR #137)\r\n- Avoid using too insignificant chunk (PR #137)\r\n\r\n### Added\r\n- Add and expose function `set_logging_handler` to configure a specific StreamHandler from [@nmaynes](https://github.com/nmaynes) (PR #135)\r\n- Add `CHANGELOG.md` entries, format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) (PR #141)\r\n\r\n## [2.0.7](https://github.com/Ousret/charset_normalizer/compare/2.0.6...2.0.7) (2021-10-11)\r\n### Added\r\n- Add support for Kazakh (Cyrillic) language detection (PR #109)\r\n\r\n### Changed\r\n- Further, improve inferring the language from a given single-byte code page (PR #112)\r\n- Vainly trying to leverage PEP263 when PEP3120 is not supported (PR #116)\r\n- Refactoring for potential performance improvements in loops from [@adbar](https://github.com/adbar) (PR #113)\r\n- Various detection improvement (MD+CD) (PR #117)\r\n\r\n### Removed\r\n- Remove redundant logging entry about detected language(s) (PR #115)\r\n\r\n### Fixed\r\n- Fix a minor inconsistency between Python 3.5 and other versions regarding language detection (PR #117 #102)\r\n\r\n## [2.0.6](https://github.com/Ousret/charset_normalizer/compare/2.0.5...2.0.6) (2021-09-18)\r\n### Fixed\r\n- Unforeseen regression with the loss of the backward-compatibility with some older minor of Python 3.5.x (PR #100)\r\n- Fix CLI crash when using --minimal output in certain cases (PR #103)\r\n\r\n### Changed\r\n- Minor improvement to the detection efficiency (less than 1%) (PR #106 #101)\r\n\r\n## [2.0.5](https://github.com/Ousret/charset_normalizer/compare/2.0.4...2.0.5) (2021-09-14)\r\n### Changed\r\n- The project now comply with: flake8, mypy, isort and black to ensure a better overall quality (PR #81)\r\n- The BC-support with v1.x was improved, the old staticmethods are restored (PR #82)\r\n- The Unicode detection is slightly improved (PR #93)\r\n- Add syntax sugar \\_\\_bool\\_\\_ for results CharsetMatches list-container (PR #91)\r\n\r\n### Removed\r\n- The project no longer raise warning on tiny content given for detection, will be simply logged as warning instead (PR #92)\r\n\r\n### Fixed\r\n- In some rare case, the chunks extractor could cut in the middle of a multi-byte character and could mislead the mess detection (PR #95)\r\n- Some rare 'space' characters could trip up the UnprintablePlugin/Mess detection (PR #96)\r\n- The MANIFEST.in was not exhaustive (PR #78)\r\n\r\n## [2.0.4](https://github.com/Ousret/charset_normalizer/compare/2.0.3...2.0.4) (2021-07-30)\r\n### Fixed\r\n- The CLI no longer raise an unexpected exception when no encoding has been found (PR #70)\r\n- Fix accessing the 'alphabets' property when the payload contains surrogate characters (PR #68)\r\n- The logger could mislead (explain=True) on detected languages and the impact of one MBCS match (PR #72)\r\n- Submatch factoring could be wrong in rare edge cases (PR #72)\r\n- Multiple files given to the CLI were ignored when publishing results to STDOUT. (After the first path) (PR #72)\r\n- Fix line endings from CRLF to LF for certain project files (PR #67)\r\n\r\n### Changed\r\n- Adjust the MD to lower the sensitivity, thus improving the global detection reliability (PR #69 #76)\r\n- Allow fallback on specified encoding if any (PR #71)\r\n\r\n## [2.0.3](https://github.com/Ousret/charset_normalizer/compare/2.0.2...2.0.3) (2021-07-16)\r\n### Changed\r\n- Part of the detection mechanism has been improved to be less sensitive, resulting in more accurate detection results. Especially ASCII. (PR #63)\r\n- According to the community wishes, the detection will fall back on ASCII or UTF-8 in a last-resort case. (PR #64)\r\n\r\n## [2.0.2](https://github.com/Ousret/charset_normalizer/compare/2.0.1...2.0.2) (2021-07-15)\r\n### Fixed\r\n- Empty/Too small JSON payload miss-detection fixed. Report from [@tseaver](https://github.com/tseaver) (PR #59) \r\n\r\n### Changed\r\n- Don't inject unicodedata2 into sys.modules from [@akx](https://github.com/akx) (PR #57)\r\n\r\n## [2.0.1](https://github.com/Ousret/charset_normalizer/compare/2.0.0...2.0.1) (2021-07-13)\r\n### Fixed\r\n- Make it work where there isn't a filesystem available, dropping assets frequencies.json. Report from [@sethmlarson](https://github.com/sethmlarson). (PR #55)\r\n- Using explain=False permanently disable the verbose output in the current runtime (PR #47)\r\n- One log entry (language target preemptive) was not show in logs when using explain=True (PR #47)\r\n- Fix undesired exception (ValueError) on getitem of instance CharsetMatches (PR #52)\r\n\r\n### Changed\r\n- Public function normalize default args values were not aligned with from_bytes (PR #53)\r\n\r\n### Added\r\n- You may now use charset aliases in cp_isolation and cp_exclusion arguments (PR #47)\r\n\r\n## [2.0.0](https://github.com/Ousret/charset_normalizer/compare/1.4.1...2.0.0) (2021-07-02)\r\n### Changed\r\n- 4x to 5 times faster than the previous 1.4.0 release. At least 2x faster than Chardet.\r\n- Accent has been made on UTF-8 detection, should perform rather instantaneous.\r\n- The backward compatibility with Chardet has been greatly improved. The legacy detect function returns an identical charset name whenever possible.\r\n- The detection mechanism has been slightly improved, now Turkish content is detected correctly (most of the time)\r\n- The program has been rewritten to ease the readability and maintainability. (+Using static typing)+\r\n- utf_7 detection has been reinstated.\r\n\r\n### Removed\r\n- This package no longer require anything when used with Python 3.5 (Dropped cached_property)\r\n- Removed support for these languages: Catalan, Esperanto, Kazakh, Baque, Volapük, Azeri, Galician, Nynorsk, Macedonian, and Serbocroatian.\r\n- The exception hook on UnicodeDecodeError has been removed.\r\n\r\n### Deprecated\r\n- Methods coherence_non_latin, w_counter, chaos_secondary_pass of the class CharsetMatch are now deprecated and scheduled for removal in v3.0\r\n\r\n### Fixed\r\n- The CLI output used the relative path of the file(s). Should be absolute.\r\n\r\n## [1.4.1](https://github.com/Ousret/charset_normalizer/compare/1.4.0...1.4.1) (2021-05-28)\r\n### Fixed\r\n- Logger configuration/usage no longer conflict with others (PR #44)\r\n\r\n## [1.4.0](https://github.com/Ousret/charset_normalizer/compare/1.3.9...1.4.0) (2021-05-21)\r\n### Removed\r\n- Using standard logging instead of using the package loguru.\r\n- Dropping nose test framework in favor of the maintained pytest.\r\n- Choose to not use dragonmapper package to help with gibberish Chinese/CJK text.\r\n- Require cached_property only for Python 3.5 due to constraint. Dropping for every other interpreter version.\r\n- Stop support for UTF-7 that does not contain a SIG.\r\n- Dropping PrettyTable, replaced with pure JSON output in CLI.\r\n\r\n### Fixed\r\n- BOM marker in a CharsetNormalizerMatch instance could be False in rare cases even if obviously present. Due to the sub-match factoring process.\r\n- Not searching properly for the BOM when trying utf32/16 parent codec.\r\n\r\n### Changed\r\n- Improving the package final size by compressing frequencies.json.\r\n- Huge improvement over the larges payload.\r\n\r\n### Added\r\n- CLI now produces JSON consumable output.\r\n- Return ASCII if given sequences fit. Given reasonable confidence.\r\n\r\n## [1.3.9](https://github.com/Ousret/charset_normalizer/compare/1.3.8...1.3.9) (2021-05-13)\r\n\r\n### Fixed\r\n- In some very rare cases, you may end up getting encode/decode errors due to a bad bytes payload (PR #40)\r\n\r\n## [1.3.8](https://github.com/Ousret/charset_normalizer/compare/1.3.7...1.3.8) (2021-05-12)\r\n\r\n### Fixed\r\n- Empty given payload for detection may cause an exception if trying to access the `alphabets` property. (PR #39)\r\n\r\n## [1.3.7](https://github.com/Ousret/charset_normalizer/compare/1.3.6...1.3.7) (2021-05-12)\r\n\r\n### Fixed\r\n- The legacy detect function should return UTF-8-SIG if sig is present in the payload. (PR #38)\r\n\r\n## [1.3.6](https://github.com/Ousret/charset_normalizer/compare/1.3.5...1.3.6) (2021-02-09)\r\n\r\n### Changed\r\n- Amend the previous release to allow prettytable 2.0 (PR #35)\r\n\r\n## [1.3.5](https://github.com/Ousret/charset_normalizer/compare/1.3.4...1.3.5) (2021-02-08)\r\n\r\n### Fixed\r\n- Fix error while using the package with a python pre-release interpreter (PR #33)\r\n\r\n### Changed\r\n- Dependencies refactoring, constraints revised.\r\n\r\n### Added\r\n- Add python 3.9 and 3.10 to the supported interpreters\r\n\r\nMIT License\r\n\r\nCopyright (c) 2019 TAHRI Ahmed R.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n", + "description_content_type": "text/markdown", + "keywords": [ + "encoding", + "charset", + "charset-detector", + "detector", + "normalization", + "unicode", + "chardet", + "detect" + ], + "home_page": "https://github.com/Ousret/charset_normalizer", + "author": "Ahmed TAHRI", + "author_email": "ahmed.tahri@cloudnursery.dev", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: MIT License", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries :: Python Modules", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Text Processing :: Linguistic", + "Topic :: Utilities", + "Typing :: Typed" + ], + "requires_python": ">=3.7.0", + "project_url": [ + "Bug Reports, https://github.com/Ousret/charset_normalizer/issues", + "Documentation, https://charset-normalizer.readthedocs.io/en/latest" + ], + "provides_extra": [ + "unicode_backport" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/2f/59/6669edfd1fad83ee18d698b897f25871b5296e258f74964a003d50d003fe/Cython-3.0.10-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=6c5af936940a38c300977b81598d9c0901158f220a58c177820e17e1774f1cf1", + "hashes": { + "sha256": "6c5af936940a38c300977b81598d9c0901158f220a58c177820e17e1774f1cf1" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "Cython", + "version": "3.0.10", + "summary": "The Cython compiler for writing C extensions in the Python language.", + "description": "The Cython language makes writing C extensions for the Python language as\r\neasy as Python itself. Cython is a source code translator based on Pyrex_,\r\nbut supports more cutting edge functionality and optimizations.\r\n\r\nThe Cython language is a superset of the Python language (almost all Python\r\ncode is also valid Cython code), but Cython additionally supports optional\r\nstatic typing to natively call C functions, operate with C++ classes and\r\ndeclare fast C types on variables and class attributes. This allows the\r\ncompiler to generate very efficient C code from Cython code.\r\n\r\nThis makes Cython the ideal language for writing glue code for external\r\nC/C++ libraries, and for fast C modules that speed up the execution of\r\nPython code.\r\n\r\nNote that for one-time builds, e.g. for CI/testing, on platforms that are not\r\ncovered by one of the wheel packages provided on PyPI *and* the pure Python wheel\r\nthat we provide is not used, it is substantially faster than a full source build\r\nto install an uncompiled (slower) version of Cython with::\r\n\r\n pip install Cython --install-option=\"--no-cython-compile\"\r\n\r\n.. _Pyrex: https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/\r\n", + "home_page": "https://cython.org/", + "author": "Robert Bradshaw, Stefan Behnel, Dag Seljebotn, Greg Ewing, et al.", + "author_email": "cython-devel@python.org", + "license": "Apache-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Programming Language :: C", + "Programming Language :: Cython", + "Topic :: Software Development :: Code Generators", + "Topic :: Software Development :: Compilers", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "project_url": [ + "Documentation, https://cython.readthedocs.io/", + "Donate, https://cython.readthedocs.io/en/latest/src/donating.html", + "Source Code, https://github.com/cython/cython", + "Bug Tracker, https://github.com/cython/cython/issues", + "User Group, https://groups.google.com/g/cython-users" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e5/3e/741d8c82801c347547f8a2a06aa57dbb1992be9e948df2ea0eda2c8b79e8/idna-3.7-py3-none-any.whl", + "archive_info": { + "hash": "sha256=82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0", + "hashes": { + "sha256": "82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "idna", + "version": "3.7", + "summary": "Internationalized Domain Names in Applications (IDNA)", + "description": "Internationalized Domain Names in Applications (IDNA)\n=====================================================\n\nSupport for the Internationalized Domain Names in\nApplications (IDNA) protocol as specified in `RFC 5891\n`_. This is the latest version of\nthe protocol and is sometimes referred to as “IDNA 2008”.\n\nThis library also provides support for Unicode Technical\nStandard 46, `Unicode IDNA Compatibility Processing\n`_.\n\nThis acts as a suitable replacement for the “encodings.idna”\nmodule that comes with the Python standard library, but which\nonly supports the older superseded IDNA specification (`RFC 3490\n`_).\n\nBasic functions are simply executed:\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('ドメイン.テスト')\n b'xn--eckwd4c7c.xn--zckzah'\n >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))\n ドメイン.テスト\n\n\nInstallation\n------------\n\nThis package is available for installation from PyPI:\n\n.. code-block:: bash\n\n $ python3 -m pip install idna\n\n\nUsage\n-----\n\nFor typical usage, the ``encode`` and ``decode`` functions will take a\ndomain name argument and perform a conversion to A-labels or U-labels\nrespectively.\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('ドメイン.テスト')\n b'xn--eckwd4c7c.xn--zckzah'\n >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))\n ドメイン.テスト\n\nYou may use the codec encoding and decoding methods using the\n``idna.codec`` module:\n\n.. code-block:: pycon\n\n >>> import idna.codec\n >>> print('домен.испытание'.encode('idna2008'))\n b'xn--d1acufc.xn--80akhbyknj4f'\n >>> print(b'xn--d1acufc.xn--80akhbyknj4f'.decode('idna2008'))\n домен.испытание\n\nConversions can be applied at a per-label basis using the ``ulabel`` or\n``alabel`` functions if necessary:\n\n.. code-block:: pycon\n\n >>> idna.alabel('测试')\n b'xn--0zwm56d'\n\nCompatibility Mapping (UTS #46)\n+++++++++++++++++++++++++++++++\n\nAs described in `RFC 5895 `_, the\nIDNA specification does not normalize input from different potential\nways a user may input a domain name. This functionality, known as\na “mapping”, is considered by the specification to be a local\nuser-interface issue distinct from IDNA conversion functionality.\n\nThis library provides one such mapping that was developed by the\nUnicode Consortium. Known as `Unicode IDNA Compatibility Processing\n`_, it provides for both a regular\nmapping for typical applications, as well as a transitional mapping to\nhelp migrate from older IDNA 2003 applications.\n\nFor example, “Königsgäßchen” is not a permissible label as *LATIN\nCAPITAL LETTER K* is not allowed (nor are capital letters in general).\nUTS 46 will convert this into lower case prior to applying the IDNA\nconversion.\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('Königsgäßchen')\n ...\n idna.core.InvalidCodepoint: Codepoint U+004B at position 1 of 'Königsgäßchen' not allowed\n >>> idna.encode('Königsgäßchen', uts46=True)\n b'xn--knigsgchen-b4a3dun'\n >>> print(idna.decode('xn--knigsgchen-b4a3dun'))\n königsgäßchen\n\nTransitional processing provides conversions to help transition from\nthe older 2003 standard to the current standard. For example, in the\noriginal IDNA specification, the *LATIN SMALL LETTER SHARP S* (ß) was\nconverted into two *LATIN SMALL LETTER S* (ss), whereas in the current\nIDNA specification this conversion is not performed.\n\n.. code-block:: pycon\n\n >>> idna.encode('Königsgäßchen', uts46=True, transitional=True)\n 'xn--knigsgsschen-lcb0w'\n\nImplementers should use transitional processing with caution, only in\nrare cases where conversion from legacy labels to current labels must be\nperformed (i.e. IDNA implementations that pre-date 2008). For typical\napplications that just need to convert labels, transitional processing\nis unlikely to be beneficial and could produce unexpected incompatible\nresults.\n\n``encodings.idna`` Compatibility\n++++++++++++++++++++++++++++++++\n\nFunction calls from the Python built-in ``encodings.idna`` module are\nmapped to their IDNA 2008 equivalents using the ``idna.compat`` module.\nSimply substitute the ``import`` clause in your code to refer to the new\nmodule name.\n\nExceptions\n----------\n\nAll errors raised during the conversion following the specification\nshould raise an exception derived from the ``idna.IDNAError`` base\nclass.\n\nMore specific exceptions that may be generated as ``idna.IDNABidiError``\nwhen the error reflects an illegal combination of left-to-right and\nright-to-left characters in a label; ``idna.InvalidCodepoint`` when\na specific codepoint is an illegal character in an IDN label (i.e.\nINVALID); and ``idna.InvalidCodepointContext`` when the codepoint is\nillegal based on its positional context (i.e. it is CONTEXTO or CONTEXTJ\nbut the contextual requirements are not satisfied.)\n\nBuilding and Diagnostics\n------------------------\n\nThe IDNA and UTS 46 functionality relies upon pre-calculated lookup\ntables for performance. These tables are derived from computing against\neligibility criteria in the respective standards. These tables are\ncomputed using the command-line script ``tools/idna-data``.\n\nThis tool will fetch relevant codepoint data from the Unicode repository\nand perform the required calculations to identify eligibility. There are\nthree main modes:\n\n* ``idna-data make-libdata``. Generates ``idnadata.py`` and\n ``uts46data.py``, the pre-calculated lookup tables used for IDNA and\n UTS 46 conversions. Implementers who wish to track this library against\n a different Unicode version may use this tool to manually generate a\n different version of the ``idnadata.py`` and ``uts46data.py`` files.\n\n* ``idna-data make-table``. Generate a table of the IDNA disposition\n (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix\n B.1 of RFC 5892 and the pre-computed tables published by `IANA\n `_.\n\n* ``idna-data U+0061``. Prints debugging output on the various\n properties associated with an individual Unicode codepoint (in this\n case, U+0061), that are used to assess the IDNA and UTS 46 status of a\n codepoint. This is helpful in debugging or analysis.\n\nThe tool accepts a number of arguments, described using ``idna-data\n-h``. Most notably, the ``--version`` argument allows the specification\nof the version of Unicode to be used in computing the table data. For\nexample, ``idna-data --version 9.0.0 make-libdata`` will generate\nlibrary data against Unicode 9.0.0.\n\n\nAdditional Notes\n----------------\n\n* **Packages**. The latest tagged release version is published in the\n `Python Package Index `_.\n\n* **Version support**. This library supports Python 3.5 and higher.\n As this library serves as a low-level toolkit for a variety of\n applications, many of which strive for broad compatibility with older\n Python versions, there is no rush to remove older interpreter support.\n Removing support for older versions should be well justified in that the\n maintenance burden has become too high.\n\n* **Python 2**. Python 2 is supported by version 2.x of this library.\n While active development of the version 2.x series has ended, notable\n issues being corrected may be backported to 2.x. Use \"idna<3\" in your\n requirements file if you need this library for a Python 2 application.\n\n* **Testing**. The library has a test suite based on each rule of the\n IDNA specification, as well as tests that are provided as part of the\n Unicode Technical Standard 46, `Unicode IDNA Compatibility Processing\n `_.\n\n* **Emoji**. It is an occasional request to support emoji domains in\n this library. Encoding of symbols like emoji is expressly prohibited by\n the technical standard IDNA 2008 and emoji domains are broadly phased\n out across the domain industry due to associated security risks. For\n now, applications that need to support these non-compliant labels\n may wish to consider trying the encode/decode operation in this library\n first, and then falling back to using `encodings.idna`. See `the Github\n project `_ for more discussion.\n\n", + "description_content_type": "text/x-rst", + "author_email": "Kim Davies ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: Name Service (DNS)", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Utilities" + ], + "requires_python": ">=3.5", + "project_url": [ + "Changelog, https://github.com/kjd/idna/blob/master/HISTORY.rst", + "Issue tracker, https://github.com/kjd/idna/issues", + "Source, https://github.com/kjd/idna" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", + "hashes": { + "sha256": "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "jaraco.classes", + "version": "3.4.0", + "summary": "Utility functions for Python class constructs", + "description": ".. image:: https://img.shields.io/pypi/v/jaraco.classes.svg\n :target: https://pypi.org/project/jaraco.classes\n\n.. image:: https://img.shields.io/pypi/pyversions/jaraco.classes.svg\n\n.. image:: https://github.com/jaraco/jaraco.classes/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/jaraco.classes/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/jaracoclasses/badge/?version=latest\n :target: https://jaracoclasses.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/jaraco.classes\n :target: https://tidelift.com/subscription/pkg/pypi-jaraco.classes?utm_source=pypi-jaraco.classes&utm_medium=readme\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "home_page": "https://github.com/jaraco/jaraco.classes", + "author": "Jason R. Coombs", + "author_email": "jaraco@jaraco.com", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "more-itertools", + "sphinx >=3.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest >=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-mypy ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'" + ], + "requires_python": ">=3.8", + "provides_extra": [ + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/d2/40/11b7bc1898cf1dcb87ccbe09b39f5088634ac78bb25f3383ff541c2b40aa/jaraco.context-5.3.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266", + "hashes": { + "sha256": "3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "jaraco.context", + "version": "5.3.0", + "summary": "Useful decorators and context managers", + "description": ".. image:: https://img.shields.io/pypi/v/jaraco.context.svg\n :target: https://pypi.org/project/jaraco.context\n\n.. image:: https://img.shields.io/pypi/pyversions/jaraco.context.svg\n\n.. image:: https://github.com/jaraco/jaraco.context/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/jaraco.context/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/jaracocontext/badge/?version=latest\n :target: https://jaracocontext.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/jaraco.context\n :target: https://tidelift.com/subscription/pkg/pypi-jaraco.context?utm_source=pypi-jaraco.context&utm_medium=readme\n\n\nHighlights\n==========\n\nSee the docs linked from the badge above for the full details, but here are some features that may be of interest.\n\n- ``ExceptionTrap`` provides a general-purpose wrapper for trapping exceptions and then acting on the outcome. Includes ``passes`` and ``raises`` decorators to replace the result of a wrapped function by a boolean indicating the outcome of the exception trap. See `this keyring commit `_ for an example of it in production.\n- ``suppress`` simply enables ``contextlib.suppress`` as a decorator.\n- ``on_interrupt`` is a decorator used by CLI entry points to affect the handling of a ``KeyboardInterrupt``. Inspired by `Lucretiel/autocommand#18 `_.\n- ``pushd`` is similar to pytest's ``monkeypatch.chdir`` or path's `default context `_, changes the current working directory for the duration of the context.\n- ``tarball`` will download a tarball, extract it, change directory, yield, then clean up after. Convenient when working with web assets.\n- ``null`` is there for those times when one code branch needs a context and the other doesn't; this null context provides symmetry across those branches.\n\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "home_page": "https://github.com/jaraco/jaraco.context", + "author": "Jason R. Coombs", + "author_email": "jaraco@jaraco.com", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "backports.tarfile ; python_version < \"3.12\"", + "sphinx >=3.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest !=8.1.1,>=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-mypy ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'", + "portend ; extra == 'testing'" + ], + "requires_python": ">=3.8", + "provides_extra": [ + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/c3/ac/d0bf0d37a9f95f69a5efc5685d9166ee34a664d3cd29a9c139989512fe14/jaraco.functools-4.0.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664", + "hashes": { + "sha256": "3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "jaraco.functools", + "version": "4.0.1", + "summary": "Functools like those found in stdlib", + "description": ".. image:: https://img.shields.io/pypi/v/jaraco.functools.svg\n :target: https://pypi.org/project/jaraco.functools\n\n.. image:: https://img.shields.io/pypi/pyversions/jaraco.functools.svg\n\n.. image:: https://github.com/jaraco/jaraco.functools/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/jaraco.functools/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/jaracofunctools/badge/?version=latest\n :target: https://jaracofunctools.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/jaraco.functools\n :target: https://tidelift.com/subscription/pkg/pypi-jaraco.functools?utm_source=pypi-jaraco.functools&utm_medium=readme\n\nAdditional functools in the spirit of stdlib's functools.\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "description_content_type": "text/x-rst", + "author_email": "\"Jason R. Coombs\" ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "more-itertools", + "sphinx >=3.5 ; extra == 'docs'", + "sphinx <7.2.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest >=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'", + "jaraco.classes ; extra == 'testing'", + "pytest-mypy ; (platform_python_implementation != \"PyPy\") and extra == 'testing'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Homepage, https://github.com/jaraco/jaraco.functools" + ], + "provides_extra": [ + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/92/91/901f5cfeaaea04cf15f5ddf41ee053a5c9e389166477a3427fcfd055e1d9/keyring-25.2.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50", + "hashes": { + "sha256": "2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "keyring", + "version": "25.2.1", + "summary": "Store and access your passwords safely.", + "description": ".. image:: https://img.shields.io/pypi/v/keyring.svg\n :target: https://pypi.org/project/keyring\n\n.. image:: https://img.shields.io/pypi/pyversions/keyring.svg\n\n.. image:: https://github.com/jaraco/keyring/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/keyring/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/keyring/badge/?version=latest\n :target: https://keyring.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/keyring\n :target: https://tidelift.com/subscription/pkg/pypi-keyring?utm_source=pypi-keyring&utm_medium=readme\n\n.. image:: https://badges.gitter.im/jaraco/keyring.svg\n :alt: Join the chat at https://gitter.im/jaraco/keyring\n :target: https://gitter.im/jaraco/keyring?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\nThe Python keyring library provides an easy way to access the\nsystem keyring service from python. It can be used in any\napplication that needs safe password storage.\n\nThese recommended keyring backends are supported:\n\n* macOS `Keychain\n `_\n* Freedesktop `Secret Service\n `_ supports many DE including\n GNOME (requires `secretstorage `_)\n* KDE4 & KDE5 `KWallet `_\n (requires `dbus `_)\n* `Windows Credential Locker\n `_\n\nOther keyring implementations are available through `Third-Party Backends`_.\n\nInstallation - Linux\n====================\n\nOn Linux, the KWallet backend relies on dbus-python_, which does not always\ninstall correctly when using pip (compilation is needed). For best results,\ninstall dbus-python as a system package.\n\n.. _dbus-python: https://gitlab.freedesktop.org/dbus/dbus-python\n\nCompatibility - macOS\n=====================\n\nmacOS keychain supports macOS 11 (Big Sur) and later requires Python 3.8.7\nor later with the \"universal2\" binary. See\n`#525 `_ for details.\n\nUsing Keyring\n=============\n\nThe basic usage of keyring is pretty simple: just call\n``keyring.set_password`` and ``keyring.get_password``::\n\n >>> import keyring\n >>> keyring.set_password(\"system\", \"username\", \"password\")\n >>> keyring.get_password(\"system\", \"username\")\n 'password'\n\nCommand-line Utility\n--------------------\n\nKeyring supplies a ``keyring`` command which is installed with the\npackage. After installing keyring in most environments, the\ncommand should be available for setting, getting, and deleting\npasswords. For more usage information, invoke with no arguments\nor with ``--help`` as so::\n\n $ keyring --help\n $ keyring set system username\n Password for 'username' in 'system':\n $ keyring get system username\n password\n\nThe command-line functionality is also exposed as an executable\npackage, suitable for invoking from Python like so::\n\n $ python -m keyring --help\n $ python -m keyring set system username\n Password for 'username' in 'system':\n $ python -m keyring get system username\n password\n\nTab Completion\n--------------\n\nIf installed via a package manager (apt, pacman, nix, homebrew, etc),\nthese shell completions may already have been distributed with the package\n(no action required).\n\nKeyring provides tab completion if the ``completion`` extra is installed::\n\n $ pip install 'keyring[completion]'\n\nThen, generate shell completions, something like::\n\n $ keyring --print-completion bash | sudo tee /usr/share/bash-completion/completions/keyring\n $ keyring --print-completion zsh | sudo tee /usr/share/zsh/site-functions/_keyring\n $ keyring --print-completion tcsh | sudo tee /etc/profile.d/keyring.csh\n\n**Note**: the path of `/usr/share` is mainly for GNU/Linux. For other OSs,\nconsider:\n\n- macOS (Homebrew x86): /usr/local/share\n- macOS (Homebrew ARM): /opt/homebrew/share\n- Android (Termux): /data/data/com.termux/files/usr/share\n- Windows (mingw64 of msys2): /mingw64/share\n- ...\n\nAfter installing the shell completions, enable them following your shell's\nrecommended instructions. e.g.:\n\n- bash: install `bash-completion `_,\n and ensure ``. /usr/share/bash-completion/bash_completion`` in ``~/.bashrc``.\n- zsh: ensure ``autoload -Uz compinit && compinit`` appears in ``~/.zshrc``,\n then ``grep -w keyring ~/.zcompdump`` to verify keyring appears, indicating\n it was installed correctly.\n\nConfiguring\n===========\n\nThe python keyring lib contains implementations for several backends. The\nlibrary will attempt to\nautomatically choose the most suitable backend for the current\nenvironment. Users may also specify the preferred keyring in a\nconfig file or by calling the ``set_keyring()`` function.\n\nConfig file path\n----------------\n\nThe configuration is stored in a file named \"keyringrc.cfg\"\nfound in a platform-specific location. To determine\nwhere the config file is stored, run ``keyring diagnose``.\n\nConfig file content\n-------------------\n\nTo specify a keyring backend, set the **default-keyring** option to the\nfull path of the class for that backend, such as\n``keyring.backends.macOS.Keyring``.\n\nIf **keyring-path** is indicated, keyring will add that path to the Python\nmodule search path before loading the backend.\n\nFor example, this config might be used to load the\n``SimpleKeyring`` from the ``simplekeyring`` module in\nthe ``./demo`` directory (not implemented)::\n\n [backend]\n default-keyring=simplekeyring.SimpleKeyring\n keyring-path=demo\n\nThird-Party Backends\n====================\n\nIn addition to the backends provided by the core keyring package for\nthe most common and secure use cases, there\nare additional keyring backend implementations available for other\nuse cases. Simply install them to make them available:\n\n- `keyrings.cryptfile `_\n - Encrypted text file storage.\n- `keyrings.alt `_ - \"alternate\",\n possibly-insecure backends, originally part of the core package, but\n available for opt-in.\n- `gsheet-keyring `_\n - a backend that stores secrets in a Google Sheet. For use with\n `ipython-secrets `_.\n- `bitwarden-keyring `_\n - a backend that stores secrets in the `BitWarden `_\n password manager.\n- `onepassword-keyring `_\n - a backend that stores secrets in the `1Password `_ password manager.\n- `sagecipher `_ - an encryption\n backend which uses the ssh agent protocol's signature operation to\n derive the cipher key.\n- `keyrings.osx_keychain_keys `_\n - OSX keychain key-management, for private, public, and symmetric keys.\n- `keyring_pass.PasswordStoreBackend `_\n - Password Store (pass) backend for python's keyring \n- `keyring_jeepney `__ - a\n pure Python backend using the secret service DBus API for desktop\n Linux (requires ``keyring<24``).\n\n\nWrite your own keyring backend\n==============================\n\nThe interface for the backend is defined by ``keyring.backend.KeyringBackend``.\nEvery backend should derive from that base class and define a ``priority``\nattribute and three functions: ``get_password()``, ``set_password()``, and\n``delete_password()``. The ``get_credential()`` function may be defined if\ndesired.\n\nSee the ``backend`` module for more detail on the interface of this class.\n\nKeyring employs entry points to allow any third-party package to implement\nbackends without any modification to the keyring itself. Those interested in\ncreating new backends are encouraged to create new, third-party packages\nin the ``keyrings`` namespace, in a manner modeled by the `keyrings.alt\npackage `_. See the\n``setup.cfg`` file\nin that project for hints on how to create the requisite entry points.\nBackends that prove essential may be considered for inclusion in the core\nlibrary, although the ease of installing these third-party packages should\nmean that extensions may be readily available.\n\nTo create an extension for Keyring, please submit a pull request to\nhave your extension mentioned as an available extension.\n\nRuntime Configuration\n=====================\n\nKeyring additionally allows programmatic configuration of the\nbackend calling the api ``set_keyring()``. The indicated backend\nwill subsequently be used to store and retrieve passwords.\n\nTo invoke ``set_keyring``::\n\n # define a new keyring class which extends the KeyringBackend\n import keyring.backend\n\n class TestKeyring(keyring.backend.KeyringBackend):\n \"\"\"A test keyring which always outputs the same password\n \"\"\"\n priority = 1\n\n def set_password(self, servicename, username, password):\n pass\n\n def get_password(self, servicename, username):\n return \"password from TestKeyring\"\n\n def delete_password(self, servicename, username):\n pass\n\n # set the keyring for keyring lib\n keyring.set_keyring(TestKeyring())\n\n # invoke the keyring lib\n try:\n keyring.set_password(\"demo-service\", \"tarek\", \"passexample\")\n print(\"password stored successfully\")\n except keyring.errors.PasswordSetError:\n print(\"failed to store password\")\n print(\"password\", keyring.get_password(\"demo-service\", \"tarek\"))\n\n\nDisabling Keyring\n=================\n\nIn many cases, uninstalling keyring will never be necessary.\nEspecially on Windows and macOS, the behavior of keyring is\nusually degenerate, meaning it will return empty values to\nthe caller, allowing the caller to fall back to some other\nbehavior.\n\nIn some cases, the default behavior of keyring is undesirable and\nit would be preferable to disable the keyring behavior altogether.\nThere are several mechanisms to disable keyring:\n\n- Uninstall keyring. Most applications are tolerant to keyring\n not being installed. Uninstalling keyring should cause those\n applications to fall back to the behavior without keyring.\n This approach affects the Python environment where keyring\n would otherwise have been installed.\n\n- Configure the Null keyring in the environment. Set\n ``PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring``\n in the environment, and the ``Null`` (degenerate) backend\n will be used. This approach affects all uses of Keyring where\n that variable is set.\n\n- Permanently configure the Null keyring for the user by running\n ``keyring --disable`` or ``python -m keyring --disable``.\n This approach affects all uses of keyring for that user.\n\n\nAltering Keyring Behavior\n=========================\n\nKeyring provides a mechanism to alter the keyring's behavior through\nenvironment variables. Each backend implements a\n``KeyringBackend.set_properties_from_env``, which\nwhen invoked will find all environment variables beginning with\n``KEYRING_PROPERTY_{NAME}`` and will set a property for each\n``{NAME.lower()}`` on the keyring. This method is invoked during\ninitialization for the default/configured keyring.\n\nThis mechanism may be used to set some useful values on various\nkeyrings, including:\n\n- keychain; macOS, path to an alternate keychain file\n- appid; Linux/SecretService, alternate ID for the application\n\n\nUsing Keyring on Ubuntu 16.04\n=============================\n\nThe following is a complete transcript for installing keyring in a\nvirtual environment on Ubuntu 16.04. No config file was used::\n\n $ sudo apt install python3-venv libdbus-glib-1-dev\n $ cd /tmp\n $ pyvenv py3\n $ source py3/bin/activate\n $ pip install -U pip\n $ pip install secretstorage dbus-python\n $ pip install keyring\n $ python\n >>> import keyring\n >>> keyring.get_keyring()\n \n >>> keyring.set_password(\"system\", \"username\", \"password\")\n >>> keyring.get_password(\"system\", \"username\")\n 'password'\n\n\nUsing Keyring on headless Linux systems\n=======================================\n\nIt is possible to use the SecretService backend on Linux systems without\nX11 server available (only D-Bus is required). In this case:\n\n* Install the `GNOME Keyring`_ daemon.\n* Start a D-Bus session, e.g. run ``dbus-run-session -- sh`` and run\n the following commands inside that shell.\n* Run ``gnome-keyring-daemon`` with ``--unlock`` option. The description of\n that option says:\n\n Read a password from stdin, and use it to unlock the login keyring\n or create it if the login keyring does not exist.\n\n When that command is started, enter a password into stdin and\n press Ctrl+D (end of data). After that, the daemon will fork into\n the background (use ``--foreground`` option to block).\n* Now you can use the SecretService backend of Keyring. Remember to\n run your application in the same D-Bus session as the daemon.\n\n.. _GNOME Keyring: https://wiki.gnome.org/Projects/GnomeKeyring\n\nUsing Keyring on headless Linux systems in a Docker container\n=============================================================\n\nIt is possible to use keyring with the SecretService backend in Docker containers as well.\nAll you need to do is install the necessary dependencies and add the `--privileged` flag\nto avoid any `Operation not permitted` errors when attempting to unlock the system's keyring.\n\nThe following is a complete transcript for installing keyring on a Ubuntu 18:04 container::\n\n docker run -it -d --privileged ubuntu:18.04\n\n $ apt-get update\n $ apt install -y gnome-keyring python3-venv python3-dev\n $ python3 -m venv venv\n $ source venv/bin/activate # source a virtual environment to avoid polluting your system\n $ pip3 install --upgrade pip\n $ pip3 install keyring\n $ dbus-run-session -- sh # this will drop you into a new D-bus shell\n $ echo 'somecredstorepass' | gnome-keyring-daemon --unlock # unlock the system's keyring\n\n $ python\n >>> import keyring\n >>> keyring.get_keyring()\n \n >>> keyring.set_password(\"system\", \"username\", \"password\")\n >>> keyring.get_password(\"system\", \"username\")\n 'password'\n\nIntegration\n===========\n\nAPI\n---\n\nThe keyring lib has a few functions:\n\n* ``get_keyring()``: Return the currently-loaded keyring implementation.\n* ``get_password(service, username)``: Returns the password stored in the\n active keyring. If the password does not exist, it will return None.\n* ``get_credential(service, username)``: Return a credential object stored\n in the active keyring. This object contains at least ``username`` and\n ``password`` attributes for the specified service, where the returned\n ``username`` may be different from the argument.\n* ``set_password(service, username, password)``: Store the password in the\n keyring.\n* ``delete_password(service, username)``: Delete the password stored in\n keyring. If the password does not exist, it will raise an exception.\n\nIn all cases, the parameters (``service``, ``username``, ``password``)\nshould be Unicode text.\n\n\nExceptions\n----------\n\nThe keyring lib raises the following exceptions:\n\n* ``keyring.errors.KeyringError``: Base Error class for all exceptions in keyring lib.\n* ``keyring.errors.InitError``: Raised when the keyring cannot be initialized.\n* ``keyring.errors.PasswordSetError``: Raised when the password cannot be set in the keyring.\n* ``keyring.errors.PasswordDeleteError``: Raised when the password cannot be deleted in the keyring.\n\nGet Involved\n============\n\nPython keyring lib is an open community project and eagerly\nwelcomes contributors.\n\n* Repository: https://github.com/jaraco/keyring/\n* Bug Tracker: https://github.com/jaraco/keyring/issues/\n* Mailing list: http://groups.google.com/group/python-keyring\n\nSecurity Considerations\n=======================\n\nEach built-in backend may have security considerations to understand\nbefore using this library. Authors of tools or libraries utilizing\n``keyring`` are encouraged to consider these concerns.\n\nAs with any list of known security concerns, this list is not exhaustive.\nAdditional issues can be added as needed.\n\n- macOS Keychain\n - Any Python script or application can access secrets created by\n ``keyring`` from that same Python executable without the operating\n system prompting the user for a password. To cause any specific\n secret to prompt for a password every time it is accessed, locate\n the credential using the ``Keychain Access`` application, and in\n the ``Access Control`` settings, remove ``Python`` from the list\n of allowed applications.\n\n- Freedesktop Secret Service\n - No analysis has been performed\n\n- KDE4 & KDE5 KWallet\n - No analysis has been performed\n\n- Windows Credential Locker\n - No analysis has been performed\n\nMaking Releases\n===============\n\nThis project makes use of automated releases and continuous\nintegration. The\nsimple workflow is to tag a commit and push it to Github. If it\npasses tests in CI, it will be automatically deployed to PyPI.\n\nOther things to consider when making a release:\n\n- Check that the changelog is current for the intended release.\n\nRunning Tests\n=============\n\nTests are continuously run in Github Actions.\n\nTo run the tests locally, install and invoke\n`tox `_.\n\nBackground\n==========\n\nThe project was based on Tarek Ziade's idea in `this post`_. Kang Zhang\ninitially carried it out as a `Google Summer of Code`_ project, and Tarek\nmentored Kang on this project.\n\n.. _this post: http://tarekziade.wordpress.com/2009/03/27/pycon-hallway-session-1-a-keyring-library-for-python/\n.. _Google Summer of Code: http://socghop.appspot.com/\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "description_content_type": "text/x-rst", + "author_email": "Kang Zhang ", + "maintainer_email": "\"Jason R. Coombs\" ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "jaraco.classes", + "jaraco.functools", + "jaraco.context", + "importlib-metadata >=4.11.4 ; python_version < \"3.12\"", + "importlib-resources ; python_version < \"3.9\"", + "SecretStorage >=3.2 ; sys_platform == \"linux\"", + "jeepney >=0.4.2 ; sys_platform == \"linux\"", + "pywin32-ctypes >=0.2.0 ; sys_platform == \"win32\"", + "shtab >=1.1.0 ; extra == 'completion'", + "sphinx >=3.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest !=8.1.*,>=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-mypy ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Homepage, https://github.com/jaraco/keyring" + ], + "provides_extra": [ + "completion", + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", + "hashes": { + "sha256": "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "more-itertools", + "version": "10.2.0", + "summary": "More routines for operating on iterables, beyond itertools", + "description": "==============\nMore Itertools\n==============\n\n.. image:: https://readthedocs.org/projects/more-itertools/badge/?version=latest\n :target: https://more-itertools.readthedocs.io/en/stable/\n\nPython's ``itertools`` library is a gem - you can compose elegant solutions\nfor a variety of problems with the functions it provides. In ``more-itertools``\nwe collect additional building blocks, recipes, and routines for working with\nPython iterables.\n\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Grouping | `chunked `_, |\n| | `ichunked `_, |\n| | `chunked_even `_, |\n| | `sliced `_, |\n| | `constrained_batches `_, |\n| | `distribute `_, |\n| | `divide `_, |\n| | `split_at `_, |\n| | `split_before `_, |\n| | `split_after `_, |\n| | `split_into `_, |\n| | `split_when `_, |\n| | `bucket `_, |\n| | `unzip `_, |\n| | `batched `_, |\n| | `grouper `_, |\n| | `partition `_, |\n| | `transpose `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Lookahead and lookback | `spy `_, |\n| | `peekable `_, |\n| | `seekable `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Windowing | `windowed `_, |\n| | `substrings `_, |\n| | `substrings_indexes `_, |\n| | `stagger `_, |\n| | `windowed_complete `_, |\n| | `pairwise `_, |\n| | `triplewise `_, |\n| | `sliding_window `_, |\n| | `subslices `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Augmenting | `count_cycle `_, |\n| | `intersperse `_, |\n| | `padded `_, |\n| | `repeat_each `_, |\n| | `mark_ends `_, |\n| | `repeat_last `_, |\n| | `adjacent `_, |\n| | `groupby_transform `_, |\n| | `pad_none `_, |\n| | `ncycles `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Combining | `collapse `_, |\n| | `sort_together `_, |\n| | `interleave `_, |\n| | `interleave_longest `_, |\n| | `interleave_evenly `_, |\n| | `zip_offset `_, |\n| | `zip_equal `_, |\n| | `zip_broadcast `_, |\n| | `dotproduct `_, |\n| | `convolve `_, |\n| | `flatten `_, |\n| | `roundrobin `_, |\n| | `prepend `_, |\n| | `value_chain `_, |\n| | `partial_product `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Summarizing | `ilen `_, |\n| | `unique_to_each `_, |\n| | `sample `_, |\n| | `consecutive_groups `_, |\n| | `run_length `_, |\n| | `map_reduce `_, |\n| | `exactly_n `_, |\n| | `is_sorted `_, |\n| | `all_equal `_, |\n| | `all_unique `_, |\n| | `minmax `_, |\n| | `first_true `_, |\n| | `quantify `_, |\n| | `iequals `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Selecting | `islice_extended `_, |\n| | `first `_, |\n| | `last `_, |\n| | `one `_, |\n| | `only `_, |\n| | `strictly_n `_, |\n| | `strip `_, |\n| | `lstrip `_, |\n| | `rstrip `_, |\n| | `filter_except `_, |\n| | `map_except `_, |\n| | `filter_map `_, |\n| | `iter_suppress `_, |\n| | `nth_or_last `_, |\n| | `unique_in_window `_, |\n| | `before_and_after `_, |\n| | `nth `_, |\n| | `take `_, |\n| | `tail `_, |\n| | `unique_everseen `_, |\n| | `unique_justseen `_, |\n| | `duplicates_everseen `_, |\n| | `duplicates_justseen `_, |\n| | `classify_unique `_, |\n| | `longest_common_prefix `_, |\n| | `takewhile_inclusive `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Combinatorics | `distinct_permutations `_, |\n| | `distinct_combinations `_, |\n| | `circular_shifts `_, |\n| | `partitions `_, |\n| | `set_partitions `_, |\n| | `product_index `_, |\n| | `combination_index `_, |\n| | `permutation_index `_, |\n| | `combination_with_replacement_index `_, |\n| | `gray_product `_, |\n| | `outer_product `_, |\n| | `powerset `_, |\n| | `random_product `_, |\n| | `random_permutation `_, |\n| | `random_combination `_, |\n| | `random_combination_with_replacement `_, |\n| | `nth_product `_, |\n| | `nth_permutation `_, |\n| | `nth_combination `_, |\n| | `nth_combination_with_replacement `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Wrapping | `always_iterable `_, |\n| | `always_reversible `_, |\n| | `countable `_, |\n| | `consumer `_, |\n| | `with_iter `_, |\n| | `iter_except `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Others | `locate `_, |\n| | `rlocate `_, |\n| | `replace `_, |\n| | `numeric_range `_, |\n| | `side_effect `_, |\n| | `iterate `_, |\n| | `difference `_, |\n| | `make_decorator `_, |\n| | `SequenceView `_, |\n| | `time_limited `_, |\n| | `map_if `_, |\n| | `iter_index `_, |\n| | `consume `_, |\n| | `tabulate `_, |\n| | `repeatfunc `_, |\n| | `polynomial_from_roots `_, |\n| | `polynomial_eval `_, |\n| | `polynomial_derivative `_, |\n| | `sieve `_, |\n| | `factor `_, |\n| | `matmul `_, |\n| | `sum_of_squares `_, |\n| | `totient `_, |\n| | `reshape `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n\n\nGetting started\n===============\n\nTo get started, install the library with `pip `_:\n\n.. code-block:: shell\n\n pip install more-itertools\n\nThe recipes from the `itertools docs `_\nare included in the top-level package:\n\n.. code-block:: python\n\n >>> from more_itertools import flatten\n >>> iterable = [(0, 1), (2, 3)]\n >>> list(flatten(iterable))\n [0, 1, 2, 3]\n\nSeveral new recipes are available as well:\n\n.. code-block:: python\n\n >>> from more_itertools import chunked\n >>> iterable = [0, 1, 2, 3, 4, 5, 6, 7, 8]\n >>> list(chunked(iterable, 3))\n [[0, 1, 2], [3, 4, 5], [6, 7, 8]]\n\n >>> from more_itertools import spy\n >>> iterable = (x * x for x in range(1, 6))\n >>> head, iterable = spy(iterable, n=3)\n >>> list(head)\n [1, 4, 9]\n >>> list(iterable)\n [1, 4, 9, 16, 25]\n\n\n\nFor the full listing of functions, see the `API documentation `_.\n\n\nLinks elsewhere\n===============\n\nBlog posts about ``more-itertools``:\n\n* `Yo, I heard you like decorators `__\n* `Tour of Python Itertools `__ (`Alternate `__)\n* `Real-World Python More Itertools `_\n\n\nDevelopment\n===========\n\n``more-itertools`` is maintained by `@erikrose `_\nand `@bbayles `_, with help from `many others `_.\nIf you have a problem or suggestion, please file a bug or pull request in this\nrepository. Thanks for contributing!\n\n\nVersion History\n===============\n\nThe version history can be found in `documentation `_.\n\n", + "description_content_type": "text/x-rst", + "keywords": [ + "itertools", + "iterator", + "iteration", + "filter", + "peek", + "peekable", + "chunk", + "chunked" + ], + "author_email": "Erik Rose ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Natural Language :: English", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries" + ], + "requires_python": ">=3.8", + "project_url": [ + "Homepage, https://github.com/more-itertools/more-itertools" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", + "hashes": { + "sha256": "08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "numpy", + "version": "1.26.4", + "summary": "Fundamental package for array computing in Python", + "description": "

\n\n


\n\n\n[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](\nhttps://numfocus.org)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/numpy.svg?label=PyPI%20downloads)](\nhttps://pypi.org/project/numpy/)\n[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/numpy.svg?label=Conda%20downloads)](\nhttps://anaconda.org/conda-forge/numpy)\n[![Stack Overflow](https://img.shields.io/badge/stackoverflow-Ask%20questions-blue.svg)](\nhttps://stackoverflow.com/questions/tagged/numpy)\n[![Nature Paper](https://img.shields.io/badge/DOI-10.1038%2Fs41592--019--0686--2-blue)](\nhttps://doi.org/10.1038/s41586-020-2649-2)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/numpy/numpy/badge)](https://api.securityscorecards.dev/projects/github.com/numpy/numpy)\n\n\nNumPy is the fundamental package for scientific computing with Python.\n\n- **Website:** https://www.numpy.org\n- **Documentation:** https://numpy.org/doc\n- **Mailing list:** https://mail.python.org/mailman/listinfo/numpy-discussion\n- **Source code:** https://github.com/numpy/numpy\n- **Contributing:** https://www.numpy.org/devdocs/dev/index.html\n- **Bug reports:** https://github.com/numpy/numpy/issues\n- **Report a security vulnerability:** https://tidelift.com/docs/security\n\nIt provides:\n\n- a powerful N-dimensional array object\n- sophisticated (broadcasting) functions\n- tools for integrating C/C++ and Fortran code\n- useful linear algebra, Fourier transform, and random number capabilities\n\nTesting:\n\nNumPy requires `pytest` and `hypothesis`. Tests can then be run after installation with:\n\n python -c \"import numpy, sys; sys.exit(numpy.test() is False)\"\n\nCode of Conduct\n----------------------\n\nNumPy is a community-driven open source project developed by a diverse group of\n[contributors](https://numpy.org/teams/). The NumPy leadership has made a strong\ncommitment to creating an open, inclusive, and positive community. Please read the\n[NumPy Code of Conduct](https://numpy.org/code-of-conduct/) for guidance on how to interact\nwith others in a way that makes our community thrive.\n\nCall for Contributions\n----------------------\n\nThe NumPy project welcomes your expertise and enthusiasm!\n\nSmall improvements or fixes are always appreciated. If you are considering larger contributions\nto the source code, please contact us through the [mailing\nlist](https://mail.python.org/mailman/listinfo/numpy-discussion) first.\n\nWriting code isn’t the only way to contribute to NumPy. You can also:\n- review pull requests\n- help us stay on top of new and old issues\n- develop tutorials, presentations, and other educational materials\n- maintain and improve [our website](https://github.com/numpy/numpy.org)\n- develop graphic design for our brand assets and promotional materials\n- translate website content\n- help with outreach and onboard new contributors\n- write grant proposals and help with other fundraising efforts\n\nFor more information about the ways you can contribute to NumPy, visit [our website](https://numpy.org/contribute/). \nIf you’re unsure where to start or how your skills fit in, reach out! You can\nask on the mailing list or here, on GitHub, by opening a new issue or leaving a\ncomment on a relevant issue that is already open.\n\nOur preferred channels of communication are all public, but if you’d like to\nspeak to us in private first, contact our community coordinators at\nnumpy-team@googlegroups.com or on Slack (write numpy-team@googlegroups.com for\nan invitation).\n\nWe also have a biweekly community call, details of which are announced on the\nmailing list. You are very welcome to join.\n\nIf you are new to contributing to open source, [this\nguide](https://opensource.guide/how-to-contribute/) helps explain why, what,\nand how to successfully get involved.\n", + "description_content_type": "text/markdown", + "home_page": "https://numpy.org", + "author": "Travis E. Oliphant et al.", + "maintainer_email": "NumPy Developers ", + "license": "Copyright (c) 2005-2023, NumPy Developers.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials provided\n with the distribution.\n\n * Neither the name of the NumPy Developers nor the names of any\n contributors may be used to endorse or promote products derived\n from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n----\n\nThe NumPy repository and source distributions bundle several libraries that are\ncompatibly licensed. We list these here.\n\nName: lapack-lite\nFiles: numpy/linalg/lapack_lite/*\nLicense: BSD-3-Clause\n For details, see numpy/linalg/lapack_lite/LICENSE.txt\n\nName: tempita\nFiles: tools/npy_tempita/*\nLicense: MIT\n For details, see tools/npy_tempita/license.txt\n\nName: dragon4\nFiles: numpy/core/src/multiarray/dragon4.c\nLicense: MIT\n For license text, see numpy/core/src/multiarray/dragon4.c\n\nName: libdivide\nFiles: numpy/core/include/numpy/libdivide/*\nLicense: Zlib\n For license text, see numpy/core/include/numpy/libdivide/LICENSE.txt\n\n\nNote that the following files are vendored in the repository and sdist but not\ninstalled in built numpy packages:\n\nName: Meson\nFiles: vendored-meson/meson/*\nLicense: Apache 2.0\n For license text, see vendored-meson/meson/COPYING\n\nName: spin\nFiles: .spin/cmds.py\nLicense: BSD-3\n For license text, see .spin/LICENSE\n\n----\n\nThis binary distribution of NumPy also bundles the following software:\n\n\nName: OpenBLAS\nFiles: numpy.libs\\libopenblas*.dll\nDescription: bundled as a dynamically linked library\nAvailability: https://github.com/OpenMathLib/OpenBLAS/\nLicense: BSD-3-Clause\n Copyright (c) 2011-2014, The OpenBLAS Project\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in\n the documentation and/or other materials provided with the\n distribution.\n 3. Neither the name of the OpenBLAS project nor the names of\n its contributors may be used to endorse or promote products\n derived from this software without specific prior written\n permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\n USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\nName: LAPACK\nFiles: numpy.libs\\libopenblas*.dll\nDescription: bundled in OpenBLAS\nAvailability: https://github.com/OpenMathLib/OpenBLAS/\nLicense: BSD-3-Clause-Attribution\n Copyright (c) 1992-2013 The University of Tennessee and The University\n of Tennessee Research Foundation. All rights\n reserved.\n Copyright (c) 2000-2013 The University of California Berkeley. All\n rights reserved.\n Copyright (c) 2006-2013 The University of Colorado Denver. All rights\n reserved.\n\n $COPYRIGHT$\n\n Additional copyrights may follow\n\n $HEADER$\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n - Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n - Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer listed\n in this license in the documentation and/or other materials\n provided with the distribution.\n\n - Neither the name of the copyright holders nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n The copyright holders provide no reassurances that the source code\n provided does not infringe any patent, copyright, or any other\n intellectual property rights of third parties. The copyright holders\n disclaim any liability to any recipient for claims brought against\n recipient by any third party for infringement of that parties\n intellectual property rights.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\nName: GCC runtime library\nFiles: numpy.libs\\libopenblas*.dll\nDescription: statically linked to files compiled with gcc\nAvailability: https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libgfortran\nLicense: GPL-3.0-with-GCC-exception\n Copyright (C) 2002-2017 Free Software Foundation, Inc.\n\n Libgfortran is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3, or (at your option)\n any later version.\n\n Libgfortran is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n Under Section 7 of GPL version 3, you are granted additional\n permissions described in the GCC Runtime Library Exception, version\n 3.1, as published by the Free Software Foundation.\n\n You should have received a copy of the GNU General Public License and\n a copy of the GCC Runtime Library Exception along with this program;\n see the files COPYING3 and COPYING.RUNTIME respectively. If not, see\n .\n\n----\n\nFull text of license texts referred to above follows (that they are\nlisted below does not necessarily imply the conditions apply to the\npresent binary release):\n\n----\n\nGCC RUNTIME LIBRARY EXCEPTION\n\nVersion 3.1, 31 March 2009\n\nCopyright (C) 2009 Free Software Foundation, Inc. \n\nEveryone is permitted to copy and distribute verbatim copies of this\nlicense document, but changing it is not allowed.\n\nThis GCC Runtime Library Exception (\"Exception\") is an additional\npermission under section 7 of the GNU General Public License, version\n3 (\"GPLv3\"). It applies to a given file (the \"Runtime Library\") that\nbears a notice placed by the copyright holder of the file stating that\nthe file is governed by GPLv3 along with this Exception.\n\nWhen you use GCC to compile a program, GCC may combine portions of\ncertain GCC header files and runtime libraries with the compiled\nprogram. The purpose of this Exception is to allow compilation of\nnon-GPL (including proprietary) programs to use, in this way, the\nheader files and runtime libraries covered by this Exception.\n\n0. Definitions.\n\nA file is an \"Independent Module\" if it either requires the Runtime\nLibrary for execution after a Compilation Process, or makes use of an\ninterface provided by the Runtime Library, but is not otherwise based\non the Runtime Library.\n\n\"GCC\" means a version of the GNU Compiler Collection, with or without\nmodifications, governed by version 3 (or a specified later version) of\nthe GNU General Public License (GPL) with the option of using any\nsubsequent versions published by the FSF.\n\n\"GPL-compatible Software\" is software whose conditions of propagation,\nmodification and use would permit combination with GCC in accord with\nthe license of GCC.\n\n\"Target Code\" refers to output from any compiler for a real or virtual\ntarget processor architecture, in executable form or suitable for\ninput to an assembler, loader, linker and/or execution\nphase. Notwithstanding that, Target Code does not include data in any\nformat that is used as a compiler intermediate representation, or used\nfor producing a compiler intermediate representation.\n\nThe \"Compilation Process\" transforms code entirely represented in\nnon-intermediate languages designed for human-written code, and/or in\nJava Virtual Machine byte code, into Target Code. Thus, for example,\nuse of source code generators and preprocessors need not be considered\npart of the Compilation Process, since the Compilation Process can be\nunderstood as starting with the output of the generators or\npreprocessors.\n\nA Compilation Process is \"Eligible\" if it is done using GCC, alone or\nwith other GPL-compatible software, or if it is done without using any\nwork based on GCC. For example, using non-GPL-compatible Software to\noptimize any GCC intermediate representations would not qualify as an\nEligible Compilation Process.\n\n1. Grant of Additional Permission.\n\nYou have permission to propagate a work of Target Code formed by\ncombining the Runtime Library with Independent Modules, even if such\npropagation would otherwise violate the terms of GPLv3, provided that\nall Target Code was generated by Eligible Compilation Processes. You\nmay then convey such a combination under terms of your choice,\nconsistent with the licensing of the Independent Modules.\n\n2. No Weakening of GCC Copyleft.\n\nThe availability of this Exception does not imply any general\npresumption that third-party software is unaffected by the copyleft\nrequirements of the license of GCC.\n\n----\n\n GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.\n\nName: libquadmath\nFiles: numpy.libs\\libopenb*.dll\nDescription: statically linked to files compiled with gcc\nAvailability: https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libquadmath\nLicense: LGPL-2.1-or-later\n\n GCC Quad-Precision Math Library\n Copyright (C) 2010-2019 Free Software Foundation, Inc.\n Written by Francois-Xavier Coudert \n\n This file is part of the libquadmath library.\n Libquadmath is free software; you can redistribute it and/or\n modify it under the terms of the GNU Library General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n\n Libquadmath is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Programming Language :: C", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Software Development", + "Topic :: Scientific/Engineering", + "Typing :: Typed", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Operating System :: MacOS" + ], + "requires_python": ">=3.9", + "project_url": [ + "Homepage, https://numpy.org", + "Documentation, https://numpy.org/doc/", + "Source, https://github.com/numpy/numpy", + "Download, https://pypi.org/project/numpy/#files", + "Tracker, https://github.com/numpy/numpy/issues", + "Release notes, https://numpy.org/doc/stable/release" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/a4/bc/78b2c00cc64c31dbb3be42a0e8600bcebc123ad338c3b714754d668c7c2d/pywin32_ctypes-0.2.2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7", + "hashes": { + "sha256": "bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "pywin32-ctypes", + "version": "0.2.2", + "platform": [ + "UNKNOWN" + ], + "summary": "A (partial) reimplementation of pywin32 using ctypes/cffi", + "description": "\n.. image:: https://readthedocs.org/projects/pywin32-ctypes/badge/?version=master\n :target: http://pywin32-ctypes.readthedocs.org/en/latest/?badge=master\n :alt: Documentation Status\n\nA reimplementation of pywin32 that is pure python. The default\nbehaviour will try to use cffi (>= 1.3.0), if available, and fall back\nto using ctypes. Please note that there is no need to have a compiler\navailable on installation or at runtime.\n\nUsage\n=====\n\nExample::\n\n # Equivalent to 'import win32api' from pywin32.\n from win32ctypes.pywin32 import win32api\n\n win32api.LoadLibraryEx(sys.executable, 0, win32api.LOAD_LIBRARY_AS_DATAFILE)\n\n.. note::\n\n Currently pywin32ctypes implements only a very small subset\n of pywin32, for internal needs at Enthought. We do welcome\n additional features and PRs, though.\n\nDevelopment setup\n=================\n\nThe following should be good enough::\n\n pip install -r test_requirements.txt\n python install -e .\n\n.. note::\n\n - While pywin32-ctypes should regularly be tested on windows, you can also\n develop/test on unix by using wine\n\nChange Log\n==========\n\nVersion 0.2.2\n-------------\n\n- Use ctypes.set_last_error to avoid race conditions (#122)\n\nVersion 0.2.1\n-------------\n\n- Use faulthandler when testing and fix discovered errors (#115, #117).\n- Fix support for None username in credentials to be consistent in all backends (#99).\n- Test also on cp38, cp39, cp310, cp311 and use cp38 for linking (#114, #107, #100).\n- Add support for CredEnumerate extending code from @markb-EE (#110, #109, #111)\n- Remove support for older python versions < cp36 (#104, #120).\n\nVersion 0.2.0\n-------------\n\n- Fix syntax error when installing in python 3.7 (#81).\n- Support testing on python 3.7 (#82).\n- Support testing on python 3.3 and python 3.4 (#77).\n- Do not use 2to3 (#75).\n- Support lazy wrapping of win32 functions (#67).\n- Add CRED_PERSIST constants (#79 contributed by @tivnet).\n\nVersion 0.1.2\n-------------\n\n(bugfix release)\n\n- Fix implementation for the deprecated api (#64).\n\nVersion 0.1.1\n-------------\n\n(bugfix release)\n\n- Update Manifest.in entries (#63)\n- fix VERSION path in Manifest.in (#62 contributed by @MinchinWeb)\n\n\nVersion 0.1.0\n-------------\n\n- Update tests and provide better compatibility with pywin32 for\n Resource functions\n- Fix: Python 3.5 and 3.6 support (#52).\n- API additions to allow pywin32-ctypes to work with pyinstaller (#46\n and #57 contributed by @virtuald).\n- Fix: do not update the global copy of the windows dlls (#42)\n- Add documentation and setup automatic builds in ReadTheDocs (#3, #36).\n- Add cffi backend to be used when available (#31).\n- Fix: EnumResourceTypes and EnumResourceNames would only return ints\n (#21, #30).\n- Restructure package layout to split core wrapping modules from\n pywin32 emulation (#15, #17).\n\nVersion 0.0.1\n-------------\n\n7/04/2014\n\n- Python 2.6 support (#13)\n- Python 3 support (#12)\n- Basic maintenance work (#11, #7)\n- Fix error raising to be pywin32 compatible (#8)\n- Package rename mini_pywin32 -> pywin32-ctypes\n- Add travis-ci integration using wine! (#2)\n- Support basic library and resource loading (#1)\n- mini_pywin32 is born\n\n\n", + "home_page": "https://github.com/enthought/pywin32-ctypes", + "author": "Enthought Inc.", + "author_email": "info@enthough.com", + "license": "BSD-3-Clause", + "classifier": [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", + "hashes": { + "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "urllib3", + "version": "2.2.1", + "summary": "HTTP library with thread-safe connection pooling, file post, and more.", + "description": "

\n\n![urllib3](https://github.com/urllib3/urllib3/raw/main/docs/_static/banner_github.svg)\n\n

\n\n

\n \"PyPI\n \"Python\n \"Join\n \"Coverage\n \"Build\n \"Documentation
\n \"OpenSSF\n \"SLSA\n \"CII\n

\n\nurllib3 is a powerful, *user-friendly* HTTP client for Python. Much of the\nPython ecosystem already uses urllib3 and you should too.\nurllib3 brings many critical features that are missing from the Python\nstandard libraries:\n\n- Thread safety.\n- Connection pooling.\n- Client-side SSL/TLS verification.\n- File uploads with multipart encoding.\n- Helpers for retrying requests and dealing with HTTP redirects.\n- Support for gzip, deflate, brotli, and zstd encoding.\n- Proxy support for HTTP and SOCKS.\n- 100% test coverage.\n\nurllib3 is powerful and easy to use:\n\n```python3\n>>> import urllib3\n>>> resp = urllib3.request(\"GET\", \"http://httpbin.org/robots.txt\")\n>>> resp.status\n200\n>>> resp.data\nb\"User-agent: *\\nDisallow: /deny\\n\"\n```\n\n## Installing\n\nurllib3 can be installed with [pip](https://pip.pypa.io):\n\n```bash\n$ python -m pip install urllib3\n```\n\nAlternatively, you can grab the latest source code from [GitHub](https://github.com/urllib3/urllib3):\n\n```bash\n$ git clone https://github.com/urllib3/urllib3.git\n$ cd urllib3\n$ pip install .\n```\n\n\n## Documentation\n\nurllib3 has usage and reference documentation at [urllib3.readthedocs.io](https://urllib3.readthedocs.io).\n\n\n## Community\n\nurllib3 has a [community Discord channel](https://discord.gg/urllib3) for asking questions and\ncollaborating with other contributors. Drop by and say hello 👋\n\n\n## Contributing\n\nurllib3 happily accepts contributions. Please see our\n[contributing documentation](https://urllib3.readthedocs.io/en/latest/contributing.html)\nfor some tips on getting started.\n\n\n## Security Disclosures\n\nTo report a security vulnerability, please use the\n[Tidelift security contact](https://tidelift.com/security).\nTidelift will coordinate the fix and disclosure with maintainers.\n\n\n## Maintainers\n\n- [@sethmlarson](https://github.com/sethmlarson) (Seth M. Larson)\n- [@pquentin](https://github.com/pquentin) (Quentin Pradet)\n- [@illia-v](https://github.com/illia-v) (Illia Volochii)\n- [@theacodes](https://github.com/theacodes) (Thea Flowers)\n- [@haikuginger](https://github.com/haikuginger) (Jess Shapiro)\n- [@lukasa](https://github.com/lukasa) (Cory Benfield)\n- [@sigmavirus24](https://github.com/sigmavirus24) (Ian Stapleton Cordasco)\n- [@shazow](https://github.com/shazow) (Andrey Petrov)\n\n👋\n\n\n## Sponsorship\n\nIf your company benefits from this library, please consider [sponsoring its\ndevelopment](https://urllib3.readthedocs.io/en/latest/sponsors.html).\n\n\n## For Enterprise\n\nProfessional support for urllib3 is available as part of the [Tidelift\nSubscription][1]. Tidelift gives software development teams a single source for\npurchasing and maintaining their software, with professional grade assurances\nfrom the experts who know it best, while seamlessly integrating with existing\ntools.\n\n[1]: https://tidelift.com/subscription/pkg/pypi-urllib3?utm_source=pypi-urllib3&utm_medium=referral&utm_campaign=readme\n", + "description_content_type": "text/markdown", + "keywords": [ + "filepost", + "http", + "httplib", + "https", + "pooling", + "ssl", + "threadsafe", + "urllib" + ], + "author_email": "Andrey Petrov ", + "maintainer_email": "Seth Michael Larson , Quentin Pradet , Illia Volochii ", + "classifier": [ + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Software Development :: Libraries" + ], + "requires_dist": [ + "brotli>=1.0.9; (platform_python_implementation == 'CPython') and extra == 'brotli'", + "brotlicffi>=0.8.0; (platform_python_implementation != 'CPython') and extra == 'brotli'", + "h2<5,>=4; extra == 'h2'", + "pysocks!=1.5.7,<2.0,>=1.5.6; extra == 'socks'", + "zstandard>=0.18.0; extra == 'zstd'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Changelog, https://github.com/urllib3/urllib3/blob/main/CHANGES.rst", + "Documentation, https://urllib3.readthedocs.io", + "Code, https://github.com/urllib3/urllib3", + "Issue tracker, https://github.com/urllib3/urllib3/issues" + ], + "provides_extra": [ + "brotli", + "h2", + "socks", + "zstd" + ] + } + } + ], + "environment": { + "implementation_name": "cpython", + "implementation_version": "3.12.4", + "os_name": "nt", + "platform_machine": "AMD64", + "platform_release": "11", + "platform_system": "Windows", + "platform_version": "10.0.22631", + "python_full_version": "3.12.4", + "platform_python_implementation": "CPython", + "python_version": "3.12", + "sys_platform": "win32" + } +} \ No newline at end of file diff --git a/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/a.component-detection-pip-report.json b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/a.component-detection-pip-report.json new file mode 100644 index 000000000..ee1559652 --- /dev/null +++ b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/a.component-detection-pip-report.json @@ -0,0 +1,709 @@ +{ + "version": "1", + "pip_version": "24.0", + "install": [ + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/dd/ac/f2729ca4952bd1c999f4fd63a45e6760e1ef862a2f2815d42ef927653a93/artifacts_keyring-0.3.4-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=10d16cfea98086e76efc424950927172eff8cb53e92b8a1f01824e474e562753", + "hashes": { + "sha256": "10d16cfea98086e76efc424950927172eff8cb53e92b8a1f01824e474e562753" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "artifacts-keyring", + "version": "0.3.4", + "summary": "\"Automatically retrieve credentials for Azure Artifacts.\"", + "description": "## NOTE\r\n'artifacts-keyring' is a relatively thin wrapper around [artifacts-credprovider](https://github.com/microsoft/artifacts-credprovider). Make sure to also look at that repository for more information about different scenarios. For example:\r\n\r\n* [Environment variable to explicitly override tokens](https://github.com/microsoft/artifacts-credprovider)\r\n* [Safely using credentials in docker](https://github.com/dotnet/dotnet-docker/blob/master/documentation/scenarios/nuget-credentials.md#using-the-azure-artifact-credential-provider)\r\n\r\n# artifacts-keyring\r\n\r\nThe `artifacts-keyring` package provides authentication for publishing or consuming Python packages to or from Azure Artifacts feeds within [Azure DevOps](https://azure.com/devops).\r\n\r\nThis package is an extension to [keyring](https://pypi.org/project/keyring), which will automatically find and use it once installed.\r\n\r\nBoth [pip](https://pypi.org/project/pip) and [twine](https://pypi.org/project/twine) will use `keyring` to\r\nfind credentials.\r\n\r\n## Installation\r\n\r\nTo install this package, run the following `pip` command:\r\n\r\n```\r\npip install artifacts-keyring\r\n```\r\n\r\n## Usage\r\n\r\n### Requirements\r\n\r\nTo use `artifacts-keyring` to set up authentication between `pip`/`twine` and Azure Artifacts, the following requirements must be met:\r\n\r\n* pip version **19.2** or higher\r\n* twine version **1.13.0** or higher\r\n* python version **3.0** or higher\r\n* .Net SDK is installed. Refer to [here](https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu) for installation guideline.\r\n\r\n### Publishing packages to an Azure Artifacts feed\r\nOnce `artifacts-keyring` is installed, to publish a package, use the following `twine` command, replacing **** and **** with your own:\r\n\r\n```\r\ntwine upload --repository-url https://pkgs.dev.azure.com//_packaging//pypi/upload \r\n```\r\n\r\n### Installing packages from an Azure Artifacts feed\r\nOnce `artifacts-keyring` is installed, to consume a package, use the following `pip` command, replacing **** and **** with your own, and **** with the package you want to install:\r\n\r\n```\r\npip install --index-url https://pkgs.dev.azure.com//_packaging//pypi/simple\r\n```\r\n\r\n## Advanced configuration\r\nThe `artifacts-keyring` package is layered on top of our [Azure Artifacts Credential Provider](https://github.com/microsoft/artifacts-credprovider). Check out that link to the GitHub repo for more information on configuration options.\r\n\r\n### Environment variables\r\n\r\n- `ARTIFACTS_KEYRING_NONINTERACTIVE_MODE`: Controls whether the underlying credential provider can issue interactive prompts.\r\n\r\n## Contributing\r\n\r\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Microsoft/artifacts-keyring", + "author": "Microsoft Corporation", + "classifier": [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7" + ], + "requires_dist": [ + "keyring >=16.0", + "requests >=2.20.0" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/5b/11/1e78951465b4a225519b8c3ad29769c49e0d8d157a070f681d5b6d64737f/certifi-2024.6.2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56", + "hashes": { + "sha256": "ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "certifi", + "version": "2024.6.2", + "summary": "Python package for providing Mozilla's CA Bundle.", + "description": "Certifi: Python SSL Certificates\n================================\n\nCertifi provides Mozilla's carefully curated collection of Root Certificates for\nvalidating the trustworthiness of SSL certificates while verifying the identity\nof TLS hosts. It has been extracted from the `Requests`_ project.\n\nInstallation\n------------\n\n``certifi`` is available on PyPI. Simply install it with ``pip``::\n\n $ pip install certifi\n\nUsage\n-----\n\nTo reference the installed certificate authority (CA) bundle, you can use the\nbuilt-in function::\n\n >>> import certifi\n\n >>> certifi.where()\n '/usr/local/lib/python3.7/site-packages/certifi/cacert.pem'\n\nOr from the command line::\n\n $ python -m certifi\n /usr/local/lib/python3.7/site-packages/certifi/cacert.pem\n\nEnjoy!\n\n.. _`Requests`: https://requests.readthedocs.io/en/master/\n\nAddition/Removal of Certificates\n--------------------------------\n\nCertifi does not support any addition/removal or other modification of the\nCA trust store content. This project is intended to provide a reliable and\nhighly portable root of trust to python deployments. Look to upstream projects\nfor methods to use alternate trust.\n", + "home_page": "https://github.com/certifi/python-certifi", + "author": "Kenneth Reitz", + "author_email": "me@kennethreitz.com", + "license": "MPL-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", + "Natural Language :: English", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12" + ], + "requires_python": ">=3.6", + "project_url": [ + "Source, https://github.com/certifi/python-certifi" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/b6/7c/8debebb4f90174074b827c63242c23851bdf00a532489fba57fef3416e40/charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", + "hashes": { + "sha256": "96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "charset-normalizer", + "version": "3.3.2", + "summary": "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.", + "description": "

Charset Detection, for Everyone 👋

\r\n\r\n

\r\n The Real First Universal Charset Detector
\r\n \r\n \r\n \r\n \r\n \"Download\r\n \r\n \r\n \r\n \r\n

\r\n

\r\n Featured Packages
\r\n \r\n \"Static\r\n \r\n \r\n \"Static\r\n \r\n

\r\n

\r\n In other language (unofficial port - by the community)
\r\n \r\n \"Static\r\n \r\n

\r\n\r\n> A library that helps you read text from an unknown charset encoding.
Motivated by `chardet`,\r\n> I'm trying to resolve the issue by taking a new approach.\r\n> All IANA character set names for which the Python core library provides codecs are supported.\r\n\r\n

\r\n >>>>> 👉 Try Me Online Now, Then Adopt Me 👈 <<<<<\r\n

\r\n\r\nThis project offers you an alternative to **Universal Charset Encoding Detector**, also known as **Chardet**.\r\n\r\n| Feature | [Chardet](https://github.com/chardet/chardet) | Charset Normalizer | [cChardet](https://github.com/PyYoshi/cChardet) |\r\n|--------------------------------------------------|:---------------------------------------------:|:--------------------------------------------------------------------------------------------------:|:-----------------------------------------------:|\r\n| `Fast` | ❌ | ✅ | ✅ |\r\n| `Universal**` | ❌ | ✅ | ❌ |\r\n| `Reliable` **without** distinguishable standards | ❌ | ✅ | ✅ |\r\n| `Reliable` **with** distinguishable standards | ✅ | ✅ | ✅ |\r\n| `License` | LGPL-2.1
_restrictive_ | MIT | MPL-1.1
_restrictive_ |\r\n| `Native Python` | ✅ | ✅ | ❌ |\r\n| `Detect spoken language` | ❌ | ✅ | N/A |\r\n| `UnicodeDecodeError Safety` | ❌ | ✅ | ❌ |\r\n| `Whl Size (min)` | 193.6 kB | 42 kB | ~200 kB |\r\n| `Supported Encoding` | 33 | 🎉 [99](https://charset-normalizer.readthedocs.io/en/latest/user/support.html#supported-encodings) | 40 |\r\n\r\n

\r\n\"Reading\"Cat\r\n

\r\n\r\n*\\*\\* : They are clearly using specific code for a specific encoding even if covering most of used one*
\r\nDid you got there because of the logs? See [https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html](https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html)\r\n\r\n## ⚡ Performance\r\n\r\nThis package offer better performance than its counterpart Chardet. Here are some numbers.\r\n\r\n| Package | Accuracy | Mean per file (ms) | File per sec (est) |\r\n|-----------------------------------------------|:--------:|:------------------:|:------------------:|\r\n| [chardet](https://github.com/chardet/chardet) | 86 % | 200 ms | 5 file/sec |\r\n| charset-normalizer | **98 %** | **10 ms** | 100 file/sec |\r\n\r\n| Package | 99th percentile | 95th percentile | 50th percentile |\r\n|-----------------------------------------------|:---------------:|:---------------:|:---------------:|\r\n| [chardet](https://github.com/chardet/chardet) | 1200 ms | 287 ms | 23 ms |\r\n| charset-normalizer | 100 ms | 50 ms | 5 ms |\r\n\r\nChardet's performance on larger file (1MB+) are very poor. Expect huge difference on large payload.\r\n\r\n> Stats are generated using 400+ files using default parameters. More details on used files, see GHA workflows.\r\n> And yes, these results might change at any time. The dataset can be updated to include more files.\r\n> The actual delays heavily depends on your CPU capabilities. The factors should remain the same.\r\n> Keep in mind that the stats are generous and that Chardet accuracy vs our is measured using Chardet initial capability\r\n> (eg. Supported Encoding) Challenge-them if you want.\r\n\r\n## ✨ Installation\r\n\r\nUsing pip:\r\n\r\n```sh\r\npip install charset-normalizer -U\r\n```\r\n\r\n## 🚀 Basic Usage\r\n\r\n### CLI\r\nThis package comes with a CLI.\r\n\r\n```\r\nusage: normalizer [-h] [-v] [-a] [-n] [-m] [-r] [-f] [-t THRESHOLD]\r\n file [file ...]\r\n\r\nThe Real First Universal Charset Detector. Discover originating encoding used\r\non text file. Normalize text to unicode.\r\n\r\npositional arguments:\r\n files File(s) to be analysed\r\n\r\noptional arguments:\r\n -h, --help show this help message and exit\r\n -v, --verbose Display complementary information about file if any.\r\n Stdout will contain logs about the detection process.\r\n -a, --with-alternative\r\n Output complementary possibilities if any. Top-level\r\n JSON WILL be a list.\r\n -n, --normalize Permit to normalize input file. If not set, program\r\n does not write anything.\r\n -m, --minimal Only output the charset detected to STDOUT. Disabling\r\n JSON output.\r\n -r, --replace Replace file when trying to normalize it instead of\r\n creating a new one.\r\n -f, --force Replace file without asking if you are sure, use this\r\n flag with caution.\r\n -t THRESHOLD, --threshold THRESHOLD\r\n Define a custom maximum amount of chaos allowed in\r\n decoded content. 0. <= chaos <= 1.\r\n --version Show version information and exit.\r\n```\r\n\r\n```bash\r\nnormalizer ./data/sample.1.fr.srt\r\n```\r\n\r\nor\r\n\r\n```bash\r\npython -m charset_normalizer ./data/sample.1.fr.srt\r\n```\r\n\r\n🎉 Since version 1.4.0 the CLI produce easily usable stdout result in JSON format.\r\n\r\n```json\r\n{\r\n \"path\": \"/home/default/projects/charset_normalizer/data/sample.1.fr.srt\",\r\n \"encoding\": \"cp1252\",\r\n \"encoding_aliases\": [\r\n \"1252\",\r\n \"windows_1252\"\r\n ],\r\n \"alternative_encodings\": [\r\n \"cp1254\",\r\n \"cp1256\",\r\n \"cp1258\",\r\n \"iso8859_14\",\r\n \"iso8859_15\",\r\n \"iso8859_16\",\r\n \"iso8859_3\",\r\n \"iso8859_9\",\r\n \"latin_1\",\r\n \"mbcs\"\r\n ],\r\n \"language\": \"French\",\r\n \"alphabets\": [\r\n \"Basic Latin\",\r\n \"Latin-1 Supplement\"\r\n ],\r\n \"has_sig_or_bom\": false,\r\n \"chaos\": 0.149,\r\n \"coherence\": 97.152,\r\n \"unicode_path\": null,\r\n \"is_preferred\": true\r\n}\r\n```\r\n\r\n### Python\r\n*Just print out normalized text*\r\n```python\r\nfrom charset_normalizer import from_path\r\n\r\nresults = from_path('./my_subtitle.srt')\r\n\r\nprint(str(results.best()))\r\n```\r\n\r\n*Upgrade your code without effort*\r\n```python\r\nfrom charset_normalizer import detect\r\n```\r\n\r\nThe above code will behave the same as **chardet**. We ensure that we offer the best (reasonable) BC result possible.\r\n\r\nSee the docs for advanced usage : [readthedocs.io](https://charset-normalizer.readthedocs.io/en/latest/)\r\n\r\n## 😇 Why\r\n\r\nWhen I started using Chardet, I noticed that it was not suited to my expectations, and I wanted to propose a\r\nreliable alternative using a completely different method. Also! I never back down on a good challenge!\r\n\r\nI **don't care** about the **originating charset** encoding, because **two different tables** can\r\nproduce **two identical rendered string.**\r\nWhat I want is to get readable text, the best I can. \r\n\r\nIn a way, **I'm brute forcing text decoding.** How cool is that ? 😎\r\n\r\nDon't confuse package **ftfy** with charset-normalizer or chardet. ftfy goal is to repair unicode string whereas charset-normalizer to convert raw file in unknown encoding to unicode.\r\n\r\n## 🍰 How\r\n\r\n - Discard all charset encoding table that could not fit the binary content.\r\n - Measure noise, or the mess once opened (by chunks) with a corresponding charset encoding.\r\n - Extract matches with the lowest mess detected.\r\n - Additionally, we measure coherence / probe for a language.\r\n\r\n**Wait a minute**, what is noise/mess and coherence according to **YOU ?**\r\n\r\n*Noise :* I opened hundred of text files, **written by humans**, with the wrong encoding table. **I observed**, then\r\n**I established** some ground rules about **what is obvious** when **it seems like** a mess.\r\n I know that my interpretation of what is noise is probably incomplete, feel free to contribute in order to\r\n improve or rewrite it.\r\n\r\n*Coherence :* For each language there is on earth, we have computed ranked letter appearance occurrences (the best we can). So I thought\r\nthat intel is worth something here. So I use those records against decoded text to check if I can detect intelligent design.\r\n\r\n## ⚡ Known limitations\r\n\r\n - Language detection is unreliable when text contains two or more languages sharing identical letters. (eg. HTML (english tags) + Turkish content (Sharing Latin characters))\r\n - Every charset detector heavily depends on sufficient content. In common cases, do not bother run detection on very tiny content.\r\n\r\n## ⚠️ About Python EOLs\r\n\r\n**If you are running:**\r\n\r\n- Python >=2.7,<3.5: Unsupported\r\n- Python 3.5: charset-normalizer < 2.1\r\n- Python 3.6: charset-normalizer < 3.1\r\n- Python 3.7: charset-normalizer < 4.0\r\n\r\nUpgrade your Python interpreter as soon as possible.\r\n\r\n## 👤 Contributing\r\n\r\nContributions, issues and feature requests are very much welcome.
\r\nFeel free to check [issues page](https://github.com/ousret/charset_normalizer/issues) if you want to contribute.\r\n\r\n## 📝 License\r\n\r\nCopyright © [Ahmed TAHRI @Ousret](https://github.com/Ousret).
\r\nThis project is [MIT](https://github.com/Ousret/charset_normalizer/blob/master/LICENSE) licensed.\r\n\r\nCharacters frequencies used in this project © 2012 [Denny Vrandečić](http://simia.net/letters/)\r\n\r\n## 💼 For Enterprise\r\n\r\nProfessional support for charset-normalizer is available as part of the [Tidelift\r\nSubscription][1]. Tidelift gives software development teams a single source for\r\npurchasing and maintaining their software, with professional grade assurances\r\nfrom the experts who know it best, while seamlessly integrating with existing\r\ntools.\r\n\r\n[1]: https://tidelift.com/subscription/pkg/pypi-charset-normalizer?utm_source=pypi-charset-normalizer&utm_medium=readme\r\n\r\n# Changelog\r\nAll notable changes to charset-normalizer will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\r\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).\r\n\r\n## [3.3.2](https://github.com/Ousret/charset_normalizer/compare/3.3.1...3.3.2) (2023-10-31)\r\n\r\n### Fixed\r\n- Unintentional memory usage regression when using large payload that match several encoding (#376)\r\n- Regression on some detection case showcased in the documentation (#371)\r\n\r\n### Added\r\n- Noise (md) probe that identify malformed arabic representation due to the presence of letters in isolated form (credit to my wife)\r\n\r\n## [3.3.1](https://github.com/Ousret/charset_normalizer/compare/3.3.0...3.3.1) (2023-10-22)\r\n\r\n### Changed\r\n- Optional mypyc compilation upgraded to version 1.6.1 for Python >= 3.8\r\n- Improved the general detection reliability based on reports from the community\r\n\r\n## [3.3.0](https://github.com/Ousret/charset_normalizer/compare/3.2.0...3.3.0) (2023-09-30)\r\n\r\n### Added\r\n- Allow to execute the CLI (e.g. normalizer) through `python -m charset_normalizer.cli` or `python -m charset_normalizer`\r\n- Support for 9 forgotten encoding that are supported by Python but unlisted in `encoding.aliases` as they have no alias (#323)\r\n\r\n### Removed\r\n- (internal) Redundant utils.is_ascii function and unused function is_private_use_only\r\n- (internal) charset_normalizer.assets is moved inside charset_normalizer.constant\r\n\r\n### Changed\r\n- (internal) Unicode code blocks in constants are updated using the latest v15.0.0 definition to improve detection\r\n- Optional mypyc compilation upgraded to version 1.5.1 for Python >= 3.8\r\n\r\n### Fixed\r\n- Unable to properly sort CharsetMatch when both chaos/noise and coherence were close due to an unreachable condition in \\_\\_lt\\_\\_ (#350)\r\n\r\n## [3.2.0](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.2.0) (2023-06-07)\r\n\r\n### Changed\r\n- Typehint for function `from_path` no longer enforce `PathLike` as its first argument\r\n- Minor improvement over the global detection reliability\r\n\r\n### Added\r\n- Introduce function `is_binary` that relies on main capabilities, and optimized to detect binaries\r\n- Propagate `enable_fallback` argument throughout `from_bytes`, `from_path`, and `from_fp` that allow a deeper control over the detection (default True)\r\n- Explicit support for Python 3.12\r\n\r\n### Fixed\r\n- Edge case detection failure where a file would contain 'very-long' camel cased word (Issue #289)\r\n\r\n## [3.1.0](https://github.com/Ousret/charset_normalizer/compare/3.0.1...3.1.0) (2023-03-06)\r\n\r\n### Added\r\n- Argument `should_rename_legacy` for legacy function `detect` and disregard any new arguments without errors (PR #262)\r\n\r\n### Removed\r\n- Support for Python 3.6 (PR #260)\r\n\r\n### Changed\r\n- Optional speedup provided by mypy/c 1.0.1\r\n\r\n## [3.0.1](https://github.com/Ousret/charset_normalizer/compare/3.0.0...3.0.1) (2022-11-18)\r\n\r\n### Fixed\r\n- Multi-bytes cutter/chunk generator did not always cut correctly (PR #233)\r\n\r\n### Changed\r\n- Speedup provided by mypy/c 0.990 on Python >= 3.7\r\n\r\n## [3.0.0](https://github.com/Ousret/charset_normalizer/compare/2.1.1...3.0.0) (2022-10-20)\r\n\r\n### Added\r\n- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results\r\n- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES\r\n- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio\r\n- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl)\r\n\r\n### Changed\r\n- Build with static metadata using 'build' frontend\r\n- Make the language detection stricter\r\n- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1\r\n\r\n### Fixed\r\n- CLI with opt --normalize fail when using full path for files\r\n- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it\r\n- Sphinx warnings when generating the documentation\r\n\r\n### Removed\r\n- Coherence detector no longer return 'Simple English' instead return 'English'\r\n- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese'\r\n- Breaking: Method `first()` and `best()` from CharsetMatch\r\n- UTF-7 will no longer appear as \"detected\" without a recognized SIG/mark (is unreliable/conflict with ASCII)\r\n- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches\r\n- Breaking: Top-level function `normalize`\r\n- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch\r\n- Support for the backport `unicodedata2`\r\n\r\n## [3.0.0rc1](https://github.com/Ousret/charset_normalizer/compare/3.0.0b2...3.0.0rc1) (2022-10-18)\r\n\r\n### Added\r\n- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results\r\n- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES\r\n- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio\r\n\r\n### Changed\r\n- Build with static metadata using 'build' frontend\r\n- Make the language detection stricter\r\n\r\n### Fixed\r\n- CLI with opt --normalize fail when using full path for files\r\n- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it\r\n\r\n### Removed\r\n- Coherence detector no longer return 'Simple English' instead return 'English'\r\n- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese'\r\n\r\n## [3.0.0b2](https://github.com/Ousret/charset_normalizer/compare/3.0.0b1...3.0.0b2) (2022-08-21)\r\n\r\n### Added\r\n- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl)\r\n\r\n### Removed\r\n- Breaking: Method `first()` and `best()` from CharsetMatch\r\n- UTF-7 will no longer appear as \"detected\" without a recognized SIG/mark (is unreliable/conflict with ASCII)\r\n\r\n### Fixed\r\n- Sphinx warnings when generating the documentation\r\n\r\n## [3.0.0b1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...3.0.0b1) (2022-08-15)\r\n\r\n### Changed\r\n- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1\r\n\r\n### Removed\r\n- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches\r\n- Breaking: Top-level function `normalize`\r\n- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch\r\n- Support for the backport `unicodedata2`\r\n\r\n## [2.1.1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...2.1.1) (2022-08-19)\r\n\r\n### Deprecated\r\n- Function `normalize` scheduled for removal in 3.0\r\n\r\n### Changed\r\n- Removed useless call to decode in fn is_unprintable (#206)\r\n\r\n### Fixed\r\n- Third-party library (i18n xgettext) crashing not recognizing utf_8 (PEP 263) with underscore from [@aleksandernovikov](https://github.com/aleksandernovikov) (#204)\r\n\r\n## [2.1.0](https://github.com/Ousret/charset_normalizer/compare/2.0.12...2.1.0) (2022-06-19)\r\n\r\n### Added\r\n- Output the Unicode table version when running the CLI with `--version` (PR #194)\r\n\r\n### Changed\r\n- Re-use decoded buffer for single byte character sets from [@nijel](https://github.com/nijel) (PR #175)\r\n- Fixing some performance bottlenecks from [@deedy5](https://github.com/deedy5) (PR #183)\r\n\r\n### Fixed\r\n- Workaround potential bug in cpython with Zero Width No-Break Space located in Arabic Presentation Forms-B, Unicode 1.1 not acknowledged as space (PR #175)\r\n- CLI default threshold aligned with the API threshold from [@oleksandr-kuzmenko](https://github.com/oleksandr-kuzmenko) (PR #181)\r\n\r\n### Removed\r\n- Support for Python 3.5 (PR #192)\r\n\r\n### Deprecated\r\n- Use of backport unicodedata from `unicodedata2` as Python is quickly catching up, scheduled for removal in 3.0 (PR #194)\r\n\r\n## [2.0.12](https://github.com/Ousret/charset_normalizer/compare/2.0.11...2.0.12) (2022-02-12)\r\n\r\n### Fixed\r\n- ASCII miss-detection on rare cases (PR #170) \r\n\r\n## [2.0.11](https://github.com/Ousret/charset_normalizer/compare/2.0.10...2.0.11) (2022-01-30)\r\n\r\n### Added\r\n- Explicit support for Python 3.11 (PR #164)\r\n\r\n### Changed\r\n- The logging behavior have been completely reviewed, now using only TRACE and DEBUG levels (PR #163 #165)\r\n\r\n## [2.0.10](https://github.com/Ousret/charset_normalizer/compare/2.0.9...2.0.10) (2022-01-04)\r\n\r\n### Fixed\r\n- Fallback match entries might lead to UnicodeDecodeError for large bytes sequence (PR #154)\r\n\r\n### Changed\r\n- Skipping the language-detection (CD) on ASCII (PR #155)\r\n\r\n## [2.0.9](https://github.com/Ousret/charset_normalizer/compare/2.0.8...2.0.9) (2021-12-03)\r\n\r\n### Changed\r\n- Moderating the logging impact (since 2.0.8) for specific environments (PR #147)\r\n\r\n### Fixed\r\n- Wrong logging level applied when setting kwarg `explain` to True (PR #146)\r\n\r\n## [2.0.8](https://github.com/Ousret/charset_normalizer/compare/2.0.7...2.0.8) (2021-11-24)\r\n### Changed\r\n- Improvement over Vietnamese detection (PR #126)\r\n- MD improvement on trailing data and long foreign (non-pure latin) data (PR #124)\r\n- Efficiency improvements in cd/alphabet_languages from [@adbar](https://github.com/adbar) (PR #122)\r\n- call sum() without an intermediary list following PEP 289 recommendations from [@adbar](https://github.com/adbar) (PR #129)\r\n- Code style as refactored by Sourcery-AI (PR #131) \r\n- Minor adjustment on the MD around european words (PR #133)\r\n- Remove and replace SRTs from assets / tests (PR #139)\r\n- Initialize the library logger with a `NullHandler` by default from [@nmaynes](https://github.com/nmaynes) (PR #135)\r\n- Setting kwarg `explain` to True will add provisionally (bounded to function lifespan) a specific stream handler (PR #135)\r\n\r\n### Fixed\r\n- Fix large (misleading) sequence giving UnicodeDecodeError (PR #137)\r\n- Avoid using too insignificant chunk (PR #137)\r\n\r\n### Added\r\n- Add and expose function `set_logging_handler` to configure a specific StreamHandler from [@nmaynes](https://github.com/nmaynes) (PR #135)\r\n- Add `CHANGELOG.md` entries, format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) (PR #141)\r\n\r\n## [2.0.7](https://github.com/Ousret/charset_normalizer/compare/2.0.6...2.0.7) (2021-10-11)\r\n### Added\r\n- Add support for Kazakh (Cyrillic) language detection (PR #109)\r\n\r\n### Changed\r\n- Further, improve inferring the language from a given single-byte code page (PR #112)\r\n- Vainly trying to leverage PEP263 when PEP3120 is not supported (PR #116)\r\n- Refactoring for potential performance improvements in loops from [@adbar](https://github.com/adbar) (PR #113)\r\n- Various detection improvement (MD+CD) (PR #117)\r\n\r\n### Removed\r\n- Remove redundant logging entry about detected language(s) (PR #115)\r\n\r\n### Fixed\r\n- Fix a minor inconsistency between Python 3.5 and other versions regarding language detection (PR #117 #102)\r\n\r\n## [2.0.6](https://github.com/Ousret/charset_normalizer/compare/2.0.5...2.0.6) (2021-09-18)\r\n### Fixed\r\n- Unforeseen regression with the loss of the backward-compatibility with some older minor of Python 3.5.x (PR #100)\r\n- Fix CLI crash when using --minimal output in certain cases (PR #103)\r\n\r\n### Changed\r\n- Minor improvement to the detection efficiency (less than 1%) (PR #106 #101)\r\n\r\n## [2.0.5](https://github.com/Ousret/charset_normalizer/compare/2.0.4...2.0.5) (2021-09-14)\r\n### Changed\r\n- The project now comply with: flake8, mypy, isort and black to ensure a better overall quality (PR #81)\r\n- The BC-support with v1.x was improved, the old staticmethods are restored (PR #82)\r\n- The Unicode detection is slightly improved (PR #93)\r\n- Add syntax sugar \\_\\_bool\\_\\_ for results CharsetMatches list-container (PR #91)\r\n\r\n### Removed\r\n- The project no longer raise warning on tiny content given for detection, will be simply logged as warning instead (PR #92)\r\n\r\n### Fixed\r\n- In some rare case, the chunks extractor could cut in the middle of a multi-byte character and could mislead the mess detection (PR #95)\r\n- Some rare 'space' characters could trip up the UnprintablePlugin/Mess detection (PR #96)\r\n- The MANIFEST.in was not exhaustive (PR #78)\r\n\r\n## [2.0.4](https://github.com/Ousret/charset_normalizer/compare/2.0.3...2.0.4) (2021-07-30)\r\n### Fixed\r\n- The CLI no longer raise an unexpected exception when no encoding has been found (PR #70)\r\n- Fix accessing the 'alphabets' property when the payload contains surrogate characters (PR #68)\r\n- The logger could mislead (explain=True) on detected languages and the impact of one MBCS match (PR #72)\r\n- Submatch factoring could be wrong in rare edge cases (PR #72)\r\n- Multiple files given to the CLI were ignored when publishing results to STDOUT. (After the first path) (PR #72)\r\n- Fix line endings from CRLF to LF for certain project files (PR #67)\r\n\r\n### Changed\r\n- Adjust the MD to lower the sensitivity, thus improving the global detection reliability (PR #69 #76)\r\n- Allow fallback on specified encoding if any (PR #71)\r\n\r\n## [2.0.3](https://github.com/Ousret/charset_normalizer/compare/2.0.2...2.0.3) (2021-07-16)\r\n### Changed\r\n- Part of the detection mechanism has been improved to be less sensitive, resulting in more accurate detection results. Especially ASCII. (PR #63)\r\n- According to the community wishes, the detection will fall back on ASCII or UTF-8 in a last-resort case. (PR #64)\r\n\r\n## [2.0.2](https://github.com/Ousret/charset_normalizer/compare/2.0.1...2.0.2) (2021-07-15)\r\n### Fixed\r\n- Empty/Too small JSON payload miss-detection fixed. Report from [@tseaver](https://github.com/tseaver) (PR #59) \r\n\r\n### Changed\r\n- Don't inject unicodedata2 into sys.modules from [@akx](https://github.com/akx) (PR #57)\r\n\r\n## [2.0.1](https://github.com/Ousret/charset_normalizer/compare/2.0.0...2.0.1) (2021-07-13)\r\n### Fixed\r\n- Make it work where there isn't a filesystem available, dropping assets frequencies.json. Report from [@sethmlarson](https://github.com/sethmlarson). (PR #55)\r\n- Using explain=False permanently disable the verbose output in the current runtime (PR #47)\r\n- One log entry (language target preemptive) was not show in logs when using explain=True (PR #47)\r\n- Fix undesired exception (ValueError) on getitem of instance CharsetMatches (PR #52)\r\n\r\n### Changed\r\n- Public function normalize default args values were not aligned with from_bytes (PR #53)\r\n\r\n### Added\r\n- You may now use charset aliases in cp_isolation and cp_exclusion arguments (PR #47)\r\n\r\n## [2.0.0](https://github.com/Ousret/charset_normalizer/compare/1.4.1...2.0.0) (2021-07-02)\r\n### Changed\r\n- 4x to 5 times faster than the previous 1.4.0 release. At least 2x faster than Chardet.\r\n- Accent has been made on UTF-8 detection, should perform rather instantaneous.\r\n- The backward compatibility with Chardet has been greatly improved. The legacy detect function returns an identical charset name whenever possible.\r\n- The detection mechanism has been slightly improved, now Turkish content is detected correctly (most of the time)\r\n- The program has been rewritten to ease the readability and maintainability. (+Using static typing)+\r\n- utf_7 detection has been reinstated.\r\n\r\n### Removed\r\n- This package no longer require anything when used with Python 3.5 (Dropped cached_property)\r\n- Removed support for these languages: Catalan, Esperanto, Kazakh, Baque, Volapük, Azeri, Galician, Nynorsk, Macedonian, and Serbocroatian.\r\n- The exception hook on UnicodeDecodeError has been removed.\r\n\r\n### Deprecated\r\n- Methods coherence_non_latin, w_counter, chaos_secondary_pass of the class CharsetMatch are now deprecated and scheduled for removal in v3.0\r\n\r\n### Fixed\r\n- The CLI output used the relative path of the file(s). Should be absolute.\r\n\r\n## [1.4.1](https://github.com/Ousret/charset_normalizer/compare/1.4.0...1.4.1) (2021-05-28)\r\n### Fixed\r\n- Logger configuration/usage no longer conflict with others (PR #44)\r\n\r\n## [1.4.0](https://github.com/Ousret/charset_normalizer/compare/1.3.9...1.4.0) (2021-05-21)\r\n### Removed\r\n- Using standard logging instead of using the package loguru.\r\n- Dropping nose test framework in favor of the maintained pytest.\r\n- Choose to not use dragonmapper package to help with gibberish Chinese/CJK text.\r\n- Require cached_property only for Python 3.5 due to constraint. Dropping for every other interpreter version.\r\n- Stop support for UTF-7 that does not contain a SIG.\r\n- Dropping PrettyTable, replaced with pure JSON output in CLI.\r\n\r\n### Fixed\r\n- BOM marker in a CharsetNormalizerMatch instance could be False in rare cases even if obviously present. Due to the sub-match factoring process.\r\n- Not searching properly for the BOM when trying utf32/16 parent codec.\r\n\r\n### Changed\r\n- Improving the package final size by compressing frequencies.json.\r\n- Huge improvement over the larges payload.\r\n\r\n### Added\r\n- CLI now produces JSON consumable output.\r\n- Return ASCII if given sequences fit. Given reasonable confidence.\r\n\r\n## [1.3.9](https://github.com/Ousret/charset_normalizer/compare/1.3.8...1.3.9) (2021-05-13)\r\n\r\n### Fixed\r\n- In some very rare cases, you may end up getting encode/decode errors due to a bad bytes payload (PR #40)\r\n\r\n## [1.3.8](https://github.com/Ousret/charset_normalizer/compare/1.3.7...1.3.8) (2021-05-12)\r\n\r\n### Fixed\r\n- Empty given payload for detection may cause an exception if trying to access the `alphabets` property. (PR #39)\r\n\r\n## [1.3.7](https://github.com/Ousret/charset_normalizer/compare/1.3.6...1.3.7) (2021-05-12)\r\n\r\n### Fixed\r\n- The legacy detect function should return UTF-8-SIG if sig is present in the payload. (PR #38)\r\n\r\n## [1.3.6](https://github.com/Ousret/charset_normalizer/compare/1.3.5...1.3.6) (2021-02-09)\r\n\r\n### Changed\r\n- Amend the previous release to allow prettytable 2.0 (PR #35)\r\n\r\n## [1.3.5](https://github.com/Ousret/charset_normalizer/compare/1.3.4...1.3.5) (2021-02-08)\r\n\r\n### Fixed\r\n- Fix error while using the package with a python pre-release interpreter (PR #33)\r\n\r\n### Changed\r\n- Dependencies refactoring, constraints revised.\r\n\r\n### Added\r\n- Add python 3.9 and 3.10 to the supported interpreters\r\n\r\nMIT License\r\n\r\nCopyright (c) 2019 TAHRI Ahmed R.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n", + "description_content_type": "text/markdown", + "keywords": [ + "encoding", + "charset", + "charset-detector", + "detector", + "normalization", + "unicode", + "chardet", + "detect" + ], + "home_page": "https://github.com/Ousret/charset_normalizer", + "author": "Ahmed TAHRI", + "author_email": "ahmed.tahri@cloudnursery.dev", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: MIT License", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries :: Python Modules", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Text Processing :: Linguistic", + "Topic :: Utilities", + "Typing :: Typed" + ], + "requires_python": ">=3.7.0", + "project_url": [ + "Bug Reports, https://github.com/Ousret/charset_normalizer/issues", + "Documentation, https://charset-normalizer.readthedocs.io/en/latest" + ], + "provides_extra": [ + "unicode_backport" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/2f/59/6669edfd1fad83ee18d698b897f25871b5296e258f74964a003d50d003fe/Cython-3.0.10-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=6c5af936940a38c300977b81598d9c0901158f220a58c177820e17e1774f1cf1", + "hashes": { + "sha256": "6c5af936940a38c300977b81598d9c0901158f220a58c177820e17e1774f1cf1" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "Cython", + "version": "3.0.10", + "summary": "The Cython compiler for writing C extensions in the Python language.", + "description": "The Cython language makes writing C extensions for the Python language as\r\neasy as Python itself. Cython is a source code translator based on Pyrex_,\r\nbut supports more cutting edge functionality and optimizations.\r\n\r\nThe Cython language is a superset of the Python language (almost all Python\r\ncode is also valid Cython code), but Cython additionally supports optional\r\nstatic typing to natively call C functions, operate with C++ classes and\r\ndeclare fast C types on variables and class attributes. This allows the\r\ncompiler to generate very efficient C code from Cython code.\r\n\r\nThis makes Cython the ideal language for writing glue code for external\r\nC/C++ libraries, and for fast C modules that speed up the execution of\r\nPython code.\r\n\r\nNote that for one-time builds, e.g. for CI/testing, on platforms that are not\r\ncovered by one of the wheel packages provided on PyPI *and* the pure Python wheel\r\nthat we provide is not used, it is substantially faster than a full source build\r\nto install an uncompiled (slower) version of Cython with::\r\n\r\n pip install Cython --install-option=\"--no-cython-compile\"\r\n\r\n.. _Pyrex: https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/\r\n", + "home_page": "https://cython.org/", + "author": "Robert Bradshaw, Stefan Behnel, Dag Seljebotn, Greg Ewing, et al.", + "author_email": "cython-devel@python.org", + "license": "Apache-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Programming Language :: C", + "Programming Language :: Cython", + "Topic :: Software Development :: Code Generators", + "Topic :: Software Development :: Compilers", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "project_url": [ + "Documentation, https://cython.readthedocs.io/", + "Donate, https://cython.readthedocs.io/en/latest/src/donating.html", + "Source Code, https://github.com/cython/cython", + "Bug Tracker, https://github.com/cython/cython/issues", + "User Group, https://groups.google.com/g/cython-users" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e5/3e/741d8c82801c347547f8a2a06aa57dbb1992be9e948df2ea0eda2c8b79e8/idna-3.7-py3-none-any.whl", + "archive_info": { + "hash": "sha256=82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0", + "hashes": { + "sha256": "82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "idna", + "version": "3.7", + "summary": "Internationalized Domain Names in Applications (IDNA)", + "description": "Internationalized Domain Names in Applications (IDNA)\n=====================================================\n\nSupport for the Internationalized Domain Names in\nApplications (IDNA) protocol as specified in `RFC 5891\n`_. This is the latest version of\nthe protocol and is sometimes referred to as “IDNA 2008”.\n\nThis library also provides support for Unicode Technical\nStandard 46, `Unicode IDNA Compatibility Processing\n`_.\n\nThis acts as a suitable replacement for the “encodings.idna”\nmodule that comes with the Python standard library, but which\nonly supports the older superseded IDNA specification (`RFC 3490\n`_).\n\nBasic functions are simply executed:\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('ドメイン.テスト')\n b'xn--eckwd4c7c.xn--zckzah'\n >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))\n ドメイン.テスト\n\n\nInstallation\n------------\n\nThis package is available for installation from PyPI:\n\n.. code-block:: bash\n\n $ python3 -m pip install idna\n\n\nUsage\n-----\n\nFor typical usage, the ``encode`` and ``decode`` functions will take a\ndomain name argument and perform a conversion to A-labels or U-labels\nrespectively.\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('ドメイン.テスト')\n b'xn--eckwd4c7c.xn--zckzah'\n >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))\n ドメイン.テスト\n\nYou may use the codec encoding and decoding methods using the\n``idna.codec`` module:\n\n.. code-block:: pycon\n\n >>> import idna.codec\n >>> print('домен.испытание'.encode('idna2008'))\n b'xn--d1acufc.xn--80akhbyknj4f'\n >>> print(b'xn--d1acufc.xn--80akhbyknj4f'.decode('idna2008'))\n домен.испытание\n\nConversions can be applied at a per-label basis using the ``ulabel`` or\n``alabel`` functions if necessary:\n\n.. code-block:: pycon\n\n >>> idna.alabel('测试')\n b'xn--0zwm56d'\n\nCompatibility Mapping (UTS #46)\n+++++++++++++++++++++++++++++++\n\nAs described in `RFC 5895 `_, the\nIDNA specification does not normalize input from different potential\nways a user may input a domain name. This functionality, known as\na “mapping”, is considered by the specification to be a local\nuser-interface issue distinct from IDNA conversion functionality.\n\nThis library provides one such mapping that was developed by the\nUnicode Consortium. Known as `Unicode IDNA Compatibility Processing\n`_, it provides for both a regular\nmapping for typical applications, as well as a transitional mapping to\nhelp migrate from older IDNA 2003 applications.\n\nFor example, “Königsgäßchen” is not a permissible label as *LATIN\nCAPITAL LETTER K* is not allowed (nor are capital letters in general).\nUTS 46 will convert this into lower case prior to applying the IDNA\nconversion.\n\n.. code-block:: pycon\n\n >>> import idna\n >>> idna.encode('Königsgäßchen')\n ...\n idna.core.InvalidCodepoint: Codepoint U+004B at position 1 of 'Königsgäßchen' not allowed\n >>> idna.encode('Königsgäßchen', uts46=True)\n b'xn--knigsgchen-b4a3dun'\n >>> print(idna.decode('xn--knigsgchen-b4a3dun'))\n königsgäßchen\n\nTransitional processing provides conversions to help transition from\nthe older 2003 standard to the current standard. For example, in the\noriginal IDNA specification, the *LATIN SMALL LETTER SHARP S* (ß) was\nconverted into two *LATIN SMALL LETTER S* (ss), whereas in the current\nIDNA specification this conversion is not performed.\n\n.. code-block:: pycon\n\n >>> idna.encode('Königsgäßchen', uts46=True, transitional=True)\n 'xn--knigsgsschen-lcb0w'\n\nImplementers should use transitional processing with caution, only in\nrare cases where conversion from legacy labels to current labels must be\nperformed (i.e. IDNA implementations that pre-date 2008). For typical\napplications that just need to convert labels, transitional processing\nis unlikely to be beneficial and could produce unexpected incompatible\nresults.\n\n``encodings.idna`` Compatibility\n++++++++++++++++++++++++++++++++\n\nFunction calls from the Python built-in ``encodings.idna`` module are\nmapped to their IDNA 2008 equivalents using the ``idna.compat`` module.\nSimply substitute the ``import`` clause in your code to refer to the new\nmodule name.\n\nExceptions\n----------\n\nAll errors raised during the conversion following the specification\nshould raise an exception derived from the ``idna.IDNAError`` base\nclass.\n\nMore specific exceptions that may be generated as ``idna.IDNABidiError``\nwhen the error reflects an illegal combination of left-to-right and\nright-to-left characters in a label; ``idna.InvalidCodepoint`` when\na specific codepoint is an illegal character in an IDN label (i.e.\nINVALID); and ``idna.InvalidCodepointContext`` when the codepoint is\nillegal based on its positional context (i.e. it is CONTEXTO or CONTEXTJ\nbut the contextual requirements are not satisfied.)\n\nBuilding and Diagnostics\n------------------------\n\nThe IDNA and UTS 46 functionality relies upon pre-calculated lookup\ntables for performance. These tables are derived from computing against\neligibility criteria in the respective standards. These tables are\ncomputed using the command-line script ``tools/idna-data``.\n\nThis tool will fetch relevant codepoint data from the Unicode repository\nand perform the required calculations to identify eligibility. There are\nthree main modes:\n\n* ``idna-data make-libdata``. Generates ``idnadata.py`` and\n ``uts46data.py``, the pre-calculated lookup tables used for IDNA and\n UTS 46 conversions. Implementers who wish to track this library against\n a different Unicode version may use this tool to manually generate a\n different version of the ``idnadata.py`` and ``uts46data.py`` files.\n\n* ``idna-data make-table``. Generate a table of the IDNA disposition\n (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix\n B.1 of RFC 5892 and the pre-computed tables published by `IANA\n `_.\n\n* ``idna-data U+0061``. Prints debugging output on the various\n properties associated with an individual Unicode codepoint (in this\n case, U+0061), that are used to assess the IDNA and UTS 46 status of a\n codepoint. This is helpful in debugging or analysis.\n\nThe tool accepts a number of arguments, described using ``idna-data\n-h``. Most notably, the ``--version`` argument allows the specification\nof the version of Unicode to be used in computing the table data. For\nexample, ``idna-data --version 9.0.0 make-libdata`` will generate\nlibrary data against Unicode 9.0.0.\n\n\nAdditional Notes\n----------------\n\n* **Packages**. The latest tagged release version is published in the\n `Python Package Index `_.\n\n* **Version support**. This library supports Python 3.5 and higher.\n As this library serves as a low-level toolkit for a variety of\n applications, many of which strive for broad compatibility with older\n Python versions, there is no rush to remove older interpreter support.\n Removing support for older versions should be well justified in that the\n maintenance burden has become too high.\n\n* **Python 2**. Python 2 is supported by version 2.x of this library.\n While active development of the version 2.x series has ended, notable\n issues being corrected may be backported to 2.x. Use \"idna<3\" in your\n requirements file if you need this library for a Python 2 application.\n\n* **Testing**. The library has a test suite based on each rule of the\n IDNA specification, as well as tests that are provided as part of the\n Unicode Technical Standard 46, `Unicode IDNA Compatibility Processing\n `_.\n\n* **Emoji**. It is an occasional request to support emoji domains in\n this library. Encoding of symbols like emoji is expressly prohibited by\n the technical standard IDNA 2008 and emoji domains are broadly phased\n out across the domain industry due to associated security risks. For\n now, applications that need to support these non-compliant labels\n may wish to consider trying the encode/decode operation in this library\n first, and then falling back to using `encodings.idna`. See `the Github\n project `_ for more discussion.\n\n", + "description_content_type": "text/x-rst", + "author_email": "Kim Davies ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: Name Service (DNS)", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Utilities" + ], + "requires_python": ">=3.5", + "project_url": [ + "Changelog, https://github.com/kjd/idna/blob/master/HISTORY.rst", + "Issue tracker, https://github.com/kjd/idna/issues", + "Source, https://github.com/kjd/idna" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", + "hashes": { + "sha256": "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "jaraco.classes", + "version": "3.4.0", + "summary": "Utility functions for Python class constructs", + "description": ".. image:: https://img.shields.io/pypi/v/jaraco.classes.svg\n :target: https://pypi.org/project/jaraco.classes\n\n.. image:: https://img.shields.io/pypi/pyversions/jaraco.classes.svg\n\n.. image:: https://github.com/jaraco/jaraco.classes/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/jaraco.classes/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/jaracoclasses/badge/?version=latest\n :target: https://jaracoclasses.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/jaraco.classes\n :target: https://tidelift.com/subscription/pkg/pypi-jaraco.classes?utm_source=pypi-jaraco.classes&utm_medium=readme\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "home_page": "https://github.com/jaraco/jaraco.classes", + "author": "Jason R. Coombs", + "author_email": "jaraco@jaraco.com", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "more-itertools", + "sphinx >=3.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest >=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-mypy ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'" + ], + "requires_python": ">=3.8", + "provides_extra": [ + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/d2/40/11b7bc1898cf1dcb87ccbe09b39f5088634ac78bb25f3383ff541c2b40aa/jaraco.context-5.3.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266", + "hashes": { + "sha256": "3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "jaraco.context", + "version": "5.3.0", + "summary": "Useful decorators and context managers", + "description": ".. image:: https://img.shields.io/pypi/v/jaraco.context.svg\n :target: https://pypi.org/project/jaraco.context\n\n.. image:: https://img.shields.io/pypi/pyversions/jaraco.context.svg\n\n.. image:: https://github.com/jaraco/jaraco.context/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/jaraco.context/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/jaracocontext/badge/?version=latest\n :target: https://jaracocontext.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/jaraco.context\n :target: https://tidelift.com/subscription/pkg/pypi-jaraco.context?utm_source=pypi-jaraco.context&utm_medium=readme\n\n\nHighlights\n==========\n\nSee the docs linked from the badge above for the full details, but here are some features that may be of interest.\n\n- ``ExceptionTrap`` provides a general-purpose wrapper for trapping exceptions and then acting on the outcome. Includes ``passes`` and ``raises`` decorators to replace the result of a wrapped function by a boolean indicating the outcome of the exception trap. See `this keyring commit `_ for an example of it in production.\n- ``suppress`` simply enables ``contextlib.suppress`` as a decorator.\n- ``on_interrupt`` is a decorator used by CLI entry points to affect the handling of a ``KeyboardInterrupt``. Inspired by `Lucretiel/autocommand#18 `_.\n- ``pushd`` is similar to pytest's ``monkeypatch.chdir`` or path's `default context `_, changes the current working directory for the duration of the context.\n- ``tarball`` will download a tarball, extract it, change directory, yield, then clean up after. Convenient when working with web assets.\n- ``null`` is there for those times when one code branch needs a context and the other doesn't; this null context provides symmetry across those branches.\n\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "home_page": "https://github.com/jaraco/jaraco.context", + "author": "Jason R. Coombs", + "author_email": "jaraco@jaraco.com", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "backports.tarfile ; python_version < \"3.12\"", + "sphinx >=3.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest !=8.1.1,>=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-mypy ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'", + "portend ; extra == 'testing'" + ], + "requires_python": ">=3.8", + "provides_extra": [ + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/c3/ac/d0bf0d37a9f95f69a5efc5685d9166ee34a664d3cd29a9c139989512fe14/jaraco.functools-4.0.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664", + "hashes": { + "sha256": "3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "jaraco.functools", + "version": "4.0.1", + "summary": "Functools like those found in stdlib", + "description": ".. image:: https://img.shields.io/pypi/v/jaraco.functools.svg\n :target: https://pypi.org/project/jaraco.functools\n\n.. image:: https://img.shields.io/pypi/pyversions/jaraco.functools.svg\n\n.. image:: https://github.com/jaraco/jaraco.functools/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/jaraco.functools/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/jaracofunctools/badge/?version=latest\n :target: https://jaracofunctools.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/jaraco.functools\n :target: https://tidelift.com/subscription/pkg/pypi-jaraco.functools?utm_source=pypi-jaraco.functools&utm_medium=readme\n\nAdditional functools in the spirit of stdlib's functools.\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "description_content_type": "text/x-rst", + "author_email": "\"Jason R. Coombs\" ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "more-itertools", + "sphinx >=3.5 ; extra == 'docs'", + "sphinx <7.2.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest >=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'", + "jaraco.classes ; extra == 'testing'", + "pytest-mypy ; (platform_python_implementation != \"PyPy\") and extra == 'testing'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Homepage, https://github.com/jaraco/jaraco.functools" + ], + "provides_extra": [ + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/92/91/901f5cfeaaea04cf15f5ddf41ee053a5c9e389166477a3427fcfd055e1d9/keyring-25.2.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50", + "hashes": { + "sha256": "2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "keyring", + "version": "25.2.1", + "summary": "Store and access your passwords safely.", + "description": ".. image:: https://img.shields.io/pypi/v/keyring.svg\n :target: https://pypi.org/project/keyring\n\n.. image:: https://img.shields.io/pypi/pyversions/keyring.svg\n\n.. image:: https://github.com/jaraco/keyring/actions/workflows/main.yml/badge.svg\n :target: https://github.com/jaraco/keyring/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. image:: https://readthedocs.org/projects/keyring/badge/?version=latest\n :target: https://keyring.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. image:: https://tidelift.com/badges/package/pypi/keyring\n :target: https://tidelift.com/subscription/pkg/pypi-keyring?utm_source=pypi-keyring&utm_medium=readme\n\n.. image:: https://badges.gitter.im/jaraco/keyring.svg\n :alt: Join the chat at https://gitter.im/jaraco/keyring\n :target: https://gitter.im/jaraco/keyring?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\nThe Python keyring library provides an easy way to access the\nsystem keyring service from python. It can be used in any\napplication that needs safe password storage.\n\nThese recommended keyring backends are supported:\n\n* macOS `Keychain\n `_\n* Freedesktop `Secret Service\n `_ supports many DE including\n GNOME (requires `secretstorage `_)\n* KDE4 & KDE5 `KWallet `_\n (requires `dbus `_)\n* `Windows Credential Locker\n `_\n\nOther keyring implementations are available through `Third-Party Backends`_.\n\nInstallation - Linux\n====================\n\nOn Linux, the KWallet backend relies on dbus-python_, which does not always\ninstall correctly when using pip (compilation is needed). For best results,\ninstall dbus-python as a system package.\n\n.. _dbus-python: https://gitlab.freedesktop.org/dbus/dbus-python\n\nCompatibility - macOS\n=====================\n\nmacOS keychain supports macOS 11 (Big Sur) and later requires Python 3.8.7\nor later with the \"universal2\" binary. See\n`#525 `_ for details.\n\nUsing Keyring\n=============\n\nThe basic usage of keyring is pretty simple: just call\n``keyring.set_password`` and ``keyring.get_password``::\n\n >>> import keyring\n >>> keyring.set_password(\"system\", \"username\", \"password\")\n >>> keyring.get_password(\"system\", \"username\")\n 'password'\n\nCommand-line Utility\n--------------------\n\nKeyring supplies a ``keyring`` command which is installed with the\npackage. After installing keyring in most environments, the\ncommand should be available for setting, getting, and deleting\npasswords. For more usage information, invoke with no arguments\nor with ``--help`` as so::\n\n $ keyring --help\n $ keyring set system username\n Password for 'username' in 'system':\n $ keyring get system username\n password\n\nThe command-line functionality is also exposed as an executable\npackage, suitable for invoking from Python like so::\n\n $ python -m keyring --help\n $ python -m keyring set system username\n Password for 'username' in 'system':\n $ python -m keyring get system username\n password\n\nTab Completion\n--------------\n\nIf installed via a package manager (apt, pacman, nix, homebrew, etc),\nthese shell completions may already have been distributed with the package\n(no action required).\n\nKeyring provides tab completion if the ``completion`` extra is installed::\n\n $ pip install 'keyring[completion]'\n\nThen, generate shell completions, something like::\n\n $ keyring --print-completion bash | sudo tee /usr/share/bash-completion/completions/keyring\n $ keyring --print-completion zsh | sudo tee /usr/share/zsh/site-functions/_keyring\n $ keyring --print-completion tcsh | sudo tee /etc/profile.d/keyring.csh\n\n**Note**: the path of `/usr/share` is mainly for GNU/Linux. For other OSs,\nconsider:\n\n- macOS (Homebrew x86): /usr/local/share\n- macOS (Homebrew ARM): /opt/homebrew/share\n- Android (Termux): /data/data/com.termux/files/usr/share\n- Windows (mingw64 of msys2): /mingw64/share\n- ...\n\nAfter installing the shell completions, enable them following your shell's\nrecommended instructions. e.g.:\n\n- bash: install `bash-completion `_,\n and ensure ``. /usr/share/bash-completion/bash_completion`` in ``~/.bashrc``.\n- zsh: ensure ``autoload -Uz compinit && compinit`` appears in ``~/.zshrc``,\n then ``grep -w keyring ~/.zcompdump`` to verify keyring appears, indicating\n it was installed correctly.\n\nConfiguring\n===========\n\nThe python keyring lib contains implementations for several backends. The\nlibrary will attempt to\nautomatically choose the most suitable backend for the current\nenvironment. Users may also specify the preferred keyring in a\nconfig file or by calling the ``set_keyring()`` function.\n\nConfig file path\n----------------\n\nThe configuration is stored in a file named \"keyringrc.cfg\"\nfound in a platform-specific location. To determine\nwhere the config file is stored, run ``keyring diagnose``.\n\nConfig file content\n-------------------\n\nTo specify a keyring backend, set the **default-keyring** option to the\nfull path of the class for that backend, such as\n``keyring.backends.macOS.Keyring``.\n\nIf **keyring-path** is indicated, keyring will add that path to the Python\nmodule search path before loading the backend.\n\nFor example, this config might be used to load the\n``SimpleKeyring`` from the ``simplekeyring`` module in\nthe ``./demo`` directory (not implemented)::\n\n [backend]\n default-keyring=simplekeyring.SimpleKeyring\n keyring-path=demo\n\nThird-Party Backends\n====================\n\nIn addition to the backends provided by the core keyring package for\nthe most common and secure use cases, there\nare additional keyring backend implementations available for other\nuse cases. Simply install them to make them available:\n\n- `keyrings.cryptfile `_\n - Encrypted text file storage.\n- `keyrings.alt `_ - \"alternate\",\n possibly-insecure backends, originally part of the core package, but\n available for opt-in.\n- `gsheet-keyring `_\n - a backend that stores secrets in a Google Sheet. For use with\n `ipython-secrets `_.\n- `bitwarden-keyring `_\n - a backend that stores secrets in the `BitWarden `_\n password manager.\n- `onepassword-keyring `_\n - a backend that stores secrets in the `1Password `_ password manager.\n- `sagecipher `_ - an encryption\n backend which uses the ssh agent protocol's signature operation to\n derive the cipher key.\n- `keyrings.osx_keychain_keys `_\n - OSX keychain key-management, for private, public, and symmetric keys.\n- `keyring_pass.PasswordStoreBackend `_\n - Password Store (pass) backend for python's keyring \n- `keyring_jeepney `__ - a\n pure Python backend using the secret service DBus API for desktop\n Linux (requires ``keyring<24``).\n\n\nWrite your own keyring backend\n==============================\n\nThe interface for the backend is defined by ``keyring.backend.KeyringBackend``.\nEvery backend should derive from that base class and define a ``priority``\nattribute and three functions: ``get_password()``, ``set_password()``, and\n``delete_password()``. The ``get_credential()`` function may be defined if\ndesired.\n\nSee the ``backend`` module for more detail on the interface of this class.\n\nKeyring employs entry points to allow any third-party package to implement\nbackends without any modification to the keyring itself. Those interested in\ncreating new backends are encouraged to create new, third-party packages\nin the ``keyrings`` namespace, in a manner modeled by the `keyrings.alt\npackage `_. See the\n``setup.cfg`` file\nin that project for hints on how to create the requisite entry points.\nBackends that prove essential may be considered for inclusion in the core\nlibrary, although the ease of installing these third-party packages should\nmean that extensions may be readily available.\n\nTo create an extension for Keyring, please submit a pull request to\nhave your extension mentioned as an available extension.\n\nRuntime Configuration\n=====================\n\nKeyring additionally allows programmatic configuration of the\nbackend calling the api ``set_keyring()``. The indicated backend\nwill subsequently be used to store and retrieve passwords.\n\nTo invoke ``set_keyring``::\n\n # define a new keyring class which extends the KeyringBackend\n import keyring.backend\n\n class TestKeyring(keyring.backend.KeyringBackend):\n \"\"\"A test keyring which always outputs the same password\n \"\"\"\n priority = 1\n\n def set_password(self, servicename, username, password):\n pass\n\n def get_password(self, servicename, username):\n return \"password from TestKeyring\"\n\n def delete_password(self, servicename, username):\n pass\n\n # set the keyring for keyring lib\n keyring.set_keyring(TestKeyring())\n\n # invoke the keyring lib\n try:\n keyring.set_password(\"demo-service\", \"tarek\", \"passexample\")\n print(\"password stored successfully\")\n except keyring.errors.PasswordSetError:\n print(\"failed to store password\")\n print(\"password\", keyring.get_password(\"demo-service\", \"tarek\"))\n\n\nDisabling Keyring\n=================\n\nIn many cases, uninstalling keyring will never be necessary.\nEspecially on Windows and macOS, the behavior of keyring is\nusually degenerate, meaning it will return empty values to\nthe caller, allowing the caller to fall back to some other\nbehavior.\n\nIn some cases, the default behavior of keyring is undesirable and\nit would be preferable to disable the keyring behavior altogether.\nThere are several mechanisms to disable keyring:\n\n- Uninstall keyring. Most applications are tolerant to keyring\n not being installed. Uninstalling keyring should cause those\n applications to fall back to the behavior without keyring.\n This approach affects the Python environment where keyring\n would otherwise have been installed.\n\n- Configure the Null keyring in the environment. Set\n ``PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring``\n in the environment, and the ``Null`` (degenerate) backend\n will be used. This approach affects all uses of Keyring where\n that variable is set.\n\n- Permanently configure the Null keyring for the user by running\n ``keyring --disable`` or ``python -m keyring --disable``.\n This approach affects all uses of keyring for that user.\n\n\nAltering Keyring Behavior\n=========================\n\nKeyring provides a mechanism to alter the keyring's behavior through\nenvironment variables. Each backend implements a\n``KeyringBackend.set_properties_from_env``, which\nwhen invoked will find all environment variables beginning with\n``KEYRING_PROPERTY_{NAME}`` and will set a property for each\n``{NAME.lower()}`` on the keyring. This method is invoked during\ninitialization for the default/configured keyring.\n\nThis mechanism may be used to set some useful values on various\nkeyrings, including:\n\n- keychain; macOS, path to an alternate keychain file\n- appid; Linux/SecretService, alternate ID for the application\n\n\nUsing Keyring on Ubuntu 16.04\n=============================\n\nThe following is a complete transcript for installing keyring in a\nvirtual environment on Ubuntu 16.04. No config file was used::\n\n $ sudo apt install python3-venv libdbus-glib-1-dev\n $ cd /tmp\n $ pyvenv py3\n $ source py3/bin/activate\n $ pip install -U pip\n $ pip install secretstorage dbus-python\n $ pip install keyring\n $ python\n >>> import keyring\n >>> keyring.get_keyring()\n \n >>> keyring.set_password(\"system\", \"username\", \"password\")\n >>> keyring.get_password(\"system\", \"username\")\n 'password'\n\n\nUsing Keyring on headless Linux systems\n=======================================\n\nIt is possible to use the SecretService backend on Linux systems without\nX11 server available (only D-Bus is required). In this case:\n\n* Install the `GNOME Keyring`_ daemon.\n* Start a D-Bus session, e.g. run ``dbus-run-session -- sh`` and run\n the following commands inside that shell.\n* Run ``gnome-keyring-daemon`` with ``--unlock`` option. The description of\n that option says:\n\n Read a password from stdin, and use it to unlock the login keyring\n or create it if the login keyring does not exist.\n\n When that command is started, enter a password into stdin and\n press Ctrl+D (end of data). After that, the daemon will fork into\n the background (use ``--foreground`` option to block).\n* Now you can use the SecretService backend of Keyring. Remember to\n run your application in the same D-Bus session as the daemon.\n\n.. _GNOME Keyring: https://wiki.gnome.org/Projects/GnomeKeyring\n\nUsing Keyring on headless Linux systems in a Docker container\n=============================================================\n\nIt is possible to use keyring with the SecretService backend in Docker containers as well.\nAll you need to do is install the necessary dependencies and add the `--privileged` flag\nto avoid any `Operation not permitted` errors when attempting to unlock the system's keyring.\n\nThe following is a complete transcript for installing keyring on a Ubuntu 18:04 container::\n\n docker run -it -d --privileged ubuntu:18.04\n\n $ apt-get update\n $ apt install -y gnome-keyring python3-venv python3-dev\n $ python3 -m venv venv\n $ source venv/bin/activate # source a virtual environment to avoid polluting your system\n $ pip3 install --upgrade pip\n $ pip3 install keyring\n $ dbus-run-session -- sh # this will drop you into a new D-bus shell\n $ echo 'somecredstorepass' | gnome-keyring-daemon --unlock # unlock the system's keyring\n\n $ python\n >>> import keyring\n >>> keyring.get_keyring()\n \n >>> keyring.set_password(\"system\", \"username\", \"password\")\n >>> keyring.get_password(\"system\", \"username\")\n 'password'\n\nIntegration\n===========\n\nAPI\n---\n\nThe keyring lib has a few functions:\n\n* ``get_keyring()``: Return the currently-loaded keyring implementation.\n* ``get_password(service, username)``: Returns the password stored in the\n active keyring. If the password does not exist, it will return None.\n* ``get_credential(service, username)``: Return a credential object stored\n in the active keyring. This object contains at least ``username`` and\n ``password`` attributes for the specified service, where the returned\n ``username`` may be different from the argument.\n* ``set_password(service, username, password)``: Store the password in the\n keyring.\n* ``delete_password(service, username)``: Delete the password stored in\n keyring. If the password does not exist, it will raise an exception.\n\nIn all cases, the parameters (``service``, ``username``, ``password``)\nshould be Unicode text.\n\n\nExceptions\n----------\n\nThe keyring lib raises the following exceptions:\n\n* ``keyring.errors.KeyringError``: Base Error class for all exceptions in keyring lib.\n* ``keyring.errors.InitError``: Raised when the keyring cannot be initialized.\n* ``keyring.errors.PasswordSetError``: Raised when the password cannot be set in the keyring.\n* ``keyring.errors.PasswordDeleteError``: Raised when the password cannot be deleted in the keyring.\n\nGet Involved\n============\n\nPython keyring lib is an open community project and eagerly\nwelcomes contributors.\n\n* Repository: https://github.com/jaraco/keyring/\n* Bug Tracker: https://github.com/jaraco/keyring/issues/\n* Mailing list: http://groups.google.com/group/python-keyring\n\nSecurity Considerations\n=======================\n\nEach built-in backend may have security considerations to understand\nbefore using this library. Authors of tools or libraries utilizing\n``keyring`` are encouraged to consider these concerns.\n\nAs with any list of known security concerns, this list is not exhaustive.\nAdditional issues can be added as needed.\n\n- macOS Keychain\n - Any Python script or application can access secrets created by\n ``keyring`` from that same Python executable without the operating\n system prompting the user for a password. To cause any specific\n secret to prompt for a password every time it is accessed, locate\n the credential using the ``Keychain Access`` application, and in\n the ``Access Control`` settings, remove ``Python`` from the list\n of allowed applications.\n\n- Freedesktop Secret Service\n - No analysis has been performed\n\n- KDE4 & KDE5 KWallet\n - No analysis has been performed\n\n- Windows Credential Locker\n - No analysis has been performed\n\nMaking Releases\n===============\n\nThis project makes use of automated releases and continuous\nintegration. The\nsimple workflow is to tag a commit and push it to Github. If it\npasses tests in CI, it will be automatically deployed to PyPI.\n\nOther things to consider when making a release:\n\n- Check that the changelog is current for the intended release.\n\nRunning Tests\n=============\n\nTests are continuously run in Github Actions.\n\nTo run the tests locally, install and invoke\n`tox `_.\n\nBackground\n==========\n\nThe project was based on Tarek Ziade's idea in `this post`_. Kang Zhang\ninitially carried it out as a `Google Summer of Code`_ project, and Tarek\nmentored Kang on this project.\n\n.. _this post: http://tarekziade.wordpress.com/2009/03/27/pycon-hallway-session-1-a-keyring-library-for-python/\n.. _Google Summer of Code: http://socghop.appspot.com/\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nThis project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "description_content_type": "text/x-rst", + "author_email": "Kang Zhang ", + "maintainer_email": "\"Jason R. Coombs\" ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only" + ], + "requires_dist": [ + "jaraco.classes", + "jaraco.functools", + "jaraco.context", + "importlib-metadata >=4.11.4 ; python_version < \"3.12\"", + "importlib-resources ; python_version < \"3.9\"", + "SecretStorage >=3.2 ; sys_platform == \"linux\"", + "jeepney >=0.4.2 ; sys_platform == \"linux\"", + "pywin32-ctypes >=0.2.0 ; sys_platform == \"win32\"", + "shtab >=1.1.0 ; extra == 'completion'", + "sphinx >=3.5 ; extra == 'docs'", + "jaraco.packaging >=9.3 ; extra == 'docs'", + "rst.linker >=1.9 ; extra == 'docs'", + "furo ; extra == 'docs'", + "sphinx-lint ; extra == 'docs'", + "jaraco.tidelift >=1.4 ; extra == 'docs'", + "pytest !=8.1.*,>=6 ; extra == 'testing'", + "pytest-checkdocs >=2.4 ; extra == 'testing'", + "pytest-cov ; extra == 'testing'", + "pytest-mypy ; extra == 'testing'", + "pytest-enabler >=2.2 ; extra == 'testing'", + "pytest-ruff >=0.2.1 ; extra == 'testing'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Homepage, https://github.com/jaraco/keyring" + ], + "provides_extra": [ + "completion", + "docs", + "testing" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", + "hashes": { + "sha256": "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "more-itertools", + "version": "10.2.0", + "summary": "More routines for operating on iterables, beyond itertools", + "description": "==============\nMore Itertools\n==============\n\n.. image:: https://readthedocs.org/projects/more-itertools/badge/?version=latest\n :target: https://more-itertools.readthedocs.io/en/stable/\n\nPython's ``itertools`` library is a gem - you can compose elegant solutions\nfor a variety of problems with the functions it provides. In ``more-itertools``\nwe collect additional building blocks, recipes, and routines for working with\nPython iterables.\n\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Grouping | `chunked `_, |\n| | `ichunked `_, |\n| | `chunked_even `_, |\n| | `sliced `_, |\n| | `constrained_batches `_, |\n| | `distribute `_, |\n| | `divide `_, |\n| | `split_at `_, |\n| | `split_before `_, |\n| | `split_after `_, |\n| | `split_into `_, |\n| | `split_when `_, |\n| | `bucket `_, |\n| | `unzip `_, |\n| | `batched `_, |\n| | `grouper `_, |\n| | `partition `_, |\n| | `transpose `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Lookahead and lookback | `spy `_, |\n| | `peekable `_, |\n| | `seekable `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Windowing | `windowed `_, |\n| | `substrings `_, |\n| | `substrings_indexes `_, |\n| | `stagger `_, |\n| | `windowed_complete `_, |\n| | `pairwise `_, |\n| | `triplewise `_, |\n| | `sliding_window `_, |\n| | `subslices `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Augmenting | `count_cycle `_, |\n| | `intersperse `_, |\n| | `padded `_, |\n| | `repeat_each `_, |\n| | `mark_ends `_, |\n| | `repeat_last `_, |\n| | `adjacent `_, |\n| | `groupby_transform `_, |\n| | `pad_none `_, |\n| | `ncycles `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Combining | `collapse `_, |\n| | `sort_together `_, |\n| | `interleave `_, |\n| | `interleave_longest `_, |\n| | `interleave_evenly `_, |\n| | `zip_offset `_, |\n| | `zip_equal `_, |\n| | `zip_broadcast `_, |\n| | `dotproduct `_, |\n| | `convolve `_, |\n| | `flatten `_, |\n| | `roundrobin `_, |\n| | `prepend `_, |\n| | `value_chain `_, |\n| | `partial_product `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Summarizing | `ilen `_, |\n| | `unique_to_each `_, |\n| | `sample `_, |\n| | `consecutive_groups `_, |\n| | `run_length `_, |\n| | `map_reduce `_, |\n| | `exactly_n `_, |\n| | `is_sorted `_, |\n| | `all_equal `_, |\n| | `all_unique `_, |\n| | `minmax `_, |\n| | `first_true `_, |\n| | `quantify `_, |\n| | `iequals `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Selecting | `islice_extended `_, |\n| | `first `_, |\n| | `last `_, |\n| | `one `_, |\n| | `only `_, |\n| | `strictly_n `_, |\n| | `strip `_, |\n| | `lstrip `_, |\n| | `rstrip `_, |\n| | `filter_except `_, |\n| | `map_except `_, |\n| | `filter_map `_, |\n| | `iter_suppress `_, |\n| | `nth_or_last `_, |\n| | `unique_in_window `_, |\n| | `before_and_after `_, |\n| | `nth `_, |\n| | `take `_, |\n| | `tail `_, |\n| | `unique_everseen `_, |\n| | `unique_justseen `_, |\n| | `duplicates_everseen `_, |\n| | `duplicates_justseen `_, |\n| | `classify_unique `_, |\n| | `longest_common_prefix `_, |\n| | `takewhile_inclusive `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Combinatorics | `distinct_permutations `_, |\n| | `distinct_combinations `_, |\n| | `circular_shifts `_, |\n| | `partitions `_, |\n| | `set_partitions `_, |\n| | `product_index `_, |\n| | `combination_index `_, |\n| | `permutation_index `_, |\n| | `combination_with_replacement_index `_, |\n| | `gray_product `_, |\n| | `outer_product `_, |\n| | `powerset `_, |\n| | `random_product `_, |\n| | `random_permutation `_, |\n| | `random_combination `_, |\n| | `random_combination_with_replacement `_, |\n| | `nth_product `_, |\n| | `nth_permutation `_, |\n| | `nth_combination `_, |\n| | `nth_combination_with_replacement `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Wrapping | `always_iterable `_, |\n| | `always_reversible `_, |\n| | `countable `_, |\n| | `consumer `_, |\n| | `with_iter `_, |\n| | `iter_except `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Others | `locate `_, |\n| | `rlocate `_, |\n| | `replace `_, |\n| | `numeric_range `_, |\n| | `side_effect `_, |\n| | `iterate `_, |\n| | `difference `_, |\n| | `make_decorator `_, |\n| | `SequenceView `_, |\n| | `time_limited `_, |\n| | `map_if `_, |\n| | `iter_index `_, |\n| | `consume `_, |\n| | `tabulate `_, |\n| | `repeatfunc `_, |\n| | `polynomial_from_roots `_, |\n| | `polynomial_eval `_, |\n| | `polynomial_derivative `_, |\n| | `sieve `_, |\n| | `factor `_, |\n| | `matmul `_, |\n| | `sum_of_squares `_, |\n| | `totient `_, |\n| | `reshape `_ |\n+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n\n\nGetting started\n===============\n\nTo get started, install the library with `pip `_:\n\n.. code-block:: shell\n\n pip install more-itertools\n\nThe recipes from the `itertools docs `_\nare included in the top-level package:\n\n.. code-block:: python\n\n >>> from more_itertools import flatten\n >>> iterable = [(0, 1), (2, 3)]\n >>> list(flatten(iterable))\n [0, 1, 2, 3]\n\nSeveral new recipes are available as well:\n\n.. code-block:: python\n\n >>> from more_itertools import chunked\n >>> iterable = [0, 1, 2, 3, 4, 5, 6, 7, 8]\n >>> list(chunked(iterable, 3))\n [[0, 1, 2], [3, 4, 5], [6, 7, 8]]\n\n >>> from more_itertools import spy\n >>> iterable = (x * x for x in range(1, 6))\n >>> head, iterable = spy(iterable, n=3)\n >>> list(head)\n [1, 4, 9]\n >>> list(iterable)\n [1, 4, 9, 16, 25]\n\n\n\nFor the full listing of functions, see the `API documentation `_.\n\n\nLinks elsewhere\n===============\n\nBlog posts about ``more-itertools``:\n\n* `Yo, I heard you like decorators `__\n* `Tour of Python Itertools `__ (`Alternate `__)\n* `Real-World Python More Itertools `_\n\n\nDevelopment\n===========\n\n``more-itertools`` is maintained by `@erikrose `_\nand `@bbayles `_, with help from `many others `_.\nIf you have a problem or suggestion, please file a bug or pull request in this\nrepository. Thanks for contributing!\n\n\nVersion History\n===============\n\nThe version history can be found in `documentation `_.\n\n", + "description_content_type": "text/x-rst", + "keywords": [ + "itertools", + "iterator", + "iteration", + "filter", + "peek", + "peekable", + "chunk", + "chunked" + ], + "author_email": "Erik Rose ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Natural Language :: English", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries" + ], + "requires_python": ">=3.8", + "project_url": [ + "Homepage, https://github.com/more-itertools/more-itertools" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", + "archive_info": { + "hash": "sha256=08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", + "hashes": { + "sha256": "08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "numpy", + "version": "1.26.4", + "summary": "Fundamental package for array computing in Python", + "description": "

\n\n


\n\n\n[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](\nhttps://numfocus.org)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/numpy.svg?label=PyPI%20downloads)](\nhttps://pypi.org/project/numpy/)\n[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/numpy.svg?label=Conda%20downloads)](\nhttps://anaconda.org/conda-forge/numpy)\n[![Stack Overflow](https://img.shields.io/badge/stackoverflow-Ask%20questions-blue.svg)](\nhttps://stackoverflow.com/questions/tagged/numpy)\n[![Nature Paper](https://img.shields.io/badge/DOI-10.1038%2Fs41592--019--0686--2-blue)](\nhttps://doi.org/10.1038/s41586-020-2649-2)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/numpy/numpy/badge)](https://api.securityscorecards.dev/projects/github.com/numpy/numpy)\n\n\nNumPy is the fundamental package for scientific computing with Python.\n\n- **Website:** https://www.numpy.org\n- **Documentation:** https://numpy.org/doc\n- **Mailing list:** https://mail.python.org/mailman/listinfo/numpy-discussion\n- **Source code:** https://github.com/numpy/numpy\n- **Contributing:** https://www.numpy.org/devdocs/dev/index.html\n- **Bug reports:** https://github.com/numpy/numpy/issues\n- **Report a security vulnerability:** https://tidelift.com/docs/security\n\nIt provides:\n\n- a powerful N-dimensional array object\n- sophisticated (broadcasting) functions\n- tools for integrating C/C++ and Fortran code\n- useful linear algebra, Fourier transform, and random number capabilities\n\nTesting:\n\nNumPy requires `pytest` and `hypothesis`. Tests can then be run after installation with:\n\n python -c \"import numpy, sys; sys.exit(numpy.test() is False)\"\n\nCode of Conduct\n----------------------\n\nNumPy is a community-driven open source project developed by a diverse group of\n[contributors](https://numpy.org/teams/). The NumPy leadership has made a strong\ncommitment to creating an open, inclusive, and positive community. Please read the\n[NumPy Code of Conduct](https://numpy.org/code-of-conduct/) for guidance on how to interact\nwith others in a way that makes our community thrive.\n\nCall for Contributions\n----------------------\n\nThe NumPy project welcomes your expertise and enthusiasm!\n\nSmall improvements or fixes are always appreciated. If you are considering larger contributions\nto the source code, please contact us through the [mailing\nlist](https://mail.python.org/mailman/listinfo/numpy-discussion) first.\n\nWriting code isn’t the only way to contribute to NumPy. You can also:\n- review pull requests\n- help us stay on top of new and old issues\n- develop tutorials, presentations, and other educational materials\n- maintain and improve [our website](https://github.com/numpy/numpy.org)\n- develop graphic design for our brand assets and promotional materials\n- translate website content\n- help with outreach and onboard new contributors\n- write grant proposals and help with other fundraising efforts\n\nFor more information about the ways you can contribute to NumPy, visit [our website](https://numpy.org/contribute/). \nIf you’re unsure where to start or how your skills fit in, reach out! You can\nask on the mailing list or here, on GitHub, by opening a new issue or leaving a\ncomment on a relevant issue that is already open.\n\nOur preferred channels of communication are all public, but if you’d like to\nspeak to us in private first, contact our community coordinators at\nnumpy-team@googlegroups.com or on Slack (write numpy-team@googlegroups.com for\nan invitation).\n\nWe also have a biweekly community call, details of which are announced on the\nmailing list. You are very welcome to join.\n\nIf you are new to contributing to open source, [this\nguide](https://opensource.guide/how-to-contribute/) helps explain why, what,\nand how to successfully get involved.\n", + "description_content_type": "text/markdown", + "home_page": "https://numpy.org", + "author": "Travis E. Oliphant et al.", + "maintainer_email": "NumPy Developers ", + "license": "Copyright (c) 2005-2023, NumPy Developers.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials provided\n with the distribution.\n\n * Neither the name of the NumPy Developers nor the names of any\n contributors may be used to endorse or promote products derived\n from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n----\n\nThe NumPy repository and source distributions bundle several libraries that are\ncompatibly licensed. We list these here.\n\nName: lapack-lite\nFiles: numpy/linalg/lapack_lite/*\nLicense: BSD-3-Clause\n For details, see numpy/linalg/lapack_lite/LICENSE.txt\n\nName: tempita\nFiles: tools/npy_tempita/*\nLicense: MIT\n For details, see tools/npy_tempita/license.txt\n\nName: dragon4\nFiles: numpy/core/src/multiarray/dragon4.c\nLicense: MIT\n For license text, see numpy/core/src/multiarray/dragon4.c\n\nName: libdivide\nFiles: numpy/core/include/numpy/libdivide/*\nLicense: Zlib\n For license text, see numpy/core/include/numpy/libdivide/LICENSE.txt\n\n\nNote that the following files are vendored in the repository and sdist but not\ninstalled in built numpy packages:\n\nName: Meson\nFiles: vendored-meson/meson/*\nLicense: Apache 2.0\n For license text, see vendored-meson/meson/COPYING\n\nName: spin\nFiles: .spin/cmds.py\nLicense: BSD-3\n For license text, see .spin/LICENSE\n\n----\n\nThis binary distribution of NumPy also bundles the following software:\n\n\nName: OpenBLAS\nFiles: numpy.libs\\libopenblas*.dll\nDescription: bundled as a dynamically linked library\nAvailability: https://github.com/OpenMathLib/OpenBLAS/\nLicense: BSD-3-Clause\n Copyright (c) 2011-2014, The OpenBLAS Project\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in\n the documentation and/or other materials provided with the\n distribution.\n 3. Neither the name of the OpenBLAS project nor the names of\n its contributors may be used to endorse or promote products\n derived from this software without specific prior written\n permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\n USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\nName: LAPACK\nFiles: numpy.libs\\libopenblas*.dll\nDescription: bundled in OpenBLAS\nAvailability: https://github.com/OpenMathLib/OpenBLAS/\nLicense: BSD-3-Clause-Attribution\n Copyright (c) 1992-2013 The University of Tennessee and The University\n of Tennessee Research Foundation. All rights\n reserved.\n Copyright (c) 2000-2013 The University of California Berkeley. All\n rights reserved.\n Copyright (c) 2006-2013 The University of Colorado Denver. All rights\n reserved.\n\n $COPYRIGHT$\n\n Additional copyrights may follow\n\n $HEADER$\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n - Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n - Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer listed\n in this license in the documentation and/or other materials\n provided with the distribution.\n\n - Neither the name of the copyright holders nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n The copyright holders provide no reassurances that the source code\n provided does not infringe any patent, copyright, or any other\n intellectual property rights of third parties. The copyright holders\n disclaim any liability to any recipient for claims brought against\n recipient by any third party for infringement of that parties\n intellectual property rights.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\nName: GCC runtime library\nFiles: numpy.libs\\libopenblas*.dll\nDescription: statically linked to files compiled with gcc\nAvailability: https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libgfortran\nLicense: GPL-3.0-with-GCC-exception\n Copyright (C) 2002-2017 Free Software Foundation, Inc.\n\n Libgfortran is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3, or (at your option)\n any later version.\n\n Libgfortran is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n Under Section 7 of GPL version 3, you are granted additional\n permissions described in the GCC Runtime Library Exception, version\n 3.1, as published by the Free Software Foundation.\n\n You should have received a copy of the GNU General Public License and\n a copy of the GCC Runtime Library Exception along with this program;\n see the files COPYING3 and COPYING.RUNTIME respectively. If not, see\n .\n\n----\n\nFull text of license texts referred to above follows (that they are\nlisted below does not necessarily imply the conditions apply to the\npresent binary release):\n\n----\n\nGCC RUNTIME LIBRARY EXCEPTION\n\nVersion 3.1, 31 March 2009\n\nCopyright (C) 2009 Free Software Foundation, Inc. \n\nEveryone is permitted to copy and distribute verbatim copies of this\nlicense document, but changing it is not allowed.\n\nThis GCC Runtime Library Exception (\"Exception\") is an additional\npermission under section 7 of the GNU General Public License, version\n3 (\"GPLv3\"). It applies to a given file (the \"Runtime Library\") that\nbears a notice placed by the copyright holder of the file stating that\nthe file is governed by GPLv3 along with this Exception.\n\nWhen you use GCC to compile a program, GCC may combine portions of\ncertain GCC header files and runtime libraries with the compiled\nprogram. The purpose of this Exception is to allow compilation of\nnon-GPL (including proprietary) programs to use, in this way, the\nheader files and runtime libraries covered by this Exception.\n\n0. Definitions.\n\nA file is an \"Independent Module\" if it either requires the Runtime\nLibrary for execution after a Compilation Process, or makes use of an\ninterface provided by the Runtime Library, but is not otherwise based\non the Runtime Library.\n\n\"GCC\" means a version of the GNU Compiler Collection, with or without\nmodifications, governed by version 3 (or a specified later version) of\nthe GNU General Public License (GPL) with the option of using any\nsubsequent versions published by the FSF.\n\n\"GPL-compatible Software\" is software whose conditions of propagation,\nmodification and use would permit combination with GCC in accord with\nthe license of GCC.\n\n\"Target Code\" refers to output from any compiler for a real or virtual\ntarget processor architecture, in executable form or suitable for\ninput to an assembler, loader, linker and/or execution\nphase. Notwithstanding that, Target Code does not include data in any\nformat that is used as a compiler intermediate representation, or used\nfor producing a compiler intermediate representation.\n\nThe \"Compilation Process\" transforms code entirely represented in\nnon-intermediate languages designed for human-written code, and/or in\nJava Virtual Machine byte code, into Target Code. Thus, for example,\nuse of source code generators and preprocessors need not be considered\npart of the Compilation Process, since the Compilation Process can be\nunderstood as starting with the output of the generators or\npreprocessors.\n\nA Compilation Process is \"Eligible\" if it is done using GCC, alone or\nwith other GPL-compatible software, or if it is done without using any\nwork based on GCC. For example, using non-GPL-compatible Software to\noptimize any GCC intermediate representations would not qualify as an\nEligible Compilation Process.\n\n1. Grant of Additional Permission.\n\nYou have permission to propagate a work of Target Code formed by\ncombining the Runtime Library with Independent Modules, even if such\npropagation would otherwise violate the terms of GPLv3, provided that\nall Target Code was generated by Eligible Compilation Processes. You\nmay then convey such a combination under terms of your choice,\nconsistent with the licensing of the Independent Modules.\n\n2. No Weakening of GCC Copyleft.\n\nThe availability of this Exception does not imply any general\npresumption that third-party software is unaffected by the copyleft\nrequirements of the license of GCC.\n\n----\n\n GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.\n\nName: libquadmath\nFiles: numpy.libs\\libopenb*.dll\nDescription: statically linked to files compiled with gcc\nAvailability: https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libquadmath\nLicense: LGPL-2.1-or-later\n\n GCC Quad-Precision Math Library\n Copyright (C) 2010-2019 Free Software Foundation, Inc.\n Written by Francois-Xavier Coudert \n\n This file is part of the libquadmath library.\n Libquadmath is free software; you can redistribute it and/or\n modify it under the terms of the GNU Library General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n\n Libquadmath is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Programming Language :: C", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Software Development", + "Topic :: Scientific/Engineering", + "Typing :: Typed", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Operating System :: MacOS" + ], + "requires_python": ">=3.9", + "project_url": [ + "Homepage, https://numpy.org", + "Documentation, https://numpy.org/doc/", + "Source, https://github.com/numpy/numpy", + "Download, https://pypi.org/project/numpy/#files", + "Tracker, https://github.com/numpy/numpy/issues", + "Release notes, https://numpy.org/doc/stable/release" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/a4/bc/78b2c00cc64c31dbb3be42a0e8600bcebc123ad338c3b714754d668c7c2d/pywin32_ctypes-0.2.2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7", + "hashes": { + "sha256": "bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "pywin32-ctypes", + "version": "0.2.2", + "platform": [ + "UNKNOWN" + ], + "summary": "A (partial) reimplementation of pywin32 using ctypes/cffi", + "description": "\n.. image:: https://readthedocs.org/projects/pywin32-ctypes/badge/?version=master\n :target: http://pywin32-ctypes.readthedocs.org/en/latest/?badge=master\n :alt: Documentation Status\n\nA reimplementation of pywin32 that is pure python. The default\nbehaviour will try to use cffi (>= 1.3.0), if available, and fall back\nto using ctypes. Please note that there is no need to have a compiler\navailable on installation or at runtime.\n\nUsage\n=====\n\nExample::\n\n # Equivalent to 'import win32api' from pywin32.\n from win32ctypes.pywin32 import win32api\n\n win32api.LoadLibraryEx(sys.executable, 0, win32api.LOAD_LIBRARY_AS_DATAFILE)\n\n.. note::\n\n Currently pywin32ctypes implements only a very small subset\n of pywin32, for internal needs at Enthought. We do welcome\n additional features and PRs, though.\n\nDevelopment setup\n=================\n\nThe following should be good enough::\n\n pip install -r test_requirements.txt\n python install -e .\n\n.. note::\n\n - While pywin32-ctypes should regularly be tested on windows, you can also\n develop/test on unix by using wine\n\nChange Log\n==========\n\nVersion 0.2.2\n-------------\n\n- Use ctypes.set_last_error to avoid race conditions (#122)\n\nVersion 0.2.1\n-------------\n\n- Use faulthandler when testing and fix discovered errors (#115, #117).\n- Fix support for None username in credentials to be consistent in all backends (#99).\n- Test also on cp38, cp39, cp310, cp311 and use cp38 for linking (#114, #107, #100).\n- Add support for CredEnumerate extending code from @markb-EE (#110, #109, #111)\n- Remove support for older python versions < cp36 (#104, #120).\n\nVersion 0.2.0\n-------------\n\n- Fix syntax error when installing in python 3.7 (#81).\n- Support testing on python 3.7 (#82).\n- Support testing on python 3.3 and python 3.4 (#77).\n- Do not use 2to3 (#75).\n- Support lazy wrapping of win32 functions (#67).\n- Add CRED_PERSIST constants (#79 contributed by @tivnet).\n\nVersion 0.1.2\n-------------\n\n(bugfix release)\n\n- Fix implementation for the deprecated api (#64).\n\nVersion 0.1.1\n-------------\n\n(bugfix release)\n\n- Update Manifest.in entries (#63)\n- fix VERSION path in Manifest.in (#62 contributed by @MinchinWeb)\n\n\nVersion 0.1.0\n-------------\n\n- Update tests and provide better compatibility with pywin32 for\n Resource functions\n- Fix: Python 3.5 and 3.6 support (#52).\n- API additions to allow pywin32-ctypes to work with pyinstaller (#46\n and #57 contributed by @virtuald).\n- Fix: do not update the global copy of the windows dlls (#42)\n- Add documentation and setup automatic builds in ReadTheDocs (#3, #36).\n- Add cffi backend to be used when available (#31).\n- Fix: EnumResourceTypes and EnumResourceNames would only return ints\n (#21, #30).\n- Restructure package layout to split core wrapping modules from\n pywin32 emulation (#15, #17).\n\nVersion 0.0.1\n-------------\n\n7/04/2014\n\n- Python 2.6 support (#13)\n- Python 3 support (#12)\n- Basic maintenance work (#11, #7)\n- Fix error raising to be pywin32 compatible (#8)\n- Package rename mini_pywin32 -> pywin32-ctypes\n- Add travis-ci integration using wine! (#2)\n- Support basic library and resource loading (#1)\n- mini_pywin32 is born\n\n\n", + "home_page": "https://github.com/enthought/pywin32-ctypes", + "author": "Enthought Inc.", + "author_email": "info@enthough.com", + "license": "BSD-3-Clause", + "classifier": [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", + "archive_info": { + "hash": "sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", + "hashes": { + "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "requests", + "version": "2.32.3", + "summary": "Python HTTP for Humans.", + "description": "# Requests\n\n**Requests** is a simple, yet elegant, HTTP library.\n\n```python\n>>> import requests\n>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))\n>>> r.status_code\n200\n>>> r.headers['content-type']\n'application/json; charset=utf8'\n>>> r.encoding\n'utf-8'\n>>> r.text\n'{\"authenticated\": true, ...'\n>>> r.json()\n{'authenticated': True, ...}\n```\n\nRequests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your `PUT` & `POST` data — but nowadays, just use the `json` method!\n\nRequests is one of the most downloaded Python packages today, pulling in around `30M downloads / week`— according to GitHub, Requests is currently [depended upon](https://github.com/psf/requests/network/dependents?package_id=UGFja2FnZS01NzA4OTExNg%3D%3D) by `1,000,000+` repositories. You may certainly put your trust in this code.\n\n[![Downloads](https://static.pepy.tech/badge/requests/month)](https://pepy.tech/project/requests)\n[![Supported Versions](https://img.shields.io/pypi/pyversions/requests.svg)](https://pypi.org/project/requests)\n[![Contributors](https://img.shields.io/github/contributors/psf/requests.svg)](https://github.com/psf/requests/graphs/contributors)\n\n## Installing Requests and Supported Versions\n\nRequests is available on PyPI:\n\n```console\n$ python -m pip install requests\n```\n\nRequests officially supports Python 3.8+.\n\n## Supported Features & Best–Practices\n\nRequests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today.\n\n- Keep-Alive & Connection Pooling\n- International Domains and URLs\n- Sessions with Cookie Persistence\n- Browser-style TLS/SSL Verification\n- Basic & Digest Authentication\n- Familiar `dict`–like Cookies\n- Automatic Content Decompression and Decoding\n- Multi-part File Uploads\n- SOCKS Proxy Support\n- Connection Timeouts\n- Streaming Downloads\n- Automatic honoring of `.netrc`\n- Chunked HTTP Requests\n\n## API Reference and User Guide available on [Read the Docs](https://requests.readthedocs.io)\n\n[![Read the Docs](https://raw.githubusercontent.com/psf/requests/main/ext/ss.png)](https://requests.readthedocs.io)\n\n## Cloning the repository\n\nWhen cloning the Requests repository, you may need to add the `-c\nfetch.fsck.badTimezone=ignore` flag to avoid an error about a bad commit (see\n[this issue](https://github.com/psf/requests/issues/2690) for more background):\n\n```shell\ngit clone -c fetch.fsck.badTimezone=ignore https://github.com/psf/requests.git\n```\n\nYou can also apply this setting to your global Git config:\n\n```shell\ngit config --global fetch.fsck.badTimezone ignore\n```\n\n---\n\n[![Kenneth Reitz](https://raw.githubusercontent.com/psf/requests/main/ext/kr.png)](https://kennethreitz.org) [![Python Software Foundation](https://raw.githubusercontent.com/psf/requests/main/ext/psf.png)](https://www.python.org/psf)\n", + "description_content_type": "text/markdown", + "home_page": "https://requests.readthedocs.io", + "author": "Kenneth Reitz", + "author_email": "me@kennethreitz.org", + "license": "Apache-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Software Development :: Libraries" + ], + "requires_dist": [ + "charset-normalizer <4,>=2", + "idna <4,>=2.5", + "urllib3 <3,>=1.21.1", + "certifi >=2017.4.17", + "PySocks !=1.5.7,>=1.5.6 ; extra == 'socks'", + "chardet <6,>=3.0.2 ; extra == 'use_chardet_on_py3'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Documentation, https://requests.readthedocs.io", + "Source, https://github.com/psf/requests" + ], + "provides_extra": [ + "security", + "socks", + "use_chardet_on_py3" + ] + } + } + ], + "environment": { + "implementation_name": "cpython", + "implementation_version": "3.12.4", + "os_name": "nt", + "platform_machine": "AMD64", + "platform_release": "11", + "platform_system": "Windows", + "platform_version": "10.0.22631", + "python_full_version": "3.12.4", + "platform_python_implementation": "CPython", + "python_version": "3.12", + "sys_platform": "win32" + } +} \ No newline at end of file diff --git a/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/requirements.txt b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/requirements.txt new file mode 100644 index 000000000..849e2990e --- /dev/null +++ b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/multiple/requirements.txt @@ -0,0 +1,14 @@ +artifacts-keyring==0.3.4 +certifi==2024.6.2 +charset-normalizer==3.3.2 +Cython==3.0.10 +idna==3.7 +jaraco.classes==3.4.0 +jaraco.context==5.3.0 +jaraco.functools==4.0.1 +keyring==25.2.1 +more-itertools==10.2.0 +numpy==1.26.4 +pywin32-ctypes==0.2.2 +requests==2.32.3 +urllib3==2.2.1 \ No newline at end of file diff --git a/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/simple/component-detection-pip-report.json b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/simple/component-detection-pip-report.json new file mode 100644 index 000000000..8ed85e0ed --- /dev/null +++ b/test/Microsoft.ComponentDetection.VerificationTests/resources/pip/pre-generated/simple/component-detection-pip-report.json @@ -0,0 +1,8212 @@ +{ + "version": "1", + "pip_version": "24.0", + "install": [ + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/3e/89/7ea760b4daa42653ece2380531c90f64788d979110a2ab51049d92f408af/packaging-20.9-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a", + "hashes": { + "sha256": "67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "packaging", + "version": "20.9", + "platform": [ + "UNKNOWN" + ], + "summary": "Core utilities for Python packages", + "description": "packaging\n=========\n\n.. start-intro\n\nReusable core utilities for various Python Packaging\n`interoperability specifications `_.\n\nThis library provides utilities that implement the interoperability\nspecifications which have clearly one correct behaviour (eg: :pep:`440`)\nor benefit greatly from having a single shared implementation (eg: :pep:`425`).\n\n.. end-intro\n\nThe ``packaging`` project includes the following: version handling, specifiers,\nmarkers, requirements, tags, utilities.\n\nDocumentation\n-------------\n\nThe `documentation`_ provides information and the API for the following:\n\n- Version Handling\n- Specifiers\n- Markers\n- Requirements\n- Tags\n- Utilities\n\nInstallation\n------------\n\nUse ``pip`` to install these utilities::\n\n pip install packaging\n\nDiscussion\n----------\n\nIf you run into bugs, you can file them in our `issue tracker`_.\n\nYou can also join ``#pypa`` on Freenode to ask questions or get involved.\n\n\n.. _`documentation`: https://packaging.pypa.io/\n.. _`issue tracker`: https://github.com/pypa/packaging/issues\n\n\nCode of Conduct\n---------------\n\nEveryone interacting in the packaging project's codebases, issue trackers, chat\nrooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.\n\n.. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md\n\nContributing\n------------\n\nThe ``CONTRIBUTING.rst`` file outlines how to contribute to this project as\nwell as how to report a potential security issue. The documentation for this\nproject also covers information about `project development`_ and `security`_.\n\n.. _`project development`: https://packaging.pypa.io/en/latest/development/\n.. _`security`: https://packaging.pypa.io/en/latest/security/\n\nProject History\n---------------\n\nPlease review the ``CHANGELOG.rst`` file or the `Changelog documentation`_ for\nrecent changes and project history.\n\n.. _`Changelog documentation`: https://packaging.pypa.io/en/latest/changelog/\n\nChangelog\n---------\n\n20.9 - 2021-01-29\n~~~~~~~~~~~~~~~~~\n\n* Run [isort](https://pypi.org/project/isort/) over the code base (`#377 `__)\n* Add support for the ``macosx_10_*_universal2`` platform tags (`#379 `__)\n* Introduce ``packaging.utils.parse_wheel_filename()`` and ``parse_sdist_filename()``\n (`#387 `__ and `#389 `__)\n\n20.8 - 2020-12-11\n~~~~~~~~~~~~~~~~~\n\n* Revert back to setuptools for compatibility purposes for some Linux distros (`#363 `__)\n* Do not insert an underscore in wheel tags when the interpreter version number\n is more than 2 digits (`#372 `__)\n\n20.7 - 2020-11-28\n~~~~~~~~~~~~~~~~~\n\nNo unreleased changes.\n\n20.6 - 2020-11-28\n~~~~~~~~~~~~~~~~~\n\n.. note:: This release was subsequently yanked, and these changes were included in 20.7.\n\n* Fix flit configuration, to include LICENSE files (`#357 `__)\n* Make `intel` a recognized CPU architecture for the `universal` macOS platform tag (`#361 `__)\n* Add some missing type hints to `packaging.requirements` (issue:`350`)\n\n20.5 - 2020-11-27\n~~~~~~~~~~~~~~~~~\n\n* Officially support Python 3.9 (`#343 `__)\n* Deprecate the ``LegacyVersion`` and ``LegacySpecifier`` classes (`#321 `__)\n* Handle ``OSError`` on non-dynamic executables when attempting to resolve\n the glibc version string.\n\n20.4 - 2020-05-19\n~~~~~~~~~~~~~~~~~\n\n* Canonicalize version before comparing specifiers. (`#282 `__)\n* Change type hint for ``canonicalize_name`` to return\n ``packaging.utils.NormalizedName``.\n This enables the use of static typing tools (like mypy) to detect mixing of\n normalized and un-normalized names.\n\n20.3 - 2020-03-05\n~~~~~~~~~~~~~~~~~\n\n* Fix changelog for 20.2.\n\n20.2 - 2020-03-05\n~~~~~~~~~~~~~~~~~\n\n* Fix a bug that caused a 32-bit OS that runs on a 64-bit ARM CPU (e.g. ARM-v8,\n aarch64), to report the wrong bitness.\n\n20.1 - 2020-01-24\n~~~~~~~~~~~~~~~~~~~\n\n* Fix a bug caused by reuse of an exhausted iterator. (`#257 `__)\n\n20.0 - 2020-01-06\n~~~~~~~~~~~~~~~~~\n\n* Add type hints (`#191 `__)\n\n* Add proper trove classifiers for PyPy support (`#198 `__)\n\n* Scale back depending on ``ctypes`` for manylinux support detection (`#171 `__)\n\n* Use ``sys.implementation.name`` where appropriate for ``packaging.tags`` (`#193 `__)\n\n* Expand upon the API provded by ``packaging.tags``: ``interpreter_name()``, ``mac_platforms()``, ``compatible_tags()``, ``cpython_tags()``, ``generic_tags()`` (`#187 `__)\n\n* Officially support Python 3.8 (`#232 `__)\n\n* Add ``major``, ``minor``, and ``micro`` aliases to ``packaging.version.Version`` (`#226 `__)\n\n* Properly mark ``packaging`` has being fully typed by adding a `py.typed` file (`#226 `__)\n\n19.2 - 2019-09-18\n~~~~~~~~~~~~~~~~~\n\n* Remove dependency on ``attrs`` (`#178 `__, `#179 `__)\n\n* Use appropriate fallbacks for CPython ABI tag (`#181 `__, `#185 `__)\n\n* Add manylinux2014 support (`#186 `__)\n\n* Improve ABI detection (`#181 `__)\n\n* Properly handle debug wheels for Python 3.8 (`#172 `__)\n\n* Improve detection of debug builds on Windows (`#194 `__)\n\n19.1 - 2019-07-30\n~~~~~~~~~~~~~~~~~\n\n* Add the ``packaging.tags`` module. (`#156 `__)\n\n* Correctly handle two-digit versions in ``python_version`` (`#119 `__)\n\n\n19.0 - 2019-01-20\n~~~~~~~~~~~~~~~~~\n\n* Fix string representation of PEP 508 direct URL requirements with markers.\n\n* Better handling of file URLs\n\n This allows for using ``file:///absolute/path``, which was previously\n prevented due to the missing ``netloc``.\n\n This allows for all file URLs that ``urlunparse`` turns back into the\n original URL to be valid.\n\n\n18.0 - 2018-09-26\n~~~~~~~~~~~~~~~~~\n\n* Improve error messages when invalid requirements are given. (`#129 `__)\n\n\n17.1 - 2017-02-28\n~~~~~~~~~~~~~~~~~\n\n* Fix ``utils.canonicalize_version`` when supplying non PEP 440 versions.\n\n\n17.0 - 2017-02-28\n~~~~~~~~~~~~~~~~~\n\n* Drop support for python 2.6, 3.2, and 3.3.\n\n* Define minimal pyparsing version to 2.0.2 (`#91 `__).\n\n* Add ``epoch``, ``release``, ``pre``, ``dev``, and ``post`` attributes to\n ``Version`` and ``LegacyVersion`` (`#34 `__).\n\n* Add ``Version().is_devrelease`` and ``LegacyVersion().is_devrelease`` to\n make it easy to determine if a release is a development release.\n\n* Add ``utils.canonicalize_version`` to canonicalize version strings or\n ``Version`` instances (`#121 `__).\n\n\n16.8 - 2016-10-29\n~~~~~~~~~~~~~~~~~\n\n* Fix markers that utilize ``in`` so that they render correctly.\n\n* Fix an erroneous test on Python RC releases.\n\n\n16.7 - 2016-04-23\n~~~~~~~~~~~~~~~~~\n\n* Add support for the deprecated ``python_implementation`` marker which was\n an undocumented setuptools marker in addition to the newer markers.\n\n\n16.6 - 2016-03-29\n~~~~~~~~~~~~~~~~~\n\n* Add support for the deprecated, PEP 345 environment markers in addition to\n the newer markers.\n\n\n16.5 - 2016-02-26\n~~~~~~~~~~~~~~~~~\n\n* Fix a regression in parsing requirements with whitespaces between the comma\n separators.\n\n\n16.4 - 2016-02-22\n~~~~~~~~~~~~~~~~~\n\n* Fix a regression in parsing requirements like ``foo (==4)``.\n\n\n16.3 - 2016-02-21\n~~~~~~~~~~~~~~~~~\n\n* Fix a bug where ``packaging.requirements:Requirement`` was overly strict when\n matching legacy requirements.\n\n\n16.2 - 2016-02-09\n~~~~~~~~~~~~~~~~~\n\n* Add a function that implements the name canonicalization from PEP 503.\n\n\n16.1 - 2016-02-07\n~~~~~~~~~~~~~~~~~\n\n* Implement requirement specifiers from PEP 508.\n\n\n16.0 - 2016-01-19\n~~~~~~~~~~~~~~~~~\n\n* Relicense so that packaging is available under *either* the Apache License,\n Version 2.0 or a 2 Clause BSD license.\n\n* Support installation of packaging when only distutils is available.\n\n* Fix ``==`` comparison when there is a prefix and a local version in play.\n (`#41 `__).\n\n* Implement environment markers from PEP 508.\n\n\n15.3 - 2015-08-01\n~~~~~~~~~~~~~~~~~\n\n* Normalize post-release spellings for rev/r prefixes. `#35 `__\n\n\n15.2 - 2015-05-13\n~~~~~~~~~~~~~~~~~\n\n* Fix an error where the arbitary specifier (``===``) was not correctly\n allowing pre-releases when it was being used.\n\n* Expose the specifier and version parts through properties on the\n ``Specifier`` classes.\n\n* Allow iterating over the ``SpecifierSet`` to get access to all of the\n ``Specifier`` instances.\n\n* Allow testing if a version is contained within a specifier via the ``in``\n operator.\n\n\n15.1 - 2015-04-13\n~~~~~~~~~~~~~~~~~\n\n* Fix a logic error that was causing inconsistent answers about whether or not\n a pre-release was contained within a ``SpecifierSet`` or not.\n\n\n15.0 - 2015-01-02\n~~~~~~~~~~~~~~~~~\n\n* Add ``Version().is_postrelease`` and ``LegacyVersion().is_postrelease`` to\n make it easy to determine if a release is a post release.\n\n* Add ``Version().base_version`` and ``LegacyVersion().base_version`` to make\n it easy to get the public version without any pre or post release markers.\n\n* Support the update to PEP 440 which removed the implied ``!=V.*`` when using\n either ``>V`` or ``V`` or ````) operator.\n\n\n14.3 - 2014-11-19\n~~~~~~~~~~~~~~~~~\n\n* **BACKWARDS INCOMPATIBLE** Refactor specifier support so that it can sanely\n handle legacy specifiers as well as PEP 440 specifiers.\n\n* **BACKWARDS INCOMPATIBLE** Move the specifier support out of\n ``packaging.version`` into ``packaging.specifiers``.\n\n\n14.2 - 2014-09-10\n~~~~~~~~~~~~~~~~~\n\n* Add prerelease support to ``Specifier``.\n* Remove the ability to do ``item in Specifier()`` and replace it with\n ``Specifier().contains(item)`` in order to allow flags that signal if a\n prerelease should be accepted or not.\n* Add a method ``Specifier().filter()`` which will take an iterable and returns\n an iterable with items that do not match the specifier filtered out.\n\n\n14.1 - 2014-09-08\n~~~~~~~~~~~~~~~~~\n\n* Allow ``LegacyVersion`` and ``Version`` to be sorted together.\n* Add ``packaging.version.parse()`` to enable easily parsing a version string\n as either a ``Version`` or a ``LegacyVersion`` depending on it's PEP 440\n validity.\n\n\n14.0 - 2014-09-05\n~~~~~~~~~~~~~~~~~\n\n* Initial release.\n\n\n.. _`master`: https://github.com/pypa/packaging/\n\n\n", + "description_content_type": "text/x-rst", + "home_page": "https://github.com/pypa/packaging", + "author": "Donald Stufft and individual contributors", + "author_email": "donald@stufft.io", + "license": "BSD-2-Clause or Apache-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "License :: OSI Approved :: BSD License", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "requires_dist": [ + "pyparsing (>=2.0.2)" + ], + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/b9/af/6725e8a2ad904adfbd8f388d83b5397b44f52e4fd167b087ed1b7edb7cdc/azure_cli-2.62.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=cc0243fdedf5b2ed1546d0adac85d985eeadbdc9bbae89225945a3a67ff015bb", + "hashes": { + "sha256": "cc0243fdedf5b2ed1546d0adac85d985eeadbdc9bbae89225945a3a67ff015bb" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "azure-cli", + "version": "2.62.0", + "summary": "Microsoft Azure Command-Line Tools", + "description": "Microsoft Azure CLI\n===================\n\nA great cloud needs great tools; we're excited to introduce *Azure CLI*, our next generation multi-platform command line experience for Azure.\n\nUsage\n=====\n.. code-block:: console\n\n $ az [ group ] [ subgroup ] [ command ] {parameters}\n\n\nGetting Started\n=====================\n\nAfter installation, use the ``az configure`` command to help setup your environment.\n\n.. code-block:: console\n\n $ az configure\n\nFor usage and help content, pass in the ``-h`` parameter, for example:\n\n.. code-block:: console\n\n $ az storage -h\n $ az vm create -h\n\nHighlights\n===========\n\nHere are a few features and concepts that can help you get the most out of the Azure CLI.\n\nThe following examples are showing using the ``--output table`` format, you can change your default using the ``$ az configure`` command.\n\nTab Completion\n++++++++++++++\n\nWe support tab-completion for groups, commands, and some parameters\n\n.. code-block:: console\n\n # looking up resource group and name\n $ az vm show -g [tab][tab]\n AccountingGroup RGOne WebPropertiesRG\n $ az vm show -g WebPropertiesRG -n [tab][tab]\n StoreVM Bizlogic\n $ az vm show -g WebPropertiesRG -n Bizlogic\n\nQuerying\n++++++++\n\nYou can use the ``--query`` parameter and the JMESPath query syntax to customize your output.\n\n.. code-block:: console\n\n $ az vm list --query '[].{name:name,os:storageProfile.osDisk.osType}'\n Name Os\n ---------------------- -------\n storevm Linux\n bizlogic Linux\n demo32111vm Windows\n dcos-master-39DB807E-0 Linux\n\nCreating a new Linux VM\n+++++++++++++++++++++++\nThe following block creates a new resource group in the 'westus' region, then creates a new Ubuntu VM. We automatically provide a series of smart defaults, such as setting up SSH with your ``~/.ssh/id_rsa.pub`` key. For more details, try ``az vm create -h``.\n\n.. code-block:: console\n\n $ az group create -l westus -n MyGroup\n Name Location\n ------- ----------\n MyGroup westus\n\n $ az vm create -g MyGroup -n MyVM --image ubuntults\n MacAddress ResourceGroup PublicIpAddress PrivateIpAddress\n ----------------- --------------- ----------------- ------------------\n 00-0D-3A-30-B2-D7 MyGroup 52.160.111.118 10.0.0.4\n\n $ ssh 52.160.111.118\n Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-65-generic x86_64)\n\n System information as of Thu Sep 15 20:47:31 UTC 2016\n\n System load: 0.39 Memory usage: 2% Processes: 80\n Usage of /: 39.6% of 1.94GB Swap usage: 0% Users logged in: 0\n\n jasonsha@MyVM:~$\n\nMore Samples and Snippets\n+++++++++++++++++++++++++\nFor more usage examples, take a look at our `GitHub samples repo `__.\n\nReporting issues and feedback\n=======================================\n\nIf you encounter any bugs with the tool please file an issue in the `Issues `__ section of our GitHub repo.\n\nTo provide feedback from the command line, try the ``az feedback`` command.\n\nLicense\n=======\n\n`MIT `__\n\nRelease History\n===============\n\nSee `Azure CLI release notes `__.\n", + "home_page": "https://github.com/Azure/azure-cli", + "author": "Microsoft Corporation", + "author_email": "azpycli@microsoft.com", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "antlr4-python3-runtime ~=4.13.1", + "azure-appconfiguration ~=1.1.1", + "azure-batch ~=14.2.0", + "azure-cli-core ==2.62.0", + "azure-cosmos >=3.0.2,~=3.0", + "azure-data-tables ==12.4.0", + "azure-datalake-store ~=0.0.49", + "azure-graphrbac ~=0.60.0", + "azure-keyvault-administration ==4.4.0b2", + "azure-keyvault-certificates ==4.7.0", + "azure-keyvault-keys ==4.9.0b3", + "azure-keyvault-secrets ==4.7.0", + "azure-mgmt-advisor ==9.0.0", + "azure-mgmt-apimanagement ==4.0.0", + "azure-mgmt-appconfiguration ==3.0.0", + "azure-mgmt-appcontainers ==2.0.0", + "azure-mgmt-applicationinsights ~=1.0.0", + "azure-mgmt-authorization ~=4.0.0", + "azure-mgmt-batchai ==7.0.0b1", + "azure-mgmt-batch ~=17.3.0", + "azure-mgmt-billing ==6.0.0", + "azure-mgmt-botservice ~=2.0.0b3", + "azure-mgmt-cdn ==12.0.0", + "azure-mgmt-cognitiveservices ~=13.5.0", + "azure-mgmt-compute ~=31.0.0", + "azure-mgmt-containerinstance ==10.1.0", + "azure-mgmt-containerregistry ==10.3.0", + "azure-mgmt-containerservice ~=30.0.0", + "azure-mgmt-cosmosdb ==9.5.1", + "azure-mgmt-databoxedge ~=1.0.0", + "azure-mgmt-datamigration ~=10.0.0", + "azure-mgmt-devtestlabs ~=4.0", + "azure-mgmt-dns ~=8.0.0", + "azure-mgmt-eventgrid ==10.2.0b2", + "azure-mgmt-eventhub ~=10.1.0", + "azure-mgmt-extendedlocation ==1.0.0b2", + "azure-mgmt-hdinsight ~=9.0.0", + "azure-mgmt-imagebuilder ~=1.3.0", + "azure-mgmt-iotcentral ~=10.0.0b1", + "azure-mgmt-iothub ==3.0.0", + "azure-mgmt-iothubprovisioningservices ==1.1.0", + "azure-mgmt-keyvault ==10.3.0", + "azure-mgmt-kusto ~=0.3.0", + "azure-mgmt-loganalytics ==13.0.0b4", + "azure-mgmt-managedservices ~=1.0", + "azure-mgmt-managementgroups ~=1.0.0", + "azure-mgmt-maps ~=2.0.0", + "azure-mgmt-marketplaceordering ==1.1.0", + "azure-mgmt-media ~=9.0", + "azure-mgmt-monitor ~=5.0.0", + "azure-mgmt-msi ~=7.0.0", + "azure-mgmt-netapp ~=10.1.0", + "azure-mgmt-policyinsights ==1.1.0b4", + "azure-mgmt-privatedns ~=1.0.0", + "azure-mgmt-rdbms ~=10.2.0b16", + "azure-mgmt-recoveryservicesbackup ~=9.1.0", + "azure-mgmt-recoveryservices ~=3.0.0", + "azure-mgmt-redis ~=14.3.0", + "azure-mgmt-redhatopenshift ~=1.4.0", + "azure-mgmt-resource ==23.1.1", + "azure-mgmt-search ~=9.0", + "azure-mgmt-security ==6.0.0", + "azure-mgmt-servicebus ~=8.2.0", + "azure-mgmt-servicefabricmanagedclusters ==2.0.0b6", + "azure-mgmt-servicelinker ==1.2.0b2", + "azure-mgmt-servicefabric ~=2.1.0", + "azure-mgmt-signalr ==2.0.0b1", + "azure-mgmt-sqlvirtualmachine ==1.0.0b5", + "azure-mgmt-sql ==4.0.0b17", + "azure-mgmt-storage ==21.2.0", + "azure-mgmt-synapse ==2.1.0b5", + "azure-mgmt-trafficmanager ~=1.0.0", + "azure-mgmt-web ==7.2.0", + "azure-monitor-query ==1.2.0", + "azure-multiapi-storage ~=1.2.0", + "azure-storage-common ~=1.4", + "azure-synapse-accesscontrol ~=0.5.0", + "azure-synapse-artifacts ~=0.19.0", + "azure-synapse-managedprivateendpoints ~=0.4.0", + "azure-synapse-spark ~=0.2.0", + "chardet ~=5.2.0", + "colorama ~=0.4.4", + "fabric ~=3.2.2", + "javaproperties ~=0.5.1", + "jsondiff ~=2.0.0", + "packaging >=20.9", + "pycomposefile >=0.0.29", + "PyGithub ~=1.38", + "PyNaCl ~=1.5.0", + "scp ~=0.13.2", + "semver ==2.13.0", + "six >=1.10.0", + "sshtunnel ~=0.1.4", + "tabulate", + "urllib3", + "websocket-client ~=1.3.1", + "xmltodict ~=0.12", + "distro ; sys_platform == \"linux\"" + ], + "requires_python": ">=3.8.0" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/80/0a/747a9c09f52da6060aa83a85d9190330fe19b3a0db8bcdb1241087ed8f3e/azure_cli_core-2.62.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=f734927df3597e222cc63121e5c8ff82eb408f38ad90cbbf48d91a5c5ffd4f9c", + "hashes": { + "sha256": "f734927df3597e222cc63121e5c8ff82eb408f38ad90cbbf48d91a5c5ffd4f9c" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-cli-core", + "version": "2.62.0", + "summary": "Microsoft Azure Command-Line Tools Core Module", + "description": "Microsoft Azure CLI Core Module\n==================================\n\nRelease History\n===============\n\nSee `Release History on GitHub `__.\n", + "home_page": "https://github.com/Azure/azure-cli", + "author": "Microsoft Corporation", + "author_email": "azpycli@microsoft.com", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "argcomplete ~=3.3.0", + "azure-cli-telemetry ==1.1.0.*", + "azure-mgmt-core <2,>=1.2.0", + "cryptography", + "humanfriendly ~=10.0", + "jmespath", + "knack ~=0.11.0", + "msal-extensions ==1.2.0b1", + "msal[broker] ==1.28.1", + "msrestazure ~=0.6.4", + "packaging >=20.9", + "paramiko <4.0.0,>=2.0.8", + "pkginfo >=1.5.0.1", + "PyJWT >=2.1.0", + "pyopenssl >=17.1.0", + "requests[socks]", + "psutil ~=5.9 ; sys_platform != \"cygwin\"", + "distro ; sys_platform == \"linux\"" + ], + "requires_python": ">=3.8.0" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/2d/b0/de3f41976ec514e477a679a3238899709572cb4808ca4291062296cfb89e/azure_data_tables-12.4.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=a9a2f3a7db410a874c91d5b0994c697d3d8c54c322be1bbf3d1186ec74ab0968", + "hashes": { + "sha256": "a9a2f3a7db410a874c91d5b0994c697d3d8c54c322be1bbf3d1186ec74ab0968" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-data-tables", + "version": "12.4.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Azure Data Tables Client Library for Python", + "description": "# Azure Tables client library for Python\n\nAzure Tables is a NoSQL data storage service that can be accessed from anywhere in the world via authenticated calls using HTTP or HTTPS.\nTables scales as needed to support the amount of data inserted, and allow for the storing of data with non-complex accessing.\nThe Azure Tables client can be used to access Azure Storage or Cosmos accounts. This document covers [`azure-data-tables`][Tables_pypi].\n\nPlease note, this package is a replacement for [`azure-cosmosdb-tables`](https://github.com/Azure/azure-cosmos-table-python/tree/master/azure-cosmosdb-table) which is now deprecated. See the [migration guide][migration_guide] for more details.\n\n[Source code][source_code] | [Package (PyPI)][Tables_pypi] | [API reference documentation][Tables_ref_docs] | [Samples][Tables_samples]\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\nThe Azure Tables SDK can access an Azure Storage or CosmosDB account.\n\n### Prerequisites\n* Python 3.6 or later is required to use this package.\n* You must have an [Azure subscription][azure_subscription] and either\n * an [Azure Storage account][azure_storage_account] or\n * an [Azure Cosmos Account][azure_cosmos_account].\n\n#### Create account\n* To create a new storage account, you can use [Azure Portal][azure_portal_create_account], [Azure PowerShell][azure_powershell_create_account], or [Azure CLI][azure_cli_create_account]:\n* To create a new cosmos storage account, you can use the [Azure CLI][azure_cli_create_cosmos] or [Azure Portal][azure_portal_create_cosmos].\n\n### Install the package\nInstall the Azure Tables client library for Python with [pip][pip_link]:\n```bash\npip install azure-data-tables\n```\n\n#### Create the client\nThe Azure Tables library allows you to interact with two types of resources:\n* the tables in your account\n* the entities within those tables.\nInteraction with these resources starts with an instance of a [client](#clients). To create a client object, you will need the account's table service endpoint URL and a credential that allows you to access the account. The `endpoint` can be found on the page for your storage account in the [Azure Portal][azure_portal_account_url] under the \"Access Keys\" section or by running the following Azure CLI command:\n\n```bash\n# Get the table service URL for the account\naz storage account show -n mystorageaccount -g MyResourceGroup --query \"primaryEndpoints.table\"\n```\n\nOnce you have the account URL, it can be used to create the service client:\n```python\nfrom azure.data.tables import TableServiceClient\nservice = TableServiceClient(endpoint=\"https://.table.core.windows.net/\", credential=credential)\n```\n\nFor more information about table service URL's and how to configure custom domain names for Azure Storage check out the [official documentation][azure_portal_account_url]\n\n#### Types of credentials\nThe `credential` parameter may be provided in a number of different forms, depending on the type of authorization you wish to use. The Tables library supports the following authorizations:\n* Shared Key\n* Connection String\n* Shared Access Signature Token\n\n##### Creating the client from a shared key\nTo use an account [shared key][azure_shared_key] (aka account key or access key), provide the key as a string. This can be found in your storage account in the [Azure Portal][azure_portal_account_url] under the \"Access Keys\" section or by running the following Azure CLI command:\n\n```bash\naz storage account keys list -g MyResourceGroup -n MyStorageAccount\n```\n\nUse the key as the credential parameter to authenticate the client:\n```python\nfrom azure.core.credentials import AzureNamedKeyCredential\nfrom azure.data.tables import TableServiceClient\n\ncredential = AzureNamedKeyCredential(\"my_account_name\", \"my_access_key\")\n\nservice = TableServiceClient(endpoint=\"https://.table.core.windows.net\", credential=credential)\n```\n\n##### Creating the client from a connection string\nDepending on your use case and authorization method, you may prefer to initialize a client instance with a connection string instead of providing the account URL and credential separately. To do this, pass the\nconnection string to the client's `from_connection_string` class method. The connection string can be found in your storage account in the [Azure Portal][azure_portal_account_url] under the \"Access Keys\" section or with the following Azure CLI command:\n\n```bash\naz storage account show-connection-string -g MyResourceGroup -n MyStorageAccount\n```\n\n```python\nfrom azure.data.tables import TableServiceClient\nconnection_string = \"DefaultEndpointsProtocol=https;AccountName=;AccountKey=;EndpointSuffix=core.windows.net\"\nservice = TableServiceClient.from_connection_string(conn_str=connection_string)\n```\n\n##### Creating the client from a SAS token\nTo use a [shared access signature (SAS) token][azure_sas_token], provide the token as a string. If your account URL includes the SAS token, omit the credential parameter. You can generate a SAS token from the Azure Portal under [Shared access signature](https://docs.microsoft.com/rest/api/storageservices/create-service-sas) or use one of the `generate_*_sas()`\n functions to create a sas token for the account or table:\n\n```python\nfrom datetime import datetime, timedelta\nfrom azure.data.tables import TableServiceClient, generate_account_sas, ResourceTypes, AccountSasPermissions\nfrom azure.core.credentials import AzureNamedKeyCredential, AzureSasCredential\n\ncredential = AzureNamedKeyCredential(\"my_account_name\", \"my_access_key\")\nsas_token = generate_account_sas(\n credential,\n resource_types=ResourceTypes(service=True),\n permission=AccountSasPermissions(read=True),\n expiry=datetime.utcnow() + timedelta(hours=1),\n)\n\ntable_service_client = TableServiceClient(endpoint=\"https://.table.core.windows.net\", credential=AzureSasCredential(sas_token))\n```\n\n\n## Key concepts\nCommon uses of the Table service included:\n* Storing TBs of structured data capable of serving web scale applications\n* Storing datasets that do not require complex joins, foreign keys, or stored procedures and can be de-normalized for fast access\n* Quickly querying data using a clustered index\n* Accessing data using the OData protocol and LINQ filter expressions\n\nThe following components make up the Azure Tables Service:\n* The account\n* A table within the account, which contains a set of entities\n* An entity within a table, as a dictionary\n\nThe Azure Tables client library for Python allows you to interact with each of these components through the\nuse of a dedicated client object.\n\n### Clients\nTwo different clients are provided to interact with the various components of the Table Service:\n1. **`TableServiceClient`** -\n * Get and set account setting\n * Query, create, and delete tables within the account.\n * Get a `TableClient` to access a specific table using the `get_table_client` method.\n2. **`TableClient`** -\n * Interacts with a specific table (which need not exist yet).\n * Create, delete, query, and upsert entities within the specified table.\n * Create or delete the specified table itself.\n\n### Entities\nEntities are similar to rows. An entity has a **`PartitionKey`**, a **`RowKey`**, and a set of properties. A property is a name value pair, similar to a column. Every entity in a table does not need to have the same properties. Entities can be represented as dictionaries like this as an example:\n```python\nentity = {\n 'PartitionKey': 'color',\n 'RowKey': 'brand',\n 'text': 'Marker',\n 'color': 'Purple',\n 'price': '5'\n}\n```\n* **[create_entity][create_entity]** - Add an entity to the table.\n* **[delete_entity][delete_entity]** - Delete an entity from the table.\n* **[update_entity][update_entity]** - Update an entity's information by either merging or replacing the existing entity.\n * `UpdateMode.MERGE` will add new properties to an existing entity it will not delete an existing properties\n * `UpdateMode.REPLACE` will replace the existing entity with the given one, deleting any existing properties not included in the submitted entity\n* **[query_entities][query_entities]** - Query existing entities in a table using [OData filters][odata_syntax].\n* **[get_entity][get_entity]** - Get a specific entity from a table by partition and row key.\n* **[upsert_entity][upsert_entity]** - Merge or replace an entity in a table, or if the entity does not exist, inserts the entity.\n * `UpdateMode.MERGE` will add new properties to an existing entity it will not delete an existing properties\n * `UpdateMode.REPLACE` will replace the existing entity with the given one, deleting any existing properties not included in the submitted entity\n\n## Examples\n\nThe following sections provide several code snippets covering some of the most common Table tasks, including:\n\n* [Creating a table](#creating-a-table \"Creating a table\")\n* [Creating entities](#creating-entities \"Creating entities\")\n* [Querying entities](#querying-entities \"Querying entities\")\n\n\n### Creating a table\nCreate a table in your account and get a `TableClient` to perform operations on the newly created table:\n\n```python\nfrom azure.data.tables import TableServiceClient\ntable_service_client = TableServiceClient.from_connection_string(conn_str=\"\")\ntable_name = \"myTable\"\ntable_client = table_service_client.create_table(table_name=table_name)\n```\n\n### Creating entities\nCreate entities in the table:\n\n```python\nfrom azure.data.tables import TableServiceClient\nfrom datetime import datetime\n\nPRODUCT_ID = u'001234'\nPRODUCT_NAME = u'RedMarker'\n\nmy_entity = {\n u'PartitionKey': PRODUCT_NAME,\n u'RowKey': PRODUCT_ID,\n u'Stock': 15,\n u'Price': 9.99,\n u'Comments': u\"great product\",\n u'OnSale': True,\n u'ReducedPrice': 7.99,\n u'PurchaseDate': datetime(1973, 10, 4),\n u'BinaryRepresentation': b'product_name'\n}\n\ntable_service_client = TableServiceClient.from_connection_string(conn_str=\"\")\ntable_client = table_service_client.get_table_client(table_name=\"myTable\")\n\nentity = table_client.create_entity(entity=my_entity)\n```\n\n### Querying entities\nQuerying entities in the table:\n\n```python\nfrom azure.data.tables import TableClient\nmy_filter = \"PartitionKey eq 'RedMarker'\"\ntable_client = TableClient.from_connection_string(conn_str=\"\", table_name=\"mytable\")\nentities = table_client.query_entities(my_filter)\nfor entity in entities:\n for key in entity.keys():\n print(\"Key: {}, Value: {}\".format(key, entity[key]))\n```\n\n## Optional Configuration\nOptional keyword arguments can be passed in at the client and per-operation level. The azure-core [reference documentation][azure_core_ref_docs] describes available configurations for retries, logging, transport protocols, and more.\n\n\n### Retry Policy configuration\n\nUse the following keyword arguments when instantiating a client to configure the retry policy:\n\n* __retry_total__ (int): Total number of retries to allow. Takes precedence over other counts.\nPass in `retry_total=0` if you do not want to retry on requests. Defaults to 10.\n* __retry_connect__ (int): How many connection-related errors to retry on. Defaults to 3.\n* __retry_read__ (int): How many times to retry on read errors. Defaults to 3.\n* __retry_status__ (int): How many times to retry on bad status codes. Defaults to 3.\n* __retry_to_secondary__ (bool): Whether the request should be retried to secondary, if able.\nThis should only be enabled of RA-GRS accounts are used and potentially stale data can be handled.\nDefaults to `False`.\n\n### Other client / per-operation configuration\n\nOther optional configuration keyword arguments that can be specified on the client or per-operation.\n\n**Client keyword arguments:**\n\n* __connection_timeout__ (int): Optionally sets the connect and read timeout value, in seconds.\n* __transport__ (Any): User-provided transport to send the HTTP request.\n\n**Per-operation keyword arguments:**\n\n* __raw_response_hook__ (callable): The given callback uses the response returned from the service.\n* __raw_request_hook__ (callable): The given callback uses the request before being sent to service.\n* __client_request_id__ (str): Optional user specified identification of the request.\n* __user_agent__ (str): Appends the custom value to the user-agent header to be sent with the request.\n* __logging_enable__ (bool): Enables logging at the DEBUG level. Defaults to False. Can also be passed in at\nthe client level to enable it for all requests.\n* __headers__ (dict): Pass in custom headers as key, value pairs. E.g. `headers={'CustomValue': value}`\n\n\n## Troubleshooting\n\n### General\nAzure Tables clients raise exceptions defined in [Azure Core][azure_core_readme].\nWhen you interact with the Azure table library using the Python SDK, errors returned by the service respond ot the same HTTP status codes for [REST API][tables_rest] requests. The Table service operations will throw a `HttpResponseError` on failure with helpful [error codes][tables_error_codes].\n\nFor examples, if you try to create a table that already exists, a `409` error is returned indicating \"Conflict\".\n```python\nfrom azure.data.tables import TableServiceClient\nfrom azure.core.exceptions import HttpResponseError\ntable_name = 'YourTableName'\n\nservice_client = TableServiceClient.from_connection_string(connection_string)\n\n# Create the table if it does not already exist\ntc = service_client.create_table_if_not_exists(table_name)\n\ntry:\n service_client.create_table(table_name)\nexcept HttpResponseError:\n print(\"Table with name {} already exists\".format(table_name))\n```\n\n### Logging\nThis library uses the standard\n[logging][python_logging] library for logging.\nBasic information about HTTP sessions (URLs, headers, etc.) is logged at INFO\nlevel.\n\nDetailed DEBUG level logging, including request/response bodies and unredacted\nheaders, can be enabled on a client with the `logging_enable` argument:\n```python\nimport sys\nimport logging\nfrom azure.data.tables import TableServiceClient\n# Create a logger for the 'azure' SDK\nlogger = logging.getLogger('azure')\nlogger.setLevel(logging.DEBUG)\n\n# Configure a console output\nhandler = logging.StreamHandler(stream=sys.stdout)\nlogger.addHandler(handler)\n\n# This client will log detailed information about its HTTP sessions, at DEBUG level\nservice_client = TableServiceClient.from_connection_string(\"your_connection_string\", logging_enable=True)\n```\n\nSimilarly, `logging_enable` can enable detailed logging for a single operation,\neven when it is not enabled for the client:\n```python\nservice_client.create_entity(entity=my_entity, logging_enable=True)\n```\n\n## Next steps\n\nGet started with our [Table samples][tables_samples].\n\nSeveral 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.\n\n### Common Scenarios\nThese 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.\n\n* 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))\n* 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))\n* Insert and delete entities: [sample_insert_delete_entities.py](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/sample_insert_delete_entities.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/async_samples/sample_insert_delete_entities_async.py))\n* Query and list entities: [sample_query_table.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_query_table.py) ([async version](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/async_samples/sample_query_table_async.py))\n* Update, upsert, and merge entities: [sample_update_upsert_merge_entities.py](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/sample_update_upsert_merge_entities.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/async_samples/sample_update_upsert_merge_entities_async.py))\n* Committing many requests in a single transaction: [sample_batching.py](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/sample_batching.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples/async_samples/sample_batching_async.py))\n\n### Additional documentation\nFor more extensive documentation on Azure Tables, see the [Azure Tables documentation][Tables_product_doc] on docs.microsoft.com.\n\n## Known Issues\nA list of currently known issues relating to Cosmos DB table endpoints can be found [here](https://aka.ms/tablesknownissues).\n\n## Contributing\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][msft_oss_coc]. For more information see the [Code of Conduct FAQ][msft_oss_coc_faq] or contact [opencode@microsoft.com][contact_msft_oss] with any additional questions or comments.\n\n\n[source_code]:https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables\n[Tables_pypi]:https://aka.ms/azsdk/python/tablespypi\n[Tables_ref_docs]:https://docs.microsoft.com/python/api/overview/azure/data-tables-readme?view=azure-python\n[Tables_product_doc]:https://docs.microsoft.com/azure/cosmos-db/table-introduction\n[Tables_samples]:https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables/samples\n[migration_guide]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/migration_guide.md\n\n[azure_subscription]:https://azure.microsoft.com/free/\n[azure_storage_account]:https://docs.microsoft.com/azure/storage/common/storage-account-create?tabs=azure-portal\n[azure_cosmos_account]:https://docs.microsoft.com/azure/cosmos-db/create-cosmosdb-resources-portal\n[pip_link]:https://pypi.org/project/pip/\n\n[azure_create_cosmos]:https://docs.microsoft.com/azure/cosmos-db/create-cosmosdb-resources-portal\n[azure_cli_create_cosmos]:https://docs.microsoft.com/azure/cosmos-db/scripts/cli/table/create\n[azure_portal_create_cosmos]:https://docs.microsoft.com/azure/cosmos-db/create-cosmosdb-resources-portal\n[azure_portal_create_account]:https://docs.microsoft.com/azure/storage/common/storage-account-create?tabs=azure-portal\n[azure_powershell_create_account]:https://docs.microsoft.com/azure/storage/common/storage-account-create?tabs=azure-powershell\n[azure_cli_create_account]: https://docs.microsoft.com/azure/storage/common/storage-account-create?tabs=azure-cli\n\n[azure_cli_account_url]:https://docs.microsoft.com/cli/azure/storage/account?view=azure-cli-latest#az-storage-account-show\n[azure_powershell_account_url]:https://docs.microsoft.com/powershell/module/az.storage/get-azstorageaccount?view=azps-4.6.1\n[azure_portal_account_url]:https://docs.microsoft.com/azure/storage/common/storage-account-overview#storage-account-endpoints\n\n[azure_sas_token]:https://docs.microsoft.com/azure/storage/common/storage-sas-overview\n[azure_shared_key]:https://docs.microsoft.com/rest/api/storageservices/authorize-with-shared-key\n\n[odata_syntax]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/README.md#writing-filters\n\n[azure_core_ref_docs]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-core/latest/azure.core.html\n[azure_core_readme]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md\n\n[python_logging]: https://docs.python.org/3/library/logging.html\n[tables_error_codes]: https://docs.microsoft.com/rest/api/storageservices/table-service-error-codes\n\n[msft_oss_coc]:https://opensource.microsoft.com/codeofconduct/\n[msft_oss_coc_faq]:https://opensource.microsoft.com/codeofconduct/faq/\n[contact_msft_oss]:mailto:opencode@microsoft.com\n\n[tables_rest]: https://docs.microsoft.com/rest/api/storageservices/table-service-rest-api\n\n[create_entity]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_insert_delete_entities.py#L67-L73\n[delete_entity]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_insert_delete_entities.py#L89-L92\n[update_entity]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_update_upsert_merge_entities.py#L165-L181\n[query_entities]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_query_table.py#L75-L89\n[get_entity]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_update_upsert_merge_entities.py#L67-L71\n[upsert_entity]:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/samples/sample_update_upsert_merge_entities.py#L155-L163\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python/sdk/tables/azure-data-tables/README.png)\n\n\n# Release History\n\n## 12.4.0 (2022-05-10)\n\n### Features Added\n* Support for multitenant authentication ([#24278](https://github.com/Azure/azure-sdk-for-python/pull/24278))\n\n### Bugs Fixed\n* Fixed bug where odmtype tag was not being included for boolean and int32 types even when a full EdmProperty tuple was passed in. This is needed for CLI compatibility.\n\n## 12.3.0 (2022-03-10)\n\n### Bugs Fixed\n* Validation of the table name has been removed from the constructor of the TableClient. Instead individual APIs will validate the table name and raise a ValueError only if the service rejects the request due to the table name not being valid (#23106)\n* Fixed hard-coded URL scheme in batch requests (#21953)\n* Improved documentation for query formatting in `query_entities` APIs (#23235)\n* Removed unsecure debug logging\n\n### Other Changes\n* Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n* Bumped dependency on `azure-core` to `>=1.15.0`\n\n## 12.2.0 (2021-11-10)\n**Warning** This release involves a bug fix that may change the behaviour for some users. Partition and Row keys that contain a single quote character (`'`) will now be automatically escaped for upsert, update and delete entity operations. Partition and Row keys that were already escaped, or contained duplicate single quote char (`''`) will now be treated as unescaped values.\n\n\n### Bugs Fixed\n* Resolved bug where strings couldn't be used instead of enum value for entity Update Mode (#20247).\n* Resolved bug where single quote characters in Partition and Row keys were not escaped correctly (#20301).\n\n### Features Added\n* Added support for async iterators in `aio.TableClient.submit_transaction (#21083, thank you yashbhutoria).\n\n### Other Changes\n* Bumped dependency on `msrest` to `>=0.6.21`\n\n## 12.1.0 (2021-07-06)\n\n### Features Added\n* Storage Accounts only: `TableClient` and `TableServiceClient`s can now use `azure-identity` credentials for authentication. Note: A `TableClient` authenticated with a `TokenCredential` cannot use the `get_table_access_policy` or `set_table_access_policy` methods.\n\n## 12.0.0 (2021-06-08)\n**Breaking**\n* EdmType.Binary data in entities will now be deserialized as `bytes` in Python 3 and `str` in Python 2, rather than an `EdmProperty` instance. Likewise on serialization, `bytes` in Python 3 and `str` in Python 2 will be interpreted as binary (this is unchanged for Python 3, but breaking for Python 2, where `str` was previously serialized as EdmType.String)\n* `TableClient.create_table` now returns an instance of `TableItem`.\n* All optional parameters for model constructors are now keyword-only.\n* Storage service configuration models have now been prefixed with `Table`, including\n `TableAccessPolicy`, `TableMetrics`, `TableRetentionPolicy`, `TableCorsRule`\n* All parameters for `TableServiceClient.set_service_properties` are now keyword-only.\n* The `credential` parameter for all Clients is now keyword-only.\n* The method `TableClient.get_access_policy` will now return `None` where previously it returned an \"empty\" access policy object.\n* Timestamp properties on `TableAccessPolicy` instances returned from `TableClient.get_access_policy` will now be deserialized to `datetime` instances.\n\n**Fixes**\n* Fixed support for Cosmos emulator endpoint, via URL/credential or connection string.\n* Fixed table name from URL parsing in `TableClient.from_table_url` classmethod.\n* The `account_name` attribute on clients will now be pulled from an `AzureNamedKeyCredential` if used.\n* Any additional odata metadata is returned in entity's metadata.\n* The timestamp in entity metadata is now deserialized to a timestamp.\n* If the `prefer` header is added in the `create_entity` operation, the echo will be returned.\n* Errors raised on a 412 if-not-match error will now be a specific `azure.core.exceptions.ResourceModifiedError`.\n* `EdmType.DOUBLE` values are now explicitly typed in the request payload.\n* Fixed de/serialization of list attributes on `TableCorsRule`.\n\n## 12.0.0b7 (2021-05-11)\n**Breaking**\n* The `account_url` parameter in the client constructors has been renamed to `endpoint`.\n* The `TableEntity` object now acts exclusively like a dictionary, and no longer supports key access via attributes.\n* Metadata of an entity is now accessed via `TableEntity.metadata` attribute rather than a method.\n* Removed explicit `LinearRetry` and `ExponentialRetry` in favor of keyword parameter.\n* Renamed `filter` parameter in query APIs to `query_filter`.\n* The `location_mode` attribute on clients is now read-only. This has been added as a keyword parameter to the constructor.\n* The `TableItem.table_name` has been renamed to `TableItem.name`.\n* Removed the `TableClient.create_batch` method along with the `TableBatchOperations` object. The transactional batching is now supported via a simple Python list of tuples.\n* `TableClient.send_batch` has been renamed to `TableClient.submit_transaction`.\n* Removed `BatchTransactionResult` object in favor of returning an iterable of batched entities with returned metadata.\n* Removed Batching context-manager behavior\n* `EntityProperty` is now a NampedTuple, and can be represented by a tuple of `(entity, EdmType)`.\n* Renamed `EntityProperty.type` to `EntityProperty.edm_type`.\n* `BatchErrorException` has been renamed to `TableTransactionError`.\n* The `location_mode` is no longer a public attribute on the Clients.\n* The only supported credentials are `AzureNamedKeyCredential`, `AzureSasCredential`, or authentication by connection string\n* Removed `date` and `api_version` from the `TableItem` class.\n\n**Fixes**\n* Fixed issue with Cosmos merge operations.\n* Removed legacy Storage policies from pipeline.\n* Removed unused legacy client-side encryption attributes from client classes.\n* Fixed sharing of pipeline between service/table clients.\n* Added support for Azurite storage emulator\n* Throws a `RequestTooLargeError` on transaction requests that return a 413 error code\n* Added support for Int64 and Binary types in query filters\n* Added support for `select` keyword parameter to `TableClient.get_entity()`.\n* On `update_entity` and `delete_entity` if no `etag` is supplied via kwargs, the `etag` in the entity will be used if it is in the entity.\n\n## 12.0.0b6 (2021-04-06)\n* Updated deserialization of datetime fields in entities to support preservation of the service format with additional decimal place.\n* Passing a string parameter into a query filter will now be escaped to protect against injection.\n* Fixed bug in incrementing retries in async retry policy\n\n## 12.0.0b5 (2021-03-09)\n* This version and all future versions will require Python 2.7 or Python 3.6+, Python 3.5 is no longer supported.\n* Adds SAS credential as an authentication option\n* Bumps minimum requirement of `azure-core` to 1.10.0\n* Bumped minimum requirement of msrest from `0.6.10` to `0.6.19`.\n* Adds support for datetime entities with milliseconds\n* Adds support for Shared Access Signature authentication\n\n## 12.0.0b4 (2021-01-12)\n* Fixes an [issue](https://github.com/Azure/azure-sdk-for-python/issues/15554) where `query_entities` kwarg `parameters` would not work with multiple parameters or with non-string parameters. This now works with multiple parameters and numeric, string, boolean, UUID, and datetime objects.\n* Fixes an [issue](https://github.com/Azure/azure-sdk-for-python/issues/15653) where `delete_entity` will return a `ClientAuthenticationError` when the '@' symbol is included in the entity.\n\n## 12.0.0b3 (2020-11-12)\n* Add support for transactional batching of entity operations.\n* Fixed deserialization bug in `list_tables` and `query_tables` where `TableItem.table_name` was an object instead of a string.\n* Fixed issue where unrecognized entity data fields were silently ignored. They will now raise a `TypeError`.\n* Fixed issue where query filter parameters were being ignored (#15094)\n\n## 12.0.0b2 (2020-10-07)\n* Adds support for Enumerable types by converting the Enum to a string before sending to the service\n\n## 12.0.0b1 (2020-09-08)\nThis is the first beta of the `azure-data-tables` client library. The Azure Tables client library can seamlessly target either Azure Table storage or Azure Cosmos DB table service endpoints with no code changes.\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/table/azure-table", + "author": "Microsoft Corporation", + "author_email": "ascl@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "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", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "azure-core (<2.0.0,>=1.15.0)", + "msrest (>=0.6.21)" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/db/e4/2af01780ecaa82027e3e466017a58da1c0e5508888d68c953492a53f34f8/azure_keyvault_administration-4.4.0b2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=cbec09fa0bbb8d9490761dabaee07faa753c961102ee847e6cbaad063b628a9f", + "hashes": { + "sha256": "cbec09fa0bbb8d9490761dabaee07faa753c961102ee847e6cbaad063b628a9f" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-keyvault-administration", + "version": "4.4.0b2", + "summary": "Microsoft Azure Key Vault Administration Client Library for Python", + "description": "# Azure Key Vault Administration client library for Python\n\n>**Note:** The Administration library only works with [Managed HSM][managed_hsm] – functions targeting a Key Vault will fail.\n\nAzure Key Vault helps solve the following problems:\n- Vault administration (this library) - role-based access control (RBAC), and vault-level backup and restore options\n- Cryptographic key management ([azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys)) - create, store, and control\naccess to the keys used to encrypt your data\n- Secrets management\n([azure-keyvault-secrets](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets)) -\nsecurely store and control access to tokens, passwords, certificates, API keys,\nand other secrets\n- Certificate management\n([azure-keyvault-certificates](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates)) -\ncreate, manage, and deploy public and private SSL/TLS certificates\n\n[Source code][library_src]\n| [Package (PyPI)][pypi_package_administration]\n| [Package (Conda)](https://anaconda.org/microsoft/azure-keyvault/)\n| [API reference documentation][reference_docs]\n| [Product documentation][keyvault_docs]\n| [Samples][administration_samples]\n\n## _Disclaimer_\n\n_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._\n_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)._\n\n## Getting started\n### Install packages\nInstall [azure-keyvault-administration][pypi_package_administration] and\n[azure-identity][azure_identity_pypi] with [pip][pip]:\n```Bash\npip install azure-keyvault-administration azure-identity\n```\n[azure-identity][azure_identity] is used for Azure Active Directory\nauthentication as demonstrated below.\n\n### Prerequisites\n* An [Azure subscription][azure_sub]\n* Python 3.7 or later\n* An existing [Key Vault Managed HSM][managed_hsm]. If you need to create one, you can do so using the Azure CLI by following the steps in [this document][managed_hsm_cli].\n\n### Authenticate the client\nIn order to interact with the Azure Key Vault service, you will need an instance of either a [KeyVaultAccessControlClient](#create-a-keyvaultaccesscontrolclient) or [KeyVaultBackupClient](#create-a-keyvaultbackupclient), as well as a **vault url** (which you may see as \"DNS Name\" in the Azure Portal) and a credential object. This document demonstrates using a [DefaultAzureCredential][default_cred_ref], which is appropriate for most scenarios, including local development and production environments. We recommend using a [managed identity][managed_identity] for authentication in production environments.\n\nSee [azure-identity][azure_identity] documentation for more information about other methods of authentication and their corresponding credential types.\n\n#### Create a KeyVaultAccessControlClient\nAfter configuring your environment for the [DefaultAzureCredential][default_cred_ref] to use a suitable method of authentication, you can do the following to create an access control client (replacing the value of `vault_url` with your Managed HSM's URL):\n\n\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.administration import KeyVaultAccessControlClient\n\nMANAGED_HSM_URL = os.environ[\"MANAGED_HSM_URL\"]\ncredential = DefaultAzureCredential()\nclient = KeyVaultAccessControlClient(vault_url=MANAGED_HSM_URL, credential=credential)\n```\n\n\n\n> **NOTE:** For an asynchronous client, import `azure.keyvault.administration.aio`'s `KeyVaultAccessControlClient` instead.\n\n#### Create a KeyVaultBackupClient\nAfter configuring your environment for the [DefaultAzureCredential][default_cred_ref] to use a suitable method of authentication, you can do the following to create a backup client (replacing the value of `vault_url` with your Managed HSM's URL):\n\n\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.administration import KeyVaultBackupClient\n\nMANAGED_HSM_URL = os.environ[\"MANAGED_HSM_URL\"]\ncredential = DefaultAzureCredential()\nclient = KeyVaultBackupClient(vault_url=MANAGED_HSM_URL, credential=credential)\n```\n\n\n\n> **NOTE:** For an asynchronous client, import `azure.keyvault.administration.aio`'s `KeyVaultBackupClient` instead.\n\n#### Create a KeyVaultSettingsClient\nAfter configuring your environment for the [DefaultAzureCredential][default_cred_ref] to use a suitable method of authentication, you can do the following to create a settings client (replacing the value of `vault_url` with your Managed HSM's URL):\n\n\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.administration import KeyVaultSettingsClient\n\nMANAGED_HSM_URL = os.environ[\"MANAGED_HSM_URL\"]\ncredential = DefaultAzureCredential()\nclient = KeyVaultSettingsClient(vault_url=MANAGED_HSM_URL, credential=credential)\n```\n\n\n\n> **NOTE:** For an asynchronous client, import `azure.keyvault.administration.aio`'s `KeyVaultSettingsClient` instead.\n\n## Key concepts\n\n### Role definition\nA role definition defines the operations that can be performed, such as read, write, and delete. It can also define the operations that are excluded from allowed operations.\n\nA role definition is specified as part of a role assignment.\n\n### Role assignment\nA role assignment is the association of a role definition to a service principal. They can be created, listed, fetched individually, and deleted.\n\n### KeyVaultAccessControlClient\nA `KeyVaultAccessControlClient` manages role definitions and role assignments.\n\n### KeyVaultBackupClient\nA `KeyVaultBackupClient` performs full key backups, full key restores, and selective key restores.\n\n### KeyVaultSettingsClient\n\nA `KeyVaultSettingsClient` manages Managed HSM account settings.\n\n## Examples\nThis section contains code snippets covering common tasks:\n* Access control\n * [List all role definitions](#list-all-role-definitions)\n * [Set, get, and delete a role definition](#set-get-and-delete-a-role-defintion)\n * [List all role assignments](#list-all-role-assignments)\n * [Create, get, and delete a role assignment](#create-get-and-delete-a-role-assignment)\n* Backup and restore\n * [Perform a full key backup](#perform-a-full-key-backup)\n * [Perform a full key restore](#perform-a-full-key-restore)\n * [Perform a selective key restore](#perform-a-selective-key-restore)\n\n### List all role definitions\n`list_role_definitions` can be used by a `KeyVaultAccessControlClient` to list the role definitions available for\nassignment.\n\n\n\n```python\nfrom azure.keyvault.administration import KeyVaultRoleScope\n\nrole_definitions = client.list_role_definitions(scope=KeyVaultRoleScope.GLOBAL)\nfor definition in role_definitions:\n print(f\"Role name: {definition.role_name}; Role definition name: {definition.name}\")\n```\n\n\n\n### Set, get, and delete a role definition\n\n`set_role_definition` can be used by a `KeyVaultAccessControlClient` to either create a custom role definition or update\nan existing definition with the specified unique `name` (a UUID).\n\n\n\n```python\nfrom azure.keyvault.administration import KeyVaultDataAction, KeyVaultPermission, KeyVaultRoleScope\n\nrole_name = \"customRole\"\nscope = KeyVaultRoleScope.GLOBAL\npermissions = [KeyVaultPermission(data_actions=[KeyVaultDataAction.CREATE_HSM_KEY])]\nrole_definition = client.set_role_definition(scope=scope, role_name=role_name, permissions=permissions)\n```\n\n\n\n\n\n```python\nnew_permissions = [\n KeyVaultPermission(\n data_actions=[KeyVaultDataAction.READ_HSM_KEY],\n not_data_actions=[KeyVaultDataAction.CREATE_HSM_KEY]\n )\n]\nunique_definition_name = role_definition.name\nupdated_definition = client.set_role_definition(\n scope=scope, name=unique_definition_name, role_name=role_name, permissions=new_permissions\n)\n```\n\n\n\n`get_role_definition` can be used by a `KeyVaultAccessControlClient` to fetch a role definition with the specified scope\nand unique name.\n\n\n\n```python\nfetched_definition = client.get_role_definition(scope=scope, name=unique_definition_name)\n```\n\n\n\n`delete_role_definition` can be used by a `KeyVaultAccessControlClient` to delete a role definition with the specified\nscope and unique name.\n\n\n\n```python\nclient.delete_role_definition(scope=scope, name=unique_definition_name)\n```\n\n\n\n### List all role assignments\n`list_role_assignments` can be used by a `KeyVaultAccessControlClient` to list all of the current role assignments.\n\n\n\n```python\nfrom azure.keyvault.administration import KeyVaultRoleScope\n\nrole_assignments = client.list_role_assignments(KeyVaultRoleScope.GLOBAL)\nfor assignment in role_assignments:\n assert assignment.properties\n print(f\"Role assignment name: {assignment.name}\")\n print(f\"Principal ID associated with this assignment: {assignment.properties.principal_id}\")\n```\n\n\n\n### Create, get, and delete a role assignment\nRole assignments assign a role to a service principal. This will require a role definition ID and service principal\nobject ID. You can use an ID from the retrieved [list of role definitions](#list-all-role-definitions) for the former,\nand an assignment's `principal_id` from the list retrieved in the [above snippet](#list-all-role-assignments) for the\nlatter. Provide these values, and a scope, to a `KeyVaultAccessControlClient`'s `create_role_assignment` method.\n\n\n\n```python\nfrom azure.keyvault.administration import KeyVaultRoleScope\n\nscope = KeyVaultRoleScope.GLOBAL\nrole_assignment = client.create_role_assignment(scope=scope, definition_id=definition_id, principal_id=principal_id)\nprint(f\"Role assignment {role_assignment.name} created successfully.\")\n```\n\n\n\n`get_role_assignment` can be used by a `KeyVaultAccessControlClient` to fetch an existing role assignment with the\nspecified scope and unique name.\n\n\n\n```python\nfetched_assignment = client.get_role_assignment(scope=scope, name=role_assignment.name)\nassert fetched_assignment.properties\nprint(f\"Role assignment for principal {fetched_assignment.properties.principal_id} fetched successfully.\")\n```\n\n\n\n`delete_role_assignment` can be used by a `KeyVaultAccessControlClient` to delete a role assignment with the specified\nscope and unique name.\n\n\n\n```python\nclient.delete_role_assignment(scope=scope, name=role_assignment.name)\n```\n\n\n\n### Perform a full key backup\nThe `KeyVaultBackupClient` can be used to back up your entire collection of keys. The backing store for full key\nbackups is a blob storage container using Shared Access Signature (SAS) authentication.\n\nFor more details on creating a SAS token using a `BlobServiceClient` from [`azure-storage-blob`][storage_blob], refer\nto the library's [credential documentation][sas_docs]. Alternatively, it is possible to\n[generate a SAS token in Storage Explorer][storage_explorer].\n\n\n\n```python\nCONTAINER_URL = os.environ[\"CONTAINER_URL\"]\nSAS_TOKEN = os.environ[\"SAS_TOKEN\"]\n\nbackup_result: KeyVaultBackupResult = client.begin_backup(CONTAINER_URL, SAS_TOKEN).result()\nprint(f\"Azure Storage Blob URL of the backup: {backup_result.folder_url}\")\n```\n\n\n\nNote that the `begin_backup` method returns a poller. Calling `result()` on this poller returns a\n`KeyVaultBackupResult` containing information about the backup. Calling `wait()` on the poller will instead block until\nthe operation is complete without returning an object.\n\n### Perform a full key restore\nThe `KeyVaultBackupClient` can be used to restore your entire collection of keys from a backup. The data source for a\nfull key restore is a storage blob accessed using Shared Access Signature authentication. You will also need the URL of\nthe backup (`KeyVaultBackupResult.folder_url`) from the [above snippet](#perform-a-full-key-backup).\n\nFor more details on creating a SAS token using a `BlobServiceClient` from [`azure-storage-blob`][storage_blob], refer\nto the library's [credential documentation][sas_docs]. Alternatively, it is possible to\n[generate a SAS token in Storage Explorer][storage_explorer].\n\n\n\n```python\nCONTAINER_URL = os.environ[\"CONTAINER_URL\"]\nSAS_TOKEN = os.environ[\"SAS_TOKEN\"]\n\nbackup_result: KeyVaultBackupResult = client.begin_backup(CONTAINER_URL, SAS_TOKEN).result()\nprint(f\"Azure Storage Blob URL of the backup: {backup_result.folder_url}\")\n```\n\n\n\nNote that the `begin_restore` method returns a poller. Unlike the poller returned by `begin_backup`, this poller's\n`result` method returns `None`; therefore, calling `wait()` is functionally the same.\n\n### Perform a selective key restore\n\nTo restore a single key from a backed up vault instead of all keys, provide the key name as a `key_name` argument to the\n`begin_restore` method [shown above](#perform-a-full-key-restore).\n\n## Troubleshooting\n\nSee the `azure-keyvault-administration`\n[troubleshooting guide](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/TROUBLESHOOTING.md)\nfor details on how to diagnose various failure scenarios.\n\n### General\nKey Vault clients raise exceptions defined in [azure-core][azure_core_exceptions].\nFor example, if you try to get a role assignment that doesn't exist, KeyVaultAccessControlClient\nraises [ResourceNotFoundError](https://aka.ms/azsdk-python-core-exceptions-resource-not-found-error):\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.administration import KeyVaultAccessControlClient\nfrom azure.core.exceptions import ResourceNotFoundError\n\ncredential = DefaultAzureCredential()\nclient = KeyVaultAccessControlClient(vault_url=\"https://my-managed-hsm-name.managedhsm.azure.net/\", credential=credential)\n\ntry:\n client.get_role_assignment(\"/\", \"which-does-not-exist\")\nexcept ResourceNotFoundError as e:\n print(e.message)\n```\n\nClients from the Administration library can only be used to perform operations on a managed HSM, so attempting to do so on a Key Vault will raise an error.\n\n## Next steps\nSeveral samples are available in the Azure SDK for Python GitHub repository. These samples provide example code for additional Key Vault scenarios:\n| File | Description |\n|-------------|-------------|\n| [access_control_operations.py][access_control_operations_sample] | create/update/delete role definitions and role assignments |\n| [access_control_operations_async.py][access_control_operations_async_sample] | create/update/delete role definitions and role assignments with an async client |\n| [backup_restore_operations.py][backup_operations_sample] | full backup and restore |\n| [backup_restore_operations_async.py][backup_operations_async_sample] | full backup and restore with an async client |\n| [settings_operations.py][settings_operations_sample] | list and update Key Vault settings |\n| [settings_operations_async.py][settings_operations_async_sample] | list and update Key Vault settings with an async client |\n\n### Additional documentation\nFor more extensive documentation on Azure Key Vault, see the [API reference documentation][reference_docs].\n\nFor more extensive documentation on Managed HSM, see the [service documentation][managed_hsm].\n\n## Contributing\nThis project welcomes contributions and suggestions. Most contributions require\nyou to agree to a Contributor License Agreement (CLA) declaring that you have\nthe right to, and actually do, grant us the rights to use your contribution.\nFor details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether\nyou need to provide a CLA and decorate the PR appropriately (e.g., label,\ncomment). Simply follow the instructions provided by the bot. You will only\nneed to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct].\nFor more information, see the\n[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact opencode@microsoft.com with any additional questions or comments.\n\n\n\n[access_control]: https://docs.microsoft.com/azure/key-vault/managed-hsm/access-control\n[access_control_operations_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples/access_control_operations.py\n[access_control_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples/access_control_operations_async.py\n[administration_samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples\n[azure_cloud_shell]: https://shell.azure.com/bash\n[azure_core_exceptions]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core#azure-core-library-exceptions\n[azure_identity]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity\n[azure_identity_pypi]: https://pypi.org/project/azure-identity/\n[azure_sub]: https://azure.microsoft.com/free/\n\n[backup_operations_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples/backup_restore_operations.py\n[backup_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples/backup_restore_operations_async.py\n[best_practices]: https://docs.microsoft.com/azure/key-vault/managed-hsm/best-practices\n[built_in_roles]: https://docs.microsoft.com/azure/key-vault/managed-hsm/built-in-roles\n\n[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/\n\n[default_cred_ref]: https://aka.ms/azsdk/python/identity/docs#azure.identity.DefaultAzureCredential\n\n[keyvault_docs]: https://docs.microsoft.com/azure/key-vault/\n\n[library_src]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration\n\n[managed_hsm]: https://docs.microsoft.com/azure/key-vault/managed-hsm/overview\n[managed_hsm_cli]: https://docs.microsoft.com/azure/key-vault/managed-hsm/quick-create-cli\n[managed_identity]: https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview\n\n[pip]: https://pypi.org/project/pip/\n[pypi_package_administration]: https://pypi.org/project/azure-keyvault-administration\n\n[reference_docs]: https://aka.ms/azsdk/python/keyvault-administration/docs\n\n[sas_docs]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob/README.md#types-of-credentials\n[settings_operations_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples/settings_operations.py\n[settings_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration/samples/settings_operations_async.py\n[storage_blob]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/storage/azure-storage-blob/README.md\n[storage_explorer]: https://learn.microsoft.com/azure/vs-azure-tools-storage-manage-with-storage-explorer\n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-administration%2FREADME.png)\n\n\n# Release History\n\n## 4.4.0b2 (2023-11-03)\n\n### Features Added\n- Added support for service API version `7.5-preview.1`\n- `KeyVaultBackupClient.begin_backup` and `KeyVaultBackupClient.begin_restore` now accept a `use_managed_identity`\n keyword-only argument to enable authentication via Managed Identity\n\n### Other Changes\n- Key Vault API version `7.5-preview.1` is now the default\n\n## 4.4.0b1 (2023-05-16)\n\n### Bugs Fixed\n- Token requests made during AD FS authentication no longer specify an erroneous \"adfs\" tenant ID\n ([#29888](https://github.com/Azure/azure-sdk-for-python/issues/29888))\n\n## 4.3.0 (2023-03-16)\n\n### Features Added\n- Added support for service API version `7.4`\n- Clients each have a `send_request` method that can be used to send custom requests using the\n client's existing pipeline ([#25172](https://github.com/Azure/azure-sdk-for-python/issues/25172))\n- (From 4.3.0b1) Added sync and async `KeyVaultSettingsClient`s for getting and updating Managed HSM settings\n- The `KeyVaultSetting` class has a `getboolean` method that will return the setting's `value` as a `bool`, if possible,\n and raise a `ValueError` otherwise\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.2.0. Only code written against a beta version such as 4.3.0b1 may be affected.\n- `KeyVaultSettingsClient.update_setting` now accepts a single `setting` argument (a `KeyVaultSetting` instance)\n instead of a `name` and `value`\n- The `KeyVaultSetting` model's `type` parameter and attribute have been renamed to `setting_type`\n- The `SettingType` enum has been renamed to `KeyVaultSettingType`\n\n### Other Changes\n- Key Vault API version `7.4` is now the default\n- (From 4.3.0b1) Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- (From 4.3.0b1) Updated minimum `azure-core` version to 1.24.0\n- (From 4.3.0b1) Dropped `msrest` requirement\n- (From 4.3.0b1) Dropped `six` requirement\n- (From 4.3.0b1) Added requirement for `isodate>=0.6.1` (`isodate` was required by `msrest`)\n- (From 4.3.0b1) Added requirement for `typing-extensions>=4.0.1`\n\n## 4.3.0b1 (2022-11-15)\n\n### Features Added\n- Added sync and async `KeyVaultSettingsClient`s for getting and updating Managed HSM settings.\n- Added support for service API version `7.4-preview.1`\n\n### Other Changes\n- Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- Key Vault API version `7.4-preview.1` is now the default\n- Updated minimum `azure-core` version to 1.24.0\n- Dropped `msrest` requirement\n- Dropped `six` requirement\n- Added requirement for `isodate>=0.6.1` (`isodate` was required by `msrest`)\n- Added requirement for `typing-extensions>=4.0.1`\n\n## 4.2.0 (2022-09-19)\n\n### Breaking Changes\n- Clients verify the challenge resource matches the vault domain. This should affect few customers,\n who can provide `verify_challenge_resource=False` to client constructors to disable.\n See https://aka.ms/azsdk/blog/vault-uri for more information.\n\n## 4.1.1 (2022-08-11)\n\n### Other Changes\n- Documentation improvements \n ([#25039](https://github.com/Azure/azure-sdk-for-python/issues/25039))\n\n## 4.1.0 (2022-03-28)\n\n### Features Added\n- Key Vault API version 7.3 is now the default\n- Added support for multi-tenant authentication when using `azure-identity`\n 1.8.0 or newer ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n### Other Changes\n- (From 4.1.0b3) Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- (From 4.1.0b3) Updated minimum `azure-core` version to 1.20.0\n- (From 4.1.0b2) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698)). See\n https://aka.ms/azsdk/python/identity/tokencredential for more details on how to integrate\n this parameter if `get_token` is implemented by a custom credential.\n\n## 4.1.0b3 (2022-02-08)\n\n### Other Changes\n- Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- Updated minimum `azure-core` version to 1.20.0\n- (From 4.1.0b2) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n## 4.1.0b2 (2021-11-11)\n\n### Features Added\n- Added support for multi-tenant authentication when using `azure-identity` 1.7.1 or newer\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n### Other Changes\n- Updated minimum `azure-core` version to 1.15.0\n\n## 4.1.0b1 (2021-09-09)\n\n### Features Added\n- Key Vault API version 7.3-preview is now the default\n\n## 4.0.0 (2021-06-22)\n### Changed\n- Key Vault API version 7.2 is now the default\n- `KeyVaultAccessControlClient.delete_role_assignment` and\n `.delete_role_definition` no longer raise an error when the resource to be\n deleted is not found\n- Raised minimum azure-core version to 1.11.0\n\n### Added\n- `KeyVaultAccessControlClient.set_role_definition` accepts an optional\n `assignable_scopes` keyword-only argument\n\n### Breaking Changes\n- `KeyVaultAccessControlClient.delete_role_assignment` and\n `.delete_role_definition` return None\n- Changed parameter order in `KeyVaultAccessControlClient.set_role_definition`.\n `permissions` is now an optional keyword-only argument\n- Renamed `BackupOperation` to `KeyVaultBackupResult`, and removed all but\n its `folder_url` property\n- Removed `RestoreOperation` and `SelectiveKeyRestoreOperation` classes\n- Removed `KeyVaultBackupClient.begin_selective_restore`. To restore a\n single key, pass the key's name to `KeyVaultBackupClient.begin_restore`:\n ```\n # before (4.0.0b3):\n client.begin_selective_restore(folder_url, sas_token, key_name)\n\n # after:\n client.begin_restore(folder_url, sas_token, key_name=key_name)\n ```\n- Removed `KeyVaultBackupClient.get_backup_status` and `.get_restore_status`. Use\n the pollers returned by `KeyVaultBackupClient.begin_backup` and `.begin_restore`\n to check whether an operation has completed\n- `KeyVaultRoleAssignment`'s `principal_id`, `role_definition_id`, and `scope`\n are now properties of a `properties` property\n ```\n # before (4.0.0b3):\n print(KeyVaultRoleAssignment.scope)\n\n # after:\n print(KeyVaultRoleAssignment.properties.scope)\n ```\n- Renamed `KeyVaultPermission` properties:\n - `allowed_actions` -> `actions`\n - `denied_actions` -> `not_actions`\n - `allowed_data_actions` -> `data_actions`\n - `denied_data_actions` -> `denied_data_actions`\n- Renamed argument `role_assignment_name` to `name` in\n `KeyVaultAccessControlClient.create_role_assignment`, `.delete_role_assignment`,\n and `.get_role_assignment`\n- Renamed argument `role_definition_name` to `name` in\n `KeyVaultAccessControlClient.delete_role_definition` and `.get_role_definition`\n- Renamed argument `role_scope` to `scope` in `KeyVaultAccessControlClient` methods\n\n## 4.0.0b3 (2021-02-09)\n### Added\n- `KeyVaultAccessControlClient` supports managing custom role definitions\n\n### Breaking Changes\n- Renamed `KeyVaultBackupClient.begin_full_backup()` to `.begin_backup()`\n- Renamed `KeyVaultBackupClient.begin_full_restore()` to `.begin_restore()`\n- Renamed `BackupOperation.azure_storage_blob_container_uri` to `.folder_url`\n- Renamed `id` property of `BackupOperation`, `RestoreOperation`, and\n `SelectiveKeyRestoreOperation` to `job_id`\n- Renamed `blob_storage_uri` parameters of `KeyVaultBackupClient.begin_restore()`\n and `.begin_selective_restore()` to `folder_url`\n- Removed redundant `folder_name` parameter from\n `KeyVaultBackupClient.begin_restore()` and `.begin_selective_restore()` (the\n `folder_url` parameter contains the folder name)\n- Renamed `KeyVaultPermission` attributes:\n - `actions` -> `allowed_actions`\n - `data_actions` -> `allowed_data_actions`\n - `not_actions` -> `denied_actions`\n - `not_data_actions` -> `denied_data_actions`\n- Renamed `KeyVaultRoleAssignment.assignment_id` to `.role_assignment_id`\n- Renamed `KeyVaultRoleScope` enum values:\n - `global_value` -> `GLOBAL`\n - `keys_value` -> `KEYS`\n\n## 4.0.0b2 (2020-10-06)\n### Added\n- `KeyVaultBackupClient.get_backup_status` and `.get_restore_status` enable\n checking the status of a pending operation by its job ID\n ([#13718](https://github.com/Azure/azure-sdk-for-python/issues/13718))\n\n### Breaking Changes\n- The `role_assignment_name` parameter of\n `KeyVaultAccessControlClient.create_role_assignment` is now an optional\n keyword-only argument. When this argument isn't passed, the client will\n generate a name for the role assignment.\n ([#13512](https://github.com/Azure/azure-sdk-for-python/issues/13512))\n\n## 4.0.0b1 (2020-09-08)\n### Added\n- `KeyVaultAccessControlClient` performs role-based access control operations\n- `KeyVaultBackupClient` performs full vault backup and full and selective\n restore operations\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration", + "author": "Microsoft Corporation", + "author_email": "azurekeyvault@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "azure-common ~=1.1", + "azure-core <2.0.0,>=1.24.0", + "isodate >=0.6.1", + "typing-extensions >=4.0.1" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/a4/14/fbdca7fba9ae90f550a64f4f1c96dc294b09116a17d1ad73c72977da29d4/azure_keyvault_certificates-4.7.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=4ddf29529309da9587d9afdf8be3c018a3455ed27bffae9428acb1802789a3d6", + "hashes": { + "sha256": "4ddf29529309da9587d9afdf8be3c018a3455ed27bffae9428acb1802789a3d6" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-keyvault-certificates", + "version": "4.7.0", + "summary": "Microsoft Azure Key Vault Certificates Client Library for Python", + "description": "# Azure Key Vault Certificates client library for Python\nAzure Key Vault helps solve the following problems:\n- Certificate management (this library) - create, manage, and deploy public and private SSL/TLS certificates\n- Cryptographic key management\n([azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys)) - create, store, and control access to the keys used to encrypt your data\n- Secrets management\n([azure-keyvault-secrets](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets)) -\nsecurely store and control access to tokens, passwords, certificates, API keys,\nand other secrets\n- Vault administration ([azure-keyvault-administration](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration)) - role-based access control (RBAC), and vault-level backup and restore options\n\n[Source code][library_src]\n| [Package (PyPI)][pypi_package_certificates]\n| [Package (Conda)](https://anaconda.org/microsoft/azure-keyvault/)\n| [API reference documentation][reference_docs]\n| [Product documentation][azure_keyvault]\n| [Samples][certificates_samples]\n\n## _Disclaimer_\n\n_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_.\n_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)._\n\n## Getting started\n### Install the package\nInstall [azure-keyvault-certificates][pypi_package_certificates] and\n[azure-identity][azure_identity_pypi] with [pip][pip]:\n```Bash\npip install azure-keyvault-certificates azure-identity\n```\n[azure-identity][azure_identity] is used for Azure Active Directory\nauthentication as demonstrated below.\n\n### Prerequisites\n* An [Azure subscription][azure_sub]\n* Python 3.7 or later\n* An existing [Azure Key Vault][azure_keyvault]. If you need to create one, you can do so using the Azure CLI by following the steps in [this document][azure_keyvault_cli].\n\n### Authenticate the client\nIn order to interact with the Azure Key Vault service, you will need an instance of a [CertificateClient][certificate_client_docs], as well as a **vault url** and a credential object. This document demonstrates using a [DefaultAzureCredential][default_cred_ref], which is appropriate for most scenarios, including local development and production environments. We recommend using a [managed identity][managed_identity] for authentication in production environments.\n\nSee [azure-identity][azure_identity] documentation for more information about other methods of authentication and their corresponding credential types.\n\n#### Create a client\nAfter configuring your environment for the [DefaultAzureCredential][default_cred_ref] to use a suitable method of authentication, you can do the following to create a certificate client (replacing the value of `VAULT_URL` with your vault's URL):\n\n\n\n```python\nVAULT_URL = os.environ[\"VAULT_URL\"]\ncredential = DefaultAzureCredential()\nclient = CertificateClient(vault_url=VAULT_URL, credential=credential)\n```\n\n\n\n> **NOTE:** For an asynchronous client, import `azure.keyvault.certificates.aio`'s `CertificateClient` instead.\n\n## Key concepts\n### CertificateClient\nWith a [CertificateClient][certificate_client_docs] you can get certificates from the vault, create new certificates and new versions of existing certificates, update certificate metadata, and delete certificates. You can also manage certificate issuers, contacts, and management policies of certificates. This is illustrated in the [examples](#examples) below.\n\n## Examples\nThis section contains code snippets covering common tasks:\n* [Create a certificate](#create-a-certificate)\n* [Retrieve a certificate](#retrieve-a-certificate)\n* [Update properties of an existing certificate](#update-properties-of-an-existing-certificate)\n* [Delete a certificate](#delete-a-certificate)\n* [List properties of certificates](#list-properties-of-certificates)\n* [Async operations](#async-operations)\n* [Asynchronously create a certificate](#asynchronously-create-a-certificate)\n* [Asynchronously list properties of certificates](#asynchronously-list-properties-of-certificates)\n\n### Create a certificate\n[begin_create_certificate](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.begin_create_certificate)\ncreates a certificate to be stored in the Azure Key Vault. If a certificate with the same name already exists, a new\nversion of the certificate is created. Before creating a certificate, a management policy for the certificate can be\ncreated or our default policy will be used. This method returns a long running operation poller.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient, CertificatePolicy\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ncreate_certificate_poller = certificate_client.begin_create_certificate(\n certificate_name=\"cert-name\", policy=CertificatePolicy.get_default()\n)\nprint(create_certificate_poller.result())\n```\nIf you would like to check the status of your certificate creation, you can call `status()` on the poller or\n[get_certificate_operation](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.get_certificate_operation)\nwith the name of the certificate.\n\n### Retrieve a certificate\n[get_certificate](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.get_certificate)\nretrieves the latest version of a certificate previously stored in the Key Vault.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ncertificate = certificate_client.get_certificate(\"cert-name\")\n\nprint(certificate.name)\nprint(certificate.properties.version)\nprint(certificate.policy.issuer_name)\n```\n\n[get_certificate_version](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.get_certificate_version)\nretrieves a specific version of a certificate.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\ncertificate = certificate_client.get_certificate_version(certificate_name=\"cert-name\", version=\"cert-version\")\n\nprint(certificate.name)\nprint(certificate.properties.version)\n```\n\n### Update properties of an existing certificate\n[update_certificate_properties](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.update_certificate_properties)\nupdates a certificate previously stored in the Key Vault.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\n# we will now disable the certificate for further use\nupdated_certificate= certificate_client.update_certificate_properties(\n certificate_name=\"cert-name\", enabled=False\n)\n\nprint(updated_certificate.name)\nprint(updated_certificate.properties.enabled)\n```\n\n### Delete a certificate\n[begin_delete_certificate](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.begin_delete_certificate)\nrequests Key Vault delete a certificate, returning a poller which allows you to wait for the deletion to finish.\nWaiting is helpful when the vault has [soft-delete][soft_delete] enabled, and you want to purge\n(permanently delete) the certificate as soon as possible. When [soft-delete][soft_delete] is disabled,\n`begin_delete_certificate` itself is permanent.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ndeleted_certificate_poller = certificate_client.begin_delete_certificate(\"cert-name\")\n\ndeleted_certificate = deleted_certificate_poller.result()\nprint(deleted_certificate.name)\nprint(deleted_certificate.deleted_on)\n```\n### List properties of certificates\n[list_properties_of_certificates](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient.list_properties_of_certificates)\nlists the properties of all certificates in the specified Key Vault.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ncertificates = certificate_client.list_properties_of_certificates()\n\nfor certificate in certificates:\n # this list doesn't include versions of the certificates\n print(certificate.name)\n```\n\n### Async operations\nThis library includes a complete set of async APIs. To use them, you must\nfirst install an async transport, such as [aiohttp](https://pypi.org/project/aiohttp/).\nSee\n[azure-core documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#transport)\nfor more information.\n\nAsync clients and credentials should be closed when they're no longer needed. These\nobjects are async context managers and define async `close` methods. For\nexample:\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.certificates.aio import CertificateClient\n\ncredential = DefaultAzureCredential()\n\n# call close when the client and credential are no longer needed\nclient = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n...\nawait client.close()\nawait credential.close()\n\n# alternatively, use them as async context managers (contextlib.AsyncExitStack can help)\nclient = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nasync with client:\n async with credential:\n ...\n```\n\n### Asynchronously create a certificate\n[create_certificate](https://aka.ms/azsdk/python/keyvault-certificates/aio/docs#azure.keyvault.certificates.aio.CertificateClient.create_certificate)\ncreates a certificate to be stored in the Azure Key Vault. If a certificate with the same name already exists, a new\nversion of the certificate is created. Before creating a certificate, a management policy for the certificate can be\ncreated or our default policy will be used. Awaiting `create_certificate` returns your created certificate if creation\nis successful, and a\n[CertificateOperation](https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateOperation)\nif it is not.\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.certificates.aio import CertificateClient\nfrom azure.keyvault.certificates import CertificatePolicy\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ncreate_certificate_result = await certificate_client.create_certificate(\n certificate_name=\"cert-name\", policy=CertificatePolicy.get_default()\n)\nprint(create_certificate_result)\n```\n\n### Asynchronously list properties of certificates\n[list_properties_of_certificates](https://aka.ms/azsdk/python/keyvault-certificates/aio/docs#azure.keyvault.certificates.aio.CertificateClient.list_properties_of_certificates)\nlists all the properties of the certificates in the client's vault:\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.certificates.aio import CertificateClient\n\ncredential = DefaultAzureCredential()\n\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ncertificates = certificate_client.list_properties_of_certificates()\nasync for certificate in certificates:\n print(certificate.name)\n```\n\n## Troubleshooting\n\nSee the `azure-keyvault-certificates`\n[troubleshooting guide](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/TROUBLESHOOTING.md)\nfor details on how to diagnose various failure scenarios.\n\n### General\nKey Vault clients raise exceptions defined in [azure-core][azure_core_exceptions].\nFor example, if you try to get a key that doesn't exist in the vault, [CertificateClient][certificate_client_docs]\nraises [ResourceNotFoundError](https://aka.ms/azsdk-python-core-exceptions-resource-not-found-error):\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\nfrom azure.core.exceptions import ResourceNotFoundError\n\ncredential = DefaultAzureCredential()\ncertificate_client = CertificateClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ntry:\n certificate_client.get_certificate(\"which-does-not-exist\")\nexcept ResourceNotFoundError as e:\n print(e.message)\n```\n### Logging\nThis library uses the standard\n[logging](https://docs.python.org/3.5/library/logging.html) library for logging.\nBasic information about HTTP sessions (URLs, headers, etc.) is logged at INFO\nlevel.\n\nDetailed DEBUG level logging, including request/response bodies and unredacted\nheaders, can be enabled on a client with the `logging_enable` argument:\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.certificates import CertificateClient\nimport sys\nimport logging\n\n# Create a logger for the 'azure' SDK\nlogger = logging.getLogger('azure')\nlogger.setLevel(logging.DEBUG)\n\n# Configure a console output\nhandler = logging.StreamHandler(stream=sys.stdout)\nlogger.addHandler(handler)\n\ncredential = DefaultAzureCredential()\n\n# This client will log detailed information about its HTTP sessions, at DEBUG level\nclient = CertificateClient(\n vault_url=\"https://my-key-vault.vault.azure.net/\",\n credential=credential,\n logging_enable=True\n)\n```\n\nNetwork trace logging can also be enabled for any single operation:\n```python\ncertificate = certificate_client.get_certificate(certificate_name=\"cert-name\", logging_enable=True)\n```\n\n## Next steps\nSeveral samples are available in the Azure SDK for Python GitHub repository. These samples provide example code for additional Key Vault scenarios:\n| File | Description |\n|-------------|-------------|\n| [hello_world.py][hello_world_sample] ([async version][hello_world_async_sample]) | create/get/update/delete certificates |\n| [backup_restore_operations.py][backup_operations_sample] ([async version][backup_operations_async_sample]) | back up and recover certificates |\n| [import_certificate.py][import_certificate_sample] ([async version][import_certificate_async_sample]) | import PKCS#12 (PFX) and PEM-formatted certificates into Key Vault |\n| [list_operations.py][list_operations_sample] ([async version][list_operations_async_sample]) | list certificates |\n| [recover_purge_operations.py][recover_purge_operations_sample] ([async version][recover_purge_operations_async_sample]) | recover and purge certificates |\n| [issuers.py][issuers_sample] ([async version][issuers_async_sample]) | manage certificate issuers |\n| [contacts.py][contacts_sample] ([async version][contacts_async_sample]) | manage certificate contacts |\n| [parse_certificate.py][parse_sample] ([async version][parse_async_sample]) | extract a certificate's private key |\n\n### Additional documentation\nFor more extensive documentation on Azure Key Vault, see the [API reference documentation][reference_docs].\n\n## Contributing\nThis project welcomes contributions and suggestions. Most contributions require\nyou to agree to a Contributor License Agreement (CLA) declaring that you have\nthe right to, and actually do, grant us the rights to use your contribution.\nFor details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether\nyou need to provide a CLA and decorate the PR appropriately (e.g., label,\ncomment). Simply follow the instructions provided by the bot. You will only\nneed to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct].\nFor more information, see the\n[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact opencode@microsoft.com with any additional questions or comments.\n\n\n\n[azure_core_exceptions]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core#azure-core-library-exceptions\n[azure_identity]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity\n[azure_identity_pypi]: https://pypi.org/project/azure-identity/\n[azure_keyvault]: https://docs.microsoft.com/azure/key-vault/general/overview\n[azure_keyvault_cli]: https://docs.microsoft.com/azure/key-vault/general/quick-create-cli\n[azure_sub]: https://azure.microsoft.com/free/\n\n[backup_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py\n[backup_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py\n\n[certificate_client_docs]: https://aka.ms/azsdk/python/keyvault-certificates/docs#azure.keyvault.certificates.CertificateClient\n[certificates_samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/samples\n[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/\n[contacts_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/contacts.py\n[contacts_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py\n\n[default_cred_ref]: https://aka.ms/azsdk/python/identity/docs#azure.identity.DefaultAzureCredential\n\n[hello_world_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py\n[hello_world_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py\n\n[import_certificate_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/samples/import_certificate.py\n[import_certificate_async_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/samples/import_certificate_async.py\n[issuers_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/issuers.py\n[issuers_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py\n\n[library_src]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates\n[list_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py\n[list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py\n\n[managed_identity]: https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview\n\n[parse_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/parse_certificate.py\n[parse_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/parse_certificate_async.py\n[pip]: https://pypi.org/project/pip/\n[pypi_package_certificates]: https://pypi.org/project/azure-keyvault-certificates/\n\n[recover_purge_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py\n[recover_purge_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py\n[reference_docs]: https://aka.ms/azsdk/python/keyvault-certificates/docs\n\n[soft_delete]: https://docs.microsoft.com/azure/key-vault/general/soft-delete-overview\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-certificates%2FREADME.png)\n\n\n# Release History\n\n## 4.7.0 (2023-03-16)\n\n### Features Added\n- Added support for service API version `7.4`\n- Clients each have a `send_request` method that can be used to send custom requests using the\n client's existing pipeline ([#25172](https://github.com/Azure/azure-sdk-for-python/issues/25172))\n\n### Bugs Fixed\n- The type hints for `KeyVaultCertificate.cer` and `DeletedCertificate.cer` are now\n `Optional[bytearray]` instead of `Optional[bytes]`\n ([#28959](https://github.com/Azure/azure-sdk-for-python/issues/28959))\n\n### Other Changes\n- Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- Key Vault API version `7.4` is now the default\n- Updated minimum `azure-core` version to 1.24.0\n- Dropped `msrest` requirement\n- Added requirement for `isodate>=0.6.1` (`isodate` was required by `msrest`)\n- Added requirement for `typing-extensions>=4.0.1`\n\n## 4.6.0 (2022-09-19)\n\n### Breaking Changes\n- Clients verify the challenge resource matches the vault domain. This should affect few customers,\n who can provide `verify_challenge_resource=False` to client constructors to disable.\n See https://aka.ms/azsdk/blog/vault-uri for more information.\n\n## 4.5.1 (2022-08-11)\n\n### Other Changes\n- Documentation improvements \n ([#25039](https://github.com/Azure/azure-sdk-for-python/issues/25039))\n\n## 4.5.0b1 (2022-06-07)\n\n### Bugs Fixed\n- Port numbers are now preserved in the `vault_url` property of a `KeyVaultCertificateIdentifier`\n ([#24446](https://github.com/Azure/azure-sdk-for-python/issues/24446))\n\n## 4.4.0 (2022-03-28)\n\n### Features Added\n- Key Vault API version 7.3 is now the default\n- Added support for multi-tenant authentication when using `azure-identity`\n 1.8.0 or newer ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n### Bugs Fixed\n- `KeyType` now ignores casing during declaration, which resolves a scenario where Key Vault\n keys created with non-standard casing could not be fetched with the SDK\n ([#22797](https://github.com/Azure/azure-sdk-for-python/issues/22797))\n\n### Other Changes\n- (From 4.4.0b3) Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- Updated minimum `azure-core` version to 1.20.0\n- (From 4.4.0b2) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698)). See\n https://aka.ms/azsdk/python/identity/tokencredential for more details on how to integrate\n this parameter if `get_token` is implemented by a custom credential.\n\n## 4.4.0b3 (2022-02-08)\n\n### Other Changes\n- Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- (From 4.4.0b2) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n## 4.4.0b2 (2021-11-11)\n\n### Features Added\n- Added support for multi-tenant authentication when using `azure-identity` 1.7.1 or newer\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n### Other Changes\n- Updated minimum `azure-core` version to 1.15.0\n\n## 4.4.0b1 (2021-09-09)\n\n### Features Added\n- Key Vault API version 7.3-preview is now the default\n\n### Other Changes\n- Updated type hints to fix mypy errors\n ([#19158](https://github.com/Azure/azure-sdk-for-python/issues/19158))\n\n## 4.3.0 (2021-06-22)\nThis is the last version to support Python 3.5. The next version will require Python 2.7 or 3.6+.\n### Changed\n- Key Vault API version 7.2 is now the default\n- Updated minimum `msrest` version to 0.6.21\n- The `issuer_name` parameter for `CertificatePolicy` is now optional\n\n### Added\n- Added class `KeyVaultCertificateIdentifier` that parses out a full ID returned by Key Vault,\n so users can easily access the certificate's `name`, `vault_url`, and `version`.\n\n\n## 4.2.1 (2020-09-08)\n### Fixed\n- Correct typing for paging methods\n- Fixed incompatibility issues with API version 2016-10-01\n\n\n## 4.2.0 (2020-08-11)\n### Fixed\n- Fixed an `AttributeError` during `get_certificate_version`\n- `import_certificate` no longer raises `AttributeError` when the `policy`\n keyword argument isn't passed\n- Values of `x-ms-keyvault-region` and `x-ms-keyvault-service-version` headers\n are no longer redacted in logging output\n\n### Changed\n- Key Vault API version 7.1 is now the default\n- Updated minimum `azure-core` version to 1.7.0\n\n### Added\n- At construction, clients accept a `CustomHookPolicy` through the optional\n keyword argument `custom_hook_policy`\n- All client requests include a unique ID in the header `x-ms-client-request-id`\n- Dependency on `azure-common` for multiapi support\n\n## 4.2.0b1 (2020-03-10)\n- Support for Key Vault API version 7.1-preview\n([#10124](https://github.com/Azure/azure-sdk-for-python/pull/10124))\n - Added `recoverable_days` to `CertificateProperties`\n - Added `ApiVersion` enum identifying Key Vault versions supported by this package\n\n## 4.1.0 (2020-03-10)\n- `CertificateClient` instances have a `close` method which closes opened\nsockets. Used as a context manager, a `CertificateClient` closes opened sockets\non exit. ([#9906](https://github.com/Azure/azure-sdk-for-python/pull/9906))\n- Pollers no longer sleep after operation completion\n([#9991](https://github.com/Azure/azure-sdk-for-python/pull/9991))\n\n## 4.0.1 (2020-02-11)\n- `azure.keyvault.certificates` defines `__version__`\n- Updated `msrest` requirement to >=0.6.0\n- Challenge authentication policy requires TLS\n([#9457](https://github.com/Azure/azure-sdk-for-python/pull/9457))\n- Methods no longer raise the internal error `KeyVaultErrorException`\n([#9690](https://github.com/Azure/azure-sdk-for-python/issues/9690))\n\n## 4.0.0 (2020-01-08)\n- First GA release\n\n## 4.0.0b7 (2019-12-17)\n- Challenge authentication policy preserves request options\n([#8999](https://github.com/Azure/azure-sdk-for-python/pull/8999))\n- Added `vault_url` property to `CertificateOperation`\n- Removed `id`, `expires_on`, `not_before`, and `recover_level` properties from `CertificatePolicy`\n- Removed `vault_url` property from `CertificateIssuer`\n- Removed `vault_url` property from `IssuerProperties`\n\n\n## 4.0.0b6 (2019-12-04)\n- Updated `msrest` requirement to >=0.6.0\n- Renamed `get_policy` to `get_certificate_policy`\n- Renamed `update_policy` to `update_certificate_policy`\n- Renamed `create_contacts` to `set_contacts`\n- Renamed parameter `admin_details` of `create_issuer` and `update_issuer` to `admin_contacts`\n- Renamed all `name` parameters to include the name of the object whose name we are referring to.\nFor example, the `name` parameter of `get_certificate` is now `certificate_name`\n- Renamed `AdministratorDetails` to `AdministratorContact`\n- Renamed the `ekus` property of `CertificatePolicy` to `enhanced_key_usage`\n- Renamed the `curve` property of `CertificatePolicy` to `key_curve_name`\n- Renamed the `san_upns` property of `CertificatePolicy` to `san_user_principal_names`\n- Made the `subject_name` property of `CertificatePolicy` a kwarg and renamed it to `subject`\n- Renamed the `deleted_date` property of `DeletedCertificate` to `deleted_on`\n- Removed the `issuer_properties` property from `CertificateIssuer` and added the `provider` property\ndirectly onto `CertificateIssuer`\n- Renamed property `admin_details` of `CertificateIssuer` to `admin_contacts`\n- Renamed the `thumbprint` property of `CertificateProperties` to `x509_thumbprint`\n- Added `WellKnownIssuerNames` enum class that holds popular issuer names\n- Renamed `SecretContentType` enum class to `CertificateContentType`\n\n\n## 4.0.0b5 (2019-11-01)\n- Removed redundant method `get_pending_certificate_signing_request()`. A pending CSR can be retrieved via `get_certificate_operation()`.\n- Renamed the sync method `create_certificate` to `begin_create_certificate`\n- Renamed `restore_certificate` to `restore_certificate_backup`\n- Renamed `get_certificate` to `get_certificate_version`\n- Renamed `get_certificate_with_policy` to `get_certificate`\n- Renamed `list_certificates` to `list_properties_of_certificates`\n- Renamed `list_properties_of_issuers` to `list_properties_of_issuers`\n- Renamed `list_certificate_versions` to `list_properties_of_certificate_versions`\n- `create_certificate` now has policy as a required parameter\n- All optional positional parameters besides `version` have been moved to kwargs\n- Renamed sync method `delete_certificate` to `begin_delete_certificate`\n- Renamed sync method `recover_certificate` to `begin_recover_deleted_certificate`\n- Renamed async method `recover_certificate` to `recover_deleted_certificate`\n- The sync method `begin_delete_certificate` and async `delete_certificate` now return pollers that return a `DeletedCertificate`\n- The sync method `begin_recover_deleted_certificate` and async `recover_deleted_certificate` now return pollers that return a `KeyVaultCertificate`\n\n- Renamed enum `ActionType` to `CertificatePolicyAction`\n- Renamed `Certificate` to `KeyVaultCertificate`\n- Renamed `Contact` to `CertificateContact`\n- Renamed `Issuer` to `CertificateIssuer`\n- Renamed `CertificateError` to `CertificateOperationError`\n- Renamed `expires` property of `CertificateProperties` and `CertificatePolicy` to `expires_on`\n- Renamed `created` property of `CertificateProperties`, `CertificatePolicy`, and `CertificateIssuer` to `created_on`\n- Renamed `updated` property of `CertificateProperties`, `CertificatePolicy`, and `CertificateIssuer` to `updated_on`\n- The `vault_endpoint` parameter of `CertificateClient` has been renamed to `vault_url`\n- The property `vault_endpoint` has been renamed to `vault_url` in all models\n- `CertificatePolicy` now has a public class method `get_default` allowing users to get the default `CertificatePolicy`\n- Logging can now be enabled properly on the client level\n\n## 4.0.0b4 (2019-10-08)\n- Enums `JsonWebKeyCurveName` and `JsonWebKeyType` have been renamed to `KeyCurveName` and `KeyType`, respectively.\n- Both async and sync versions of `create_certificate` now return pollers that return the created `Certificate` if creation is successful,\nand a `CertificateOperation` if not.\n- `Certificate` now has attribute `properties`, which holds certain properties of the\ncertificate, such as `version`. This changes the shape of the `Certificate` type,\nas certain properties of `Certificate` (such as `version`) have to be accessed\nthrough the `properties` property.\n\n- `update_certificate` has been renamed to `update_certificate_properties`\n- The `vault_url` parameter of `CertificateClient` has been renamed to `vault_endpoint`\n- The property `vault_url` has been renamed to `vault_endpoint` in all models\n\n## 4.0.0b3 (2019-09-11)\nVersion 4.0.0b3 is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Key Vault's certificates.\n\n This library is not a direct replacement for `azure-keyvault`. Applications\nusing that library would require code changes to use `azure-keyvault-certificates`.\nThis package's\n[documentation](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/README.md)\nand\n[samples](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates/samples)\ndemonstrate the new API.\n\n### Breaking changes from `azure-keyvault`:\n- Packages scoped by functionality\n - `azure-keyvault-certificates` contains a client for certificate operations\n- Client instances are scoped to vaults (an instance interacts with one vault\nonly)\n- Authentication using `azure-identity` credentials\n - see this package's\n [documentation](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/README.md)\n , and the\n [Azure Identity documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/identity/azure-identity/README.md)\n for more information\n\n### New Features:\n- Distributed tracing framework OpenCensus is now supported\n- Asynchronous API supported on Python 3.5.3+\n - the `azure.keyvault.certificates.aio` namespace contains an async equivalent of\n the synchronous client in `azure.keyvault.certificates`\n - Async clients use [aiohttp](https://pypi.org/project/aiohttp/) for transport\n by default. See [azure-core documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md/#transport)\n for more information about using other transports.\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates", + "author": "Microsoft Corporation", + "author_email": "azurekeyvault@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "azure-common (~=1.1)", + "azure-core (<2.0.0,>=1.24.0)", + "isodate (>=0.6.1)", + "typing-extensions (>=4.0.1)" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e7/bc/d42184f3f67f5954ba45788eac2c82fc03d62ba9da5f2cc163aafa60c5fa/azure_keyvault_keys-4.9.0b3-py3-none-any.whl", + "archive_info": { + "hash": "sha256=b38b50744d760db1e3ed517729e62ef7c4a20f65fa46c6998d4f27f450961487", + "hashes": { + "sha256": "b38b50744d760db1e3ed517729e62ef7c4a20f65fa46c6998d4f27f450961487" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-keyvault-keys", + "version": "4.9.0b3", + "summary": "Microsoft Azure Key Vault Keys Client Library for Python", + "description": "# Azure Key Vault Keys client library for Python\nAzure Key Vault helps solve the following problems:\n- Cryptographic key management (this library) - create, store, and control\naccess to the keys used to encrypt your data\n- Secrets management\n([azure-keyvault-secrets](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets)) -\nsecurely store and control access to tokens, passwords, certificates, API keys,\nand other secrets\n- Certificate management\n([azure-keyvault-certificates](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates)) -\ncreate, manage, and deploy public and private SSL/TLS certificates\n- Vault administration ([azure-keyvault-administration](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration)) - role-based access control (RBAC), and vault-level backup and restore options\n\n[Source code][library_src]\n| [Package (PyPI)][pypi_package_keys]\n| [Package (Conda)](https://anaconda.org/microsoft/azure-keyvault/)\n| [API reference documentation][reference_docs]\n| [Product documentation][azure_keyvault]\n| [Samples][key_samples]\n\n## _Disclaimer_\n\n_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_.\n\n_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)._\n\n## Getting started\n### Install the package\nInstall [azure-keyvault-keys][pypi_package_keys] and\n[azure-identity][azure_identity_pypi] with [pip][pip]:\n```Bash\npip install azure-keyvault-keys azure-identity\n```\n[azure-identity][azure_identity] is used for Azure Active Directory authentication as demonstrated below.\n\n### Prerequisites\n* An [Azure subscription][azure_sub]\n* Python 3.7 or later\n* An existing [Azure Key Vault][azure_keyvault]. If you need to create one, you can do so using the Azure CLI by following the steps in [this document][azure_keyvault_cli].\n* If using Managed HSM, an existing [Key Vault Managed HSM][managed_hsm]. If you need to create a Managed HSM, you can do so using the Azure CLI by following the steps in [this document][managed_hsm_cli].\n\n### Authenticate the client\nIn order to interact with the Azure Key Vault service, you will need an instance of a [KeyClient][key_client_docs], as\nwell as a **vault URL** and a credential object. This document demonstrates using a\n[DefaultAzureCredential][default_cred_ref], which is appropriate for most scenarios. We recommend using a\n[managed identity][managed_identity] for authentication in production environments.\n\nSee [azure-identity][azure_identity] documentation for more information about other methods of authentication and their\ncorresponding credential types.\n\n#### Create a client\nAfter configuring your environment for the [DefaultAzureCredential][default_cred_ref] to use a suitable method of\nauthentication, you can do the following to create a key client (replacing the value of `VAULT_URL` with your vault's\nURL):\n\n\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\n\nVAULT_URL = os.environ[\"VAULT_URL\"]\ncredential = DefaultAzureCredential()\nclient = KeyClient(vault_url=VAULT_URL, credential=credential)\n```\n\n\n\n> **NOTE:** For an asynchronous client, import `azure.keyvault.keys.aio`'s `KeyClient` instead.\n\n## Key concepts\n### Keys\nAzure Key Vault can create and store RSA and elliptic curve keys. Both can optionally be protected by hardware security\nmodules (HSMs). Azure Key Vault can also perform cryptographic operations with them. For more information about keys\nand supported operations and algorithms, see the\n[Key Vault documentation](https://docs.microsoft.com/azure/key-vault/keys/about-keys).\n\n[KeyClient][key_client_docs] can create keys in the vault, get existing keys\nfrom the vault, update key metadata, and delete keys, as shown in the\n[examples](#examples) below.\n\n## Examples\nThis section contains code snippets covering common tasks:\n* [Create a key](#create-a-key)\n* [Retrieve a key](#retrieve-a-key)\n* [Update an existing key](#update-an-existing-key)\n* [Delete a key](#delete-a-key)\n* [Configure automatic key rotation](#configure-automatic-key-rotation)\n* [List keys](#list-keys)\n* [Perform cryptographic operations](#cryptographic-operations)\n* [Async API](#async-api)\n* [Asynchronously create a key](#asynchronously-create-a-key)\n* [Asynchronously list keys](#asynchronously-list-keys)\n\n### Create a key\nThe [create_key](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.create_key) method can be\nused by a `KeyClient` to create a key of any type -- alternatively, specific helpers such as\n[create_rsa_key](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.create_rsa_key) and\n[create_ec_key](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.create_ec_key)\ncreate RSA and elliptic curve keys in the vault, respectively. If a key with the same name already exists, a new version\nof that key is created.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\n\ncredential = DefaultAzureCredential()\n\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\n# Create an RSA key\nrsa_key = key_client.create_rsa_key(\"rsa-key-name\", size=2048)\nprint(rsa_key.name)\nprint(rsa_key.key_type)\n\n# Create an elliptic curve key\nec_key = key_client.create_ec_key(\"ec-key-name\", curve=\"P-256\")\nprint(ec_key.name)\nprint(ec_key.key_type)\n```\n\n### Retrieve a key\n[get_key](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.get_key) retrieves a key\npreviously stored in the Vault.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\n\ncredential = DefaultAzureCredential()\n\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nkey = key_client.get_key(\"key-name\")\nprint(key.name)\n```\n\n### Update an existing key\n[update_key_properties](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.update_key_properties)\nupdates the properties of a key previously stored in the Key Vault.\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\n\ncredential = DefaultAzureCredential()\n\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\n# we will now disable the key for further use\nupdated_key = key_client.update_key_properties(\"key-name\", enabled=False)\n\nprint(updated_key.name)\nprint(updated_key.properties.enabled)\n```\n\n### Delete a key\n[begin_delete_key](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.begin_delete_key)\nrequests Key Vault delete a key, returning a poller which allows you to wait for the deletion to finish. Waiting is\nhelpful when the vault has [soft-delete][soft_delete] enabled, and you want to purge (permanently delete) the key as\nsoon as possible. When [soft-delete][soft_delete] is disabled, `begin_delete_key` itself is permanent.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\n\ncredential = DefaultAzureCredential()\n\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\ndeleted_key = key_client.begin_delete_key(\"key-name\").result()\n\nprint(deleted_key.name)\nprint(deleted_key.deleted_date)\n```\n\n### Configure automatic key rotation\n[update_key_rotation_policy](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.update_key_rotation_policy)\ncan be used by a `KeyClient` to configure automatic key rotation for a key by specifying a rotation policy.\n\n\n\n```python\nfrom azure.keyvault.keys import KeyRotationLifetimeAction, KeyRotationPolicy, KeyRotationPolicyAction\n\n# Here we set the key's automated rotation policy to rotate the key two months after the key was created.\n# If you pass an empty KeyRotationPolicy() as the `policy` parameter, the rotation policy will be set to the\n# default policy. Any keyword arguments will update specified properties of the policy.\nactions = [KeyRotationLifetimeAction(KeyRotationPolicyAction.rotate, time_after_create=\"P2M\")]\nupdated_policy = client.update_key_rotation_policy(\n \"rotation-sample-key\", policy=KeyRotationPolicy(), expires_in=\"P90D\", lifetime_actions=actions\n)\nassert updated_policy.expires_in == \"P90D\"\n```\n\n\n\nIn addition,\n[rotate_key](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.rotate_key)\nallows you to rotate a key on-demand by creating a new version of the given key.\n\n\n\n```python\nrotated_key = client.rotate_key(\"rotation-sample-key\")\nprint(f\"Rotated the key on-demand; new version is {rotated_key.properties.version}\")\n```\n\n\n\n### List keys\n[list_properties_of_keys](https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient.list_properties_of_keys)\nlists the properties of all of the keys in the client's vault.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\n\ncredential = DefaultAzureCredential()\n\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nkeys = key_client.list_properties_of_keys()\n\nfor key in keys:\n # the list doesn't include values or versions of the keys\n print(key.name)\n```\n\n### Cryptographic operations\n[CryptographyClient](https://aka.ms/azsdk/python/keyvault-keys/crypto/docs#azure.keyvault.keys.crypto.CryptographyClient)\nenables cryptographic operations (encrypt/decrypt, wrap/unwrap, sign/verify) using a particular key.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\nfrom azure.keyvault.keys.crypto import CryptographyClient, EncryptionAlgorithm\n\ncredential = DefaultAzureCredential()\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\nkey = key_client.get_key(\"key-name\")\ncrypto_client = CryptographyClient(key, credential=credential)\nplaintext = b\"plaintext\"\n\nresult = crypto_client.encrypt(EncryptionAlgorithm.rsa_oaep, plaintext)\ndecrypted = crypto_client.decrypt(result.algorithm, result.ciphertext)\n```\n\nSee the\n[package documentation][crypto_client_docs]\nfor more details of the cryptography API.\n\n### Async API\nThis library includes a complete set of async APIs. To use them, you must\nfirst install an async transport, such as [aiohttp](https://pypi.org/project/aiohttp/).\nSee\n[azure-core documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#transport)\nfor more information.\n\nAsync clients and credentials should be closed when they're no longer needed. These\nobjects are async context managers and define async `close` methods. For\nexample:\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.keys.aio import KeyClient\n\ncredential = DefaultAzureCredential()\n\n# call close when the client and credential are no longer needed\nclient = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n...\nawait client.close()\nawait credential.close()\n\n# alternatively, use them as async context managers (contextlib.AsyncExitStack can help)\nclient = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nasync with client:\n async with credential:\n ...\n```\n\n### Asynchronously create a key\n[create_rsa_key](https://aka.ms/azsdk/python/keyvault-keys/aio/docs#azure.keyvault.keys.aio.KeyClient.create_rsa_key) and\n[create_ec_key](https://aka.ms/azsdk/python/keyvault-keys/aio/docs#azure.keyvault.keys.aio.KeyClient.create_ec_key)\ncreate RSA and elliptic curve keys in the vault, respectively. If a key with the same name already exists, a new\nversion of the key is created.\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.keys.aio import KeyClient\n\ncredential = DefaultAzureCredential()\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\n# Create an RSA key\nrsa_key = await key_client.create_rsa_key(\"rsa-key-name\", size=2048)\nprint(rsa_key.name)\nprint(rsa_key.key_type)\n\n# Create an elliptic curve key\nec_key = await key_client.create_ec_key(\"ec-key-name\", curve=\"P-256\")\nprint(ec_key.name)\nprint(ec_key.key_type)\n```\n\n### Asynchronously list keys\n[list_properties_of_keys](https://aka.ms/azsdk/python/keyvault-keys/aio/docs#azure.keyvault.keys.aio.KeyClient.list_properties_of_keys)\nlists the properties of all of the keys in the client's vault.\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.keys.aio import KeyClient\n\ncredential = DefaultAzureCredential()\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nkeys = key_client.list_properties_of_keys()\n\nasync for key in keys:\n print(key.name)\n```\n\n## Troubleshooting\n\nSee the `azure-keyvault-keys`\n[troubleshooting guide](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/TROUBLESHOOTING.md)\nfor details on how to diagnose various failure scenarios.\n\n### General\nKey Vault clients raise exceptions defined in [azure-core][azure_core_exceptions].\nFor example, if you try to get a key that doesn't exist in the vault, [KeyClient][key_client_docs]\nraises [ResourceNotFoundError](https://aka.ms/azsdk-python-core-exceptions-resource-not-found-error):\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\nfrom azure.core.exceptions import ResourceNotFoundError\n\ncredential = DefaultAzureCredential()\nkey_client = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ntry:\n key_client.get_key(\"which-does-not-exist\")\nexcept ResourceNotFoundError as e:\n print(e.message)\n```\n\n### Logging\nThis library uses the standard\n[logging](https://docs.python.org/3/library/logging.html) library for logging.\nBasic information about HTTP sessions (URLs, headers, etc.) is logged at INFO\nlevel.\n\nDetailed DEBUG level logging, including request/response bodies and unredacted\nheaders, can be enabled on a client with the `logging_enable` argument:\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.keys import KeyClient\nimport sys\nimport logging\n\n# Create a logger for the 'azure' SDK\nlogger = logging.getLogger('azure')\nlogger.setLevel(logging.DEBUG)\n\n# Configure a console output\nhandler = logging.StreamHandler(stream=sys.stdout)\nlogger.addHandler(handler)\n\ncredential = DefaultAzureCredential()\n\n# This client will log detailed information about its HTTP sessions, at DEBUG level\nclient = KeyClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential, logging_enable=True)\n```\n\nSimilarly, `logging_enable` can enable detailed logging for a single operation,\neven when it isn't enabled for the client:\n```python\nclient.get_key(\"my-key\", logging_enable=True)\n```\n\n## Next steps\nSeveral samples are available in the Azure SDK for Python GitHub repository.\nThese provide example code for additional Key Vault scenarios:\n| File | Description |\n|-------------|-------------|\n| [hello_world.py][hello_world_sample] ([async version][hello_world_async_sample]) | create/get/update/delete keys |\n| [list_operations.py][list_operations_sample] ([async version][list_operations_async_sample]) | basic list operations for keys |\n| [backup_restore_operations.py][backup_operations_sample] ([async version][backup_operations_async_sample]) | back up and recover keys |\n| [recover_purge_operations.py][recover_purge_sample] ([async version][recover_purge_async_sample]) | recover and purge keys |\n| [key_rotation.py][key_rotation_sample] ([async version][key_rotation_async_sample]) | create/update key rotation policies and rotate keys on-demand |\n| [send_request.py][send_request_sample] | use the `send_request` client method |\n\n### Additional documentation\nFor more extensive documentation on Azure Key Vault, see the\n[API reference documentation][reference_docs].\n\n## Contributing\nThis project welcomes contributions and suggestions. Most contributions require\nyou to agree to a Contributor License Agreement (CLA) declaring that you have\nthe right to, and actually do, grant us the rights to use your contribution.\nFor details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether\nyou need to provide a CLA and decorate the PR appropriately (e.g., label,\ncomment). Simply follow the instructions provided by the bot. You will only\nneed to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct].\nFor more information, see the\n[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact opencode@microsoft.com with any additional questions or comments.\n\n\n\n[azure_core_exceptions]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core#azure-core-library-exceptions\n[azure_identity]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity\n[azure_identity_pypi]: https://pypi.org/project/azure-identity/\n[azure_keyvault]: https://docs.microsoft.com/azure/key-vault/\n[azure_keyvault_cli]: https://docs.microsoft.com/azure/key-vault/general/quick-create-cli\n[azure_sub]: https://azure.microsoft.com/free/\n\n[backup_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations.py\n[backup_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations_async.py\n\n[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/\n[crypto_client_docs]: https://aka.ms/azsdk/python/keyvault-keys/crypto/docs\n\n[default_cred_ref]: https://aka.ms/azsdk/python/identity/docs#azure.identity.DefaultAzureCredential\n\n[hello_world_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/hello_world.py\n[hello_world_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/hello_world_async.py\n\n[key_client_docs]: https://aka.ms/azsdk/python/keyvault-keys/docs#azure.keyvault.keys.KeyClient\n[key_rotation_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/samples/key_rotation.py\n[key_rotation_async_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/samples/key_rotation_async.py\n[key_samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/samples\n\n[library_src]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys\n[list_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/list_operations.py\n[list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/list_operations_async.py\n\n[managed_hsm]: https://docs.microsoft.com/azure/key-vault/managed-hsm/overview\n[managed_hsm_cli]: https://docs.microsoft.com/azure/key-vault/managed-hsm/quick-create-cli\n[managed_identity]: https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview\n\n[pip]: https://pypi.org/project/pip/\n[pypi_package_keys]: https://pypi.org/project/azure-keyvault-keys/\n\n[recover_purge_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations.py\n[recover_purge_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations_async.py\n[reference_docs]: https://aka.ms/azsdk/python/keyvault-keys/docs\n\n[send_request_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/samples/send_request.py\n[soft_delete]: https://docs.microsoft.com/azure/key-vault/general/soft-delete-overview\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-keys%2FREADME.png)\n\n\n# Release History\n\n## 4.9.0b3 (2023-11-03)\n\n### Features Added\n- Added support for service API version `7.5-preview.1`\n- Added `KeyProperties.hsm_platform` to get the underlying HSM platform\n\n### Other Changes\n- Key Vault API version `7.5-preview.1` is now the default\n\n## 4.9.0b2 (2023-10-12)\n\n### Features Added\n- The `cryptography` library's `RSAPrivateKey` and `RSAPublicKey` interfaces are now implemented by\n `KeyVaultRSAPrivateKey` and `KeyVaultRSAPublicKey` classes that can use keys managed by Key Vault\n- `CryptographyClient` has `create_rsa_private_key` and `create_rsa_public_key` methods that return a\n `KeyVaultRSAPrivateKey` and `KeyVaultRSAPublicKey`, respectively\n\n## 4.9.0b1 (2023-05-16)\n\n### Bugs Fixed\n- Token requests made during AD FS authentication no longer specify an erroneous \"adfs\" tenant ID\n ([#29888](https://github.com/Azure/azure-sdk-for-python/issues/29888))\n\n## 4.8.0 (2023-03-16)\n\n### Features Added\n- Added support for service API version `7.4`\n- Clients each have a `send_request` method that can be used to send custom requests using the\n client's existing pipeline ([#25172](https://github.com/Azure/azure-sdk-for-python/issues/25172))\n- (From 4.8.0b1) An attempt will be made to generate an IV if one isn't provided for local encryption\n ([#25380](https://github.com/Azure/azure-sdk-for-python/pull/25380))\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.7.0. Only code written against a beta version such as 4.8.0b2 may be affected.\n- Removed support for octet key pair (OKP) keys and operations\n\n### Other Changes\n- Key Vault API version `7.4` is now the default\n- (From 4.8.0b1) Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- (From 4.8.0b1) Updated minimum `azure-core` version to 1.24.0\n- (From 4.8.0b1) Updated minimum `msrest` version to 0.7.1\n- (From 4.8.0b2) Dropped `msrest` requirement\n- (From 4.8.0b2) Dropped `six` requirement\n- (From 4.8.0b2) Added requirement for `isodate>=0.6.1` (`isodate` was required by `msrest`)\n- (From 4.8.0b2) Added requirement for `typing-extensions>=4.0.1`\n\n## 4.8.0b2 (2022-11-15)\n\n### Features Added\n- Added support for service API version `7.4-preview.1`\n- `KeyClient` has a `create_okp_key` method to create an octet key pair (OKP) on Managed HSM\n- Added `eddsa` to `SignatureAlgorithm` enum to support signing and verifying using an\n Edwards-Curve Digital Signature Algorithm (EdDSA) on Managed HSM\n- Added `okp` and `okp_hsm` to `KeyType` enum for octet key pairs\n- Added `ed25519` to `KeyCurveName` enum to support use of the Ed25519 Edwards curve\n\n### Other Changes\n- Key Vault API version `7.4-preview.1` is now the default\n- Dropped `msrest` requirement\n- Dropped `six` requirement\n- Added requirement for `isodate>=0.6.1` (`isodate` was required by `msrest`)\n- Added requirement for `typing-extensions>=4.0.1`\n\n## 4.8.0b1 (2022-09-22)\n\n### Features Added\n- An attempt will be made to generate an IV if one isn't provided for local encryption\n ([#25380](https://github.com/Azure/azure-sdk-for-python/pull/25380))\n\n### Other Changes\n- Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- Updated minimum `azure-core` version to 1.24.0\n- Updated minimum `msrest` version to 0.7.1\n\n## 4.7.0 (2022-09-19)\n\n### Breaking Changes\n- Clients verify the challenge resource matches the vault domain. This should affect few customers,\n who can provide `verify_challenge_resource=False` to client constructors to disable.\n See https://aka.ms/azsdk/blog/vault-uri for more information.\n\n### Other Changes\n- Changes from version 4.7.0b1 have been reverted and will be included in version 4.8.0b1\n\n## 4.7.0b1 (2022-08-12)\n\n### Features Added\n- An attempt will be made to generate an IV if one isn't provided for local encryption\n ([#25380](https://github.com/Azure/azure-sdk-for-python/pull/25380))\n\n### Other Changes\n- The most recent release was version 4.6.1 instead of the intended version, 4.5.2.\n The next stable release is planned to be version 4.7.0.\n- Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- Updated minimum `azure-core` version to 1.24.0\n\n## 4.6.1 (2022-08-11)\n\n### Other Changes\n- Documentation improvements \n ([#25039](https://github.com/Azure/azure-sdk-for-python/issues/25039))\n\n## 4.6.0b1 (2022-06-07)\n\n### Bugs Fixed\n- If a key's ID contains a port number, this port will now be preserved in the vault URL of a\n `CryptographyClient` instance created from this key\n ([#24446](https://github.com/Azure/azure-sdk-for-python/issues/24446))\n - Port numbers are now preserved in the `vault_url` property of a `KeyVaultKeyIdentifier`\n\n## 4.5.1 (2022-04-18)\n\n### Bugs Fixed\n- Fixed error that could occur when fetching a key rotation policy that has no defined\n `lifetime_actions`.\n\n## 4.5.0 (2022-03-28)\n\n### Features Added\n- Key Vault API version 7.3 is now the default\n- Added support for multi-tenant authentication when using `azure-identity`\n 1.8.0 or newer ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n- (From 4.5.0b1) `KeyClient` has a `get_random_bytes` method for getting a requested number of\n random bytes from a managed HSM\n- (From 4.5.0b2) Added support for secure key release from a Managed HSM\n ([#19588](https://github.com/Azure/azure-sdk-for-python/issues/19588))\n - Added `release_key` method to `KeyClient` for releasing the private component of a key\n - Added `exportable` and `release_policy` keyword-only arguments to key creation and import\n methods\n - Added `KeyExportEncryptionAlgorithm` enum for specifying an encryption algorithm to be used\n in key release\n- (From 4.5.0b4) Added `KeyClient.get_cryptography_client`, which provides a simple way to\n create a `CryptographyClient` for a key, given its name and optionally a version\n ([#20621](https://github.com/Azure/azure-sdk-for-python/issues/20621))\n- (From 4.5.0b4) Added support for automated and on-demand key rotation in Azure Key Vault\n ([#19840](https://github.com/Azure/azure-sdk-for-python/issues/19840))\n - Added `KeyClient.rotate_key` to rotate a key on-demand\n - Added `KeyClient.update_key_rotation_policy` to update a key's automated rotation policy\n- (From 4.5.0b6) Added `immutable` keyword-only argument and property to `KeyReleasePolicy` to\n support immutable release policies. Once a release policy is marked as immutable, it can no\n longer be modified.\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.4.0.\n> Only code written against a beta version such as 4.5.0b1 may be affected.\n- `KeyClient.update_key_rotation_policy` accepts a required `policy` argument\n ([#22981](https://github.com/Azure/azure-sdk-for-python/issues/22981))\n- The optional `version` parameter in `KeyClient.release_key` is now a keyword-only argument\n ([#22981](https://github.com/Azure/azure-sdk-for-python/issues/22981))\n- Renamed the `name` parameter in `KeyClient.get_key_rotation_policy` and\n `KeyClient.update_key_rotation_policy` to `key_name`\n ([#22981](https://github.com/Azure/azure-sdk-for-python/issues/22981))\n- Enum values in `azure-keyvault-keys` are now uniformly lower-cased\n ([#22981](https://github.com/Azure/azure-sdk-for-python/issues/22981))\n\n### Bugs Fixed\n- `KeyType` now ignores casing during declaration, which resolves a scenario where Key Vault\n keys created with non-standard casing could not be fetched with the SDK\n ([#22797](https://github.com/Azure/azure-sdk-for-python/issues/22797))\n\n### Other Changes\n- (From 4.5.0b6) Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- (From 4.5.0b6) Updated minimum `azure-core` version to 1.20.0\n- (From 4.5.0b3) Updated type hints to fix mypy errors\n ([#19158](https://github.com/Azure/azure-sdk-for-python/issues/19158))\n- (From 4.5.0b4) `CryptographyClient` no longer requires a key version when providing a key ID to its constructor\n (though providing a version is still recommended)\n- (From 4.5.0b5) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698)). See\n https://aka.ms/azsdk/python/identity/tokencredential for more details on how to integrate\n this parameter if `get_token` is implemented by a custom credential.\n- (From 4.5.0b6) Updated type hints for `KeyProperties` model's `managed`, `exportable`, and\n `release_policy` properties ([#22368](https://github.com/Azure/azure-sdk-for-python/pull/22368))\n\n## 4.5.0b6 (2022-02-08)\n\n### Features Added\n- Added `immutable` keyword-only argument and property to `KeyReleasePolicy` to support immutable\n release policies. Once a release policy is marked as immutable, it can no longer be modified.\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.4.0.\n> Only code written against a beta version such as 4.5.0b1 may be affected.\n- Renamed the required argument `data` in `KeyReleasePolicy`'s constructor to\n `encoded_policy`\n\n### Other Changes\n- Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- Updated minimum `azure-core` version to 1.20.0\n- Updated type hints for `KeyProperties` model's `managed`, `exportable`, and `release_policy`\n properties ([#22368](https://github.com/Azure/azure-sdk-for-python/pull/22368))\n- (From 4.5.0b5) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n## 4.5.0b5 (2021-11-11)\n\n### Features Added\n- Added support for multi-tenant authentication when using `azure-identity` 1.7.1 or newer\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.4.0.\n> Only code written against a beta version such as 4.5.0b1 may be affected.\n- `KeyClient.get_random_bytes` now returns bytes instead of RandomBytes. The RandomBytes class\n has been removed\n- Renamed the `version` keyword-only argument in `KeyClient.get_cryptography_client` to\n `key_version`\n- Renamed `KeyReleasePolicy.data` to `KeyReleasePolicy.encoded_policy`\n- Renamed the `target` parameter in `KeyClient.release_key` to `target_attestation_token`\n\n### Other Changes\n- Updated minimum `azure-core` version to 1.15.0\n\n## 4.5.0b4 (2021-10-07)\n\n### Features Added\n- Added `KeyClient.get_cryptography_client`, which provides a simple way to create a\n `CryptographyClient` for a key, given its name and optionally a version\n ([#20621](https://github.com/Azure/azure-sdk-for-python/issues/20621))\n- Added support for automated and on-demand key rotation in Azure Key Vault\n ([#19840](https://github.com/Azure/azure-sdk-for-python/issues/19840))\n - Added `KeyClient.rotate_key` to rotate a key on-demand\n - Added `KeyClient.update_key_rotation_policy` to update a key's automated rotation policy\n\n### Other Changes\n- `CryptographyClient` no longer requires a key version when providing a key ID to its constructor\n (though providing a version is still recommended)\n\n## 4.5.0b3 (2021-09-09)\n\n### Other Changes\n- Updated type hints to fix mypy errors\n ([#19158](https://github.com/Azure/azure-sdk-for-python/issues/19158))\n\n## 4.5.0b2 (2021-08-10)\n\n### Features Added\n- Added support for secure key release from a Managed HSM\n ([#19588](https://github.com/Azure/azure-sdk-for-python/issues/19588))\n - Added `release_key` method to `KeyClient` for releasing the private component of a key\n - Added `exportable` and `release_policy` keyword-only arguments to key creation and import\n methods\n - Added `KeyExportEncryptionAlgorithm` enum for specifying an encryption algorithm to be used\n in key release\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.4.0.\n> Only code written against a beta version such as 4.5.0b1 may be affected.\n- `KeyClient.get_random_bytes` now returns a `RandomBytes` model with bytes in a `value`\n property, rather than returning the bytes directly\n ([#19895](https://github.com/Azure/azure-sdk-for-python/issues/19895))\n\n## 4.5.0b1 (2021-07-08)\nBeginning with this release, this library requires Python 2.7 or 3.6+.\n\n### Features Added\n- Key Vault API version 7.3-preview is now the default\n- `KeyClient` has a `get_random_bytes` method for getting a requested number of random\n bytes from a managed HSM\n\n## 4.4.0 (2021-06-22)\nThis is the last version to support Python 3.5. The next version will require Python 2.7 or 3.6+.\n### Changed\n- Key Vault API version 7.2 is now the default\n- (From 4.4.0b1) Updated minimum `msrest` version to 0.6.21\n\n### Added\n- `KeyClient` has a `create_oct_key` method for creating symmetric keys\n- `KeyClient`'s `create_key` and `create_rsa_key` methods now accept a `public_exponent`\n keyword-only argument ([#18016](https://github.com/Azure/azure-sdk-for-python/issues/18016))\n- (From 4.4.0b1) Added support for Key Vault API version 7.2\n ([#16566](https://github.com/Azure/azure-sdk-for-python/pull/16566))\n - Added `oct_hsm` to `KeyType`\n - Added 128-, 192-, and 256-bit AES-GCM, AES-CBC, and AES-CBCPAD encryption\n algorithms to `EncryptionAlgorithm`\n - Added 128- and 192-bit AES-KW key wrapping algorithms to `KeyWrapAlgorithm`\n - `CryptographyClient`'s `encrypt` method accepts `iv` and\n `additional_authenticated_data` keyword arguments\n - `CryptographyClient`'s `decrypt` method accepts `iv`,\n `additional_authenticated_data`, and `authentication_tag` keyword arguments\n - Added `iv`, `aad`, and `tag` properties to `EncryptResult`\n- (From 4.4.0b3) `CryptographyClient` will perform all operations locally if initialized with\n the `.from_jwk` factory method\n ([#16565](https://github.com/Azure/azure-sdk-for-python/pull/16565))\n- (From 4.4.0b3) Added requirement for `six`>=1.12.0\n- (From 4.4.0b4) `CryptographyClient` can perform AES-CBCPAD encryption and decryption locally\n ([#17762](https://github.com/Azure/azure-sdk-for-python/pull/17762))\n\n### Breaking Changes\n> These changes do not impact the API of stable versions such as 4.3.1.\n> Only code written against a beta version such as 4.4.0b1 may be affected.\n- `parse_key_vault_key_id` and `KeyVaultResourceId` have been replaced by a\n `KeyVaultKeyIdentifier` class, which can be initialized with a key ID\n\n## 4.4.0b4 (2021-04-06)\n### Added\n- `CryptographyClient` can perform AES-CBCPAD encryption and decryption locally\n ([#17762](https://github.com/Azure/azure-sdk-for-python/pull/17762))\n\n## 4.4.0b3 (2021-03-11)\n### Added\n- `CryptographyClient` will perform all operations locally if initialized with\n the `.from_jwk` factory method\n ([#16565](https://github.com/Azure/azure-sdk-for-python/pull/16565))\n- Added requirement for six>=1.12.0\n\n## 4.4.0b2 (2021-02-10)\n### Fixed\n- API versions older than 7.2-preview no longer raise `ImportError` when\n performing async operations ([#16680](https://github.com/Azure/azure-sdk-for-python/pull/16680))\n\n## 4.4.0b1 (2021-02-10)\n### Changed\n- Key Vault API version 7.2-preview is now the default\n- Updated msrest requirement to >=0.6.21\n\n### Added\n- Support for Key Vault API version 7.2-preview\n ([#16566](https://github.com/Azure/azure-sdk-for-python/pull/16566))\n - Added `oct_hsm` to `KeyType`\n - Added 128-, 192-, and 256-bit AES-GCM, AES-CBC, and AES-CBCPAD encryption\n algorithms to `EncryptionAlgorithm`\n - Added 128- and 192-bit AES-KW key wrapping algorithms to `KeyWrapAlgorithm`\n - `CryptographyClient`'s `encrypt` method accepts `iv` and\n `additional_authenticated_data` keyword arguments\n - `CryptographyClient`'s `decrypt` method accepts `iv`,\n `additional_authenticated_data`, and `authentication_tag` keyword arguments\n - Added `iv`, `aad`, and `tag` properties to `EncryptResult`\n- Added method `parse_key_vault_key_id` that parses out a full ID returned by\nKey Vault, so users can easily access the key's `name`, `vault_url`, and `version`.\n\n## 4.3.1 (2020-12-03)\n### Fixed\n- `CryptographyClient` operations no longer raise `AttributeError` when\n the client was constructed with a key ID\n ([#15608](https://github.com/Azure/azure-sdk-for-python/issues/15608))\n\n## 4.3.0 (2020-10-06)\n### Changed\n- `CryptographyClient` can perform decrypt and sign operations locally\n ([#9754](https://github.com/Azure/azure-sdk-for-python/issues/9754))\n\n### Fixed\n- Correct typing for async paging methods\n\n## 4.2.0 (2020-08-11)\n### Fixed\n- Values of `x-ms-keyvault-region` and `x-ms-keyvault-service-version` headers\n are no longer redacted in logging output\n- `CryptographyClient` will no longer perform encrypt or wrap operations when\n its key has expired or is not yet valid\n\n### Changed\n- Key Vault API version 7.1 is now the default\n- Updated minimum `azure-core` version to 1.7.0\n\n### Added\n- At construction, clients accept a `CustomHookPolicy` through the optional\n keyword argument `custom_hook_policy`\n- All client requests include a unique ID in the header `x-ms-client-request-id`\n- Dependency on `azure-common` for multiapi support\n\n## 4.2.0b1 (2020-03-10)\n- Support for Key Vault API version 7.1-preview\n([#10124](https://github.com/Azure/azure-sdk-for-python/pull/10124))\n - Added `import_key` to `KeyOperation`\n - Added `recoverable_days` to `CertificateProperties`\n - Added `ApiVersion` enum identifying Key Vault versions supported by this package\n\n## 4.1.0 (2020-03-10)\n- `KeyClient` instances have a `close` method which closes opened sockets. Used\nas a context manager, a `KeyClient` closes opened sockets on exit.\n([#9906](https://github.com/Azure/azure-sdk-for-python/pull/9906))\n- Pollers no longer sleep after operation completion\n([#9991](https://github.com/Azure/azure-sdk-for-python/pull/9991))\n\n## 4.0.1 (2020-02-11)\n- `azure.keyvault.keys` defines `__version__`\n- Challenge authentication policy preserves request options\n([#8999](https://github.com/Azure/azure-sdk-for-python/pull/8999))\n- Updated `msrest` requirement to >=0.6.0\n- Challenge authentication policy requires TLS\n([#9457](https://github.com/Azure/azure-sdk-for-python/pull/9457))\n- Methods no longer raise the internal error `KeyVaultErrorException`\n([#9690](https://github.com/Azure/azure-sdk-for-python/issues/9690))\n- Fix `AttributeError` in async CryptographyClient when verifying signatures remotely\n([#9734](https://github.com/Azure/azure-sdk-for-python/pull/9734))\n\n## 4.0.0 (2019-10-31)\n### Breaking changes:\n- Removed `KeyClient.get_cryptography_client()` and `CryptographyClient.get_key()`\n- Moved the optional parameters of several methods into kwargs (\n[docs](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-keyvault-keys/4.0.0/index.html)\ndetail the new keyword arguments):\n - `create_key` now has positional parameters `name` and `key_type`\n - `create_ec_key` and `create_rsa_key` now have one positional parameter, `name`\n - `update_key_properties` now has two positional parameters, `name` and\n (optional) `version`\n - `import_key` now has positional parameters `name` and `key`\n- `CryptographyClient` operations return class instances instead of tuples and renamed the following\nproperties\n - Renamed the `decrypted_bytes` property of `DecryptResult` to `plaintext`\n - Renamed the `unwrapped_bytes` property of `UnwrapResult` to `key`\n - Renamed the `result` property of `VerifyResult` to `is_valid`\n- Renamed the `UnwrapKeyResult` and `WrapKeyResult` classes to `UnwrapResult` and `WrapResult`\n- Renamed `list_keys` to `list_properties_of_keys`\n- Renamed `list_key_versions` to `list_properties_of_key_versions`\n- Renamed sync method `delete_key` to `begin_delete_key`\n- The sync method `begin_delete_key` and async `delete_key` now return pollers that return a `DeletedKey`\n- Renamed `Key` to `KeyVaultKey`\n- `KeyVaultKey` properties `created`, `expires`, and `updated` renamed to `created_on`,\n`expires_on`, and `updated_on`\n- The `vault_endpoint` parameter of `KeyClient` has been renamed to `vault_url`\n- The property `vault_endpoint` has been renamed to `vault_url` in all models\n\n### New features:\n- Now all `CryptographyClient` returns include `key_id` and `algorithm` properties\n\n\n## 4.0.0b4 (2019-10-08)\n- Enums `JsonWebKeyCurveName`, `JsonWebKeyOperation`, and `JsonWebKeyType` have\nbeen renamed to `KeyCurveName`, `KeyOperation`, and `KeyType`, respectively.\n- `Key` now has attribute `properties`, which holds certain properties of the\nkey, such as `version`. This changes the shape of the returned `Key` type,\nas certain properties of `Key` (such as `version`) have to be accessed\nthrough the `properties` property.\n\n- `update_key` has been renamed to `update_key_properties`\n- The `vault_url` parameter of `KeyClient` has been renamed to `vault_endpoint`\n- The property `vault_url` has been renamed to `vault_endpoint` in all models\n\n### Fixes and improvements:\n- The `key` argument to `import_key` should be an instance of `azure.keyvault.keys.JsonWebKey`\n([#7590](https://github.com/Azure/azure-sdk-for-python/pull/7590))\n\n\n## 4.0.0b3 (2019-09-11)\n### Breaking changes:\n- `CryptographyClient` methods `wrap` and `unwrap` are renamed `wrap_key` and\n`unwrap_key`, respectively.\n\n### New features:\n- `CryptographyClient` performs encrypt, verify and wrap operations locally\nwhen its key's public material is available (i.e., when it has keys/get\npermission).\n\n## 4.0.0b2 (2019-08-06)\n### Breaking changes:\n- Removed `azure.core.Configuration` from the public API in preparation for a\nrevamped configuration API. Static `create_config` methods have been renamed\n`_create_config`, and will be removed in a future release.\n- Removed `wrap_key` and `unwrap_key` from `KeyClient`. These are now available\nthrough `CryptographyClient`.\n- This version of the library requires `azure-core` 1.0.0b2\n - If you later want to revert to a version requiring azure-core 1.0.0b1,\n of this or another Azure SDK library, you must explicitly install azure-core\n 1.0.0b1 as well. For example:\n `pip install azure-core==1.0.0b1 azure-keyvault-keys==4.0.0b1`\n\n### New features:\n- Added `CryptographyClient`, a client for performing cryptographic operations\n(encrypt/decrypt, wrap/unwrap, sign/verify) with a key.\n- Distributed tracing framework OpenCensus is now supported\n- Added support for HTTP challenge based authentication, allowing clients to\ninteract with vaults in sovereign clouds.\n\n### Other changes:\n- Async clients use [aiohttp](https://pypi.org/project/aiohttp/) for transport\nby default. See\n[azure-core documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md/#transport)\nfor more information about using other transports.\n\n## 4.0.0b1 (2019-06-28)\nVersion 4.0.0b1 is the first preview of our efforts to create a user-friendly\nand Pythonic client library for Azure Key Vault. For more information about\npreview releases of other Azure SDK libraries, please visit\nhttps://aka.ms/azure-sdk-preview1-python.\n\nThis library is not a direct replacement for `azure-keyvault`. Applications\nusing that library would require code changes to use `azure-keyvault-keys`.\nThis package's\n[documentation](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/README.md)\nand\n[samples](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/samples)\ndemonstrate the new API.\n\n### Major changes from `azure-keyvault`\n- Packages scoped by functionality\n - `azure-keyvault-keys` contains a client for key operations,\n `azure-keyvault-secrets` contains a client for secret operations\n- Client instances are scoped to vaults (an instance interacts with one vault\nonly)\n- Asynchronous API supported on Python 3.5.3+\n - the `azure.keyvault.keys.aio` namespace contains an async equivalent of\n the synchronous client in `azure.keyvault.keys`\n- Authentication using `azure-identity` credentials\n - see this package's\n [documentation](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys/README.md)\n , and the\n [Azure Identity documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/identity/azure-identity/README.md)\n for more information\n\n### `azure-keyvault` features not implemented in this release\n- Certificate management APIs\n- Cryptographic operations, e.g. sign, un/wrap_key, verify, en- and\ndecrypt\n- National cloud support. This release supports public global cloud vaults,\n e.g. https://{vault-name}.vault.azure.net\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys", + "author": "Microsoft Corporation", + "author_email": "azurekeyvault@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "azure-common ~=1.1", + "azure-core <2.0.0,>=1.24.0", + "cryptography >=2.1.4", + "isodate >=0.6.1", + "typing-extensions >=4.0.1" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/d0/cf/92298854e657c29d31f9b028dec3ce9802467bff97c74d6c4145e9cfa96f/azure_keyvault_secrets-4.7.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=a16c7e6dfa9cba68892bb6fcb905bf2e2ec1f2a6dc05522b61df79621e050901", + "hashes": { + "sha256": "a16c7e6dfa9cba68892bb6fcb905bf2e2ec1f2a6dc05522b61df79621e050901" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-keyvault-secrets", + "version": "4.7.0", + "summary": "Microsoft Azure Key Vault Secrets Client Library for Python", + "description": "# Azure Key Vault Secrets client library for Python\nAzure Key Vault helps solve the following problems:\n\n- Secrets management (this library) -\nsecurely store and control access to tokens, passwords, certificates, API keys,\nand other secrets\n- Cryptographic key management\n([azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys)) -\ncreate, store, and control access to the keys used to encrypt your data\n- Certificate management\n([azure-keyvault-certificates](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates)) -\ncreate, manage, and deploy public and private SSL/TLS certificates\n- Vault administration ([azure-keyvault-administration](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-administration)) - role-based access control (RBAC), and vault-level backup and restore options\n\n[Source code][library_src]\n| [Package (PyPI)][pypi_package_secrets]\n| [Package (Conda)](https://anaconda.org/microsoft/azure-keyvault/)\n| [API reference documentation][reference_docs]\n| [Product documentation][azure_keyvault]\n| [Samples][secret_samples]\n\n## _Disclaimer_\n\n_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_.\n_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)._\n\n## Getting started\n### Install packages\nInstall [azure-keyvault-secrets][pypi_package_secrets] and\n[azure-identity][azure_identity_pypi] with [pip][pip]:\n```Bash\npip install azure-keyvault-secrets azure-identity\n```\n[azure-identity][azure_identity] is used for Azure Active Directory\nauthentication as demonstrated below.\n\n### Prerequisites\n* An [Azure subscription][azure_sub]\n* Python 3.7 or later\n* An existing [Azure Key Vault][azure_keyvault]. If you need to create one, you can do so using the Azure CLI by following the steps in [this document][azure_keyvault_cli].\n\n### Authenticate the client\nIn order to interact with the Azure Key Vault service, you will need an instance of a [SecretClient][secret_client_docs], as well as a **vault url** and a credential object. This document demonstrates using a [DefaultAzureCredential][default_cred_ref], which is appropriate for most scenarios, including local development and production environments. We recommend using a [managed identity][managed_identity] for authentication in production environments.\n\nSee [azure-identity][azure_identity] documentation for more information about other methods of authentication and their corresponding credential types.\n\n#### Create a client\nAfter configuring your environment for the [DefaultAzureCredential][default_cred_ref] to use a suitable method of authentication, you can do the following to create a secret client (replacing the value of `VAULT_URL` with your vault's URL):\n\n\n\n```python\nVAULT_URL = os.environ[\"VAULT_URL\"]\ncredential = DefaultAzureCredential()\nclient = SecretClient(vault_url=VAULT_URL, credential=credential)\n```\n\n\n\n> **NOTE:** For an asynchronous client, import `azure.keyvault.secrets.aio`'s `SecretClient` instead.\n\n## Key concepts\n### Secret\nA secret consists of a secret value and its associated metadata and management\ninformation. This library handles secret values as strings, but Azure Key Vault\ndoesn't store them as such. For more information about secrets and how Key\nVault stores and manages them, see the\n[Key Vault documentation](https://docs.microsoft.com/azure/key-vault/general/about-keys-secrets-certificates).\n\n[SecretClient][secret_client_docs] can set secret values in the vault, update\nsecret metadata, and delete secrets, as shown in the\n[examples](#examples) below.\n\n## Examples\nThis section contains code snippets covering common tasks:\n* [Set a secret](#set-a-secret)\n* [Retrieve a secret](#retrieve-a-secret)\n* [Update secret metadata](#update-secret-metadata)\n* [Delete a secret](#delete-a-secret)\n* [List secrets](#list-secrets)\n* [Async API](#async-api)\n* [Asynchronously create a secret](#asynchronously-create-a-secret)\n* [Asynchronously list secrets](#asynchronously-list-secrets)\n\n### Set a secret\n[set_secret](https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient.set_secret)\ncreates new secrets and changes the values of existing secrets. If no secret with the\ngiven name exists, `set_secret` creates a new secret with that name and the\ngiven value. If the given name is in use, `set_secret` creates a new version\nof that secret, with the given value.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\n\ncredential = DefaultAzureCredential()\n\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nsecret = secret_client.set_secret(\"secret-name\", \"secret-value\")\n\nprint(secret.name)\nprint(secret.value)\nprint(secret.properties.version)\n```\n\n### Retrieve a secret\n[get_secret](https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient.get_secret)\nretrieves a secret previously stored in the Key Vault.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\n\ncredential = DefaultAzureCredential()\n\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nsecret = secret_client.get_secret(\"secret-name\")\n\nprint(secret.name)\nprint(secret.value)\n```\n\n### Update secret metadata\n[update_secret_properties](https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient.update_secret_properties)\nupdates a secret's metadata. It cannot change the secret's value; use [set_secret](#set-a-secret) to set a secret's\nvalue.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\n\ncredential = DefaultAzureCredential()\n\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\n# Clients may specify the content type of a secret to assist in interpreting the secret data when it's retrieved\ncontent_type = \"text/plain\"\n\n# We will also disable the secret for further use\n\nupdated_secret_properties = secret_client.update_secret_properties(\"secret-name\", content_type=content_type, enabled=False)\n\nprint(updated_secret_properties.updated_on)\nprint(updated_secret_properties.content_type)\nprint(updated_secret_properties.enabled)\n```\n\n### Delete a secret\n[begin_delete_secret](https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient.begin_delete_secret)\nrequests Key Vault delete a secret, returning a poller which allows you to wait for the deletion to finish. Waiting is\nhelpful when the vault has [soft-delete][soft_delete] enabled, and you want to purge (permanently delete) the secret as\nsoon as possible. When [soft-delete][soft_delete] is disabled, `begin_delete_secret` itself is permanent.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\n\ncredential = DefaultAzureCredential()\n\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\ndeleted_secret = secret_client.begin_delete_secret(\"secret-name\").result()\n\nprint(deleted_secret.name)\nprint(deleted_secret.deleted_date)\n```\n\n### List secrets\n[list_properties_of_secrets](https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient.list_properties_of_secrets)\nlists the properties of all of the secrets in the client's vault. This list doesn't include the secret's values.\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\n\ncredential = DefaultAzureCredential()\n\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nsecret_properties = secret_client.list_properties_of_secrets()\n\nfor secret_property in secret_properties:\n # the list doesn't include values or versions of the secrets\n print(secret_property.name)\n```\n\n### Async API\nThis library includes a complete set of async APIs. To use them, you must\nfirst install an async transport, such as [aiohttp](https://pypi.org/project/aiohttp/).\nSee\n[azure-core documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#transport)\nfor more information.\n\nAsync clients and credentials should be closed when they're no longer needed. These\nobjects are async context managers and define async `close` methods. For\nexample:\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.secrets.aio import SecretClient\n\ncredential = DefaultAzureCredential()\n\n# call close when the client and credential are no longer needed\nclient = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n...\nawait client.close()\nawait credential.close()\n\n# alternatively, use them as async context managers (contextlib.AsyncExitStack can help)\nclient = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nasync with client:\n async with credential:\n ...\n```\n\n### Asynchronously create a secret\n[set_secret](https://aka.ms/azsdk/python/keyvault-secrets/aio/docs#azure.keyvault.secrets.aio.SecretClient.set_secret)\ncreates a secret in the Key Vault with the specified optional arguments.\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.secrets.aio import SecretClient\n\ncredential = DefaultAzureCredential()\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\nsecret = await secret_client.set_secret(\"secret-name\", \"secret-value\")\n\nprint(secret.name)\nprint(secret.value)\nprint(secret.properties.version)\n```\n\n### Asynchronously list secrets\n[list_properties_of_secrets](https://aka.ms/azsdk/python/keyvault-secrets/aio/docs#azure.keyvault.secrets.aio.SecretClient.list_properties_of_secrets)\nlists the properties of all of the secrets in the client's vault.\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.keyvault.secrets.aio import SecretClient\n\ncredential = DefaultAzureCredential()\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\nsecret_properties = secret_client.list_properties_of_secrets()\n\nasync for secret_property in secret_properties:\n # the list doesn't include values or versions of the secrets\n print(secret_property.name)\n```\n\n## Troubleshooting\n\nSee the `azure-keyvault-secrets`\n[troubleshooting guide](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets/TROUBLESHOOTING.md)\nfor details on how to diagnose various failure scenarios.\n\n### General\nKey Vault clients raise exceptions defined in [azure-core][azure_core_exceptions].\nFor example, if you try to get a key that doesn't exist in the vault,\n[SecretClient][secret_client_docs] raises\n[ResourceNotFoundError](https://aka.ms/azsdk-python-core-exceptions-resource-not-found-error):\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\nfrom azure.core.exceptions import ResourceNotFoundError\n\ncredential = DefaultAzureCredential()\nsecret_client = SecretClient(vault_url=\"https://my-key-vault.vault.azure.net/\", credential=credential)\n\ntry:\n secret_client.get_secret(\"which-does-not-exist\")\nexcept ResourceNotFoundError as e:\n print(e.message)\n```\n\n### Logging\nThis library uses the standard\n[logging](https://docs.python.org/3.5/library/logging.html) library for logging.\nBasic information about HTTP sessions (URLs, headers, etc.) is logged at INFO\nlevel.\n\nDetailed DEBUG level logging, including request/response bodies and unredacted\nheaders, can be enabled on a client with the `logging_enable` argument:\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.keyvault.secrets import SecretClient\nimport sys\nimport logging\n\n# Create a logger for the 'azure' SDK\nlogger = logging.getLogger('azure')\nlogger.setLevel(logging.DEBUG)\n\n# Configure a console output\nhandler = logging.StreamHandler(stream=sys.stdout)\nlogger.addHandler(handler)\n\ncredential = DefaultAzureCredential()\n\n# This client will log detailed information about its HTTP sessions, at DEBUG level\nsecret_client = SecretClient(\n vault_url=\"https://my-key-vault.vault.azure.net/\",\n credential=credential,\n logging_enable=True\n)\n```\n\nSimilarly, `logging_enable` can enable detailed logging for a single operation,\neven when it isn't enabled for the client:\n```python\nsecret_client.get_secret(\"my-secret\", logging_enable=True)\n```\n\n## Next steps\nSeveral samples are available in the Azure SDK for Python GitHub repository.\nThese provide example code for additional Key Vault scenarios:\n| File | Description |\n|-------------|-------------|\n| [hello_world.py][hello_world_sample] ([async version][hello_world_async_sample]) | create/get/update/delete secrets |\n| [list_operations.py][list_operations_sample] ([async version][list_operations_async_sample]) | basic list operations for secrets |\n| [backup_restore_operations.py][backup_operations_sample] ([async version][backup_operations_async_sample]) | back up and restore secrets |\n| [recover_purge_operations.py][recover_purge_sample] ([async version][recover_purge_async_sample]) | recover and purge secrets |\n\n### Additional Documentation\nFor more extensive documentation on Azure Key Vault, see the\n[API reference documentation][reference_docs].\n\n## Contributing\nThis project welcomes contributions and suggestions. Most contributions require\nyou to agree to a Contributor License Agreement (CLA) declaring that you have\nthe right to, and actually do, grant us the rights to use your contribution.\nFor details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether\nyou need to provide a CLA and decorate the PR appropriately (e.g., label,\ncomment). Simply follow the instructions provided by the bot. You will only\nneed to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct].\nFor more information, see the\n[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact opencode@microsoft.com with any additional questions or comments.\n\n\n\n[azure_cloud_shell]: https://shell.azure.com/bash\n[azure_core_exceptions]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core#azure-core-library-exceptions\n[azure_identity]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity\n[azure_identity_pypi]: https://pypi.org/project/azure-identity/\n[azure_keyvault]: https://docs.microsoft.com/azure/key-vault/general/overview\n[azure_keyvault_cli]: https://docs.microsoft.com/azure/key-vault/general/quick-create-cli\n[azure_sub]: https://azure.microsoft.com/free/\n\n[backup_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations.py\n[backup_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations_async.py\n\n[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/\n\n[default_cred_ref]: https://aka.ms/azsdk/python/identity/docs#azure.identity.DefaultAzureCredential\n\n[hello_world_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/hello_world.py\n[hello_world_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/hello_world_async.py\n\n[library_src]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets\n[list_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/list_operations.py\n[list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/list_operations_async.py\n\n[managed_identity]: https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview\n\n[pip]: https://pypi.org/project/pip/\n[pypi_package_secrets]: https://pypi.org/project/azure-keyvault-secrets/\n\n[recover_purge_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations.py\n[recover_purge_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations_async.py\n[reference_docs]: https://aka.ms/azsdk/python/keyvault-secrets/docs\n\n[secret_client_docs]: https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient\n[secret_samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets/samples\n[soft_delete]: https://docs.microsoft.com/azure/key-vault/general/soft-delete-overview\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-secrets%2FREADME.png)\n\n\n# Release History\n\n## 4.7.0 (2023-03-16)\n\n### Features Added\n- Added support for service API version `7.4`\n- Clients each have a `send_request` method that can be used to send custom requests using the\n client's existing pipeline ([#25172](https://github.com/Azure/azure-sdk-for-python/issues/25172))\n\n### Other Changes\n- Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n- Key Vault API version `7.4` is now the default\n- Updated minimum `azure-core` version to 1.24.0\n- Dropped `msrest` requirement\n- Added requirement for `isodate>=0.6.1` (`isodate` was required by `msrest`)\n- Added requirement for `typing-extensions>=4.0.1`\n\n## 4.6.0 (2022-09-19)\n\n### Breaking Changes\n- Clients verify the challenge resource matches the vault domain. This should affect few customers,\n who can provide `verify_challenge_resource=False` to client constructors to disable.\n See https://aka.ms/azsdk/blog/vault-uri for more information.\n\n## 4.5.1 (2022-08-11)\n\n### Other Changes\n- Documentation improvements \n ([#25039](https://github.com/Azure/azure-sdk-for-python/issues/25039))\n\n## 4.5.0b1 (2022-06-07)\n\n### Bugs Fixed\n- Port numbers are now preserved in the `vault_url` property of a `KeyVaultSecretIdentifier`\n ([#24446](https://github.com/Azure/azure-sdk-for-python/issues/24446))\n\n## 4.4.0 (2022-03-28)\n\n### Features Added\n- Key Vault API version 7.3 is now the default\n- Added support for multi-tenant authentication when using `azure-identity`\n 1.8.0 or newer ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n- (From 4.4.0b3) Added `managed` property to SecretProperties\n\n### Other Changes\n- (From 4.4.0b3) Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- Updated minimum `azure-core` version to 1.20.0\n- (From 4.4.0b2) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698)). See\n https://aka.ms/azsdk/python/identity/tokencredential for more details on how to integrate\n this parameter if `get_token` is implemented by a custom credential.\n\n## 4.4.0b3 (2022-02-08)\n\n### Features Added\n- Added `managed` property to SecretProperties\n\n### Other Changes\n- Python 2.7 is no longer supported. Please use Python version 3.6 or later.\n- (From 4.4.0b2) To support multi-tenant authentication, `get_token` calls during challenge\n authentication requests now pass in a `tenant_id` keyword argument\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n## 4.4.0b2 (2021-11-11)\n\n### Features Added\n- Added support for multi-tenant authentication when using `azure-identity` 1.7.1 or newer\n ([#20698](https://github.com/Azure/azure-sdk-for-python/issues/20698))\n\n### Other Changes\n- Updated minimum `azure-core` version to 1.15.0\n\n## 4.4.0b1 (2021-09-09)\n\n### Features Added\n- Key Vault API version 7.3-preview is now the default\n\n### Other Changes\n- Updated type hints to fix mypy errors\n ([#19158](https://github.com/Azure/azure-sdk-for-python/issues/19158))\n\n## 4.3.0 (2021-06-22)\nThis is the last version to support Python 3.5. The next version will require Python 2.7 or 3.6+.\n### Fixed\n- Correct typing for async paging methods\n\n### Changed\n- Key Vault API version 7.2 is now the default\n- Updated minimum `msrest` version to 0.6.21\n\n### Added\n- Added class `KeyVaultSecretIdentifier` that parses out a full ID returned by Key Vault,\n so users can easily access the secret's `name`, `vault_url`, and `version`.\n\n## 4.2.0 (2020-08-11)\n### Fixed\n- Values of `x-ms-keyvault-region` and `x-ms-keyvault-service-version` headers\n are no longer redacted in logging output\n\n### Changed\n- Key Vault API version 7.1 is now the default\n- Updated minimum `azure-core` version to 1.7.0\n\n### Added\n- At construction, clients accept a `CustomHookPolicy` through the optional\n keyword argument `custom_hook_policy`\n- All client requests include a unique ID in the header `x-ms-client-request-id`\n- Dependency on `azure-common` for multiapi support\n\n## 4.2.0b1 (2020-03-10)\n- Support for Key Vault API version 7.1-preview\n([#10124](https://github.com/Azure/azure-sdk-for-python/pull/10124))\n - Added `recoverable_days` to `CertificateProperties`\n - Added `ApiVersion` enum identifying Key Vault versions supported by this package\n\n## 4.1.0 (2020-03-10)\n- `SecretClient` instances have a `close` method which closes opened sockets.\nUsed as a context manager, a `SecretClient` closes opened sockets on exit.\n([#9906](https://github.com/Azure/azure-sdk-for-python/pull/9906))\n- Pollers no longer sleep after operation completion\n([#9991](https://github.com/Azure/azure-sdk-for-python/pull/9991))\n\n## 4.0.1 (2020-02-11)\n- `azure.keyvault.secrets` defines `__version__`\n- Challenge authentication policy preserves request options\n([#8999](https://github.com/Azure/azure-sdk-for-python/pull/8999))\n- Updated `msrest` requirement to >=0.6.0\n- Challenge authentication policy requires TLS\n([#9457](https://github.com/Azure/azure-sdk-for-python/pull/9457))\n- Methods no longer raise the internal error `KeyVaultErrorException`\n([#9690](https://github.com/Azure/azure-sdk-for-python/issues/9690))\n\n## 4.0.0 (2019-10-31)\n### Breaking changes:\n- Moved optional parameters of two methods into kwargs (\n[docs](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-keyvault-secrets/4.0.0/azure.keyvault.secrets.html)\ndetail the new keyword arguments):\n - `set_secret` now has positional parameters `name` and `value`\n - `update_secret_properties` now has positional parameters `name` and\n (optional) `version`\n- Renamed `list_secrets` to `list_properties_of_secrets`\n- Renamed `list_secret_versions` to `list_properties_of_secret_versions`\n- Renamed sync method `delete_secret` to `begin_delete_secret`\n- The sync method `begin_delete_secret` and async `delete_secret` now return pollers that return a `DeletedSecret`\n- Renamed `Secret` to `KeyVaultSecret`\n- `KeyVaultSecret` properties `created`, `expires`, and `updated` renamed to `created_on`,\n`expires_on`, and `updated_on`\n- The `vault_endpoint` parameter of `SecretClient` has been renamed to `vault_url`\n- The property `vault_endpoint` has been renamed to `vault_url` in all models\n\n\n## 4.0.0b4 (2019-10-08)\n### Breaking changes:\n- `Secret` now has attribute `properties`, which holds certain properties of the\nsecret, such as `version`. This changes the shape of the returned `Secret` type,\nas certain properties of `Secret` (such as `version`) have to be accessed\nthrough the `properties` property.\n\n- `update_secret` has been renamed to `update_secret_properties`\n- The `vault_url` parameter of `SecretClient` has been renamed to `vault_endpoint`\n- The property `vault_url` has been renamed to `vault_endpoint` in all models\n\n### Fixes and improvements\n- `list_secrets` and `list_secret_versions` return the correct type\n\n## 4.0.0b3 (2019-09-11)\nThis release includes only internal changes.\n\n## 4.0.0b2 (2019-08-06)\n### Breaking changes:\n- Removed `azure.core.Configuration` from the public API in preparation for a\nrevamped configuration API. Static `create_config` methods have been renamed\n`_create_config`, and will be removed in a future release.\n- This version of the library requires `azure-core` 1.0.0b2\n - If you later want to revert to a version requiring azure-core 1.0.0b1,\n of this or another Azure SDK library, you must explicitly install azure-core\n 1.0.0b1 as well. For example:\n `pip install azure-core==1.0.0b1 azure-keyvault-secrets==4.0.0b1`\n\n### New features:\n- Distributed tracing framework OpenCensus is now supported\n- Added support for HTTP challenge based authentication, allowing clients to\ninteract with vaults in sovereign clouds.\n\n## 4.0.0b1 (2019-06-28)\nVersion 4.0.0b1 is the first preview of our efforts to create a user-friendly\nand Pythonic client library for Azure Key Vault. For more information about\npreview releases of other Azure SDK libraries, please visit\nhttps://aka.ms/azure-sdk-preview1-python.\n\nThis library is not a direct replacement for `azure-keyvault`. Applications\nusing that library would require code changes to use `azure-keyvault-secrets`.\nThis package's\n[documentation](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets/README.md)\nand\n[samples](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets/samples)\ndemonstrate the new API.\n\n### Major changes from `azure-keyvault`\n- Packages scoped by functionality\n - `azure-keyvault-secrets` contains a client for secret operations,\n `azure-keyvault-keys` contains a client for key operations\n- Client instances are scoped to vaults (an instance interacts with one vault\nonly)\n- Asynchronous API supported on Python 3.5.3+\n - the `azure.keyvault.secrets.aio` namespace contains an async equivalent of\n the synchronous client in `azure.keyvault.secrets`\n- Authentication using `azure-identity` credentials\n - see this package's\n [documentation](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets/README.md)\n , and the\n [Azure Identity documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/identity/azure-identity/README.md)\n for more information\n\n### `azure-keyvault` features not implemented in this library\n- Certificate management APIs\n- National cloud support. This release supports public global cloud vaults,\n e.g. https://{vault-name}.vault.azure.net\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets", + "author": "Microsoft Corporation", + "author_email": "azurekeyvault@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "azure-common (~=1.1)", + "azure-core (<2.0.0,>=1.24.0)", + "isodate (>=0.6.1)", + "typing-extensions (>=4.0.1)" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/ea/34/776fc2d130dab6259471b7d206a95246cc373ebb490f198fe970f1ab5ef7/azure_mgmt_advisor-9.0.0-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=d4281663fb0ecb7e1cd2a4bf3dd84a7d349f55377537cf77ef001c8c387a98f5", + "hashes": { + "sha256": "d4281663fb0ecb7e1cd2a4bf3dd84a7d349f55377537cf77ef001c8c387a98f5" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-advisor", + "version": "9.0.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Advisor Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Advisor Client Library.\nThis package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Advisor Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project.\n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-advisor%2FREADME.png)\n\n\n# Release History\n\n## 9.0.0 (2020-12-22)\n\n**Features**\n\n - Model SuppressionContract has a new parameter expiration_time_stamp\n\n## 9.0.0b1 (2020-11-03)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 4.0.0 (2020-03-14)\n\n**Features**\n\n- Model ResourceRecommendationBase has a new parameter resource_metadata\n\n**Breaking changes**\n\n- Model ConfigData has a new signature\n\n## 3.0.0 (2019-10-24)\n\n**Features**\n\n - Added operation group RecommendationMetadataOperations\n\n**General Breaking Changes**\n\nThis version uses a next-generation code generator that might introduce\nbreaking changes if from some import. In summary, some modules were\nincorrectly visible/importable and have been renamed. This fixed several\nissues caused by usage of classes that were not supposed to be used in\nthe first place. AdvisorManagementClient cannot be imported from\nazure.mgmt.advisor.advisor_management_client anymore (import from\nazure.mgmt.advisor works like before)\nAdvisorManagementClientConfiguration import has been moved from\nazure.mgmt.advisor.advisor_management_client to azure.mgmt.advisor A\nmodel MyClass from a \"models\" sub-module cannot be imported anymore\nusing azure.mgmt.advisor.models.my_class (import from\nazure.mgmt.advisor.models works like before) An operation class\nMyClassOperations from an operations sub-module cannot be imported\nanymore using azure.mgmt.advisor.operations.my_class_operations\n(import from azure.mgmt.advisor.operations works like before) Last but\nnot least, HTTP connection pooling is now enabled by default. You should\nalways use a client as a context manager, or call close(), or use no\nmore than one client per process.\n\n## 2.0.1 (2018-10-16)\n\n**Bugfix**\n\n - Fix sdist broken in 2.0.0. No code change.\n\n## 2.0.0 (2018-10-15)\n\n**Features**\n\n - Model ResourceRecommendationBase has a new parameter\n extended_properties\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Note**\n\n - azure-mgmt-nspkg is not installed anymore on Python 3 (PEP420-based\n namespace package)\n\n## 1.0.1 (2018-02-13)\n\n - Fix list_by_subscription return type\n - Fix list_by_resource_group return type\n\n## 1.0.0 (2018-01-16)\n\n - GA Release\n\n## 0.1.0 (2017-11-06)\n\n - Initial Release\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.5.0)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.2.0)", + "azure-mgmt-nspkg ; python_version<'3.0'" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/7c/bc/921cad32d4b5fae4d5e32a10422413d52bb9ef7d18e587a344a7f540519a/azure_mgmt_apimanagement-4.0.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=cc380e91cc98769d84aca0fab997ff650298d4752c16992696f62b65d0843e67", + "hashes": { + "sha256": "cc380e91cc98769d84aca0fab997ff650298d4752c16992696f62b65d0843e67" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-apimanagement", + "version": "4.0.0", + "summary": "Microsoft Azure API Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure API Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-apimanagement\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.apimanagement import ApiManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ApiManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search API Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-apimanagement%2FREADME.png)\n\n\n# Release History\n\n## 4.0.0 (2023-04-20)\n\n### Features Added\n\n - Added operation ApiManagementServiceOperations.begin_migrate_to_stv2\n - Added operation group ApiWikiOperations\n - Added operation group ApiWikisOperations\n - Added operation group AuthorizationAccessPolicyOperations\n - Added operation group AuthorizationLoginLinksOperations\n - Added operation group AuthorizationOperations\n - Added operation group AuthorizationProviderOperations\n - Added operation group DocumentationOperations\n - Added operation group GraphQLApiResolverOperations\n - Added operation group GraphQLApiResolverPolicyOperations\n - Added operation group PolicyFragmentOperations\n - Added operation group PortalConfigOperations\n - Added operation group ProductWikiOperations\n - Added operation group ProductWikisOperations\n - Model AdditionalLocation has a new parameter nat_gateway_state\n - Model AdditionalLocation has a new parameter outbound_public_ip_addresses\n - Model ApiCreateOrUpdateParameter has a new parameter translate_required_query_parameters_conduct\n - Model ApiCreateOrUpdateProperties has a new parameter translate_required_query_parameters_conduct\n - Model ApiManagementServiceBaseProperties has a new parameter nat_gateway_state\n - Model ApiManagementServiceBaseProperties has a new parameter outbound_public_ip_addresses\n - Model ApiManagementServiceProperties has a new parameter nat_gateway_state\n - Model ApiManagementServiceProperties has a new parameter outbound_public_ip_addresses\n - Model ApiManagementServiceResource has a new parameter nat_gateway_state\n - Model ApiManagementServiceResource has a new parameter outbound_public_ip_addresses\n - Model ApiManagementServiceUpdateParameters has a new parameter nat_gateway_state\n - Model ApiManagementServiceUpdateParameters has a new parameter outbound_public_ip_addresses\n - Model ApiManagementServiceUpdateProperties has a new parameter nat_gateway_state\n - Model ApiManagementServiceUpdateProperties has a new parameter outbound_public_ip_addresses\n - Model AuthenticationSettingsContract has a new parameter o_auth2_authentication_settings\n - Model AuthenticationSettingsContract has a new parameter openid_authentication_settings\n - Model AuthorizationServerContract has a new parameter use_in_api_documentation\n - Model AuthorizationServerContract has a new parameter use_in_test_console\n - Model AuthorizationServerContractProperties has a new parameter use_in_api_documentation\n - Model AuthorizationServerContractProperties has a new parameter use_in_test_console\n - Model AuthorizationServerUpdateContract has a new parameter use_in_api_documentation\n - Model AuthorizationServerUpdateContract has a new parameter use_in_test_console\n - Model AuthorizationServerUpdateContractProperties has a new parameter use_in_api_documentation\n - Model AuthorizationServerUpdateContractProperties has a new parameter use_in_test_console\n - Model DiagnosticContract has a new parameter metrics\n - Model IdentityProviderBaseParameters has a new parameter client_library\n - Model IdentityProviderContract has a new parameter client_library\n - Model IdentityProviderContractProperties has a new parameter client_library\n - Model IdentityProviderCreateContract has a new parameter client_library\n - Model IdentityProviderCreateContractProperties has a new parameter client_library\n - Model IdentityProviderUpdateParameters has a new parameter client_library\n - Model IdentityProviderUpdateProperties has a new parameter client_library\n - Model OpenidConnectProviderContract has a new parameter use_in_api_documentation\n - Model OpenidConnectProviderContract has a new parameter use_in_test_console\n - Model OpenidConnectProviderUpdateContract has a new parameter use_in_api_documentation\n - Model OpenidConnectProviderUpdateContract has a new parameter use_in_test_console\n\n### Breaking Changes\n\n - Operation ContentItemOperations.create_or_update has a new required parameter parameters\n - Operation ContentTypeOperations.create_or_update has a new required parameter parameters\n\n## 3.1.0b1 (2022-11-11)\n\n### Features Added\n\n - Model DiagnosticContract has a new parameter metrics\n\n## 3.0.0 (2022-01-13)\n\n**Features**\n\n - Added operation group ApiManagementClientOperationsMixin\n - Added operation group GlobalSchemaOperations\n - Added operation group OutboundNetworkDependenciesEndpointsOperations\n - Added operation group PrivateEndpointConnectionOperations\n - Model AdditionalLocation has a new parameter platform_version\n - Model AdditionalLocation has a new parameter public_ip_address_id\n - Model ApiContract has a new parameter contact\n - Model ApiContract has a new parameter license\n - Model ApiContract has a new parameter terms_of_service_url\n - Model ApiContractProperties has a new parameter contact\n - Model ApiContractProperties has a new parameter license\n - Model ApiContractProperties has a new parameter terms_of_service_url\n - Model ApiContractUpdateProperties has a new parameter contact\n - Model ApiContractUpdateProperties has a new parameter license\n - Model ApiContractUpdateProperties has a new parameter terms_of_service_url\n - Model ApiCreateOrUpdateParameter has a new parameter contact\n - Model ApiCreateOrUpdateParameter has a new parameter license\n - Model ApiCreateOrUpdateParameter has a new parameter terms_of_service_url\n - Model ApiCreateOrUpdateProperties has a new parameter contact\n - Model ApiCreateOrUpdateProperties has a new parameter license\n - Model ApiCreateOrUpdateProperties has a new parameter terms_of_service_url\n - Model ApiEntityBaseContract has a new parameter contact\n - Model ApiEntityBaseContract has a new parameter license\n - Model ApiEntityBaseContract has a new parameter terms_of_service_url\n - Model ApiManagementServiceBackupRestoreParameters has a new parameter access_type\n - Model ApiManagementServiceBackupRestoreParameters has a new parameter client_id\n - Model ApiManagementServiceBaseProperties has a new parameter platform_version\n - Model ApiManagementServiceBaseProperties has a new parameter private_endpoint_connections\n - Model ApiManagementServiceBaseProperties has a new parameter public_ip_address_id\n - Model ApiManagementServiceBaseProperties has a new parameter public_network_access\n - Model ApiManagementServiceProperties has a new parameter platform_version\n - Model ApiManagementServiceProperties has a new parameter private_endpoint_connections\n - Model ApiManagementServiceProperties has a new parameter public_ip_address_id\n - Model ApiManagementServiceProperties has a new parameter public_network_access\n - Model ApiManagementServiceResource has a new parameter platform_version\n - Model ApiManagementServiceResource has a new parameter private_endpoint_connections\n - Model ApiManagementServiceResource has a new parameter public_ip_address_id\n - Model ApiManagementServiceResource has a new parameter public_network_access\n - Model ApiManagementServiceResource has a new parameter system_data\n - Model ApiManagementServiceUpdateParameters has a new parameter platform_version\n - Model ApiManagementServiceUpdateParameters has a new parameter private_endpoint_connections\n - Model ApiManagementServiceUpdateParameters has a new parameter public_ip_address_id\n - Model ApiManagementServiceUpdateParameters has a new parameter public_network_access\n - Model ApiManagementServiceUpdateParameters has a new parameter zones\n - Model ApiManagementServiceUpdateProperties has a new parameter platform_version\n - Model ApiManagementServiceUpdateProperties has a new parameter private_endpoint_connections\n - Model ApiManagementServiceUpdateProperties has a new parameter public_ip_address_id\n - Model ApiManagementServiceUpdateProperties has a new parameter public_network_access\n - Model ApiTagResourceContractProperties has a new parameter contact\n - Model ApiTagResourceContractProperties has a new parameter license\n - Model ApiTagResourceContractProperties has a new parameter terms_of_service_url\n - Model ApiUpdateContract has a new parameter contact\n - Model ApiUpdateContract has a new parameter license\n - Model ApiUpdateContract has a new parameter terms_of_service_url\n - Model HostnameConfiguration has a new parameter certificate_source\n - Model HostnameConfiguration has a new parameter certificate_status\n - Model ParameterContract has a new parameter examples\n - Model ParameterContract has a new parameter schema_id\n - Model ParameterContract has a new parameter type_name\n - Model RepresentationContract has a new parameter examples\n - Model SchemaContract has a new parameter components\n - Model TenantConfigurationSyncStateContract has a new parameter id\n - Model TenantConfigurationSyncStateContract has a new parameter name\n - Model TenantConfigurationSyncStateContract has a new parameter type\n\n**Breaking changes**\n\n - Model RepresentationContract no longer has parameter sample\n\n## 2.1.0 (2021-08-03)\n\n**Features**\n\n - Model OperationResultContract has a new parameter id_properties_id\n - Model OperationResultContract has a new parameter name\n - Model OperationResultContract has a new parameter type\n - Model TenantConfigurationSyncStateContract has a new parameter last_operation_id\n\n## 2.0.0 (2021-03-25)\n\n**Features**\n\n - Model TagCollection has a new parameter count\n - Model OpenIdConnectProviderCollection has a new parameter count\n - Model TagResourceCollection has a new parameter count\n - Model CertificateCollection has a new parameter count\n - Model PolicyCollection has a new parameter count\n - Model IssueAttachmentCollection has a new parameter count\n - Model BackendServiceFabricClusterProperties has a new parameter client_certificate_id\n - Model BackendCollection has a new parameter count\n - Model SubscriptionCollection has a new parameter count\n - Model RecipientEmailCollection has a new parameter count\n - Model GatewayCollection has a new parameter count\n - Model IssueCommentCollection has a new parameter count\n - Model OperationCollection has a new parameter count\n - Model DiagnosticCollection has a new parameter count\n - Model ApiVersionSetCollection has a new parameter count\n - Model ProductCollection has a new parameter count\n - Model IssueCollection has a new parameter count\n - Model NotificationCollection has a new parameter count\n - Model UserCollection has a new parameter count\n - Model IdentityProviderList has a new parameter count\n - Model ApiReleaseCollection has a new parameter count\n - Model TagDescriptionCollection has a new parameter count\n - Model ApiRevisionCollection has a new parameter count\n - Model CacheCollection has a new parameter count\n - Model RecipientUserCollection has a new parameter count\n - Model NamedValueCollection has a new parameter count\n - Model EmailTemplateCollection has a new parameter count\n - Model BackendCredentialsContract has a new parameter certificate_ids\n - Model ApiCollection has a new parameter count\n - Model GroupCollection has a new parameter count\n - Model SchemaCollection has a new parameter count\n - Added operation TenantAccessOperations.list_by_service\n - Added operation TenantAccessOperations.create\n - Added operation ApiManagementServiceOperations.get_domain_ownership_identifier\n - Added operation NamedValueOperations.begin_refresh_secret\n - Added operation CertificateOperations.refresh_secret\n - Added operation DeletedServicesOperations.begin_purge\n - Added operation UserSubscriptionOperations.get\n - Added operation group PortalSettingsOperations\n - Added operation group TenantSettingsOperations\n - Added operation group GatewayCertificateAuthorityOperations\n - Added operation group ApiManagementSkusOperations\n\n**Breaking changes**\n\n - Operation CertificateOperations.list_by_service has a new signature\n - Operation NamedValueOperations.list_by_service has a new signature\n - Removed operation DeletedServicesOperations.purge\n - Removed operation TenantAccessGitOperations.list_secrets\n - Removed operation TenantAccessGitOperations.get\n - Model AccessInformationContract has a new signature\n\n## 1.0.0 (2020-12-21)\n\n**Features**\n\n - Added operation group ContentItemOperations\n - Added operation group PortalRevisionOperations\n\n**Breaking changes**\n\n - Operation SignUpSettingsOperations.update has a new signature\n - Operation TenantAccessOperations.update has a new signature\n - Operation UserOperations.get_shared_access_token has a new signature\n - Operation SignInSettingsOperations.update has a new signature\n - Operation QuotaByPeriodKeysOperations.update has a new signature\n - Operation TenantConfigurationOperations.begin_save has a new signature\n - Operation TenantConfigurationOperations.begin_validate has a new signature\n - Operation TenantConfigurationOperations.begin_deploy has a new signature\n - Operation BackendOperations.reconnect has a new signature\n - Operation QuotaByCounterKeysOperations.update has a new signature\n - Operation ApiReleaseOperations.update has a new signature\n - Operation TagOperations.update has a new signature\n - Operation ApiManagementServiceOperations.check_name_availability has a new signature\n - Operation ApiManagementServiceOperations.begin_apply_network_configuration_updates has a new signature\n - Operation GatewayOperations.update has a new signature\n - Operation GatewayOperations.generate_token has a new signature\n - Operation GatewayOperations.regenerate_key has a new signature\n - Operation UserOperations.get_shared_access_token has a new signature\n - Operation TenantConfigurationOperations.begin_validate has a new signature\n - Operation TenantConfigurationOperations.begin_save has a new signature\n - Operation TenantConfigurationOperations.begin_deploy has a new signature\n - Operation TagOperations.create_or_update has a new signature\n - Operation SignUpSettingsOperations.update has a new signature\n - Operation QuotaByPeriodKeysOperations.update has a new signature\n - Operation QuotaByCounterKeysOperations.update has a new signature\n - Operation GatewayOperations.update has a new signature\n - Operation GatewayOperations.generate_token has a new signature\n - Operation ApiReleaseOperations.update has a new signature\n - Operation GatewayApiOperations.create_or_update has a new signature\n - Operation TagOperations.create_or_update has a new signature\n - Operation SignUpSettingsOperations.create_or_update has a new signature\n - Operation SignInSettingsOperations.create_or_update has a new signature\n - Operation ApiOperationPolicyOperations.create_or_update has a new signature\n - Operation PolicyOperations.create_or_update has a new signature\n - Operation ApiPolicyOperations.create_or_update has a new signature\n - Operation ApiReleaseOperations.create_or_update has a new signature\n - Operation GatewayOperations.create_or_update has a new signature\n - Operation ProductPolicyOperations.create_or_update has a new signature\n - Removed operation group ContentTypeContentItemOperations\n\n## 1.0.0b1 (2020-10-31)\n\nThis is beta preview version.\nFor detailed changelog please refer to equivalent stable version 0.2.0(https://pypi.org/project/azure-mgmt-apimanagement/0.2.0/)\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.2.0 (2020-03-25)\n\n**Features**\n\n - Model IdentityProviderUpdateParameters has a new parameter signin_tenant\n - Model ApiManagementServiceIdentity has a new parameter user_assigned_identities\n - Model AdditionalLocation has a new parameter disable_gateway\n - Model UserCreateParameters has a new parameter app_type\n - Model ApiManagementServiceResource has a new parameter disable_gateway\n - Model ApiManagementServiceResource has a new parameter developer_portal_url\n - Model ApiManagementServiceResource has a new parameter api_version_constraint\n - Model DiagnosticContract has a new parameter log_client_ip\n - Model DiagnosticContract has a new parameter verbosity\n - Model DiagnosticContract has a new parameter http_correlation_protocol\n - Model SchemaContract has a new parameter value\n - Model SchemaContract has a new parameter definitions\n - Model ApiManagementServiceUpdateParameters has a new parameter disable_gateway\n - Model ApiManagementServiceUpdateParameters has a new parameter developer_portal_url\n - Model ApiManagementServiceUpdateParameters has a new parameter api_version_constraint\n - Model TagDescriptionContract has a new parameter tag_id\n - Model ApiManagementServiceBaseProperties has a new parameter disable_gateway\n - Model ApiManagementServiceBaseProperties has a new parameter developer_portal_url\n - Model ApiManagementServiceBaseProperties has a new parameter api_version_constraint\n - Model IdentityProviderBaseParameters has a new parameter signin_tenant\n - Model IdentityProviderContract has a new parameter signin_tenant\n - Added operation TenantAccessGitOperations.list_secrets\n - Added operation DelegationSettingsOperations.list_secrets\n - Added operation AuthorizationServerOperations.list_secrets\n - Added operation TenantAccessOperations.list_secrets\n - Added operation SubscriptionOperations.list_secrets\n - Added operation IdentityProviderOperations.list_secrets\n - Added operation OpenIdConnectProviderOperations.list_secrets\n - Added operation group GatewayApiOperations\n - Added operation group PolicyDescriptionOperations\n - Added operation group GatewayHostnameConfigurationOperations\n - Added operation group NamedValueOperations\n - Added operation group GatewayOperations\n\n**General breaking changes**\n\nThis version uses a next-generation code generator that *might* introduce breaking changes if from some import. In summary, some modules were incorrectly visible/importable and have been renamed. This fixed several issues caused by usage of classes that were not supposed to be used in the first place.\n\n - ApiManagementClient cannot be imported from `azure.mgmt.apimanagement.api_management_client` anymore (import from `azure.mgmt.apimanagement` works like before)\n - ApiManagementClientConfiguration import has been moved from `azure.mgmt.apimanagement.api_management_client` to `azure.mgmt.apimanagement`\n - A model `MyClass` from a \"models\" sub-module cannot be imported anymore using `azure.mgmt.apimanagement.models.my_class` (import from `azure.mgmt.apimanagement.models` works like before)\n - An operation class `MyClassOperations` from an `operations` sub-module cannot be imported anymore using `azure.mgmt.apimanagement.operations.my_class_operations` (import from `azure.mgmt.apimanagement.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default. You should always use a client as a context manager, or call close(), or use no more than one client per process.\n\n## 0.1.0 (2019-05-01)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (<1.0.0,>=0.6.1)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.2)", + "typing-extensions (>=4.3.0) ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/c9/e0/4724ba91f14cb1dcac9767af6b7b3e0abc11c8cc123d4b893da7cad7a6f1/azure_mgmt_appconfiguration-3.0.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=31425c1498db44cb13743cd71fcdfb92e42b34b1c98e113234b239dd3849eeb1", + "hashes": { + "sha256": "31425c1498db44cb13743cd71fcdfb92e42b34b1c98e113234b239dd3849eeb1" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-appconfiguration", + "version": "3.0.0", + "summary": "Microsoft Azure App Configuration Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure App Configuration Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-appconfiguration\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.appconfiguration import AppConfigurationManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = AppConfigurationManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search App Configuration Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-appconfiguration%2FREADME.png)\n\n\n# Release History\n\n## 3.0.0 (2023-03-27)\n\n### Breaking Changes\n\n - Removed operation KeyValuesOperations.list_by_configuration_store\n\n## 3.0.0b1 (2023-02-15)\n\n### Breaking Changes\n\n - Removed operation KeyValuesOperations.list_by_configuration_store\n\n## 2.2.0 (2022-08-29)\n\n### Features Added\n\n - Added operation group ReplicasOperations\n\n### Other Changes\n\n - Changed to multiapi package(please refer to https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/mgmt/multiapi.md for more info)\n\n## 2.1.0 (2022-06-08)\n\n**Features**\n\n - Added operation ConfigurationStoresOperations.begin_purge_deleted\n - Added operation ConfigurationStoresOperations.get_deleted\n - Added operation ConfigurationStoresOperations.list_deleted\n - Added operation Operations.regional_check_name_availability\n - Model ConfigurationStore has a new parameter create_mode\n - Model ConfigurationStore has a new parameter enable_purge_protection\n - Model ConfigurationStore has a new parameter soft_delete_retention_in_days\n - Model ConfigurationStoreUpdateParameters has a new parameter enable_purge_protection\n\n## 2.1.0b2 (2022-02-28)\n\n**Features**\n\n - Model ConfigurationStoreUpdateParameters has a new parameter enable_purge_protection\n\n## 2.1.0b1 (2022-02-16)\n\n**Features**\n\n - Added operation ConfigurationStoresOperations.begin_purge_deleted\n - Added operation ConfigurationStoresOperations.get_deleted\n - Added operation ConfigurationStoresOperations.list_deleted\n - Added operation Operations.regional_check_name_availability\n - Model ConfigurationStore has a new parameter create_mode\n - Model ConfigurationStore has a new parameter enable_purge_protection\n - Model ConfigurationStore has a new parameter soft_delete_retention_in_days\n\n## 2.0.0 (2021-06-21)\n\n**Features**\n\n - Model OperationDefinition has a new parameter properties\n - Model OperationDefinition has a new parameter is_data_action\n - Model OperationDefinition has a new parameter origin\n - Model KeyValue has a new parameter id\n - Model KeyValue has a new parameter type\n - Model KeyValue has a new parameter name\n - Model ConfigurationStore has a new parameter system_data\n - Model ConfigurationStore has a new parameter disable_local_auth\n - Model ConfigurationStoreUpdateParameters has a new parameter disable_local_auth\n - Added operation group KeyValuesOperations\n\n**Breaking changes**\n\n - Model Resource no longer has parameter location\n - Model Resource no longer has parameter tags\n - Removed operation ConfigurationStoresOperations.list_key_value\n\n## 1.0.1 (2020-09-18)\n\n**Bug fix**\n\n - Require azure-mgmt-core>=1.2.0 in setup.py\n\n## 1.0.0 (2020-09-15)\n\n**Features**\n\n - Model ConfigurationStoreUpdateParameters has a new parameter public_network_access\n\n## 1.0.0b1 (2020-06-17)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.4.0 (2020-02-07)\n\n**Features**\n\n- Model ConfigurationStoreUpdateParameters has a new parameter encryption\n- Model ConfigurationStore has a new parameter encryption\n- Added operation group PrivateEndpointConnectionsOperations\n- Added operation group PrivateLinkResourcesOperations\n\n**Breaking changes**\n\n- Model ConfigurationStoreUpdateParameters no longer has parameter properties\n\n## 0.3.0 (2019-11-08)\n\n**Features**\n\n - Model ConfigurationStore has a new parameter identity\n - Model ConfigurationStoreUpdateParameters has a new parameter\n identity\n - Model ConfigurationStoreUpdateParameters has a new parameter sku\n\n**Breaking changes**\n\n - Operation ConfigurationStoresOperations.create has a new signature\n - Operation ConfigurationStoresOperations.update has a new signature\n - Model ConfigurationStore has a new required parameter sku\n\n## 0.2.0 (2019-11-04)\n\n**Features**\n\n - Added operation ConfigurationStoresOperations.list_key_value\n\n## 0.1.0 (2019-06-17)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (<1.0.0,>=0.6.1)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.2)", + "typing-extensions (>=4.3.0) ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/c1/99/24c7eadc51cc82cdfb82dec77c7b7d6cfef84c71f3371e042476e864801c/azure_mgmt_appcontainers-2.0.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=1134e93552c723992e6dae6b992cbe81f7496a76c56e49eba635fdd1a835f88a", + "hashes": { + "sha256": "1134e93552c723992e6dae6b992cbe81f7496a76c56e49eba635fdd1a835f88a" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-appcontainers", + "version": "2.0.0", + "summary": "Microsoft Azure Appcontainers Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Appcontainers Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-appcontainers\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.appcontainers import ContainerAppsAPIClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ContainerAppsAPIClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\n\nCode samples for this package can be found at [Appcontainers Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com and [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-appcontainers%2FREADME.png)\n\n\n# Release History\n\n## 2.0.0 (2023-03-20)\n\n### Features Added\n\n - Added operation ContainerAppsOperations.get_auth_token\n - Added operation ManagedEnvironmentsOperations.get_auth_token\n - Added operation ManagedEnvironmentsOperations.list_workload_profile_states\n - Added operation group AvailableWorkloadProfilesOperations\n - Added operation group BillingMetersOperations\n - Added operation group ConnectedEnvironmentsCertificatesOperations\n - Added operation group ConnectedEnvironmentsDaprComponentsOperations\n - Added operation group ConnectedEnvironmentsOperations\n - Added operation group ConnectedEnvironmentsStoragesOperations\n - Added operation group ContainerAppsDiagnosticsOperations\n - Added operation group ManagedEnvironmentDiagnosticsOperations\n - Added operation group ManagedEnvironmentsDiagnosticsOperations\n - Model CertificateProperties has a new parameter subject_alternative_names\n - Model Configuration has a new parameter max_inactive_revisions\n - Model ContainerApp has a new parameter environment_id\n - Model ContainerApp has a new parameter event_stream_endpoint\n - Model ContainerApp has a new parameter extended_location\n - Model ContainerApp has a new parameter latest_ready_revision_name\n - Model ContainerApp has a new parameter workload_profile_type\n - Model CustomHostnameAnalysisResult has a new parameter conflict_with_environment_custom_domain\n - Model Dapr has a new parameter enable_api_logging\n - Model Dapr has a new parameter http_max_request_size\n - Model Dapr has a new parameter http_read_buffer_size\n - Model Dapr has a new parameter log_level\n - Model DaprComponent has a new parameter secret_store_component\n - Model Ingress has a new parameter client_certificate_mode\n - Model Ingress has a new parameter cors_policy\n - Model Ingress has a new parameter exposed_port\n - Model Ingress has a new parameter ip_security_restrictions\n - Model ManagedEnvironment has a new parameter custom_domain_configuration\n - Model ManagedEnvironment has a new parameter event_stream_endpoint\n - Model ManagedEnvironment has a new parameter kind\n - Model ManagedEnvironment has a new parameter sku\n - Model ManagedEnvironment has a new parameter workload_profiles\n - Model ReplicaContainer has a new parameter exec_endpoint\n - Model ReplicaContainer has a new parameter log_stream_endpoint\n - Model Revision has a new parameter last_active_time\n - Model ScaleRule has a new parameter tcp\n - Model Template has a new parameter init_containers\n - Model VnetConfiguration has a new parameter outbound_settings\n\n### Breaking Changes\n\n - Model CustomHostnameAnalysisResult no longer has parameter id\n - Model CustomHostnameAnalysisResult no longer has parameter name\n - Model CustomHostnameAnalysisResult no longer has parameter system_data\n - Model CustomHostnameAnalysisResult no longer has parameter type\n\n## 2.0.0b2 (2022-12-29)\n\n### Features Added\n\n - Added operation ContainerAppsOperations.get_auth_token\n - Added operation ManagedEnvironmentsOperations.get_auth_token\n - Added operation ManagedEnvironmentsOperations.list_workload_profile_states\n - Added operation group AvailableWorkloadProfilesOperations\n - Added operation group BillingMetersOperations\n - Added operation group ConnectedEnvironmentsCertificatesOperations\n - Added operation group ConnectedEnvironmentsDaprComponentsOperations\n - Added operation group ConnectedEnvironmentsOperations\n - Added operation group ConnectedEnvironmentsStoragesOperations\n - Added operation group ContainerAppsDiagnosticsOperations\n - Added operation group ManagedEnvironmentDiagnosticsOperations\n - Added operation group ManagedEnvironmentsDiagnosticsOperations\n - Model CertificateProperties has a new parameter subject_alternative_names\n - Model Configuration has a new parameter max_inactive_revisions\n - Model ContainerApp has a new parameter environment_id\n - Model ContainerApp has a new parameter event_stream_endpoint\n - Model ContainerApp has a new parameter extended_location\n - Model ContainerApp has a new parameter latest_ready_revision_name\n - Model ContainerApp has a new parameter workload_profile_type\n - Model CustomHostnameAnalysisResult has a new parameter conflict_with_environment_custom_domain\n - Model Dapr has a new parameter enable_api_logging\n - Model Dapr has a new parameter http_max_request_size\n - Model Dapr has a new parameter http_read_buffer_size\n - Model Dapr has a new parameter log_level\n - Model DaprComponent has a new parameter secret_store_component\n - Model Ingress has a new parameter client_certificate_mode\n - Model Ingress has a new parameter cors_policy\n - Model Ingress has a new parameter exposed_port\n - Model Ingress has a new parameter ip_security_restrictions\n - Model ManagedEnvironment has a new parameter custom_domain_configuration\n - Model ManagedEnvironment has a new parameter event_stream_endpoint\n - Model ManagedEnvironment has a new parameter kind\n - Model ManagedEnvironment has a new parameter sku\n - Model ManagedEnvironment has a new parameter workload_profiles\n - Model ReplicaContainer has a new parameter exec_endpoint\n - Model ReplicaContainer has a new parameter log_stream_endpoint\n - Model Revision has a new parameter last_active_time\n - Model ScaleRule has a new parameter tcp\n - Model Template has a new parameter init_containers\n - Model VnetConfiguration has a new parameter outbound_settings\n\n### Breaking Changes\n\n - Model CustomHostnameAnalysisResult no longer has parameter id\n - Model CustomHostnameAnalysisResult no longer has parameter name\n - Model CustomHostnameAnalysisResult no longer has parameter system_data\n - Model CustomHostnameAnalysisResult no longer has parameter type\n\n## 2.0.0b1 (2022-10-12)\n\n### Features Added\n\n - Added operation ContainerAppsOperations.get_auth_token\n - Added operation ManagedEnvironmentsOperations.get_auth_token\n - Added operation ManagedEnvironmentsOperations.list_workload_profile_states\n - Added operation group AvailableWorkloadProfilesOperations\n - Added operation group BillingMetersOperations\n - Added operation group ConnectedEnvironmentsCertificatesOperations\n - Added operation group ConnectedEnvironmentsDaprComponentsOperations\n - Added operation group ConnectedEnvironmentsOperations\n - Added operation group ConnectedEnvironmentsStoragesOperations\n - Added operation group ContainerAppsDiagnosticsOperations\n - Added operation group ManagedEnvironmentDiagnosticsOperations\n - Added operation group ManagedEnvironmentsDiagnosticsOperations\n - Model CertificateProperties has a new parameter subject_alternative_names\n - Model Configuration has a new parameter max_inactive_revisions\n - Model ContainerApp has a new parameter environment_id\n - Model ContainerApp has a new parameter event_stream_endpoint\n - Model ContainerApp has a new parameter extended_location\n - Model ContainerApp has a new parameter workload_profile_type\n - Model CustomHostnameAnalysisResult has a new parameter conflict_with_environment_custom_domain\n - Model Dapr has a new parameter enable_api_logging\n - Model Dapr has a new parameter http_max_request_size\n - Model Dapr has a new parameter http_read_buffer_size\n - Model Dapr has a new parameter log_level\n - Model DaprComponent has a new parameter secret_store_component\n - Model Ingress has a new parameter exposed_port\n - Model Ingress has a new parameter ip_security_restrictions\n - Model ManagedEnvironment has a new parameter custom_domain_configuration\n - Model ManagedEnvironment has a new parameter event_stream_endpoint\n - Model ManagedEnvironment has a new parameter sku\n - Model ManagedEnvironment has a new parameter workload_profiles\n - Model ReplicaContainer has a new parameter exec_endpoint\n - Model ReplicaContainer has a new parameter log_stream_endpoint\n - Model Revision has a new parameter last_active_time\n - Model ScaleRule has a new parameter tcp\n - Model Template has a new parameter init_containers\n - Model VnetConfiguration has a new parameter outbound_settings\n\n### Breaking Changes\n\n - Model CustomHostnameAnalysisResult no longer has parameter id\n - Model CustomHostnameAnalysisResult no longer has parameter name\n - Model CustomHostnameAnalysisResult no longer has parameter system_data\n - Model CustomHostnameAnalysisResult no longer has parameter type\n\n## 1.0.0 (2022-05-17)\n\n**Breaking changes**\n\n - Operation CertificatesOperations.create_or_update has a new parameter certificate_name\n - Operation CertificatesOperations.create_or_update has a new parameter environment_name\n - Operation CertificatesOperations.create_or_update no longer has parameter managed_environment_name\n - Operation CertificatesOperations.create_or_update no longer has parameter name\n - Operation CertificatesOperations.delete has a new parameter certificate_name\n - Operation CertificatesOperations.delete has a new parameter environment_name\n - Operation CertificatesOperations.delete no longer has parameter managed_environment_name\n - Operation CertificatesOperations.delete no longer has parameter name\n - Operation CertificatesOperations.get has a new parameter certificate_name\n - Operation CertificatesOperations.get has a new parameter environment_name\n - Operation CertificatesOperations.get no longer has parameter managed_environment_name\n - Operation CertificatesOperations.get no longer has parameter name\n - Operation CertificatesOperations.list has a new parameter environment_name\n - Operation CertificatesOperations.list no longer has parameter managed_environment_name\n - Operation CertificatesOperations.update has a new parameter certificate_name\n - Operation CertificatesOperations.update has a new parameter environment_name\n - Operation CertificatesOperations.update no longer has parameter managed_environment_name\n - Operation CertificatesOperations.update no longer has parameter name\n - Operation ContainerAppsAuthConfigsOperations.create_or_update has a new parameter auth_config_name\n - Operation ContainerAppsAuthConfigsOperations.create_or_update no longer has parameter name\n - Operation ContainerAppsAuthConfigsOperations.delete has a new parameter auth_config_name\n - Operation ContainerAppsAuthConfigsOperations.delete no longer has parameter name\n - Operation ContainerAppsAuthConfigsOperations.get has a new parameter auth_config_name\n - Operation ContainerAppsAuthConfigsOperations.get no longer has parameter name\n - Operation ContainerAppsOperations.begin_create_or_update has a new parameter container_app_name\n - Operation ContainerAppsOperations.begin_create_or_update no longer has parameter name\n - Operation ContainerAppsOperations.begin_delete has a new parameter container_app_name\n - Operation ContainerAppsOperations.begin_delete no longer has parameter name\n - Operation ContainerAppsOperations.begin_update has a new parameter container_app_name\n - Operation ContainerAppsOperations.begin_update no longer has parameter name\n - Operation ContainerAppsOperations.get has a new parameter container_app_name\n - Operation ContainerAppsOperations.get no longer has parameter name\n - Operation ContainerAppsOperations.list_secrets has a new parameter container_app_name\n - Operation ContainerAppsOperations.list_secrets no longer has parameter name\n - Operation ContainerAppsRevisionReplicasOperations.get_replica has a new parameter replica_name\n - Operation ContainerAppsRevisionReplicasOperations.get_replica no longer has parameter name\n - Operation ContainerAppsRevisionsOperations.activate_revision has a new parameter revision_name\n - Operation ContainerAppsRevisionsOperations.activate_revision no longer has parameter name\n - Operation ContainerAppsRevisionsOperations.deactivate_revision has a new parameter revision_name\n - Operation ContainerAppsRevisionsOperations.deactivate_revision no longer has parameter name\n - Operation ContainerAppsRevisionsOperations.get_revision has a new parameter revision_name\n - Operation ContainerAppsRevisionsOperations.get_revision no longer has parameter name\n - Operation ContainerAppsRevisionsOperations.restart_revision has a new parameter revision_name\n - Operation ContainerAppsRevisionsOperations.restart_revision no longer has parameter name\n - Operation ContainerAppsSourceControlsOperations.begin_create_or_update has a new parameter source_control_name\n - Operation ContainerAppsSourceControlsOperations.begin_create_or_update no longer has parameter name\n - Operation ContainerAppsSourceControlsOperations.begin_delete has a new parameter source_control_name\n - Operation ContainerAppsSourceControlsOperations.begin_delete no longer has parameter name\n - Operation ContainerAppsSourceControlsOperations.get has a new parameter source_control_name\n - Operation ContainerAppsSourceControlsOperations.get no longer has parameter name\n - Operation DaprComponentsOperations.create_or_update has a new parameter component_name\n - Operation DaprComponentsOperations.create_or_update no longer has parameter name\n - Operation DaprComponentsOperations.delete has a new parameter component_name\n - Operation DaprComponentsOperations.delete no longer has parameter name\n - Operation DaprComponentsOperations.get has a new parameter component_name\n - Operation DaprComponentsOperations.get no longer has parameter name\n - Operation DaprComponentsOperations.list_secrets has a new parameter component_name\n - Operation DaprComponentsOperations.list_secrets no longer has parameter name\n - Operation ManagedEnvironmentsOperations.begin_create_or_update has a new parameter environment_name\n - Operation ManagedEnvironmentsOperations.begin_create_or_update no longer has parameter name\n - Operation ManagedEnvironmentsOperations.begin_delete has a new parameter environment_name\n - Operation ManagedEnvironmentsOperations.begin_delete no longer has parameter name\n - Operation ManagedEnvironmentsOperations.begin_update has a new parameter environment_name\n - Operation ManagedEnvironmentsOperations.begin_update no longer has parameter name\n - Operation ManagedEnvironmentsOperations.get has a new parameter environment_name\n - Operation ManagedEnvironmentsOperations.get no longer has parameter name\n - Operation ManagedEnvironmentsStoragesOperations.create_or_update has a new parameter environment_name\n - Operation ManagedEnvironmentsStoragesOperations.create_or_update has a new parameter storage_name\n - Operation ManagedEnvironmentsStoragesOperations.create_or_update no longer has parameter env_name\n - Operation ManagedEnvironmentsStoragesOperations.create_or_update no longer has parameter name\n - Operation ManagedEnvironmentsStoragesOperations.delete has a new parameter environment_name\n - Operation ManagedEnvironmentsStoragesOperations.delete has a new parameter storage_name\n - Operation ManagedEnvironmentsStoragesOperations.delete no longer has parameter env_name\n - Operation ManagedEnvironmentsStoragesOperations.delete no longer has parameter name\n - Operation ManagedEnvironmentsStoragesOperations.get has a new parameter environment_name\n - Operation ManagedEnvironmentsStoragesOperations.get has a new parameter storage_name\n - Operation ManagedEnvironmentsStoragesOperations.get no longer has parameter env_name\n - Operation ManagedEnvironmentsStoragesOperations.get no longer has parameter name\n - Operation ManagedEnvironmentsStoragesOperations.list has a new parameter environment_name\n - Operation ManagedEnvironmentsStoragesOperations.list no longer has parameter env_name\n - Operation NamespacesOperations.check_name_availability has a new parameter environment_name\n - Operation NamespacesOperations.check_name_availability no longer has parameter managed_environment_name\n\n## 1.0.0b1 (2022-05-06)\n\n* Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.7.1)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.2)", + "typing-extensions (>=4.3.0) ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/c9/22/1a02a70996f1032fa96c03d788dbe44e1c6517eef453e2700146a42ab3d0/azure_mgmt_batchai-7.0.0b1-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=85341b0e81dacfeed3984631b52ab00bc9286255c97cf9e542ac17abe0880b81", + "hashes": { + "sha256": "85341b0e81dacfeed3984631b52ab00bc9286255c97cf9e542ac17abe0880b81" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-batchai", + "version": "7.0.0b1", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Batchai Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Batchai Management Client Library.\nThis package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Batchai Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-batchai%2FREADME.png)\n\n\n# Release History\n\n## 7.0.0b1 (2021-06-02)\n\nThis is beta preview version.\nFor detailed changelog please refer to equivalent stable version 2.0.0(https://pypi.org/project/azure-mgmt-batchai/2.0.0/)\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 2.0.0 (2018-06-07)\n\n**Breaking changes**\n\nThis version uses 2018-05-01 BatchAI API specification which introduced the following braking changes:\n\n- Clusters, FileServers must be created under a workspace;\n- Jobs must be created under an experiment;\n- Clusters, FileServers and Jobs do not accept location during creation and belong to the same location as the parent\n workspace;\n- Clusters, FileServers and Jobs do not support tags;\n- BatchAIManagementClient.usage renamed to BatchAIManagementClient.usages;\n- Job priority changed a type from int to an enum;\n- File.is_directory is replaced with File.file_type;\n- Job.priority and JobCreateParameters.priority is replaced with scheduling_priority;\n- Removed unsupported MountSettings.file_server_type attribute;\n- OutputDirectory.type unsupported attribute removed;\n- OutputDirectory.create_new attributes removed, BatchAI will always create output directories if they not exist;\n- SetupTask.run_elevated attribute removed, the setup task is always executed under root.\n\n**Features**\n\n- Added support to workspaces to group Clusters, FileServers and Experiments and remove limit on number of allocated\n resources;\n- Added support for experiment to group jobs and remove limit on number of jobs;\n- Added support for configuring /dev/shm for jobs which use docker containers;\n- Added first class support for generic MPI jobs;\n- Added first class support for Horovod jobs.\n\n## 1.0.1 (2018-04-16)\n\n**Bugfixes**\n\n- Fix some invalid models in Python 3\n- Compatibility of the sdist with wheel 0.31.0\n\n## 1.0.0 (2018-03-19)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might* introduce breaking changes.\n\n- Model signatures now use only keyword-argument syntax. All positional arguments must be re-written as keyword-arguments.\n To keep auto-completion in most cases, models are now generated for Python 2 and Python 3. Python 3 uses the \"*\" syntax for keyword-only arguments.\n- Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important, and are documented here:\n https://docs.python.org/3/library/enum.html#others\n At a glance:\n\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string formatting will return `NameOfEnum.stringvalue`. Format syntax should be prefered.\n\n- New Long Running Operation:\n\n - Return type changes from `msrestazure.azure_operation.AzureOperationPoller` to `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`, regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of returning the initial call result as `ClientRawResponse`, \n without polling, now this returns an LROPoller. After polling, the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is `Polling=True` which will poll using ARM algorithm. When `Polling=False`,\n the response of the initial call will be returned without polling.\n - `polling` parameter accepts instances of subclasses of `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after polling is finished, but will instead execute the callback right away.\n\n**Features**\n\n- added support for job level mounting\n- added support for environment variables with secret values\n- added support for performance counters reporting in Azure Application Insights\n- added support for custom images\n- added support for pyTorch deep learning framework\n- added API for usage and limits reporting\n- added API for listing job files in subdirectories\n- now user can choose caching type during NFS creation\n- get cluster now reports a path segment generated for storing start task output logs\n- get job now reports a path segment generated for job's output directories\n- renamed EnvironmentSetting to EnvironmentVariable\n\n## 0.2.0 (2017-10-05)\n\n* credentials_info property got renamed to credentials.\n* removed unused class FileServerStatus and Code enum\n* renamed enums for CachingType and VmPriority\n* removed 'statuses' attribute on FileServer\n\n## 0.1.0 (2017-10-03)\n\n* Initial Release\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.2.0)", + "azure-mgmt-nspkg ; python_version<'3.0'" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e4/a3/0334e349c6a00a94cd6a3e06de43d15b4b3a9a1a04c596852d27eff7f138/azure_mgmt_billing-6.0.0-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=816c6b68b8727f779cbabbc58ac2ba848d227c70e5f33e9fe376450c243c9f87", + "hashes": { + "sha256": "816c6b68b8727f779cbabbc58ac2ba848d227c70e5f33e9fe376450c243c9f87" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-billing", + "version": "6.0.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Billing Client Library for Python", + "description": "## Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Billing Client Library.\n\nAzure Resource Manager (ARM) is the next generation of management APIs\nthat replace the old Azure Service Management (ASM).\n\nThis package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7.\n\nFor the older Azure Service Management (ASM) libraries, see\n[azure-servicemanagement-legacy](https://pypi.python.org/pypi/azure-servicemanagement-legacy)\nlibrary.\n\nFor a more complete set of Azure libraries, see the\n[azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Billing Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples\n\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in\nthe [Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project.\n\n![image](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-billing%2FREADME.png)\n\n\n# Release History\n\n## 6.0.0 (2021-05-12)\n\n**Features**\n\n - Model InvoiceSectionListResult has a new parameter total_count\n - Model OperationDisplay has a new parameter description\n - Model BillingSubscriptionsListResult has a new parameter total_count\n - Model BillingAccountUpdateRequest has a new parameter notification_email_address\n - Model EnrollmentAccount has a new parameter account_owner_email\n - Model CustomerListResult has a new parameter total_count\n - Model Operation has a new parameter is_data_action\n - Model BillingAccount has a new parameter notification_email_address\n - Model AddressDetails has a new parameter middle_name\n - Model BillingProfile has a new parameter tags\n - Model EnrollmentPolicies has a new parameter marketplace_enabled\n - Added operation group ReservationsOperations\n\n**Breaking changes**\n\n - Model EnrollmentPolicies no longer has parameter marketplaces_enabled\n\n## 6.0.0b1 (2020-11-20)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 1.0.0 (2020-10-19)\n\n**Features**\n\n - Model ErrorDetails has a new parameter details\n - Added operation InvoicesOperations.download_multiple_billing_subscription_invoice\n - Added operation InvoicesOperations.get_by_id\n - Added operation InvoicesOperations.download_invoice\n - Added operation InvoicesOperations.list_by_billing_subscription\n - Added operation InvoicesOperations.list_by_billing_account\n - Added operation InvoicesOperations.download_billing_subscription_invoice\n - Added operation InvoicesOperations.download_multiple_modern_invoice\n - Added operation InvoicesOperations.list_by_billing_profile\n - Added operation InvoicesOperations.get_by_subscription_and_invoice_id\n - Added operation group InvoiceSectionsOperations\n - Added operation group PoliciesOperations\n - Added operation group InstructionsOperations\n - Added operation group ProductsOperations\n - Added operation group AddressOperations\n - Added operation group BillingProfilesOperations\n - Added operation group TransactionsOperations\n - Added operation group BillingPermissionsOperations\n - Added operation group BillingRoleDefinitionsOperations\n - Added operation group BillingRoleAssignmentsOperations\n - Added operation group BillingSubscriptionsOperations\n - Added operation group AvailableBalancesOperations\n - Added operation group CustomersOperations\n - Added operation group AgreementsOperations\n - Added operation group BillingAccountsOperations\n - Added operation group BillingPropertyOperations\n\n**Breaking changes**\n\n - Model Invoice has a new signature\n - Model EnrollmentAccount has a new signature\n - Removed operation InvoicesOperations.get_latest\n - Removed operation InvoicesOperations.list\n\n## 0.2.0 (2018-03-29)\n\n - Add new nrollment_accounts operation groups\n - Now all operation groups have a \"models\" attributes\n\n## 0.1.0 (2017-05-18)\n\n - Initial Release\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.2.0)", + "azure-mgmt-nspkg ; python_version<'3.0'" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/b2/a7/8d3ceda8211cc842e8ca406f78838a2891ee59363170153adf90a82af5e0/azure_mgmt_cdn-12.0.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=531c17c7e785ed7490a4ba40a409a12c24f5e9bd6db75a79ab33bfa2b29babdc", + "hashes": { + "sha256": "531c17c7e785ed7490a4ba40a409a12c24f5e9bd6db75a79ab33bfa2b29babdc" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-cdn", + "version": "12.0.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure CDN Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure CDN Management Client Library.\nThis package has been tested with Python 3.6+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/cdn)\nCode samples for this package can be found at [CDN Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-cdn%2FREADME.png)\n\n\n# Release History\n\n## 12.0.0 (2022-03-22)\n\n**Features**\n\n - Added operation CdnManagementClientOperationsMixin.check_endpoint_name_availability\n - Added operation RuleSetsOperations.create\n - Model AFDDomain has a new parameter pre_validated_custom_domain_resource_id\n - Model AFDDomain has a new parameter profile_name\n - Model AFDDomainProperties has a new parameter pre_validated_custom_domain_resource_id\n - Model AFDDomainProperties has a new parameter profile_name\n - Model AFDDomainUpdateParameters has a new parameter pre_validated_custom_domain_resource_id\n - Model AFDDomainUpdateParameters has a new parameter profile_name\n - Model AFDDomainUpdatePropertiesParameters has a new parameter pre_validated_custom_domain_resource_id\n - Model AFDDomainUpdatePropertiesParameters has a new parameter profile_name\n - Model AFDEndpoint has a new parameter auto_generated_domain_name_label_scope\n - Model AFDEndpoint has a new parameter profile_name\n - Model AFDEndpointProperties has a new parameter auto_generated_domain_name_label_scope\n - Model AFDEndpointProperties has a new parameter profile_name\n - Model AFDEndpointPropertiesUpdateParameters has a new parameter profile_name\n - Model AFDEndpointUpdateParameters has a new parameter profile_name\n - Model AFDOrigin has a new parameter enforce_certificate_name_check\n - Model AFDOrigin has a new parameter origin_group_name\n - Model AFDOriginGroup has a new parameter profile_name\n - Model AFDOriginGroupProperties has a new parameter profile_name\n - Model AFDOriginGroupUpdateParameters has a new parameter profile_name\n - Model AFDOriginGroupUpdatePropertiesParameters has a new parameter profile_name\n - Model AFDOriginProperties has a new parameter enforce_certificate_name_check\n - Model AFDOriginProperties has a new parameter origin_group_name\n - Model AFDOriginUpdateParameters has a new parameter enforce_certificate_name_check\n - Model AFDOriginUpdateParameters has a new parameter origin_group_name\n - Model AFDOriginUpdatePropertiesParameters has a new parameter enforce_certificate_name_check\n - Model AFDOriginUpdatePropertiesParameters has a new parameter origin_group_name\n - Model Certificate has a new parameter type\n - Model CustomDomain has a new parameter custom_https_parameters\n - Model CustomerCertificate has a new parameter secret_source\n - Model CustomerCertificate has a new parameter secret_version\n - Model CustomerCertificate has a new parameter type\n - Model CustomerCertificateParameters has a new parameter expiration_date\n - Model CustomerCertificateParameters has a new parameter subject\n - Model CustomerCertificateParameters has a new parameter thumbprint\n - Model DeepCreatedOrigin has a new parameter private_endpoint_status\n - Model Endpoint has a new parameter custom_domains\n - Model EndpointProperties has a new parameter custom_domains\n - Model ErrorResponse has a new parameter error\n - Model HttpVersionMatchConditionParameters has a new parameter transforms\n - Model ManagedCertificate has a new parameter type\n - Model ManagedCertificateParameters has a new parameter expiration_date\n - Model ManagedCertificateParameters has a new parameter subject\n - Model Operation has a new parameter is_data_action\n - Model Operation has a new parameter origin\n - Model Operation has a new parameter service_specification\n - Model OperationDisplay has a new parameter description\n - Model Profile has a new parameter front_door_id\n - Model Profile has a new parameter kind\n - Model Profile has a new parameter origin_response_timeout_seconds\n - Model ProfileUpdateParameters has a new parameter origin_response_timeout_seconds\n - Model RequestMethodMatchConditionParameters has a new parameter transforms\n - Model RequestSchemeMatchConditionParameters has a new parameter transforms\n - Model Route has a new parameter cache_configuration\n - Model Route has a new parameter endpoint_name\n - Model RouteProperties has a new parameter cache_configuration\n - Model RouteProperties has a new parameter endpoint_name\n - Model RouteUpdateParameters has a new parameter cache_configuration\n - Model RouteUpdateParameters has a new parameter endpoint_name\n - Model RouteUpdatePropertiesParameters has a new parameter cache_configuration\n - Model RouteUpdatePropertiesParameters has a new parameter endpoint_name\n - Model Rule has a new parameter rule_set_name\n - Model RuleProperties has a new parameter rule_set_name\n - Model RuleSet has a new parameter profile_name\n - Model RuleSetProperties has a new parameter profile_name\n - Model RuleUpdateParameters has a new parameter rule_set_name\n - Model RuleUpdatePropertiesParameters has a new parameter rule_set_name\n - Model Secret has a new parameter profile_name\n - Model SecretProperties has a new parameter profile_name\n - Model SecurityPolicy has a new parameter profile_name\n - Model SecurityPolicyProperties has a new parameter profile_name\n - Model ValidateSecretInput has a new parameter secret_version\n\n**Breaking changes**\n\n - Model AFDEndpoint no longer has parameter origin_response_timeout_seconds\n - Model AFDEndpointProperties no longer has parameter origin_response_timeout_seconds\n - Model AFDEndpointPropertiesUpdateParameters no longer has parameter origin_response_timeout_seconds\n - Model AFDEndpointUpdateParameters no longer has parameter origin_response_timeout_seconds\n - Model AFDOriginGroup no longer has parameter response_based_afd_origin_error_detection_settings\n - Model AFDOriginGroupProperties no longer has parameter response_based_afd_origin_error_detection_settings\n - Model AFDOriginGroupUpdateParameters no longer has parameter response_based_afd_origin_error_detection_settings\n - Model AFDOriginGroupUpdatePropertiesParameters no longer has parameter response_based_afd_origin_error_detection_settings\n - Model CacheExpirationActionParameters has a new required parameter type_name\n - Model CacheExpirationActionParameters no longer has parameter odata_type\n - Model CacheKeyQueryStringActionParameters has a new required parameter type_name\n - Model CacheKeyQueryStringActionParameters no longer has parameter odata_type\n - Model CdnCertificateSourceParameters has a new required parameter type_name\n - Model CdnCertificateSourceParameters no longer has parameter odata_type\n - Model Certificate no longer has parameter thumbprint\n - Model CookiesMatchConditionParameters has a new required parameter type_name\n - Model CookiesMatchConditionParameters no longer has parameter odata_type\n - Model CustomerCertificate no longer has parameter certificate_url\n - Model CustomerCertificate no longer has parameter version\n - Model ErrorResponse no longer has parameter code\n - Model ErrorResponse no longer has parameter message\n - Model HeaderActionParameters has a new required parameter type_name\n - Model HeaderActionParameters no longer has parameter odata_type\n - Model HttpVersionMatchConditionParameters has a new required parameter type_name\n - Model HttpVersionMatchConditionParameters no longer has parameter odata_type\n - Model IsDeviceMatchConditionParameters has a new required parameter type_name\n - Model IsDeviceMatchConditionParameters no longer has parameter odata_type\n - Model KeyVaultCertificateSourceParameters has a new required parameter type_name\n - Model KeyVaultCertificateSourceParameters no longer has parameter odata_type\n - Model KeyVaultSigningKeyParameters has a new required parameter type_name\n - Model KeyVaultSigningKeyParameters no longer has parameter odata_type\n - Model ManagedCertificate no longer has parameter thumbprint\n - Model OriginGroupOverrideActionParameters has a new required parameter type_name\n - Model OriginGroupOverrideActionParameters no longer has parameter odata_type\n - Model PostArgsMatchConditionParameters has a new required parameter type_name\n - Model PostArgsMatchConditionParameters no longer has parameter odata_type\n - Model Profile no longer has parameter frontdoor_id\n - Model QueryStringMatchConditionParameters has a new required parameter type_name\n - Model QueryStringMatchConditionParameters no longer has parameter odata_type\n - Model RemoteAddressMatchConditionParameters has a new required parameter type_name\n - Model RemoteAddressMatchConditionParameters no longer has parameter odata_type\n - Model RequestBodyMatchConditionParameters has a new required parameter type_name\n - Model RequestBodyMatchConditionParameters no longer has parameter odata_type\n - Model RequestHeaderMatchConditionParameters has a new required parameter type_name\n - Model RequestHeaderMatchConditionParameters no longer has parameter odata_type\n - Model RequestMethodMatchConditionParameters has a new required parameter type_name\n - Model RequestMethodMatchConditionParameters no longer has parameter odata_type\n - Model RequestSchemeMatchConditionParameters has a new required parameter type_name\n - Model RequestSchemeMatchConditionParameters no longer has parameter odata_type\n - Model RequestUriMatchConditionParameters has a new required parameter type_name\n - Model RequestUriMatchConditionParameters no longer has parameter odata_type\n - Model Route no longer has parameter compression_settings\n - Model Route no longer has parameter query_string_caching_behavior\n - Model RouteProperties no longer has parameter compression_settings\n - Model RouteProperties no longer has parameter query_string_caching_behavior\n - Model RouteUpdateParameters no longer has parameter compression_settings\n - Model RouteUpdateParameters no longer has parameter query_string_caching_behavior\n - Model RouteUpdatePropertiesParameters no longer has parameter compression_settings\n - Model RouteUpdatePropertiesParameters no longer has parameter query_string_caching_behavior\n - Model UrlFileExtensionMatchConditionParameters has a new required parameter type_name\n - Model UrlFileExtensionMatchConditionParameters no longer has parameter odata_type\n - Model UrlFileNameMatchConditionParameters has a new required parameter type_name\n - Model UrlFileNameMatchConditionParameters no longer has parameter odata_type\n - Model UrlPathMatchConditionParameters has a new required parameter type_name\n - Model UrlPathMatchConditionParameters no longer has parameter odata_type\n - Model UrlRedirectActionParameters has a new required parameter type_name\n - Model UrlRedirectActionParameters no longer has parameter odata_type\n - Model UrlRewriteActionParameters has a new required parameter type_name\n - Model UrlRewriteActionParameters no longer has parameter odata_type\n - Model UrlSigningActionParameters has a new required parameter type_name\n - Model UrlSigningActionParameters no longer has parameter odata_type\n - Operation SecurityPoliciesOperations.begin_patch has a new signature\n - Removed operation RuleSetsOperations.begin_create\n - Removed operation SecretsOperations.begin_update\n\n## 11.0.0 (2021-03-29)\n\n**Features**\n\n - Model ManagedRuleSetDefinition has a new parameter system_data\n - Model Resource has a new parameter system_data\n\n**Breaking changes**\n\n - Operation SecurityPoliciesOperations.begin_patch has a new signature\n - Operation RuleSetsOperations.begin_create has a new signature\n - Model RouteUpdatePropertiesParameters no longer has parameter optimization_type\n - Model CustomerCertificateParameters no longer has parameter thumbprint\n - Model CustomerCertificateParameters no longer has parameter subject\n - Model CustomerCertificateParameters no longer has parameter expiration_date\n - Model RouteProperties no longer has parameter optimization_type\n - Model Route no longer has parameter optimization_type\n - Model RouteUpdateParameters no longer has parameter optimization_type\n - Operation LogAnalyticsOperations.get_log_analytics_metrics has a new signature\n - Model ManagedCertificateParameters has a new signature\n\n## 10.0.0 (2021-01-19)\n\n**Features**\n\n - Model ProxyResource has a new parameter system_data\n - Model OriginGroup has a new parameter system_data\n - Model Endpoint has a new parameter system_data\n - Model EdgeNode has a new parameter system_data\n - Model Origin has a new parameter system_data\n - Model TrackedResource has a new parameter system_data\n - Model Profile has a new parameter system_data\n - Model Profile has a new parameter frontdoor_id\n - Model CdnWebApplicationFirewallPolicy has a new parameter system_data\n - Model CustomDomain has a new parameter system_data\n - Added operation group AFDOriginsOperations\n - Added operation group AFDProfilesOperations\n - Added operation group AFDEndpointsOperations\n - Added operation group RoutesOperations\n - Added operation group LogAnalyticsOperations\n - Added operation group RulesOperations\n - Added operation group ValidateOperations\n - Added operation group AFDOriginGroupsOperations\n - Added operation group SecretsOperations\n - Added operation group SecurityPoliciesOperations\n - Added operation group AFDCustomDomainsOperations\n - Added operation group RuleSetsOperations\n\n**Breaking changes**\n\n - Parameter odata_type of model UrlSigningActionParameters is now required\n - Operation PoliciesOperations.begin_update has a new signature\n - Operation EndpointsOperations.validate_custom_domain has a new signature\n - Operation EndpointsOperations.begin_load_content has a new signature\n - Operation EndpointsOperations.begin_purge_content has a new signature\n - Operation ProfilesOperations.begin_update has a new signature\n - Operation CdnManagementClientOperationsMixin.check_name_availability has a new signature\n - Operation CdnManagementClientOperationsMixin.check_name_availability_with_subscription has a new signature\n - Operation CdnManagementClientOperationsMixin.validate_probe has a new signature\n - Operation CustomDomainsOperations.begin_create has a new signature\n - Model UrlSigningActionParameters no longer has parameter ip_subnets\n - Model UrlSigningActionParameters no longer has parameter key_id\n\n## 10.0.0b1 (2020-10-31)\nThis is beta preview version.\nFor detailed changelog please refer to equivalent stable version 5.1.0 (https://pypi.org/project/azure-mgmt-cdn/5.1.0/)\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 5.1.0 (2020-08-10)\n\n**Features**\n - Add UrlSigningAction\n\n## 5.0.0 (2020-07-21)\n\n**Features**\n\n - Model Origin has a new parameter private_link_approval_message\n - Model Origin has a new parameter enabled\n - Model Origin has a new parameter weight\n - Model Origin has a new parameter origin_host_header\n - Model Origin has a new parameter private_link_resource_id\n - Model Origin has a new parameter private_link_location\n - Model Origin has a new parameter private_link_alias\n - Model Origin has a new parameter priority\n - Model Origin has a new parameter private_endpoint_status\n - Model EndpointUpdateParameters has a new parameter url_signing_keys\n - Model EndpointUpdateParameters has a new parameter default_origin_group\n - Model Endpoint has a new parameter url_signing_keys\n - Model Endpoint has a new parameter origin_groups\n - Model Endpoint has a new parameter default_origin_group\n - Added operation OriginsOperations.create\n - Added operation OriginsOperations.delete\n - Added operation group OriginGroupsOperations\n\n**Breaking changes**\n\n - Model Origin no longer has parameter location\n - Model Origin no longer has parameter tags\n - Model CustomDomain no longer has parameter custom_https_parameters\n - Model DeepCreatedOrigin has a new signature\n - Model OriginUpdateParameters has a new signature\n\n## 4.1.0rc1 (2020-01-18)\n\n**Features**\n\n - Model Endpoint has a new parameter\n web_application_firewall_policy_link\n - Model EndpointUpdateParameters has a new parameter\n web_application_firewall_policy_link\n - Added operation group PoliciesOperations\n - Added operation group ManagedRuleSetsOperations\n\n## 4.0.0 (2019-11-25)\n\n**Features**\n\n - Model DeliveryRule has a new parameter name\n - Model CdnManagedHttpsParameters has a new parameter\n minimum_tls_version\n - Model UserManagedHttpsParameters has a new parameter\n minimum_tls_version\n - Model CustomDomainHttpsParameters has a new parameter\n minimum_tls_version\n - Model CustomDomain has a new parameter custom_https_parameters\n - Added operation group CdnManagementClientOperationsMixin\n\n**General Breaking Changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes. In summary, some modules were incorrectly\nvisible/importable and have been renamed. This fixed several issues\ncaused by usage of classes that were not supposed to be used in the\nfirst place.\n\n - CdnManagementClient cannot be imported from\n `azure.mgmt.cdn.cdn_management_client` anymore (import from\n `azure.mgmt.cdn` works like before)\n - CdnManagementClientConfiguration import has been moved from\n `azure.mgmt.cdn.cdn_management_client` to `azure.mgmt.cdn`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.cdn.models.my_class` (import from\n `azure.mgmt.cdn.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.cdn.operations.my_class_operations` (import from\n `azure.mgmt.cdn.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 3.1.0 (2019-03-05)\n\n**Features**\n\n - Add custom_domain_https_parameters support\n\n## 3.0.0 (2018-05-25)\n\n**Features**\n\n - Add client method check_name_availability_with_subscription\n - Model EndpointUpdateParameters has a new parameter delivery_policy\n - Model Endpoint has a new parameter delivery_policy\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n## 2.0.0 (2017-10-26)\n\n**Features**\n\n - Add probe operations and in some models\n - Add list_supported_optimization_types\n\n**Breaking changes**\n\n - move resource_usage into its own operation group\n - move operations list into its own operation group\n\nApi version changed from 2016-10-02 to 2017-04-02\n\n## 1.0.0 (2017-06-30)\n\n**Features**\n\n - Add disable_custom_https and enable_custom_https\n\n**Breaking changes**\n\n - Rename check_resource_usage to list_resource_usage\n - list EdgeNode now returns an iterator of EdgeNode, not a\n EdgenodeResult instance with an attribute \"value\" being a list of\n EdgeNode\n\n## 0.30.3 (2017-05-15)\n\n - This wheel package is now built with the azure wheel extension\n\n## 0.30.2 (2016-12-22)\n\n - Fix EdgeNode attributes content\n\n## 0.30.1 (2016-12-15)\n\n - Fix list EdgeNodes method return type\n\n## 0.30.0 (2016-12-14)\n\n - Initial preview release (API Version 2016-10-02)\n - Major breaking changes from 0.30.0rc6\n\n## 0.30.0rc6 (2016-09-02)\n\n - Initial alpha release (API Version 2016-04-02)\n\n\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "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", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.0)" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/34/11/3bfa586ac0514e1fe224879c065dbec39c0d9d2653b74549ac8080408f07/azure_mgmt_containerinstance-10.1.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=ee7977b7b70f2233e44ec6ce8c99027f3f7892bb3452b4bad46df340d9f98959", + "hashes": { + "sha256": "ee7977b7b70f2233e44ec6ce8c99027f3f7892bb3452b4bad46df340d9f98959" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-containerinstance", + "version": "10.1.0", + "summary": "Microsoft Azure Container Instance Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Container Instance Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-containerinstance\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.containerinstance import ContainerInstanceManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ContainerInstanceManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Container Instance](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-containerinstance%2FREADME.png)\n\n\n# Release History\n\n## 10.1.0 (2023-04-21)\n\n### Features Added\n\n - Model Container has a new parameter security_context\n - Model ContainerGroup has a new parameter confidential_compute_properties\n - Model ContainerGroup has a new parameter extensions\n - Model ContainerGroup has a new parameter priority\n - Model ContainerGroupProperties has a new parameter confidential_compute_properties\n - Model ContainerGroupProperties has a new parameter extensions\n - Model ContainerGroupProperties has a new parameter priority\n - Model EncryptionProperties has a new parameter identity\n - Model InitContainerDefinition has a new parameter security_context\n\n## 10.1.0b2 (2023-04-20)\n\n### Features Added\n\n - Model ContainerGroup has a new parameter is_custom_provisioning_timeout\n - Model ContainerGroup has a new parameter provisioning_timeout_in_seconds\n - Model ContainerGroupProperties has a new parameter is_custom_provisioning_timeout\n - Model ContainerGroupProperties has a new parameter provisioning_timeout_in_seconds\n\n### Breaking Changes\n\n - Model ContainerGroup no longer has parameter confidential_compute_properties\n - Model ContainerGroup no longer has parameter priority\n - Model ContainerGroupProperties no longer has parameter confidential_compute_properties\n - Model ContainerGroupProperties no longer has parameter priority\n\n## 10.1.0b1 (2022-12-26)\n\n### Features Added\n\n - Model ContainerGroup has a new parameter confidential_compute_properties\n - Model ContainerGroup has a new parameter extensions\n - Model ContainerGroup has a new parameter priority\n - Model ContainerGroupProperties has a new parameter confidential_compute_properties\n - Model ContainerGroupProperties has a new parameter extensions\n - Model ContainerGroupProperties has a new parameter priority\n - Model EncryptionProperties has a new parameter identity\n\n## 10.0.0 (2022-08-29)\n\n### Features Added\n\n - Added operation group SubnetServiceAssociationLinkOperations\n - Model IpAddress has a new parameter auto_generated_domain_name_label_scope\n - Model Usage has a new parameter id\n\n### Breaking Changes\n\n - Model IpAddress no longer has parameter dns_name_label_reuse_policy\n\n## 9.2.0 (2022-04-15)\n\n**Features**\n\n - Model IpAddress has a new parameter dns_name_label_reuse_policy\n\n## 9.1.0 (2021-10-13)\n\n**Features**\n\n - Model ContainerGroup has a new parameter zones\n - Model Resource has a new parameter zones\n\n## 9.0.0 (2021-09-17)\n\n**Features**\n\n - Model ImageRegistryCredential has a new parameter identity_url\n - Model ImageRegistryCredential has a new parameter identity\n - Model ContainerGroup has a new parameter subnet_ids\n - Added operation ContainerGroupsOperations.get_outbound_network_dependencies_endpoints\n\n**Breaking changes**\n\n - Model ContainerGroup no longer has parameter network_profile\n\n## 8.0.0 (2021-07-20)\n\n**Features**\n\n - Model LogAnalytics has a new parameter workspace_resource_id\n - Model ContainerHttpGet has a new parameter http_headers\n - Added operation ContainersOperations.attach\n\n**Breaking changes**\n\n - Operation ContainersOperations.list_logs has a new signature\n\n## 7.0.0 (2020-11-25)\n\n - GA release\n\n## 7.0.0b1 (2020-10-12)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 2.0.0 (2020-06-24)\n\n**Features**\n\n - Model ContainerGroup has a new parameter init_containers\n - Model ContainerGroup has a new parameter sku\n - Model ContainerGroup has a new parameter encryption_properties\n - Added operation group ContainersOperations\n - Added operation group LocationOperations\n\n**Breaking changes**\n\n - Model CachedImages no longer has parameter id\n - Removed operation group ContainerGroupUsageOperations\n - Removed operation group ServiceAssociationLinkOperations\n - Removed operation group ContainerOperations\n\n## 1.5.0 (2019-05-22)\n\n**Features**\n\n - Add client level operations list_cached_images and\n list_capabilities\n\n## 1.4.1 (2019-04-01)\n\n**Bugfix**\n\n - Fix incorrect wheel METADATA caused by setuptools 40.6.0\n\n## 1.4.0 (2018-11-12)\n\n**Features**\n\n - Add container_groups.start\n\n## 1.3.0 (2018-11-05)\n\n**Features**\n\n - Model ResourceLimits has a new parameter gpu\n - Model ResourceRequests has a new parameter gpu\n - Model ContainerGroup has a new parameter dns_config\n\n## 1.2.1 (2018-10-16)\n\n**Bugfix**\n\n - Fix sdist broken in 1.2.0. No code change.\n\n## 1.2.0 (2018-10-08)\n\n**Features**\n\n - Model ContainerGroup has a new parameter identity (MSI support)\n - Added operation group ServiceAssociationLinkOperations\n\n**Note**\n\n - azure-mgmt-nspkg is not installed anymore on Python 3 (PEP420-based\n namespace package)\n\n## 1.1.0 (2018-09-06)\n\n**Features**\n\n - Model LogAnalytics has a new parameter log_type\n - Model LogAnalytics has a new parameter metadata\n - Model ContainerGroup has a new parameter network_profile\n - Added operation ContainerGroupsOperations.stop\n - Added operation ContainerGroupsOperations.restart\n\n## 1.0.0 (2018-06-13)\n\n**Features**\n\n - Model Container has a new parameter liveness_probe\n - Model Container has a new parameter readiness_probe\n - Model ContainerGroup has a new parameter diagnostics\n - Model EnvironmentVariable has a new parameter secure_value\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n## 0.4.0 (2018-03-19)\n\n**Breaking changes**\n\n - container_groups.create_or_update is now a Long Running operation\n\n**Features**\n\n - New start_container operation group\n\n## 0.3.1 (2018-02-05)\n\n - Fix dnsnamelabel to dns_name_label\n\n## 0.3.0 (2018-02-01)\n\n - Add dnsnamelabel\n - Add fqdn\n - Add container_group_usage operation groups\n - Add git_repo and secret to volumes\n - Add container_groups.update\n\nAPI version is now 2018-02-01-preview\n\n## 0.2.0 (2017-10-20)\n\n - Added on-failure/never container group retry policy\n - Added container volumes mount support\n - Added operations API\n - Added container group instance view\n - Renamed event class\n\n## 0.1.0 (2017-07-27)\n\n - Initial preview release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (<1.0.0,>=0.6.1)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.2)", + "typing-extensions (>=4.3.0) ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/93/04/e6e206b9392b39e90d84891bf069a4673ba9fe4bc8ba6be78f0bc684c746/azure_mgmt_containerregistry-10.3.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=851e1c57f9bc4a3589c6b21fb627c11fd6cbb57a0388b7dfccd530ba3160805f", + "hashes": { + "sha256": "851e1c57f9bc4a3589c6b21fb627c11fd6cbb57a0388b7dfccd530ba3160805f" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-containerregistry", + "version": "10.3.0", + "summary": "Microsoft Azure Container Registry Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Container Registry Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-containerregistry\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.containerregistry import ContainerRegistryManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ContainerRegistryManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Container Registry](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 10.3.0 (2023-11-20)\n\n### Features Added\n\n - Model Registry has a new parameter metadata_search\n - Model RegistryUpdateParameters has a new parameter metadata_search\n\n## 10.2.0 (2023-09-21)\n\n### Features Added\n\n - Added operation group ArchiveVersionsOperations\n - Added operation group ArchivesOperations\n\n## 10.1.0 (2023-02-15)\n\n### Features Added\n\n - Added operation group CacheRulesOperations\n - Added operation group CredentialSetsOperations\n\n## 10.0.0 (2022-05-26)\n\n**Features**\n\n - Model Policies has a new parameter azure_ad_authentication_as_arm_policy\n - Model Policies has a new parameter soft_delete_policy\n\n**Breaking changes**\n\n - Model NetworkRuleSet no longer has parameter virtual_network_rules\n\n## 9.1.0 (2022-03-03)\n\n**Features**\n\n - Added operation RegistriesOperations.begin_generate_credentials\n - Model NetworkRuleSet has a new parameter virtual_network_rules\n - Model Registry has a new parameter anonymous_pull_enabled\n - Model RegistryUpdateParameters has a new parameter anonymous_pull_enabled\n\n## 9.0.0 (2022-01-19)\n\n**Features**\n\n - Added operation RegistriesOperations.get_private_link_resource\n\n**Breaking changes**\n\n - Model NetworkRuleSet no longer has parameter virtual_network_rules\n - Model Registry no longer has parameter anonymous_pull_enabled\n - Model RegistryUpdateParameters no longer has parameter anonymous_pull_enabled\n - Removed operation RegistriesOperations.begin_generate_credentials\n\n## 8.2.0 (2021-10-26)\n\n**Features**\n\n - Model ConnectedRegistryUpdateParameters has a new parameter notifications_list\n - Model ConnectedRegistry has a new parameter notifications_list\n\n## 8.1.0 (2021-07-22)\n\n**Features**\n\n - Model Policies has a new parameter export_policy\n - Model OperationDefinition has a new parameter is_data_action\n\n## 8.0.0 (2021-05-25)\n\n**Features**\n\n - Model PipelineRun has a new parameter system_data\n - Model TaskRunRequest has a new parameter log_template\n - Model TaskUpdateParameters has a new parameter log_template\n - Model Token has a new parameter system_data\n - Model EncodedTaskRunRequest has a new parameter log_template\n - Model ScopeMap has a new parameter system_data\n - Model AgentPool has a new parameter system_data\n - Model RegistryUpdateParameters has a new parameter anonymous_pull_enabled\n - Model RegistryUpdateParameters has a new parameter network_rule_bypass_options\n - Model ExportPipeline has a new parameter system_data\n - Model KeyVaultProperties has a new parameter key_rotation_enabled\n - Model KeyVaultProperties has a new parameter last_key_rotation_timestamp\n - Model Run has a new parameter log_artifact\n - Model Run has a new parameter system_data\n - Model FileTaskRunRequest has a new parameter log_template\n - Model RunRequest has a new parameter log_template\n - Model OperationServiceSpecificationDefinition has a new parameter log_specifications\n - Model Webhook has a new parameter system_data\n - Model ProxyResource has a new parameter system_data\n - Model TaskRun has a new parameter system_data\n - Model DockerBuildRequest has a new parameter log_template\n - Model Task has a new parameter is_system_task\n - Model Task has a new parameter system_data\n - Model Task has a new parameter log_template\n - Model Registry has a new parameter zone_redundancy\n - Model Registry has a new parameter anonymous_pull_enabled\n - Model Registry has a new parameter system_data\n - Model Registry has a new parameter network_rule_bypass_options\n - Model ImportPipeline has a new parameter system_data\n - Model Resource has a new parameter system_data\n - Model PrivateEndpointConnection has a new parameter system_data\n - Model Replication has a new parameter zone_redundancy\n - Model Replication has a new parameter system_data\n - Added operation group ConnectedRegistriesOperations\n\n**Breaking changes**\n\n - Parameter type of model QuickBuildRequest is now required\n - Parameter type of model BuildStepProperties is now required\n - Parameter type of model BuildStepPropertiesUpdateParameters is now required\n - Parameter type of model QueueBuildRequest is now required\n - Parameter type of model BuildTaskBuildRequest is now required\n - Model TokenCredentialsProperties no longer has parameter active_directory_object\n - Model Registry no longer has parameter storage_account\n - Removed operation RegistriesOperations.get_build_source_upload_url\n - Removed operation RegistriesOperations.begin_schedule_run\n\n## 8.0.0b1 (2020-10-12)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 3.0.0rc15(2020-9-16)\n**Features**\n\n - Model FileTaskRunRequest has a new parameter log_template\n - Model Run has a new parameter log_artifact\n - Model EncodedTaskRunRequest has a new parameter log_template\n - Model ImportPipeline has a new parameter location\n - Model TaskRunRequest has a new parameter log_template\n - Model Task has a new parameter log_template\n - Model Task has a new parameter is_system_task\n - Model RunRequest has a new parameter log_template\n - Model ExportPipeline has a new parameter location\n - Model TaskUpdateParameters has a new parameter log_template\n - Model TaskRunUpdateParameters has a new parameter location\n - Model DockerBuildRequest has a new parameter log_template\n\n**Breaking changes**\n\n - Model TaskRun no longer has parameter tags\n\n## 3.0.0rc14(2020-06-15)\n\n**Features**\n\n - Model RunGetLogResult has a new parameter log_artifact_link\n\n## 3.0.0rc13 (2020-05-15)\n\n**Features**\n\n - Model Replication has a new parameter region_endpoint_enabled\n - Model ReplicationUpdateParameters has a new parameter region_endpoint_enabled\n\n**Breaking changes**\n\n - Operation ReplicationsOperations.create has a new signature\n - Operation ReplicationsOperations.update has a new signature\n - Operation ReplicationsOperations.create has a new signature\n\n## 3.0.0rc12(2020-05-06)\n\n**Features**\n\n - Model Registry has a new parameter public_network_access\n - Model ErrorResponseBody has a new parameter details\n - Model ErrorResponseBody has a new parameter target\n - Model RegistryUpdateParameters has a new parameter public_network_access\n - Added operation group PipelineRunsOperations\n - Added operation group ImportPipelinesOperations\n - Added operation group ExportPipelinesOperations\n\n## 3.0.0rc11 (2020-03-25)\n\n**Breaking changes**\n\n - Operation PrivateEndpointConnectionsOperations.create_or_update has a new signature\n - Operation PrivateEndpointConnectionsOperations.create_or_update has a new signature\n\n## 3.0.0rc10 (2020-03-11)\n\n**Features**\n\n- Model FileTaskRunRequest has a new parameter agent_pool_name\n- Model RunRequest has a new parameter agent_pool_name\n- Model RunFilter has a new parameter agent_pool_name\n- Model DockerBuildRequest has a new parameter agent_pool_name\n- Model TaskRunRequest has a new parameter agent_pool_name\n- Model EncodedTaskRunRequest has a new parameter agent_pool_name\n- Model TaskUpdateParameters has a new parameter agent_pool_name\n- Model Run has a new parameter agent_pool_name\n- Model Task has a new parameter agent_pool_name\n- Added operation TaskRunsOperations.get_details\n- Added operation group AgentPoolsOperations\n\n## 3.0.0rc9 (2020-03-02)\n\n**Features**\n\n - Model Registry has a new parameter encryption\n - Model Registry has a new parameter data_endpoint_host_names\n - Model Registry has a new parameter private_endpoint_connections\n - Model Registry has a new parameter identity\n - Model Registry has a new parameter data_endpoint_enabled\n - Model TokenCredentialsProperties has a new parameter active_directory_object\n - Model RegistryUpdateParameters has a new parameter identity\n - Model RegistryUpdateParameters has a new parameter data_endpoint_enabled\n - Model RegistryUpdateParameters has a new parameter encryption\n - Added operation RegistriesOperations.list_private_link_resources\n - Added operation group PrivateEndpointConnectionsOperations\n\n**Breaking changes**\n\n - Model Token no longer has parameter object_id\n\n## 3.0.0rc8 (2020-01-10)\n\n**Features**\n\n - Added operation group TaskRunsOperations\n\n## 3.0.0rc7 (2019-10-23)\n\n**Bugfixes**\n\n - Minor fixes in ScopeMaps\n\n## 3.0.0rc6 (2019-10-03)\n\n**Features**\n\n - Added operation RegistriesOperations.generate_credentials\n\n## 3.0.0rc5 (2019-08-02)\n\n**Bugfixes**\n\n - Reverting API version back to 2019-05-01\n\n## 3.0.0rc4 (2019-07-10)\n\n**Bugfixes**\n\n - Fix incorrect default API version from 2019-05-01 to 2017-10-01\n\n## 3.0.0rc3 (2019-07-01)\n\nNew preview API version 2019-06-01-preview contains:\n\n**Features**\n\n - Model BaseImageTriggerUpdateParameters has a new parameter\n update_trigger_payload_type\n - Model BaseImageTriggerUpdateParameters has a new parameter\n update_trigger_endpoint\n - Model RegistryUpdateParameters has a new parameter policies\n - Model Registry has a new parameter policies\n - Model TaskRunRequest has a new parameter\n override_task_step_properties\n - Model BaseImageTrigger has a new parameter\n update_trigger_payload_type\n - Model BaseImageTrigger has a new parameter update_trigger_endpoint\n - Model Run has a new parameter update_trigger_token\n - Added operation RegistriesOperations.get_build_source_upload_url\n - Added operation RegistriesOperations.schedule_run\n\n**Breaking changes**\n\n - Model RegistryUpdateParameters no longer has parameter\n storage_account\n - Model TaskRunRequest no longer has parameter task_name\n - Model TaskRunRequest no longer has parameter values\n - Model TaskRunRequest has a new required parameter task_id\n - Removed operation RegistriesOperations.list_policies\n - Removed operation RegistriesOperations.generate_credentials\n - Removed operation RegistriesOperations.update_policies\n\n## 3.0.0rc2 (2019-06-12)\n\n**Features**\n\n - Model Run has a new parameter timer_trigger\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes while using imports. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - ContainerRegistryManagementClient cannot be imported from\n `azure.mgmt.containerregistry.containerregistry_management_client`\n anymore (import from `azure.mgmt.containerregistry` works like\n before)\n - ContainerRegistryManagementClientConfiguration import has been moved\n from\n `azure.mgmt.containerregistry.containerregistry_management_client`\n to `azure.mgmt.containerregistry`\n - ContainerRegistryManagementClient cannot be imported from\n `azure.mgmt.containerregistry.v20xx_yy_zz.containerregistry_management_client`\n anymore (import from `azure.mgmt.containerregistry.v20xx_yy_zz`\n works like before)\n - ContainerRegistryManagementClientConfiguration import has been moved\n from\n `azure.mgmt.containerregistry.v20xx_yy_zz.containerregistry_management_client`\n to `azure.mgmt.containerregistry.v20xx_yy_zz`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using\n `azure.mgmt.containerregistry.v20xx_yy_zz.models.my_class`\n (import from `azure.mgmt.containerregistry.v20xx_yy_zz.models`\n works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.containerregistry.v20xx_yy_zz.operations.my_class_operations`\n (import from\n `azure.mgmt.containerregistry.v20xx_yy_zz.operations` works like\n before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one containerregistry mgmt client per process.\n\n## 3.0.0rc1 (2019-05-24)\n\n**Features**\n\n - Model Registry has a new parameter policies\n - Model RegistryUpdateParameters has a new parameter policies\n - Add preview ScopeMaps (2019-05-01-preview API version)\n\n**Breaking changes**\n\n - Model RegistryUpdateParameters no longer has parameter\n storage_account\n - Removed operation RegistriesOperations.update_policies\n - Removed operation RegistriesOperations.list_policies\n\n## 2.8.0 (2019-04-30)\n\n**Features**\n\n - Model CustomRegistryCredentials has a new parameter identity\n - Model Run has a new parameter run_error_message\n - Model Task has a new parameter identity\n - Model TaskUpdateParameters has a new parameter identity\n - Model Target has a new parameter name\n - Model Target has a new parameter version\n - Model TriggerProperties has a new parameter timer_triggers\n - Model TriggerUpdateParameters has a new parameter timer_triggers\n\n## 2.7.0 (2019-01-25)\n\n**Features**\n\n - Model Run has a new parameter custom_registries\n - Model Run has a new parameter source_registry_auth\n - Model DockerBuildStepUpdateParameters has a new parameter target\n - Model FileTaskRunRequest has a new parameter credentials\n - Model DockerBuildRequest has a new parameter credentials\n - Model DockerBuildRequest has a new parameter target\n - Model TaskUpdateParameters has a new parameter credentials\n - Model Task has a new parameter credentials\n - Model EncodedTaskRunRequest has a new parameter credentials\n - Model DockerBuildStep has a new parameter target\n\n## 2.6.0 (2019-01-02)\n\n**Features**\n\n - Add IP rules\n\n**Bugfixes**\n\n - Rename incorrect \"id\" to \"virtual_network_resource_id\"\n\n## 2.5.0 (2018-12-10)\n\n**Features**\n\n - Add network rule set to registry properties\n\n## 2.4.0 (2018-11-05)\n\n**Features**\n\n - Add context token to task step\n\n## 2.3.0 (2018-10-17)\n\n - Support context path, source location URL, and pull request based\n triggers for task/run.\n - Allow specifying credentials for source registry on import image.\n\n## 2.2.0 (2018-09-11)\n\n**Features**\n\n - Added operation RegistriesOperations.get_build_source_upload_url\n - Added operation RegistriesOperations.schedule_run\n - Added operation group RunsOperations\n - Added operation group TasksOperations\n\nDefault API version is now 2018-09-01\n\n## 2.1.0 (2018-07-26)\n\n**Features**\n\n - Model OperationDefinition has a new parameter service_specification\n - Model OperationDefinition has a new parameter origin\n - Added operation RegistriesOperations.list_policies\n - Added operation RegistriesOperations.update_policies\n\n## 2.0.0 (2018-04-30)\n\n**Features**\n\n - Support for build steps/taks (ApiVersion 2018-02-01-preview)\n - Support for Azure Profiles\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n## 1.0.1 (2017-10-09)\n\n - Rename Managed_Basic, Managed_Standard, Managed_Premium to Basic,\n Standard, Premium.\n\n## 1.0.0 (2017-09-22)\n\n - New default API version 2017-10-01.\n - Remove support for API Version 2017-06-01-preview\n - New support for managed registries with three Managed SKUs.\n - New support for registry webhooks and replications.\n - Rename Basic SKU to Classic SKU.\n\n## 0.3.1 (2017-06-30)\n\n - Support for registry SKU update (2017-06-01-preview)\n - New listUsages API to get the quota usages for a container registry\n (2017-06-01-preview)\n\n## 0.3.0 (2017-06-15)\n\n - This package now supports an additional ApiVersion\n 2017-06-01-preview\n\n## 0.2.1 (2017-04-20)\n\nThis wheel package is now built with the azure wheel extension\n\n## 0.2.0 (2017-03-20)\n\n - New ApiVersion 2017-03-01\n - Update getCredentials to listCredentials to support multiple login\n credentials.\n - Refine regenerateCredential to support regenerate the specified\n login credential.\n - Add Sku to registry properties as a required property.\n - Rename GetProperties to Get.\n - Change CreateOrUpdate to Create, add registry create parameters.\n\n## 0.1.1 (2016-12-12)\n\n**Bugfixes**\n\n - Fix random error on Create and Delete operation\n\n## 0.1.0 (2016-11-04)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2", + "typing-extensions >=4.3.0 ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/6e/55/6f9d66f0d46aa612f645dce45767dadf85bc2124ff5ca2b4d460651dcf23/azure_mgmt_cosmosdb-9.5.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=860cad5583d63936e5f9477f7878a256c4dee039169cdea554da851f0762f0c7", + "hashes": { + "sha256": "860cad5583d63936e5f9477f7878a256c4dee039169cdea554da851f0762f0c7" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-cosmosdb", + "version": "9.5.1", + "summary": "Microsoft Azure Cosmos DB Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Cosmos DB Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-cosmosdb\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.cosmosdb import CosmosDBManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = CosmosDBManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Cosmos DB Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 9.5.1 (2024-06-19)\n\n### Features Added\n\n - Model ServiceResourceCreateUpdateParameters has a new parameter properties\n\n### Breaking Changes\n\n - Model ServiceResourceCreateUpdateParameters no longer has parameter instance_count\n - Model ServiceResourceCreateUpdateParameters no longer has parameter instance_size\n - Model ServiceResourceCreateUpdateParameters no longer has parameter service_type\n\n### Bugs Fixed\n\n - Disable parameter flatten for Model ServiceResourceCreateUpdateParameters to avoid deserializatin\n\n## 9.5.0 (2024-05-20)\n\n### Features Added\n\n - Model ClusterResourceProperties has a new parameter azure_connection_method\n - Model ClusterResourceProperties has a new parameter private_link_resource_id\n - Model DataCenterResourceProperties has a new parameter private_endpoint_ip_address\n - Model SqlDedicatedGatewayServiceResourceProperties has a new parameter dedicated_gateway_type\n\n## 10.0.0b3 (2024-03-18)\n\n### Features Added\n\n - Added operation DataTransferJobsOperations.complete\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_per_region_per_partition_autoscale\n - Model DatabaseAccountGetResults has a new parameter enable_per_region_per_partition_autoscale\n - Model DatabaseAccountUpdateParameters has a new parameter enable_per_region_per_partition_autoscale\n - Model PrivateEndpointConnection has a new parameter system_data\n - Model ProxyResource has a new parameter system_data\n - Model Resource has a new parameter system_data\n - Model ResourceRestoreParameters has a new parameter restore_with_ttl_disabled\n - Model RestoreParameters has a new parameter restore_with_ttl_disabled\n - Model RestoreParametersBase has a new parameter restore_with_ttl_disabled\n\n## 10.0.0b2 (2024-01-26)\n\n### Features Added\n\n - Added operation CassandraClustersOperations.begin_invoke_command_async\n - Added operation CassandraClustersOperations.get_command_async\n - Added operation CassandraClustersOperations.list_command\n - Added operation group ThroughputPoolAccountOperations\n - Added operation group ThroughputPoolAccountsOperations\n - Added operation group ThroughputPoolOperations\n - Added operation group ThroughputPoolsOperations\n - Model BackupResource has a new parameter backup_expiry_timestamp\n - Model BackupResource has a new parameter backup_id\n - Model BackupResource has a new parameter backup_start_timestamp\n - Model BackupResource has a new parameter backup_state\n - Model BackupResource has a new parameter backup_stop_timestamp\n - Model CassandraClusterDataCenterNodeItem has a new parameter is_latest_model\n - Model ClusterResourceProperties has a new parameter auto_replicate\n - Model ClusterResourceProperties has a new parameter azure_connection_method\n - Model ClusterResourceProperties has a new parameter backup_schedules\n - Model ClusterResourceProperties has a new parameter cluster_type\n - Model ClusterResourceProperties has a new parameter extensions\n - Model ClusterResourceProperties has a new parameter external_data_centers\n - Model ClusterResourceProperties has a new parameter private_link_resource_id\n - Model ClusterResourceProperties has a new parameter scheduled_event_strategy\n - Model CommandPostBody has a new parameter read_write\n - Model CosmosCassandraDataTransferDataSourceSink has a new parameter remote_account_name\n - Model CosmosMongoDataTransferDataSourceSink has a new parameter remote_account_name\n - Model CosmosSqlDataTransferDataSourceSink has a new parameter remote_account_name\n - Model DataCenterResourceProperties has a new parameter private_endpoint_ip_address\n - Model DataTransferJobGetResults has a new parameter duration\n - Model DataTransferJobGetResults has a new parameter mode\n - Model DataTransferJobProperties has a new parameter duration\n - Model DataTransferJobProperties has a new parameter mode\n - Model DatabaseAccountCreateUpdateParameters has a new parameter customer_managed_key_status\n - Model DatabaseAccountCreateUpdateParameters has a new parameter default_priority_level\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_priority_based_execution\n - Model DatabaseAccountGetResults has a new parameter customer_managed_key_status\n - Model DatabaseAccountGetResults has a new parameter default_priority_level\n - Model DatabaseAccountGetResults has a new parameter enable_priority_based_execution\n - Model DatabaseAccountUpdateParameters has a new parameter customer_managed_key_status\n - Model DatabaseAccountUpdateParameters has a new parameter default_priority_level\n - Model DatabaseAccountUpdateParameters has a new parameter enable_priority_based_execution\n - Model RestorableGremlinDatabasePropertiesResource has a new parameter can_undelete\n - Model RestorableGremlinDatabasePropertiesResource has a new parameter can_undelete_reason\n - Model RestorableGremlinGraphPropertiesResource has a new parameter can_undelete\n - Model RestorableGremlinGraphPropertiesResource has a new parameter can_undelete_reason\n - Model RestorableMongodbCollectionPropertiesResource has a new parameter can_undelete\n - Model RestorableMongodbCollectionPropertiesResource has a new parameter can_undelete_reason\n - Model RestorableMongodbDatabasePropertiesResource has a new parameter can_undelete\n - Model RestorableMongodbDatabasePropertiesResource has a new parameter can_undelete_reason\n - Model RestorableSqlContainerPropertiesResource has a new parameter can_undelete\n - Model RestorableSqlContainerPropertiesResource has a new parameter can_undelete_reason\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter computed_properties\n - Model RestorableSqlDatabasePropertiesResource has a new parameter can_undelete\n - Model RestorableSqlDatabasePropertiesResource has a new parameter can_undelete_reason\n - Model RestorableTablePropertiesResource has a new parameter can_undelete\n - Model RestorableTablePropertiesResource has a new parameter can_undelete_reason\n - Model SqlContainerGetPropertiesResource has a new parameter computed_properties\n - Model SqlContainerResource has a new parameter computed_properties\n - Model ThroughputSettingsGetPropertiesResource has a new parameter instant_maximum_throughput\n - Model ThroughputSettingsGetPropertiesResource has a new parameter soft_allowed_maximum_throughput\n - Model ThroughputSettingsResource has a new parameter instant_maximum_throughput\n - Model ThroughputSettingsResource has a new parameter soft_allowed_maximum_throughput\n - Operation CassandraClustersOperations.begin_deallocate has a new optional parameter x_ms_force_deallocate\n\n### Breaking Changes\n\n - Model BackupResource no longer has parameter id\n - Model BackupResource no longer has parameter name\n - Model BackupResource no longer has parameter properties\n - Model BackupResource no longer has parameter type\n - Model CommandPostBody no longer has parameter readwrite\n\n## 9.4.0 (2023-12-19)\n\n### Features Added\n\n - Model GremlinDatabaseGetPropertiesResource has a new parameter create_mode\n - Model GremlinDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model GremlinDatabaseResource has a new parameter create_mode\n - Model GremlinDatabaseResource has a new parameter restore_parameters\n - Model GremlinGraphGetPropertiesResource has a new parameter create_mode\n - Model GremlinGraphGetPropertiesResource has a new parameter restore_parameters\n - Model GremlinGraphResource has a new parameter create_mode\n - Model GremlinGraphResource has a new parameter restore_parameters\n - Model MongoDBCollectionGetPropertiesResource has a new parameter create_mode\n - Model MongoDBCollectionGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBCollectionResource has a new parameter create_mode\n - Model MongoDBCollectionResource has a new parameter restore_parameters\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter create_mode\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBDatabaseResource has a new parameter create_mode\n - Model MongoDBDatabaseResource has a new parameter restore_parameters\n - Model RestorableGremlinDatabasePropertiesResource has a new parameter can_undelete\n - Model RestorableGremlinDatabasePropertiesResource has a new parameter can_undelete_reason\n - Model RestorableGremlinGraphPropertiesResource has a new parameter can_undelete\n - Model RestorableGremlinGraphPropertiesResource has a new parameter can_undelete_reason\n - Model RestorableMongodbCollectionPropertiesResource has a new parameter can_undelete\n - Model RestorableMongodbCollectionPropertiesResource has a new parameter can_undelete_reason\n - Model RestorableMongodbDatabasePropertiesResource has a new parameter can_undelete\n - Model RestorableMongodbDatabasePropertiesResource has a new parameter can_undelete_reason\n - Model RestorableSqlContainerPropertiesResource has a new parameter can_undelete\n - Model RestorableSqlContainerPropertiesResource has a new parameter can_undelete_reason\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter computed_properties\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter create_mode\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter restore_parameters\n - Model RestorableSqlDatabasePropertiesResource has a new parameter can_undelete\n - Model RestorableSqlDatabasePropertiesResource has a new parameter can_undelete_reason\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter create_mode\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter restore_parameters\n - Model RestorableTablePropertiesResource has a new parameter can_undelete\n - Model RestorableTablePropertiesResource has a new parameter can_undelete_reason\n - Model SqlContainerGetPropertiesResource has a new parameter computed_properties\n - Model SqlContainerGetPropertiesResource has a new parameter create_mode\n - Model SqlContainerGetPropertiesResource has a new parameter restore_parameters\n - Model SqlContainerResource has a new parameter computed_properties\n - Model SqlContainerResource has a new parameter create_mode\n - Model SqlContainerResource has a new parameter restore_parameters\n - Model SqlDatabaseGetPropertiesResource has a new parameter create_mode\n - Model SqlDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model SqlDatabaseResource has a new parameter create_mode\n - Model SqlDatabaseResource has a new parameter restore_parameters\n - Model TableGetPropertiesResource has a new parameter create_mode\n - Model TableGetPropertiesResource has a new parameter restore_parameters\n - Model TableResource has a new parameter create_mode\n - Model TableResource has a new parameter restore_parameters\n\n## 9.3.0 (2023-10-23)\n\n### Features Added\n\n - Model DatabaseAccountCreateUpdateParameters has a new parameter customer_managed_key_status\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_burst_capacity\n - Model DatabaseAccountGetResults has a new parameter customer_managed_key_status\n - Model DatabaseAccountGetResults has a new parameter enable_burst_capacity\n - Model DatabaseAccountUpdateParameters has a new parameter customer_managed_key_status\n - Model DatabaseAccountUpdateParameters has a new parameter enable_burst_capacity\n\n## 10.0.0b1 (2023-06-16)\n\n### Features Added\n\n - Added operation CassandraClustersOperations.get_backup\n - Added operation CassandraClustersOperations.list_backups\n - Added operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Added operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Added operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.get_cassandra_view\n - Added operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.list_cassandra_views\n - Added operation MongoDBResourcesOperations.begin_list_mongo_db_collection_partition_merge\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_retrieve_throughput_distribution\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_partition_merge\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_list_sql_container_partition_merge\n - Added operation SqlResourcesOperations.begin_sql_container_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_sql_database_partition_merge\n - Added operation SqlResourcesOperations.begin_sql_database_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_database_retrieve_throughput_distribution\n - Added operation group DataTransferJobsOperations\n - Added operation group GraphResourcesOperations\n - Added operation group MongoClustersOperations\n - Model ARMResourceProperties has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model DatabaseAccountCreateUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_burst_capacity\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_materialized_views\n - Model DatabaseAccountGetResults has a new parameter diagnostic_log_settings\n - Model DatabaseAccountGetResults has a new parameter enable_burst_capacity\n - Model DatabaseAccountGetResults has a new parameter enable_materialized_views\n - Model DatabaseAccountUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountUpdateParameters has a new parameter enable_burst_capacity\n - Model DatabaseAccountUpdateParameters has a new parameter enable_materialized_views\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetPropertiesResource has a new parameter create_mode\n - Model GremlinDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model GremlinDatabaseResource has a new parameter create_mode\n - Model GremlinDatabaseResource has a new parameter restore_parameters\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetPropertiesResource has a new parameter create_mode\n - Model GremlinGraphGetPropertiesResource has a new parameter restore_parameters\n - Model GremlinGraphGetResults has a new parameter identity\n - Model GremlinGraphResource has a new parameter create_mode\n - Model GremlinGraphResource has a new parameter restore_parameters\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetPropertiesResource has a new parameter create_mode\n - Model MongoDBCollectionGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model MongoDBCollectionResource has a new parameter create_mode\n - Model MongoDBCollectionResource has a new parameter restore_parameters\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter create_mode\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model MongoDBDatabaseResource has a new parameter create_mode\n - Model MongoDBDatabaseResource has a new parameter restore_parameters\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter create_mode\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter materialized_view_definition\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter restore_parameters\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter create_mode\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter restore_parameters\n - Model RestoreParameters has a new parameter source_backup_location\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetPropertiesResource has a new parameter create_mode\n - Model SqlContainerGetPropertiesResource has a new parameter materialized_view_definition\n - Model SqlContainerGetPropertiesResource has a new parameter restore_parameters\n - Model SqlContainerGetResults has a new parameter identity\n - Model SqlContainerResource has a new parameter create_mode\n - Model SqlContainerResource has a new parameter materialized_view_definition\n - Model SqlContainerResource has a new parameter restore_parameters\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseGetPropertiesResource has a new parameter create_mode\n - Model SqlDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model SqlDatabaseResource has a new parameter create_mode\n - Model SqlDatabaseResource has a new parameter restore_parameters\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model TableGetPropertiesResource has a new parameter create_mode\n - Model TableGetPropertiesResource has a new parameter restore_parameters\n - Model TableGetResults has a new parameter identity\n - Model TableResource has a new parameter create_mode\n - Model TableResource has a new parameter restore_parameters\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n\n### Breaking Changes\n\n - Model ThroughputSettingsGetPropertiesResource no longer has parameter instant_maximum_throughput\n - Model ThroughputSettingsGetPropertiesResource no longer has parameter soft_allowed_maximum_throughput\n - Model ThroughputSettingsResource no longer has parameter instant_maximum_throughput\n - Model ThroughputSettingsResource no longer has parameter soft_allowed_maximum_throughput\n\n## 9.2.0 (2023-05-08)\n\n### Features Added\n\n - Model ContinuousModeBackupPolicy has a new parameter continuous_mode_properties\n - Model RestorableDatabaseAccountGetResult has a new parameter oldest_restorable_time\n - Model ThroughputSettingsGetPropertiesResource has a new parameter instant_maximum_throughput\n - Model ThroughputSettingsGetPropertiesResource has a new parameter soft_allowed_maximum_throughput\n - Model ThroughputSettingsResource has a new parameter instant_maximum_throughput\n - Model ThroughputSettingsResource has a new parameter soft_allowed_maximum_throughput\n - Added new enum type `ContinuousTier`\n - Enum `PublicNetworkAccess` has a new value `SECURED_BY_PERIMETER`\n\n## 9.1.0 (2023-04-21)\n\n### Features Added\n\n - Model CassandraClusterDataCenterNodeItem has a new parameter cassandra_process_status\n - Model CassandraClusterPublicStatus has a new parameter errors\n - Model ClusterResourceProperties has a new parameter provision_error\n - Model DataCenterResourceProperties has a new parameter authentication_method_ldap_properties\n - Model DataCenterResourceProperties has a new parameter deallocated\n - Model DataCenterResourceProperties has a new parameter provision_error\n - Model DatabaseAccountConnectionString has a new parameter key_kind\n - Model DatabaseAccountConnectionString has a new parameter type\n - Model LocationProperties has a new parameter is_subscription_region_access_allowed_for_az\n - Model LocationProperties has a new parameter is_subscription_region_access_allowed_for_regular\n - Model LocationProperties has a new parameter status\n\n## 9.1.0b2 (2023-04-20)\n\n### Features Added\n\n - Added operation group MongoClustersOperations\n\n## 9.1.0b1 (2023-03-20)\n\n### Features Added\n\n - Added operation CassandraClustersOperations.get_backup\n - Added operation CassandraClustersOperations.list_backups\n - Added operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Added operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Added operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.get_cassandra_view\n - Added operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.list_cassandra_views\n - Added operation MongoDBResourcesOperations.begin_list_mongo_db_collection_partition_merge\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_retrieve_throughput_distribution\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_list_sql_container_partition_merge\n - Added operation SqlResourcesOperations.begin_sql_container_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_sql_database_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_database_retrieve_throughput_distribution\n - Added operation group DataTransferJobsOperations\n - Added operation group GraphResourcesOperations\n - Model ARMResourceProperties has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model ContinuousModeBackupPolicy has a new parameter continuous_mode_properties\n - Model DataCenterResourceProperties has a new parameter authentication_method_ldap_properties\n - Model DatabaseAccountCreateUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_burst_capacity\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_materialized_views\n - Model DatabaseAccountGetResults has a new parameter diagnostic_log_settings\n - Model DatabaseAccountGetResults has a new parameter enable_burst_capacity\n - Model DatabaseAccountGetResults has a new parameter enable_materialized_views\n - Model DatabaseAccountUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountUpdateParameters has a new parameter enable_burst_capacity\n - Model DatabaseAccountUpdateParameters has a new parameter enable_materialized_views\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetPropertiesResource has a new parameter create_mode\n - Model GremlinDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model GremlinDatabaseResource has a new parameter create_mode\n - Model GremlinDatabaseResource has a new parameter restore_parameters\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetPropertiesResource has a new parameter create_mode\n - Model GremlinGraphGetPropertiesResource has a new parameter restore_parameters\n - Model GremlinGraphGetResults has a new parameter identity\n - Model GremlinGraphResource has a new parameter create_mode\n - Model GremlinGraphResource has a new parameter restore_parameters\n - Model LocationProperties has a new parameter status\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetPropertiesResource has a new parameter create_mode\n - Model MongoDBCollectionGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model MongoDBCollectionResource has a new parameter create_mode\n - Model MongoDBCollectionResource has a new parameter restore_parameters\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter create_mode\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model MongoDBDatabaseResource has a new parameter create_mode\n - Model MongoDBDatabaseResource has a new parameter restore_parameters\n - Model RestorableDatabaseAccountGetResult has a new parameter oldest_restorable_time\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter create_mode\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter restore_parameters\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter create_mode\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter restore_parameters\n - Model RestoreParameters has a new parameter source_backup_location\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetPropertiesResource has a new parameter create_mode\n - Model SqlContainerGetPropertiesResource has a new parameter restore_parameters\n - Model SqlContainerGetResults has a new parameter identity\n - Model SqlContainerResource has a new parameter create_mode\n - Model SqlContainerResource has a new parameter restore_parameters\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseGetPropertiesResource has a new parameter create_mode\n - Model SqlDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model SqlDatabaseResource has a new parameter create_mode\n - Model SqlDatabaseResource has a new parameter restore_parameters\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model TableGetPropertiesResource has a new parameter create_mode\n - Model TableGetPropertiesResource has a new parameter restore_parameters\n - Model TableGetResults has a new parameter identity\n - Model TableResource has a new parameter create_mode\n - Model TableResource has a new parameter restore_parameters\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n\n## 9.0.0 (2023-02-15)\n\n### Features Added\n\n - Added operation GremlinResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation SqlResourcesOperations.begin_create_update_client_encryption_key\n - Added operation SqlResourcesOperations.get_client_encryption_key\n - Added operation SqlResourcesOperations.list_client_encryption_keys\n - Added operation TableResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation group RestorableGremlinDatabasesOperations\n - Added operation group RestorableGremlinGraphsOperations\n - Added operation group RestorableGremlinResourcesOperations\n - Added operation group RestorableTableResourcesOperations\n - Added operation group RestorableTablesOperations\n - Model DatabaseAccountCreateUpdateParameters has a new parameter minimal_tls_version\n - Model DatabaseAccountGetResults has a new parameter minimal_tls_version\n - Model DatabaseAccountUpdateParameters has a new parameter minimal_tls_version\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter client_encryption_policy\n - Model RestoreParameters has a new parameter gremlin_databases_to_restore\n - Model RestoreParameters has a new parameter tables_to_restore\n - Model SqlContainerGetPropertiesResource has a new parameter client_encryption_policy\n - Model SqlContainerResource has a new parameter client_encryption_policy\n - Operation RestorableMongodbCollectionsOperations.list has a new optional parameter end_time\n - Operation RestorableMongodbCollectionsOperations.list has a new optional parameter start_time\n\n## 9.0.0b2 (2022-10-26)\n\n### Features Added\n\n - Added model CosmosMongoDataTransferDataSourceSink\n\n## 9.0.0b1 (2022-10-10)\n\n### Features Added\n\n - Added operation CassandraClustersOperations.get_backup\n - Added operation CassandraClustersOperations.list_backups\n - Added operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Added operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Added operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.get_cassandra_view\n - Added operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.list_cassandra_views\n - Added operation GremlinResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation MongoDBResourcesOperations.begin_list_mongo_db_collection_partition_merge\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_retrieve_throughput_distribution\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_database_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_create_update_client_encryption_key\n - Added operation SqlResourcesOperations.begin_list_sql_container_partition_merge\n - Added operation SqlResourcesOperations.begin_sql_container_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_sql_database_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_database_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.get_client_encryption_key\n - Added operation SqlResourcesOperations.list_client_encryption_keys\n - Added operation TableResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation group DataTransferJobsOperations\n - Added operation group GraphResourcesOperations\n - Added operation group RestorableGremlinDatabasesOperations\n - Added operation group RestorableGremlinGraphsOperations\n - Added operation group RestorableGremlinResourcesOperations\n - Added operation group RestorableTableResourcesOperations\n - Added operation group RestorableTablesOperations\n - Model ARMResourceProperties has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model ContinuousModeBackupPolicy has a new parameter continuous_mode_properties\n - Model DataCenterResourceProperties has a new parameter authentication_method_ldap_properties\n - Model DatabaseAccountCreateUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_materialized_views\n - Model DatabaseAccountGetResults has a new parameter diagnostic_log_settings\n - Model DatabaseAccountGetResults has a new parameter enable_materialized_views\n - Model DatabaseAccountUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountUpdateParameters has a new parameter enable_materialized_views\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetResults has a new parameter identity\n - Model LocationProperties has a new parameter status\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetPropertiesResource has a new parameter create_mode\n - Model MongoDBCollectionGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model MongoDBCollectionResource has a new parameter create_mode\n - Model MongoDBCollectionResource has a new parameter restore_parameters\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter create_mode\n - Model MongoDBDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model MongoDBDatabaseResource has a new parameter create_mode\n - Model MongoDBDatabaseResource has a new parameter restore_parameters\n - Model RestorableDatabaseAccountGetResult has a new parameter oldest_restorable_time\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter client_encryption_policy\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter create_mode\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter restore_parameters\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter create_mode\n - Model RestorableSqlDatabasePropertiesResourceDatabase has a new parameter restore_parameters\n - Model RestoreParameters has a new parameter gremlin_databases_to_restore\n - Model RestoreParameters has a new parameter tables_to_restore\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetPropertiesResource has a new parameter client_encryption_policy\n - Model SqlContainerGetPropertiesResource has a new parameter create_mode\n - Model SqlContainerGetPropertiesResource has a new parameter restore_parameters\n - Model SqlContainerGetResults has a new parameter identity\n - Model SqlContainerResource has a new parameter client_encryption_policy\n - Model SqlContainerResource has a new parameter create_mode\n - Model SqlContainerResource has a new parameter restore_parameters\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseGetPropertiesResource has a new parameter create_mode\n - Model SqlDatabaseGetPropertiesResource has a new parameter restore_parameters\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model SqlDatabaseResource has a new parameter create_mode\n - Model SqlDatabaseResource has a new parameter restore_parameters\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model TableGetResults has a new parameter identity\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n\n### Breaking Changes\n\n - Operation RestorableMongodbCollectionsOperations.list has a new parameter end_time\n - Operation RestorableMongodbCollectionsOperations.list has a new parameter start_time\n\n## 8.0.0 (2022-09-08)\n\n### Features Added\n\n - Added operation MongoDBResourcesOperations.begin_create_update_mongo_role_definition\n - Added operation MongoDBResourcesOperations.begin_create_update_mongo_user_definition\n - Added operation MongoDBResourcesOperations.begin_delete_mongo_role_definition\n - Added operation MongoDBResourcesOperations.begin_delete_mongo_user_definition\n - Added operation MongoDBResourcesOperations.get_mongo_role_definition\n - Added operation MongoDBResourcesOperations.get_mongo_user_definition\n - Added operation MongoDBResourcesOperations.list_mongo_role_definitions\n - Added operation MongoDBResourcesOperations.list_mongo_user_definitions\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_partition_merge\n - Model DatabaseAccountCreateUpdateParameters has a new parameter keys_metadata\n - Model DatabaseAccountGetResults has a new parameter enable_partition_merge\n - Model DatabaseAccountGetResults has a new parameter keys_metadata\n - Model DatabaseAccountUpdateParameters has a new parameter enable_partition_merge\n - Model DatabaseAccountUpdateParameters has a new parameter keys_metadata\n\n## 8.0.0b2 (2022-08-11)\n\n### Breaking Changes\n\n - Renamed model `ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems` to `CassandraClusterDataCenterNodeItem`\n - Renamed model `Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties` to `ManagedServiceIdentityUserAssignedIdentity`\n\n## 8.0.0b1 (2022-08-03)\n\n**Features**\n\n - Added operation CassandraClustersOperations.get_backup\n - Added operation CassandraClustersOperations.list_backups\n - Added operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Added operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Added operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.get_cassandra_view\n - Added operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.list_cassandra_views\n - Added operation GremlinResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation MongoDBResourcesOperations.begin_create_update_mongo_role_definition\n - Added operation MongoDBResourcesOperations.begin_create_update_mongo_user_definition\n - Added operation MongoDBResourcesOperations.begin_delete_mongo_role_definition\n - Added operation MongoDBResourcesOperations.begin_delete_mongo_user_definition\n - Added operation MongoDBResourcesOperations.begin_list_mongo_db_collection_partition_merge\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_retrieve_throughput_distribution\n - Added operation MongoDBResourcesOperations.get_mongo_role_definition\n - Added operation MongoDBResourcesOperations.get_mongo_user_definition\n - Added operation MongoDBResourcesOperations.list_mongo_role_definitions\n - Added operation MongoDBResourcesOperations.list_mongo_user_definitions\n - Added operation SqlResourcesOperations.begin_create_update_client_encryption_key\n - Added operation SqlResourcesOperations.begin_list_sql_container_partition_merge\n - Added operation SqlResourcesOperations.begin_sql_container_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.get_client_encryption_key\n - Added operation SqlResourcesOperations.list_client_encryption_keys\n - Added operation TableResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation group DataTransferJobsOperations\n - Added operation group GraphResourcesOperations\n - Added operation group RestorableGremlinDatabasesOperations\n - Added operation group RestorableGremlinGraphsOperations\n - Added operation group RestorableGremlinResourcesOperations\n - Added operation group RestorableTableResourcesOperations\n - Added operation group RestorableTablesOperations\n - Model ARMResourceProperties has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model ContinuousModeBackupPolicy has a new parameter continuous_mode_properties\n - Model DataCenterResourceProperties has a new parameter authentication_method_ldap_properties\n - Model DatabaseAccountCreateUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_materialized_views\n - Model DatabaseAccountCreateUpdateParameters has a new parameter keys_metadata\n - Model DatabaseAccountGetResults has a new parameter diagnostic_log_settings\n - Model DatabaseAccountGetResults has a new parameter enable_materialized_views\n - Model DatabaseAccountGetResults has a new parameter keys_metadata\n - Model DatabaseAccountUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountUpdateParameters has a new parameter enable_materialized_views\n - Model DatabaseAccountUpdateParameters has a new parameter keys_metadata\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetResults has a new parameter identity\n - Model LocationProperties has a new parameter status\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model RestorableDatabaseAccountGetResult has a new parameter oldest_restorable_time\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter client_encryption_policy\n - Model RestoreParameters has a new parameter gremlin_databases_to_restore\n - Model RestoreParameters has a new parameter tables_to_restore\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetPropertiesResource has a new parameter client_encryption_policy\n - Model SqlContainerGetResults has a new parameter identity\n - Model SqlContainerResource has a new parameter client_encryption_policy\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model TableGetResults has a new parameter identity\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n\n**Breaking changes**\n\n - Operation RestorableMongodbCollectionsOperations.list has a new parameter end_time\n - Operation RestorableMongodbCollectionsOperations.list has a new parameter start_time\n\n## 7.0.0 (2022-07-22)\n\n**Features**\n\n - Added operation MongoDBResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation group CassandraClustersOperations\n - Added operation group CassandraDataCentersOperations\n - Added operation group LocationsOperations\n - Added operation group ServiceOperations\n - Model DatabaseAccountCreateUpdateParameters has a new parameter capacity\n - Model DatabaseAccountGetResults has a new parameter capacity\n - Model DatabaseAccountUpdateParameters has a new parameter capacity\n - Model GremlinGraphGetPropertiesResource has a new parameter analytical_storage_ttl\n - Model GremlinGraphResource has a new parameter analytical_storage_ttl\n - Model PeriodicModeProperties has a new parameter backup_storage_redundancy\n\n## 7.0.0b6 (2022-05-23)\n\n**Features**\n\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_retrieve_throughput_distribution\n\n**Breaking changes**\n\n - Removed operation MongoDBResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n\n## 7.0.0b5 (2022-04-28)\n\n**Features**\n\n - Added operation DataTransferJobsOperations.cancel\n - Added operation DataTransferJobsOperations.pause\n - Added operation DataTransferJobsOperations.resume\n - Added operation MongoDBResourcesOperations.begin_mongo_db_container_redistribute_throughput\n - Added operation MongoDBResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n - Added operation SqlResourcesOperations.begin_sql_container_redistribute_throughput\n - Added operation SqlResourcesOperations.begin_sql_container_retrieve_throughput_distribution\n - Model DataTransferJobGetResults has a new parameter processed_count\n - Model DataTransferJobGetResults has a new parameter total_count\n - Model DataTransferJobProperties has a new parameter processed_count\n - Model DataTransferJobProperties has a new parameter total_count\n\n**Breaking changes**\n\n - Model DataTransferJobGetResults no longer has parameter percentage_complete\n - Model DataTransferJobProperties no longer has parameter percentage_complete\n\n## 7.0.0b4 (2022-04-14)\n\n**Features**\n\n - Added operation MongoDBResourcesOperations.begin_list_mongo_db_collection_partition_merge\n - Added operation SqlResourcesOperations.begin_list_sql_container_partition_merge\n - Model ContinuousModeBackupPolicy has a new parameter continuous_mode_properties\n - Model KeyWrapMetadata has a new parameter algorithm\n - Model RestorableDatabaseAccountGetResult has a new parameter oldest_restorable_time\n - Model RestorableSqlContainerPropertiesResourceContainer has a new parameter client_encryption_policy\n - Model SqlContainerGetPropertiesResource has a new parameter client_encryption_policy\n - Model SqlContainerResource has a new parameter client_encryption_policy\n\n## 7.0.0b3 (2022-02-18)\n\n**Features**\n\n - Added operation CassandraClustersOperations.get_backup\n - Added operation CassandraClustersOperations.list_backups\n - Added operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Added operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Added operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.get_cassandra_view\n - Added operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.list_cassandra_views\n - Added operation GremlinResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation MongoDBResourcesOperations.begin_create_update_mongo_role_definition\n - Added operation MongoDBResourcesOperations.begin_create_update_mongo_user_definition\n - Added operation MongoDBResourcesOperations.begin_delete_mongo_role_definition\n - Added operation MongoDBResourcesOperations.begin_delete_mongo_user_definition\n - Added operation MongoDBResourcesOperations.get_mongo_role_definition\n - Added operation MongoDBResourcesOperations.get_mongo_user_definition\n - Added operation MongoDBResourcesOperations.list_mongo_role_definitions\n - Added operation MongoDBResourcesOperations.list_mongo_user_definitions\n - Added operation SqlResourcesOperations.begin_create_update_client_encryption_key\n - Added operation SqlResourcesOperations.get_client_encryption_key\n - Added operation SqlResourcesOperations.list_client_encryption_keys\n - Added operation TableResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation group DataTransferJobsOperations\n - Added operation group GraphResourcesOperations\n - Added operation group RestorableGremlinDatabasesOperations\n - Added operation group RestorableGremlinGraphsOperations\n - Added operation group RestorableGremlinResourcesOperations\n - Added operation group RestorableTableResourcesOperations\n - Added operation group RestorableTablesOperations\n - Added operation group ServiceOperations\n - Model ARMResourceProperties has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model DataCenterResourceProperties has a new parameter authentication_method_ldap_properties\n - Model DatabaseAccountCreateUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_materialized_views\n - Model DatabaseAccountGetResults has a new parameter diagnostic_log_settings\n - Model DatabaseAccountGetResults has a new parameter enable_materialized_views\n - Model DatabaseAccountUpdateParameters has a new parameter diagnostic_log_settings\n - Model DatabaseAccountUpdateParameters has a new parameter enable_materialized_views\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetResults has a new parameter identity\n - Model LocationProperties has a new parameter status\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model RestoreParameters has a new parameter gremlin_databases_to_restore\n - Model RestoreParameters has a new parameter tables_to_restore\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetResults has a new parameter identity\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model TableGetResults has a new parameter identity\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n\n**Breaking changes**\n\n - Operation RestorableMongodbCollectionsOperations.list has a new signature\n - Operation RestorableMongodbCollectionsOperations.list has a new signature\n\n## 7.0.0b2 (2021-10-26)\n\n**Features**\n\n - Model DataCenterResourceProperties has a new parameter disk_capacity\n - Model DataCenterResourceProperties has a new parameter disk_sku\n - Model DataCenterResourceProperties has a new parameter managed_disk_customer_key_uri\n - Model DataCenterResourceProperties has a new parameter sku\n - Model DataCenterResourceProperties has a new parameter availability_zone\n - Model DataCenterResourceProperties has a new parameter backup_storage_customer_key_uri\n - Model DatabaseAccountCreateUpdateParameters has a new parameter capacity\n - Model DatabaseAccountUpdateParameters has a new parameter capacity\n - Model ClusterResourceProperties has a new parameter cassandra_audit_logging_enabled\n - Model ClusterResourceProperties has a new parameter deallocated\n - Model DatabaseAccountGetResults has a new parameter capacity\n - Added operation MongoDBResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation CassandraClustersOperations.begin_invoke_command\n - Added operation CassandraClustersOperations.begin_start\n - Added operation CassandraClustersOperations.begin_deallocate\n - Added operation CassandraClustersOperations.status\n - Added operation group LocationsOperations\n\n**Breaking changes**\n\n - Model MongoDBDatabaseGetResults no longer has parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters no longer has parameter identity\n - Model SqlContainerGetResults no longer has parameter identity\n - Model SqlUserDefinedFunctionGetResults no longer has parameter identity\n - Model GremlinDatabaseGetResults no longer has parameter identity\n - Model SqlTriggerCreateUpdateParameters no longer has parameter identity\n - Model SqlContainerCreateUpdateParameters no longer has parameter identity\n - Model SqlDatabaseCreateUpdateParameters no longer has parameter identity\n - Model LocationProperties no longer has parameter status\n - Model DatabaseAccountCreateUpdateParameters no longer has parameter diagnostic_log_settings\n - Model ThroughputSettingsGetResults no longer has parameter identity\n - Model DatabaseAccountUpdateParameters no longer has parameter diagnostic_log_settings\n - Model ARMResourceProperties no longer has parameter identity\n - Model CassandraTableGetResults no longer has parameter identity\n - Model GremlinGraphGetResults no longer has parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters no longer has parameter identity\n - Model GremlinDatabaseCreateUpdateParameters no longer has parameter identity\n - Model SqlTriggerGetResults no longer has parameter identity\n - Model GremlinGraphCreateUpdateParameters no longer has parameter identity\n - Model MongoDBCollectionGetResults no longer has parameter identity\n - Model TableGetResults no longer has parameter identity\n - Model CassandraKeyspaceGetResults no longer has parameter identity\n - Model MongoDBCollectionCreateUpdateParameters no longer has parameter identity\n - Model SqlStoredProcedureGetResults no longer has parameter identity\n - Model SqlStoredProcedureCreateUpdateParameters no longer has parameter identity\n - Model ThroughputSettingsUpdateParameters no longer has parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters no longer has parameter identity\n - Model TableCreateUpdateParameters no longer has parameter identity\n - Model DatabaseAccountGetResults no longer has parameter diagnostic_log_settings\n - Model SqlDatabaseGetResults no longer has parameter identity\n - Model CassandraTableCreateUpdateParameters no longer has parameter identity\n - Removed operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Removed operation CassandraResourcesOperations.get_cassandra_view\n - Removed operation CassandraResourcesOperations.list_cassandra_views\n - Removed operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Removed operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Removed operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Removed operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Removed operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Removed operation CassandraClustersOperations.begin_request_repair\n - Removed operation CassandraClustersOperations.begin_fetch_node_status\n - Removed operation CassandraClustersOperations.get_backup\n - Removed operation CassandraClustersOperations.list_backups\n - Removed operation group ServiceOperations\n - Removed operation group CosmosDBManagementClientOperationsMixin\n - Removed operation group GraphResourcesOperations\n\n## 7.0.0b1 (2021-09-17)\n\n**Features**\n\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model TableGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model DatabaseAccountCreateUpdateParameters has a new parameter diagnostic_log_settings\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model GremlinGraphGetResults has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model PeriodicModeProperties has a new parameter backup_storage_redundancy\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetResults has a new parameter identity\n - Model DatabaseAccountGetResults has a new parameter diagnostic_log_settings\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model ARMResourceProperties has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model DatabaseAccountUpdateParameters has a new parameter diagnostic_log_settings\n - Added operation CassandraResourcesOperations.begin_create_update_cassandra_view\n - Added operation CassandraResourcesOperations.get_cassandra_view_throughput\n - Added operation CassandraResourcesOperations.get_cassandra_view\n - Added operation CassandraResourcesOperations.list_cassandra_views\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_manual_throughput\n - Added operation CassandraResourcesOperations.begin_migrate_cassandra_view_to_autoscale\n - Added operation CassandraResourcesOperations.begin_delete_cassandra_view\n - Added operation CassandraResourcesOperations.begin_update_cassandra_view_throughput\n - Added operation group CassandraClustersOperations\n - Added operation group CassandraDataCentersOperations\n - Added operation group ServiceOperations\n - Added operation group CosmosDBManagementClientOperationsMixin\n - Added operation group GraphResourcesOperations\n\n**Breaking changes**\n\n - Parameter create_mode of model DatabaseAccountCreateUpdateParameters is now required\n\n## 6.4.0 (2021-06-22)\n\n**Features**\n\n - Model ContinuousModeBackupPolicy has a new parameter migration_state\n - Model DatabaseAccountGetResults has a new parameter restore_parameters\n - Model DatabaseAccountGetResults has a new parameter analytical_storage_configuration\n - Model DatabaseAccountGetResults has a new parameter system_data\n - Model DatabaseAccountGetResults has a new parameter instance_id\n - Model DatabaseAccountGetResults has a new parameter disable_local_auth\n - Model DatabaseAccountGetResults has a new parameter create_mode\n - Model BackupPolicy has a new parameter migration_state\n - Model DatabaseAccountCreateUpdateParameters has a new parameter analytical_storage_configuration\n - Model DatabaseAccountCreateUpdateParameters has a new parameter restore_parameters\n - Model DatabaseAccountCreateUpdateParameters has a new parameter disable_local_auth\n - Model DatabaseAccountCreateUpdateParameters has a new parameter create_mode\n - Model PeriodicModeBackupPolicy has a new parameter migration_state\n - Model DatabaseAccountUpdateParameters has a new parameter analytical_storage_configuration\n - Model DatabaseAccountUpdateParameters has a new parameter disable_local_auth\n - Added operation SqlResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation group RestorableMongodbDatabasesOperations\n - Added operation group RestorableDatabaseAccountsOperations\n - Added operation group RestorableSqlDatabasesOperations\n - Added operation group RestorableSqlContainersOperations\n - Added operation group RestorableMongodbResourcesOperations\n - Added operation group RestorableMongodbCollectionsOperations\n - Added operation group RestorableSqlResourcesOperations\n\n## 6.3.0 (2021-05-14)\n\n**Breaking changes**\n\n - Model CassandraKeyspaceCreateUpdateParameters no longer has parameter identity\n - Model ARMResourceProperties no longer has parameter identity\n - Model MongoDBCollectionCreateUpdateParameters no longer has parameter identity\n - Model SqlDatabaseCreateUpdateParameters no longer has parameter identity\n - Model SqlStoredProcedureCreateUpdateParameters no longer has parameter identity\n - Model SqlTriggerGetResults no longer has parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters no longer has parameter identity\n - Model SqlDatabaseGetResults no longer has parameter identity\n - Model TableGetResults no longer has parameter identity\n - Model CassandraTableCreateUpdateParameters no longer has parameter identity\n - Model GremlinGraphCreateUpdateParameters no longer has parameter identity\n - Model GremlinDatabaseGetResults no longer has parameter identity\n - Model ThroughputSettingsUpdateParameters no longer has parameter identity\n - Model CassandraKeyspaceGetResults no longer has parameter identity\n - Model SqlContainerGetResults no longer has parameter identity\n - Model SqlUserDefinedFunctionGetResults no longer has parameter identity\n - Model SqlTriggerCreateUpdateParameters no longer has parameter identity\n - Model MongoDBCollectionGetResults no longer has parameter identity\n - Model MongoDBDatabaseGetResults no longer has parameter identity\n - Model PeriodicModeProperties no longer has parameter backup_storage_redundancy\n - Model ThroughputSettingsGetResults no longer has parameter identity\n - Model GremlinGraphGetResults no longer has parameter identity\n - Model GremlinDatabaseCreateUpdateParameters no longer has parameter identity\n - Model CassandraTableGetResults no longer has parameter identity\n - Model SqlStoredProcedureGetResults no longer has parameter identity\n - Model TableCreateUpdateParameters no longer has parameter identity\n - Model DatabaseAccountGetResults no longer has parameter create_mode\n - Model DatabaseAccountGetResults no longer has parameter restore_parameters\n - Model DatabaseAccountGetResults no longer has parameter instance_id\n - Model DatabaseAccountGetResults no longer has parameter system_data\n - Model SqlUserDefinedFunctionCreateUpdateParameters no longer has parameter identity\n - Model SqlContainerCreateUpdateParameters no longer has parameter identity\n - Removed operation SqlResourcesOperations.begin_retrieve_continuous_backup_information\n - Model DatabaseAccountCreateUpdateParameters has a new signature\n - Removed operation group RestorableDatabaseAccountsOperations\n - Removed operation group RestorableMongodbCollectionsOperations\n - Removed operation group CosmosDBManagementClientOperationsMixin\n - Removed operation group RestorableSqlResourcesOperations\n - Removed operation group RestorableMongodbDatabasesOperations\n - Removed operation group CassandraClustersOperations\n - Removed operation group RestorableMongodbResourcesOperations\n - Removed operation group RestorableSqlContainersOperations\n - Removed operation group CassandraDataCentersOperations\n - Removed operation group RestorableSqlDatabasesOperations\n - Removed operation group ServiceOperations\n\n## 6.3.0b1 (2021-05-10)\n\n**Features**\n\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model TableGetResults has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model SqlContainerGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model PeriodicModeProperties has a new parameter backup_storage_redundancy\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetResults has a new parameter identity\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model ARMResourceProperties has a new parameter identity\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model DatabaseAccountGetResults has a new parameter instance_id\n - Model DatabaseAccountGetResults has a new parameter restore_parameters\n - Model DatabaseAccountGetResults has a new parameter system_data\n - Model DatabaseAccountGetResults has a new parameter create_mode\n - Added operation SqlResourcesOperations.begin_create_update_sql_role_assignment\n - Added operation SqlResourcesOperations.begin_retrieve_continuous_backup_information\n - Added operation SqlResourcesOperations.begin_delete_sql_role_assignment\n - Added operation SqlResourcesOperations.begin_create_update_sql_role_definition\n - Added operation SqlResourcesOperations.list_sql_role_definitions\n - Added operation SqlResourcesOperations.begin_delete_sql_role_definition\n - Added operation SqlResourcesOperations.list_sql_role_assignments\n - Added operation SqlResourcesOperations.get_sql_role_assignment\n - Added operation SqlResourcesOperations.get_sql_role_definition\n - Added operation group CassandraDataCentersOperations\n - Added operation group RestorableSqlContainersOperations\n - Added operation group CassandraClustersOperations\n - Added operation group RestorableMongodbResourcesOperations\n - Added operation group RestorableMongodbDatabasesOperations\n - Added operation group RestorableDatabaseAccountsOperations\n - Added operation group RestorableMongodbCollectionsOperations\n - Added operation group CosmosDBManagementClientOperationsMixin\n - Added operation group RestorableSqlResourcesOperations\n - Added operation group ServiceOperations\n - Added operation group RestorableSqlDatabasesOperations\n\n**Breaking changes**\n\n - Model DatabaseAccountCreateUpdateParameters has a new signature\n\n## 6.2.0 (2021-04-06)\n\n**Features**\n\n - Model DatabaseAccountUpdateParameters has a new parameter default_identity\n - Model DatabaseAccountCreateUpdateParameters has a new parameter default_identity\n - Model DatabaseAccountGetResults has a new parameter default_identity\n\n## 6.1.0 (2021-03-02)\n\n**Features**\n\n - Model DatabaseAccountGetResults has a new parameter network_acl_bypass\n - Model DatabaseAccountGetResults has a new parameter backup_policy\n - Model DatabaseAccountGetResults has a new parameter identity\n - Model DatabaseAccountGetResults has a new parameter network_acl_bypass_resource_ids\n - Model PrivateEndpointConnection has a new parameter group_id\n - Model PrivateEndpointConnection has a new parameter provisioning_state\n - Model ContainerPartitionKey has a new parameter system_key\n - Model DatabaseAccountUpdateParameters has a new parameter network_acl_bypass\n - Model DatabaseAccountUpdateParameters has a new parameter backup_policy\n - Model DatabaseAccountUpdateParameters has a new parameter identity\n - Model DatabaseAccountUpdateParameters has a new parameter network_acl_bypass_resource_ids\n - Model PrivateLinkServiceConnectionStateProperty has a new parameter description\n - Model DatabaseAccountCreateUpdateParameters has a new parameter network_acl_bypass\n - Model DatabaseAccountCreateUpdateParameters has a new parameter backup_policy\n - Model DatabaseAccountCreateUpdateParameters has a new parameter identity\n - Model DatabaseAccountCreateUpdateParameters has a new parameter network_acl_bypass_resource_ids\n\n## 6.0.0 (2020-11-24)\n\n- GA release\n\n## 6.0.0b1 (2020-10-12)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 1.0.0 (2020-08-17)\n\n**Features**\n\n - Model SqlContainerGetPropertiesResource has a new parameter analytical_storage_ttl\n - Model DatabaseAccountUpdateParameters has a new parameter cors\n - Model SqlContainerResource has a new parameter analytical_storage_ttl\n - Model DatabaseAccountGetResults has a new parameter cors\n - Added operation MongoDBResourcesOperations.migrate_mongo_db_collection_to_manual_throughput\n - Added operation MongoDBResourcesOperations.migrate_mongo_db_database_to_manual_throughput\n - Added operation MongoDBResourcesOperations.migrate_mongo_db_database_to_autoscale\n - Added operation MongoDBResourcesOperations.migrate_mongo_db_collection_to_autoscale\n - Added operation GremlinResourcesOperations.migrate_gremlin_database_to_manual_throughput\n - Added operation GremlinResourcesOperations.migrate_gremlin_graph_to_autoscale\n - Added operation GremlinResourcesOperations.migrate_gremlin_graph_to_manual_throughput\n - Added operation GremlinResourcesOperations.migrate_gremlin_database_to_autoscale\n - Added operation TableResourcesOperations.migrate_table_to_autoscale\n - Added operation TableResourcesOperations.migrate_table_to_manual_throughput\n - Added operation CassandraResourcesOperations.migrate_cassandra_keyspace_to_autoscale\n - Added operation CassandraResourcesOperations.migrate_cassandra_keyspace_to_manual_throughput\n - Added operation CassandraResourcesOperations.migrate_cassandra_table_to_manual_throughput\n - Added operation CassandraResourcesOperations.migrate_cassandra_table_to_autoscale\n - Added operation SqlResourcesOperations.migrate_sql_database_to_manual_throughput\n - Added operation SqlResourcesOperations.migrate_sql_database_to_autoscale\n - Added operation SqlResourcesOperations.migrate_sql_container_to_autoscale\n - Added operation SqlResourcesOperations.migrate_sql_container_to_manual_throughput\n\n**Breaking changes**\n\n - Model ThroughputSettingsUpdateParameters no longer has parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters no longer has parameter identity\n - Model SqlTriggerCreateUpdateParameters no longer has parameter identity\n - Model SqlContainerGetResults no longer has parameter identity\n - Model MongoDBDatabaseGetResults no longer has parameter identity\n - Model GremlinGraphGetResults no longer has parameter identity\n - Model SqlUserDefinedFunctionGetResults no longer has parameter identity\n - Model CassandraTableGetResults no longer has parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters no longer has parameter identity\n - Model SqlDatabaseGetResults no longer has parameter identity\n - Model MongoDBCollectionGetResults no longer has parameter identity\n - Model SqlStoredProcedureGetResults no longer has parameter identity\n - Model GremlinDatabaseGetResults no longer has parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters no longer has parameter identity\n - Model SqlTriggerGetResults no longer has parameter identity\n - Model CassandraKeyspaceGetResults no longer has parameter identity\n - Model DatabaseAccountUpdateParameters no longer has parameter backup_policy\n - Model SqlStoredProcedureCreateUpdateParameters no longer has parameter identity\n - Model TableCreateUpdateParameters no longer has parameter identity\n - Model GremlinDatabaseCreateUpdateParameters no longer has parameter identity\n - Model SqlDatabaseCreateUpdateParameters no longer has parameter identity\n - Model MongoDBCollectionCreateUpdateParameters no longer has parameter identity\n - Model DatabaseAccountGetResults no longer has parameter instance_id\n - Model DatabaseAccountGetResults no longer has parameter system_data\n - Model DatabaseAccountGetResults no longer has parameter backup_policy\n - Model DatabaseAccountGetResults no longer has parameter identity\n - Model DatabaseAccountGetResults no longer has parameter create_mode\n - Model DatabaseAccountGetResults no longer has parameter restore_parameters\n - Model SqlContainerCreateUpdateParameters no longer has parameter identity\n - Model GremlinGraphCreateUpdateParameters no longer has parameter identity\n - Model ARMResourceProperties no longer has parameter identity\n - Model CassandraTableCreateUpdateParameters no longer has parameter identity\n - Model ThroughputSettingsGetResults no longer has parameter identity\n - Model TableGetResults no longer has parameter identity\n - Model DatabaseAccountCreateUpdateParameters has a new signature\n - Removed operation group RestorableDatabaseAccountsOperations\n\n## 0.16.0 (2020-07-31)\n\n**Features**\n\n - Model SqlUserDefinedFunctionGetResults has a new parameter identity\n - Model CassandraKeyspaceCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionGetResults has a new parameter identity\n - Model TableGetResults has a new parameter identity\n - Model SqlTriggerGetResults has a new parameter identity\n - Model SqlStoredProcedureCreateUpdateParameters has a new parameter identity\n - Model SqlDatabaseCreateUpdateParameters has a new parameter identity\n - Model CassandraTableGetResults has a new parameter identity\n - Model MongoDBDatabaseCreateUpdateParameters has a new parameter identity\n - Model ThroughputSettingsGetResults has a new parameter identity\n - Model TableCreateUpdateParameters has a new parameter identity\n - Model SqlContainerCreateUpdateParameters has a new parameter identity\n - Model DatabaseAccountUpdateParameters has a new parameter backup_policy\n - Model SqlDatabaseGetResults has a new parameter identity\n - Model MongoDBDatabaseGetResults has a new parameter identity\n - Model SqlUserDefinedFunctionCreateUpdateParameters has a new parameter identity\n - Model CassandraTableCreateUpdateParameters has a new parameter identity\n - Model MongoDBCollectionCreateUpdateParameters has a new parameter identity\n - Model SqlStoredProcedureGetResults has a new parameter identity\n - Model ThroughputSettingsUpdateParameters has a new parameter identity\n - Model GremlinDatabaseCreateUpdateParameters has a new parameter identity\n - Model GremlinDatabaseGetResults has a new parameter identity\n - Model ARMResourceProperties has a new parameter identity\n - Model CassandraKeyspaceGetResults has a new parameter identity\n - Model SqlContainerGetResults has a new parameter identity\n - Model GremlinGraphCreateUpdateParameters has a new parameter identity\n - Model GremlinGraphGetResults has a new parameter identity\n - Model SqlTriggerCreateUpdateParameters has a new parameter identity\n - Model DatabaseAccountGetResults has a new parameter system_data\n - Model DatabaseAccountGetResults has a new parameter backup_policy\n - Model DatabaseAccountGetResults has a new parameter create_mode\n - Model DatabaseAccountGetResults has a new parameter instance_id\n - Model DatabaseAccountGetResults has a new parameter identity\n - Model DatabaseAccountGetResults has a new parameter restore_parameters\n - Added operation group RestorableDatabaseAccountsOperations\n\n**Breaking changes**\n\n - Model DatabaseAccountCreateUpdateParameters has a new signature\n\n## 0.15.0 (2020-06-11)\n\n**Features**\n\n - Model MongoDBCollectionResource has a new parameter analytical_storage_ttl\n - Model MongoDBDatabaseGetPropertiesOptions has a new parameter autoscale_settings\n - Model ThroughputSettingsGetPropertiesResource has a new parameter autoscale_settings\n - Model SqlContainerGetPropertiesOptions has a new parameter autoscale_settings\n - Model CassandraTableGetPropertiesResource has a new parameter analytical_storage_ttl\n - Model CassandraTableResource has a new parameter analytical_storage_ttl\n - Model OptionsResource has a new parameter autoscale_settings\n - Model TableGetPropertiesOptions has a new parameter autoscale_settings\n - Model ThroughputSettingsResource has a new parameter autoscale_settings\n - Model CassandraTableGetPropertiesOptions has a new parameter autoscale_settings\n - Model GremlinDatabaseGetPropertiesOptions has a new parameter autoscale_settings\n - Model DatabaseAccountGetResults has a new parameter api_properties\n - Model DatabaseAccountGetResults has a new parameter ip_rules\n - Model DatabaseAccountGetResults has a new parameter enable_free_tier\n - Model DatabaseAccountGetResults has a new parameter enable_analytical_storage\n - Model GremlinGraphGetPropertiesOptions has a new parameter autoscale_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter api_properties\n - Model DatabaseAccountCreateUpdateParameters has a new parameter ip_rules\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_free_tier\n - Model DatabaseAccountCreateUpdateParameters has a new parameter enable_analytical_storage\n - Model MongoDBCollectionGetPropertiesOptions has a new parameter autoscale_settings\n - Model CassandraKeyspaceGetPropertiesOptions has a new parameter autoscale_settings\n - Model SqlDatabaseGetPropertiesOptions has a new parameter autoscale_settings\n - Model DatabaseAccountUpdateParameters has a new parameter api_properties\n - Model DatabaseAccountUpdateParameters has a new parameter ip_rules\n - Model DatabaseAccountUpdateParameters has a new parameter enable_free_tier\n - Model DatabaseAccountUpdateParameters has a new parameter enable_analytical_storage\n - Model MongoDBCollectionGetPropertiesResource has a new parameter analytical_storage_ttl\n\n**Breaking changes**\n\n - Model ThroughputSettingsGetPropertiesResource no longer has parameter provisioned_throughput_settings\n - Model ThroughputSettingsResource no longer has parameter provisioned_throughput_settings\n - Model DatabaseAccountGetResults no longer has parameter ip_range_filter\n - Model DatabaseAccountCreateUpdateParameters no longer has parameter ip_range_filter\n - Model DatabaseAccountUpdateParameters no longer has parameter ip_range_filter\n - Model CreateUpdateOptions has a new signature\n\n## 0.14.0 (2020-05-05)\n\n**Features**\n\n - Model DatabaseAccountGetResults has a new parameter private_endpoint_connections\n\n## 0.13.0 (2020-04-18)\n\n**Features**\n\n - Model DatabaseAccountUpdateParameters has a new parameter public_network_access\n - Model DatabaseAccountCreateUpdateParameters has a new parameter public_network_access\n - Model GremlinGraphGetResults has a new parameter options\n - Model PrivateLinkResource has a new parameter required_zone_names\n - Model ThroughputSettingsGetPropertiesResource has a new parameter provisioned_throughput_settings\n - Model PrivateEndpointConnection has a new parameter group_id\n - Model PrivateEndpointConnection has a new parameter provisioning_state\n - Model MongoDBDatabaseGetResults has a new parameter options\n - Model SqlContainerGetResults has a new parameter options\n - Model TableGetResults has a new parameter options\n - Model SqlDatabaseGetResults has a new parameter options\n - Model CassandraKeyspaceGetResults has a new parameter options\n - Model ThroughputSettingsResource has a new parameter provisioned_throughput_settings\n - Model DatabaseAccountGetResults has a new parameter public_network_access\n - Model GremlinDatabaseGetResults has a new parameter options\n - Model MongoDBCollectionGetResults has a new parameter options\n - Model CassandraTableGetResults has a new parameter options\n - Added operation group NotebookWorkspacesOperations\n\n**Breaking changes**\n\n - Model ThroughputSettingsGetPropertiesResource no longer has parameter autopilot_settings\n - Model ThroughputSettingsResource no longer has parameter autopilot_settings\n - Operation PrivateEndpointConnectionsOperations.create_or_update has a new signature\n\n## 0.12.0 (2020-02-27)\n\n**Features**\n\n - Model DatabaseAccountGetResults has a new parameter key_vault_key_uri\n - Model ThroughputSettingsResource has a new parameter autopilot_settings\n - Model ThroughputSettingsGetPropertiesResource has a new parameter autopilot_settings\n - Model DatabaseAccountCreateUpdateParameters has a new parameter key_vault_key_uri\n - Model DatabaseAccountUpdateParameters has a new parameter key_vault_key_uri\n\n## 0.11.0 (2019-12-07)\n\n**Features**\n\n - Model GremlinDatabaseGetResults has a new parameter resource\n - Model ThroughputSettingsGetResults has a new parameter resource\n - Model SqlStoredProcedureGetResults has a new parameter resource\n - Model MongoDBDatabaseGetResults has a new parameter resource\n - Model SqlUserDefinedFunctionGetResults has a new parameter resource\n - Model TableGetResults has a new parameter resource\n - Model IndexingPolicy has a new parameter composite_indexes\n - Model IndexingPolicy has a new parameter spatial_indexes\n - Model CassandraKeyspaceGetResults has a new parameter resource\n - Model SqlDatabaseGetResults has a new parameter resource\n\n**Breaking changes**\n\n - Model GremlinDatabaseGetResults no longer has parameter _etag\n - Model GremlinDatabaseGetResults no longer has parameter\n gremlin_database_get_results_id\n - Model GremlinDatabaseGetResults no longer has parameter _ts\n - Model GremlinDatabaseGetResults no longer has parameter _rid\n - Model ThroughputSettingsGetResults no longer has parameter\n minimum_throughput\n - Model ThroughputSettingsGetResults no longer has parameter\n offer_replace_pending\n - Model ThroughputSettingsGetResults no longer has parameter\n throughput\n - Model SqlStoredProcedureGetResults no longer has parameter _etag\n - Model SqlStoredProcedureGetResults no longer has parameter _ts\n - Model SqlStoredProcedureGetResults no longer has parameter _rid\n - Model SqlStoredProcedureGetResults no longer has parameter body\n - Model SqlStoredProcedureGetResults no longer has parameter\n sql_stored_procedure_get_results_id\n - Model MongoDBDatabaseGetResults no longer has parameter _etag\n - Model MongoDBDatabaseGetResults no longer has parameter\n mongo_db_database_get_results_id\n - Model MongoDBDatabaseGetResults no longer has parameter _ts\n - Model MongoDBDatabaseGetResults no longer has parameter _rid\n - Model SqlUserDefinedFunctionGetResults no longer has parameter\n _etag\n - Model SqlUserDefinedFunctionGetResults no longer has parameter\n sql_user_defined_function_get_results_id\n - Model SqlUserDefinedFunctionGetResults no longer has parameter _ts\n - Model SqlUserDefinedFunctionGetResults no longer has parameter _rid\n - Model SqlUserDefinedFunctionGetResults no longer has parameter body\n - Model TableGetResults no longer has parameter _etag\n - Model TableGetResults no longer has parameter\n table_get_results_id\n - Model TableGetResults no longer has parameter _ts\n - Model TableGetResults no longer has parameter _rid\n - Model CassandraKeyspaceGetResults no longer has parameter _etag\n - Model CassandraKeyspaceGetResults no longer has parameter\n cassandra_keyspace_get_results_id\n - Model CassandraKeyspaceGetResults no longer has parameter _ts\n - Model CassandraKeyspaceGetResults no longer has parameter _rid\n - Model SqlDatabaseGetResults no longer has parameter _colls\n - Model SqlDatabaseGetResults no longer has parameter _etag\n - Model SqlDatabaseGetResults no longer has parameter _users\n - Model SqlDatabaseGetResults no longer has parameter\n sql_database_get_results_id\n - Model SqlDatabaseGetResults no longer has parameter _rid\n - Model SqlDatabaseGetResults no longer has parameter _ts\n - Model GremlinGraphGetResults has a new signature\n - Model CassandraTableGetResults has a new signature\n - Model SqlTriggerGetResults has a new signature\n - Model SqlContainerGetResults has a new signature\n - Model MongoDBCollectionGetResults has a new signature\n\n## 0.10.0 (2019-11-13)\n\n**Features**\n\n - Model DatabaseAccountCreateUpdateParameters has a new parameter\n disable_key_based_metadata_write_access\n - Model ContainerPartitionKey has a new parameter version\n - Added operation DatabaseAccountsOperations.update\n - Added operation group SqlResourcesOperations\n - Added operation group MongoDBResourcesOperations\n - Added operation group TableResourcesOperations\n - Added operation group GremlinResourcesOperations\n - Added operation group CassandraResourcesOperations\n\n**Breaking changes**\n\n - CosmosDB has been renamed to CosmosDBManagementClient\n - CosmosDBConfiguration was renamed to\n CosmodDBManagementClientConfiguration\n - Model MongoDBCollectionCreateUpdateParameters has a new signature\n - Model GremlinGraphCreateUpdateParameters has a new signature\n - Model CassandraKeyspaceCreateUpdateParameters has a new signature\n - Model GremlinDatabaseCreateUpdateParameters has a new signature\n - Model SqlContainerCreateUpdateParameters has a new signature\n - Model CassandraTableCreateUpdateParameters has a new signature\n - Model TableCreateUpdateParameters has a new signature\n - Model MongoDBDatabaseCreateUpdateParameters has a new signature\n - Model SqlDatabaseCreateUpdateParameters has a new signature\n - Removed operation\n DatabaseAccountsOperations.get_gremlin_graph_throughput\n - Removed operation\n DatabaseAccountsOperations.update_cassandra_keyspace_throughput\n - Removed operation DatabaseAccountsOperations.delete_sql_database\n - Removed operation\n DatabaseAccountsOperations.update_sql_database_throughput\n - Removed operation\n DatabaseAccountsOperations.update_mongo_db_database_throughput\n - Removed operation\n DatabaseAccountsOperations.delete_mongo_db_collection\n - Removed operation\n DatabaseAccountsOperations.list_mongo_db_databases\n - Removed operation\n DatabaseAccountsOperations.create_update_mongo_db_database\n - Removed operation\n DatabaseAccountsOperations.create_update_gremlin_graph\n - Removed operation\n DatabaseAccountsOperations.update_gremlin_database_throughput\n - Removed operation\n DatabaseAccountsOperations.get_mongo_db_collection\n - Removed operation\n DatabaseAccountsOperations.delete_gremlin_database\n - Removed operation\n DatabaseAccountsOperations.create_update_cassandra_keyspace\n - Removed operation DatabaseAccountsOperations.get_sql_database\n - Removed operation DatabaseAccountsOperations.get_table\n - Removed operation\n DatabaseAccountsOperations.update_table_throughput\n - Removed operation\n DatabaseAccountsOperations.create_update_mongo_db_collection\n - Removed operation DatabaseAccountsOperations.get_gremlin_database\n - Removed operation\n DatabaseAccountsOperations.create_update_sql_container\n - Removed operation\n DatabaseAccountsOperations.create_update_gremlin_database\n - Removed operation DatabaseAccountsOperations.get_table_throughput\n - Removed operation\n DatabaseAccountsOperations.delete_mongo_db_database\n - Removed operation\n DatabaseAccountsOperations.get_cassandra_table_throughput\n - Removed operation\n DatabaseAccountsOperations.update_sql_container_throughput\n - Removed operation DatabaseAccountsOperations.get_cassandra_table\n - Removed operation\n DatabaseAccountsOperations.list_gremlin_databases\n - Removed operation DatabaseAccountsOperations.list_gremlin_graphs\n - Removed operation\n DatabaseAccountsOperations.list_mongo_db_collections\n - Removed operation\n DatabaseAccountsOperations.create_update_cassandra_table\n - Removed operation\n DatabaseAccountsOperations.delete_cassandra_keyspace\n - Removed operation\n DatabaseAccountsOperations.update_cassandra_table_throughput\n - Removed operation\n DatabaseAccountsOperations.update_gremlin_graph_throughput\n - Removed operation DatabaseAccountsOperations.create_update_table\n - Removed operation\n DatabaseAccountsOperations.get_mongo_db_database_throughput\n - Removed operation DatabaseAccountsOperations.get_sql_container\n - Removed operation\n DatabaseAccountsOperations.get_gremlin_database_throughput\n - Removed operation\n DatabaseAccountsOperations.get_mongo_db_collection_throughput\n - Removed operation DatabaseAccountsOperations.list_cassandra_tables\n - Removed operation\n DatabaseAccountsOperations.get_sql_database_throughput\n - Removed operation DatabaseAccountsOperations.list_sql_databases\n - Removed operation DatabaseAccountsOperations.list_tables\n - Removed operation\n DatabaseAccountsOperations.get_cassandra_keyspace\n - Removed operation DatabaseAccountsOperations.get_gremlin_graph\n - Removed operation\n DatabaseAccountsOperations.get_mongo_db_database\n - Removed operation DatabaseAccountsOperations.delete_table\n - Removed operation\n DatabaseAccountsOperations.list_cassandra_keyspaces\n - Removed operation DatabaseAccountsOperations.list_sql_containers\n - Removed operation DatabaseAccountsOperations.delete_sql_container\n - Removed operation DatabaseAccountsOperations.delete_gremlin_graph\n - Removed operation\n DatabaseAccountsOperations.get_cassandra_keyspace_throughput\n - Removed operation\n DatabaseAccountsOperations.get_sql_container_throughput\n - Removed operation\n DatabaseAccountsOperations.delete_cassandra_table\n - Removed operation DatabaseAccountsOperations.patch\n - Removed operation\n DatabaseAccountsOperations.create_update_sql_database\n - Removed operation\n DatabaseAccountsOperations.update_mongo_db_collection_throughput\n\n## 0.9.0 (2019-11-09)\n\n**Features**\n\n - Added operation group PrivateLinkResourcesOperations\n - Added operation group PrivateEndpointConnectionsOperations\n\n## 0.8.0 (2019-08-15)\n\n**Features**\n\n - Model DatabaseAccount has a new parameter\n enable_cassandra_connector\n - Model DatabaseAccount has a new parameter connector_offer\n - Model DatabaseAccountCreateUpdateParameters has a new parameter\n enable_cassandra_connector\n - Model DatabaseAccountCreateUpdateParameters has a new parameter\n connector_offer\n\n**General breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if from some import. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - CosmosDB cannot be imported from `azure.mgmt.cosmosdb.cosmos_db`\n anymore (import from `azure.mgmt.cosmosdb` works like before)\n - CosmosDBConfiguration import has been moved from\n `azure.mgmt.cosmosdb.cosmos_db` to `azure.mgmt.cosmosdb`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.cosmosdb.models.my_class` (import from\n `azure.mgmt.cosmosdb.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.cosmosdb.operations.my_class_operations` (import\n from `azure.mgmt.cosmosdb.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.7.0 (2019-06-07)\n\n**Features**\n\n - Added operation\n DatabaseAccountsOperations.get_gremlin_graph_throughput\n - Added operation\n DatabaseAccountsOperations.get_sql_database_throughput\n - Added operation\n DatabaseAccountsOperations.update_gremlin_database_throughput\n - Added operation\n DatabaseAccountsOperations.get_sql_container_throughput\n - Added operation\n DatabaseAccountsOperations.update_sql_container_throughput\n - Added operation\n DatabaseAccountsOperations.get_gremlin_database_throughput\n - Added operation\n DatabaseAccountsOperations.get_cassandra_table_throughput\n - Added operation\n DatabaseAccountsOperations.update_cassandra_keyspace_throughput\n - Added operation\n DatabaseAccountsOperations.update_mongo_db_collection_throughput\n - Added operation\n DatabaseAccountsOperations.update_cassandra_table_throughput\n - Added operation DatabaseAccountsOperations.update_table_throughput\n - Added operation\n DatabaseAccountsOperations.update_mongo_db_database_throughput\n - Added operation\n DatabaseAccountsOperations.get_mongo_db_database_throughput\n - Added operation\n DatabaseAccountsOperations.update_sql_database_throughput\n - Added operation DatabaseAccountsOperations.get_table_throughput\n - Added operation\n DatabaseAccountsOperations.get_mongo_db_collection_throughput\n - Added operation\n DatabaseAccountsOperations.update_gremlin_graph_throughput\n - Added operation\n DatabaseAccountsOperations.get_cassandra_keyspace_throughput\n\n## 0.6.1 (2019-05-31)\n\n**Features**\n\n - Add is_zone_redundant attribute\n\n**Bugfix**\n\n - Fix some incorrect type from int to long (Python 2)\n\n## 0.6.0 (2019-05-03)\n\n**Features**\n\n - Added operation DatabaseAccountsOperations.list_sql_databases\n - Added operation DatabaseAccountsOperations.delete_gremlin_graph\n - Added operation DatabaseAccountsOperations.get_sql_database\n - Added operation DatabaseAccountsOperations.delete_table\n - Added operation DatabaseAccountsOperations.get_cassandra_keyspace\n - Added operation DatabaseAccountsOperations.list_sql_containers\n - Added operation\n DatabaseAccountsOperations.create_update_sql_container\n - Added operation DatabaseAccountsOperations.get_table\n - Added operation DatabaseAccountsOperations.list_cassandra_tables\n - Added operation DatabaseAccountsOperations.create_update_table\n - Added operation\n DatabaseAccountsOperations.delete_mongo_db_collection\n - Added operation DatabaseAccountsOperations.get_gremlin_graph\n - Added operation DatabaseAccountsOperations.get_gremlin_database\n - Added operation\n DatabaseAccountsOperations.list_cassandra_keyspaces\n - Added operation\n DatabaseAccountsOperations.create_update_mongo_db_collection\n - Added operation\n DatabaseAccountsOperations.create_update_cassandra_keyspace\n - Added operation\n DatabaseAccountsOperations.create_update_cassandra_table\n - Added operation DatabaseAccountsOperations.get_mongo_db_database\n - Added operation DatabaseAccountsOperations.list_gremlin_databases\n - Added operation\n DatabaseAccountsOperations.create_update_sql_database\n - Added operation\n DatabaseAccountsOperations.get_mongo_db_collection\n - Added operation\n DatabaseAccountsOperations.list_mongo_db_collections\n - Added operation DatabaseAccountsOperations.get_sql_container\n - Added operation\n DatabaseAccountsOperations.delete_cassandra_keyspace\n - Added operation\n DatabaseAccountsOperations.delete_mongo_db_database\n - Added operation DatabaseAccountsOperations.get_cassandra_table\n - Added operation DatabaseAccountsOperations.delete_cassandra_table\n - Added operation\n DatabaseAccountsOperations.list_mongo_db_databases\n - Added operation DatabaseAccountsOperations.list_gremlin_graphs\n - Added operation\n DatabaseAccountsOperations.create_update_mongo_db_database\n - Added operation DatabaseAccountsOperations.delete_sql_container\n - Added operation\n DatabaseAccountsOperations.create_update_gremlin_graph\n - Added operation\n DatabaseAccountsOperations.create_update_gremlin_database\n - Added operation DatabaseAccountsOperations.list_tables\n - Added operation DatabaseAccountsOperations.delete_gremlin_database\n - Added operation DatabaseAccountsOperations.delete_sql_database\n\n## 0.5.2 (2018-11-05)\n\n**Features**\n\n - Add ignore_missing_vnet_service_endpoint support\n\n## 0.5.1 (2018-10-16)\n\n**Bugfix**\n\n - Fix sdist broken in 0.5.0. No code change.\n\n## 0.5.0 (2018-10-08)\n\n**Features**\n\n - Add enable_multiple_write_locations support\n\n**Note**\n\n - `database_accounts.list_read_only_keys` is now doing a POST\n call, and not GET anymore. This should not impact anything. Old\n behavior be can found with the\n `database_accounts.get_read_only_keys` **deprecated** method.\n - azure-mgmt-nspkg is not installed anymore on Python 3 (PEP420-based\n namespace package)\n\n## 0.4.1 (2018-05-15)\n\n**Features**\n\n - Add database_accounts.offline_region\n - Add database_accounts.online_region\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n## 0.4.0 (2018-04-17)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n**Features**\n\n - Add VNet related properties to CosmosDB\n\n## 0.3.1 (2018-02-01)\n\n**Bugfixes**\n\n - Fix capabilities model definition\n\n## 0.3.0 (2018-01-30)\n\n**Features**\n\n - Add capability\n - Add metrics operation groups\n\n## 0.2.1 (2017-10-18)\n\n**Bugfixes**\n\n - Fix max_interval_in_seconds interval values from 1/100 to 5/86400\n - Tags is now optional\n\n**Features**\n\n - Add operation list\n\n## 0.2.0 (2017-06-26)\n\n - Creation on this package based on azure-mgmt-documentdb 0.1.3\n content\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (>=0.6.1)", + "azure-common (>=1.1)", + "azure-mgmt-core (>=1.3.2)" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/48/cf/aa0b1226011104e4546a4e0c4929026c189170dda789b44eda12931e9d1b/azure_mgmt_eventgrid-10.2.0b2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=040a0f63b2550d2bd240d2b7048203ab0c49a034e3dc0123bb994a0673765dba", + "hashes": { + "sha256": "040a0f63b2550d2bd240d2b7048203ab0c49a034e3dc0123bb994a0673765dba" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-eventgrid", + "version": "10.2.0b2", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Event Grid Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Event Grid Management Client Library.\nThis package has been tested with Python 3.6+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/event-grid)\nCode samples for this package can be found at [Event Grid Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-eventgrid%2FREADME.png)\n\n\n# Release History\n\n## 10.2.0b2 (2022-05-30)\n\n**Breaking changes**\n\n - Operation DomainEventSubscriptionsOperations.list has a new parameter filter\n - Operation DomainEventSubscriptionsOperations.list has a new parameter top\n - Operation DomainTopicEventSubscriptionsOperations.list has a new parameter filter\n - Operation DomainTopicEventSubscriptionsOperations.list has a new parameter top\n - Operation TopicEventSubscriptionsOperations.list has a new parameter filter\n - Operation TopicEventSubscriptionsOperations.list has a new parameter top\n\n## 10.2.0b1 (2022-04-07)\n\n**Features**\n\n - Added operation group ChannelsOperations\n - Added operation group DomainEventSubscriptionsOperations\n - Added operation group DomainTopicEventSubscriptionsOperations\n - Added operation group EventChannelsOperations\n - Added operation group PartnerConfigurationsOperations\n - Added operation group PartnerDestinationsOperations\n - Added operation group PartnerNamespacesOperations\n - Added operation group PartnerRegistrationsOperations\n - Added operation group PartnerTopicEventSubscriptionsOperations\n - Added operation group PartnerTopicsOperations\n - Added operation group TopicEventSubscriptionsOperations\n - Added operation group VerifiedPartnersOperations\n - Model Domain has a new parameter data_residency_boundary\n - Model Domain has a new parameter sku\n - Model DomainUpdateParameters has a new parameter data_residency_boundary\n - Model DomainUpdateParameters has a new parameter sku\n - Model Operation has a new parameter is_data_action\n - Model Topic has a new parameter data_residency_boundary\n - Model Topic has a new parameter extended_location\n - Model Topic has a new parameter kind\n - Model Topic has a new parameter sku\n - Model TopicUpdateParameters has a new parameter data_residency_boundary\n - Model TopicUpdateParameters has a new parameter sku\n\n## 10.1.0 (2021-12-13)\n\n**Features**\n\n - Added model NumberInRangeAdvancedFilter\n - Added model StringNotContainsAdvancedFilter\n - Added model NumberNotInRangeAdvancedFilter\n - Added model IsNullOrUndefinedAdvancedFilter\n - Added model IsNotNullAdvancedFilter\n - Added model StringNotBeginsWithAdvancedFilter\n - Added model StringNotEndsWithAdvancedFilter\n\n## 10.0.0 (2021-10-21)\n\n**Features**\n\n - Model Domain has a new parameter disable_local_auth\n - Model Domain has a new parameter auto_delete_topic_with_last_subscription\n - Model Domain has a new parameter auto_create_topic_with_first_subscription\n - Model Topic has a new parameter disable_local_auth\n - Model DomainUpdateParameters has a new parameter disable_local_auth\n - Model DomainUpdateParameters has a new parameter auto_delete_topic_with_last_subscription\n - Model DomainUpdateParameters has a new parameter auto_create_topic_with_first_subscription\n - Model ExtensionTopic has a new parameter system_data\n - Model TopicUpdateParameters has a new parameter disable_local_auth\n\n**Breaking changes**\n\n - Model Domain no longer has parameter sku\n - Model Topic no longer has parameter sku\n - Model Topic no longer has parameter extended_location\n - Model Topic no longer has parameter kind\n - Model DomainUpdateParameters no longer has parameter sku\n - Model TopicUpdateParameters no longer has parameter sku\n - Removed operation group EventChannelsOperations\n - Removed operation group PartnerRegistrationsOperations\n - Removed operation group PartnerTopicEventSubscriptionsOperations\n - Removed operation group PartnerNamespacesOperations\n - Removed operation group PartnerTopicsOperations\n\n## 9.0.0 (2021-05-24)\n\n**Features**\n\n - Model EventHubEventSubscriptionDestination has a new parameter delivery_attribute_mappings\n - Model StorageQueueEventSubscriptionDestination has a new parameter queue_message_time_to_live_in_seconds\n - Model TopicTypeInfo has a new parameter supported_scopes_for_source\n - Model Topic has a new parameter extended_location\n - Model Topic has a new parameter kind\n - Model Topic has a new parameter system_data\n - Model Topic has a new parameter identity\n - Model Topic has a new parameter sku\n - Model EventSubscriptionFilter has a new parameter enable_advanced_filtering_on_arrays\n - Model AzureFunctionEventSubscriptionDestination has a new parameter delivery_attribute_mappings\n - Model EventSubscriptionUpdateParameters has a new parameter dead_letter_with_resource_identity\n - Model EventSubscriptionUpdateParameters has a new parameter delivery_with_resource_identity\n - Model ServiceBusQueueEventSubscriptionDestination has a new parameter delivery_attribute_mappings\n - Model DomainTopic has a new parameter system_data\n - Model DomainUpdateParameters has a new parameter sku\n - Model DomainUpdateParameters has a new parameter identity\n - Model HybridConnectionEventSubscriptionDestination has a new parameter delivery_attribute_mappings\n - Model TopicUpdateParameters has a new parameter sku\n - Model TopicUpdateParameters has a new parameter identity\n - Model ServiceBusTopicEventSubscriptionDestination has a new parameter delivery_attribute_mappings\n - Model Domain has a new parameter sku\n - Model Domain has a new parameter system_data\n - Model Domain has a new parameter identity\n - Model EventSubscription has a new parameter dead_letter_with_resource_identity\n - Model EventSubscription has a new parameter system_data\n - Model EventSubscription has a new parameter delivery_with_resource_identity\n - Model WebHookEventSubscriptionDestination has a new parameter delivery_attribute_mappings\n - Added operation TopicsOperations.begin_regenerate_key\n - Added operation EventSubscriptionsOperations.get_delivery_attributes\n - Added operation group PartnerRegistrationsOperations\n - Added operation group SystemTopicsOperations\n - Added operation group EventChannelsOperations\n - Added operation group PartnerNamespacesOperations\n - Added operation group ExtensionTopicsOperations\n - Added operation group PartnerTopicsOperations\n - Added operation group PartnerTopicEventSubscriptionsOperations\n - Added operation group SystemTopicEventSubscriptionsOperations\n\n**Breaking changes**\n\n - Removed operation TopicsOperations.regenerate_key\n\n## 8.0.0 (2020-12-21)\n\n**Breaking changes**\n\n - Operation TopicsOperations.regenerate_key has a new signature\n - Operation DomainsOperations.regenerate_key has a new signature\n\n## 8.0.0b1 (2020-10-31)\n\nThis is beta preview version.\nFor detailed changelog please refer to equivalent stable version 3.0.0rc8(https://pypi.org/project/azure-mgmt-eventgrid/3.0.0rc8/)\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 3.0.0rc8 (2020-06-05)\n\n**Breaking changes**\n\n - Model EventSubscriptionUpdateParameters no longer has parameter dead_letter_with_resource_identity\n - Model EventSubscriptionUpdateParameters no longer has parameter delivery_with_resource_identity\n - Model DomainUpdateParameters no longer has parameter sku\n - Model DomainUpdateParameters no longer has parameter identity\n - Model Domain no longer has parameter sku\n - Model Domain no longer has parameter identity\n - Model EventSubscription no longer has parameter dead_letter_with_resource_identity\n - Model EventSubscription no longer has parameter delivery_with_resource_identity\n - Model TopicUpdateParameters no longer has parameter sku\n - Model TopicUpdateParameters no longer has parameter identity\n - Model Topic no longer has parameter sku\n - Model Topic no longer has parameter identity\n - Removed operation group ExtensionTopicsOperations\n - Removed operation group PartnerNamespacesOperations\n - Removed operation group PartnerRegistrationsOperations\n - Removed operation group PartnerTopicsOperations\n - Removed operation group SystemTopicEventSubscriptionsOperations\n - Removed operation group SystemTopicsOperations\n - Removed operation group PartnerTopicEventSubscriptionsOperations\n - Removed operation group EventChannelsOperations\n\n## 3.0.0rc7 (2020-05-14)\n\n**Features**\n\n - Model PartnerTopic has a new parameter expiration_time_if_not_activated_utc\n - Model PartnerTopic has a new parameter partner_topic_friendly_description\n - Model EventChannel has a new parameter partner_topic_readiness_state\n - Model EventChannel has a new parameter expiration_time_if_not_activated_utc\n - Model EventChannel has a new parameter partner_topic_friendly_description\n - Model PartnerRegistration has a new parameter partner_customer_service_number\n - Model PartnerRegistration has a new parameter partner_customer_service_extension\n - Model PartnerRegistration has a new parameter long_description\n - Model PartnerRegistration has a new parameter customer_service_uri\n\n**Breaking changes**\n\n - Model EventChannelFilter has a new signature\n\n## 3.0.0rc6 (2020-04-03)\n\n**Features**\n\n - Model PartnerRegistrationUpdateParameters has a new parameter tags\n - Model EventChannel has a new parameter filter\n\n**Breaking changes**\n\n - Operation PrivateEndpointConnectionsOperations.update has a new signature\n - Operation SystemTopicEventSubscriptionsOperations.list_by_system_topic has a new signature\n - Operation PartnerTopicEventSubscriptionsOperations.list_by_partner_topic has a new signature\n\n## 3.0.0rc5 (2020-03-19)\n\n**Features**\n\n- Model Domain has a new parameter public_network_access\n- Model Domain has a new parameter identity\n- Model Domain has a new parameter private_endpoint_connections\n- Model Domain has a new parameter sku\n- Model DomainUpdateParameters has a new parameter public_network_access\n- Model DomainUpdateParameters has a new parameter identity\n- Model DomainUpdateParameters has a new parameter sku\n- Model TopicUpdateParameters has a new parameter public_network_access\n- Model TopicUpdateParameters has a new parameter identity\n- Model TopicUpdateParameters has a new parameter sku\n- Model EventSubscriptionUpdateParameters has a new parameter dead_letter_with_resource_identity\n- Model EventSubscriptionUpdateParameters has a new parameter delivery_with_resource_identity\n- Model Topic has a new parameter public_network_access\n- Model Topic has a new parameter identity\n- Model Topic has a new parameter private_endpoint_connections\n- Model Topic has a new parameter sku\n- Model EventSubscription has a new parameter dead_letter_with_resource_identity\n- Model EventSubscription has a new parameter delivery_with_resource_identity\n- Added operation group PrivateLinkResourcesOperations\n- Added operation group SystemTopicsOperations\n- Added operation group PrivateEndpointConnectionsOperations\n- Added operation group PartnerTopicsOperations\n- Added operation group PartnerNamespacesOperations\n- Added operation group PartnerTopicEventSubscriptionsOperations\n- Added operation group PartnerRegistrationsOperations\n- Added operation group ExtensionTopicsOperations\n- Added operation group SystemTopicEventSubscriptionsOperations\n- Added operation group EventChannelsOperations\n\n**Breaking changes**\n\n- Model Domain no longer has parameter allow_traffic_from_all_ips\n- Model DomainUpdateParameters no longer has parameter allow_traffic_from_all_ips\n- Model TopicUpdateParameters no longer has parameter allow_traffic_from_all_ips\n- Model Topic no longer has parameter allow_traffic_from_all_ips\n\n## 3.0.0rc4 (2020-01-17)\n\n**Features**\n\n - Model DomainUpdateParameters has a new parameter\n allow_traffic_from_all_ips\n - Model DomainUpdateParameters has a new parameter inbound_ip_rules\n - Model TopicUpdateParameters has a new parameter\n allow_traffic_from_all_ips\n - Model TopicUpdateParameters has a new parameter inbound_ip_rules\n\n**Breaking changes**\n\n - Operation DomainsOperations.update has a new signature\n - Operation TopicsOperations.update has a new signature\n\n## 3.0.0rc3 (2020-01-12)\n\n**Features**\n\n - Model Domain has a new parameter allow_traffic_from_all_ips\n - Model Domain has a new parameter inbound_ip_rules\n - Model Topic has a new parameter allow_traffic_from_all_ips\n - Model Topic has a new parameter inbound_ip_rules\n - Model TopicTypeInfo has a new parameter source_resource_format\n\n## 3.0.0rc2 (2019-11-11)\n\n**Features**\n\n - Model WebHookEventSubscriptionDestination has a new parameter\n azure_active_directory_tenant_id\n\n## 3.0.0rc1 (2019-10-24)\n\n**Features**\n\n - Model Domain has a new parameter input_schema\n - Model Domain has a new parameter input_schema_mapping\n - Model Domain has a new parameter metric_resource_id\n - Model EventSubscription has a new parameter event_delivery_schema\n - Model Topic has a new parameter input_schema\n - Model Topic has a new parameter input_schema_mapping\n - Model Topic has a new parameter metric_resource_id\n - Model WebHookEventSubscriptionDestination has a new parameter\n preferred_batch_size_in_kilobytes\n - Model WebHookEventSubscriptionDestination has a new parameter\n azure_active_directory_application_id_or_uri\n - Model WebHookEventSubscriptionDestination has a new parameter\n max_events_per_batch\n - Model EventSubscriptionUpdateParameters has a new parameter\n event_delivery_schema\n\n**General Breaking Changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes. In summary, some modules were incorrectly\nvisible/importable and have been renamed. This fixed several issues\ncaused by usage of classes that were not supposed to be used in the\nfirst place.\n\n - EventGridManagementClient cannot be imported from\n `azure.mgmt.eventgrid.event_grid_management_client` anymore\n (import from `azure.mgmt.eventgrid` works like before)\n - EventGridManagementClientConfiguration import has been moved from\n `azure.mgmt.eventgrid.event_grid_management_client` to\n `azure.mgmt.eventgrid`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.eventgrid.models.my_class` (import from\n `azure.mgmt.eventgrid.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.eventgrid.operations.my_class_operations` (import\n from `azure.mgmt.eventgrid.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 2.1.0 (2019-05-22)\n\nNot all preview features of the 2.1.0rc1 were confirmed in this 2.1.0\nstable version. In particular, the following features will still be\navailable only in the 2.1.0rc1 for now:\n\n - Input mapping/Delivery Schema.\n - \"label\" filtering parameter in all operations\n\nAll other features are now considerd stable to use in production. This\nincludes:\n\n - Domains, which include all domain related operation including\n adding/deleting domain topics manually.\n - Pagination/filtering\n - Servicebus queue as destination\n - Advanced filtering, which was introduced in previous preview\n version.\n - Showing and selecting default event types instead of ‘all’\n\n## 2.1.0rc1 (2019-03-11)\n\n**Disclaimer**\n\nPreview features that were on 2.0.0rc2 only and not on 2.0.0 has been\nported in this version.\n\nThis version also adds the following preview features: - Manual\nAdd/delete of domain topics. - Pagination/search filtering for list\noperations. - Adding service bus queue as destination\n\n## 2.0.0 (2019-02-01)\n\n**Disclaimer**\n\nNot all preview features of the 2.0.0rc2 were confirmed in this 2.0.0\nstable version. In particular, the following features will still be\navailable only in the 2.0.0rc2 for now:\n\n - Domains.\n - Advanced filters support.\n - Event subscription expiration date\n - Input mapping and event delivery schema.\n\nAll other features are now considerd stable to use in production. This\nincludes:\n\n - Deadletter destination.\n - Storage queue as destination.\n - Hybrid connection as destination.\n - Retry policy.\n - Manual handshake.\n\n## 2.0.0rc2 (2018-10-24)\n\n**Features**\n\n - Model EventSubscriptionFilter has a new parameter advanced_filters\n - Model EventSubscriptionUpdateParameters has a new parameter\n expiration_time_utc\n - Model EventSubscription has a new parameter expiration_time_utc\n - Added operation EventSubscriptionsOperations.list_by_domain_topic\n - Added operation group DomainTopicsOperations\n - Added operation group DomainsOperations\n\nInternal API version is 2018-09-15-preview\n\n## 2.0.0rc1 (2018-05-04)\n\n**Features**\n\n - input mappings for topics\n - CloudEvents support for topics\n - customizable delivery schemas\n - delivering events to Azure Storage queue and Azure hybrid\n connections\n - deadlettering\n - retry policies\n - manual subscription validation handshake validation.\n\nInternal API version is 2018-05-01-preview\n\n## 1.0.0 (2018-04-26)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Features**\n\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n## 0.4.0 (2018-01-16)\n\n**Breaking changes**\n\n - EventSubscription create is renamed to create_or_update.\n - Regenerated SDK based on 2018-01-01 API version.\n - OperationOrigin enum is removed. Origin of the operation is now a\n string.\n\n## 0.3.0 (2017-11-02)\n\n**Features**\n\n - Support for updating Topic properties\n\n## 0.2.0 (2017-09-13)\n\n**Breaking changes**\n\n - Use WebHookEventSubscriptionDestination for webhook endpoint URLs.\n - Regenerated based on 2017-09-15-preview version\n\n## 0.1.1 (2017-08-17)\n\n**Bugfixes**\n\n - Fix unexpected exception in some delete call\n\n## 0.1.0 (2017-08-17)\n\n - Initial Release\n\n\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "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", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.0)" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/2a/4b/c4ee8d9695cc203b94c211e8ac9d9808354e87fabf695714adaa41cc2517/azure_mgmt_extendedlocation-1.0.0b2-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=e73a72afe51e89ab623098efd90abd652d3217ee646c4794fda98560d41ba9a7", + "hashes": { + "sha256": "e73a72afe51e89ab623098efd90abd652d3217ee646c4794fda98560d41ba9a7" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-extendedlocation", + "version": "1.0.0b2", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Extendedlocation Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Extendedlocation Management Client Library.\nThis package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Extendedlocation Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-extendedlocation%2FREADME.png)\n\n\n# Release History\n\n## 1.0.0b2 (2021-05-06)\n\n* Remove v2020_07_15_privatepreview\n\n## 1.0.0b1 (2020-03-25)\n\n* Initial Release\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.2.0)", + "azure-mgmt-nspkg ; python_version<'3.0'" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/bb/9d/12b39ec0a898ac43476ac12db4761be23fbf0245696ddf49e02a8dd8b464/azure_mgmt_iothub-3.0.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=4ba0fbe1736eebbadfe759075bc33412f03d920b5a982614bd07b9ab07a369c7", + "hashes": { + "sha256": "4ba0fbe1736eebbadfe759075bc33412f03d920b5a982614bd07b9ab07a369c7" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-iothub", + "version": "3.0.0", + "summary": "Microsoft Azure IoT Hub Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure IoT Hub Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-iothub\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.iothub import IotHubClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = IotHubClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search IoT Hub Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-iothub%2FREADME.png)\n\n\n# Release History\n\n## 3.0.0 (2023-09-19)\n\n### Features Added\n\n - Model RoutingEndpoints has a new parameter cosmos_db_sql_containers\n\n### Breaking Changes\n\n - Model RoutingCosmosDBSqlApiProperties has a new required parameter container_name\n - Model RoutingCosmosDBSqlApiProperties no longer has parameter collection_name\n - Model RoutingEndpoints no longer has parameter cosmos_db_sql_collections\n\n## 2.4.0 (2023-04-20)\n\n### Features Added\n\n - Model IotHubProperties has a new parameter ip_version\n\n## 2.4.0b1 (2023-02-15)\n\n### Other Changes\n\n - Added generated samples in github repo\n - Drop support for python<3.7.0\n\n## 2.3.0 (2022-09-02)\n\n### Features Added\n\n - Model IotHubProperties has a new parameter device_streams\n - Model IotHubProperties has a new parameter encryption\n - Model IotHubProperties has a new parameter root_certificate\n - Model RoutingEndpoints has a new parameter cosmos_db_sql_collections\n\n## 2.2.0 (2022-01-29)\n\n**Features**\n\n - Model IotHubDescription has a new parameter system_data\n - Model IotHubProperties has a new parameter enable_data_residency\n\n## 2.1.0 (2021-08-25)\n\n**Features**\n\n - Model IotHubProperties has a new parameter disable_local_auth\n - Model IotHubProperties has a new parameter disable_device_sas\n - Model IotHubProperties has a new parameter restrict_outbound_network_access\n - Model IotHubProperties has a new parameter allowed_fqdn_list\n - Model IotHubProperties has a new parameter disable_module_sas\n - Model CertificateBodyDescription has a new parameter is_verified\n\n## 2.0.0 (2021-05-14)\n\n**Features**\n\n - Model EndpointHealthData has a new parameter last_send_attempt_time\n - Model EndpointHealthData has a new parameter last_known_error_time\n - Model EndpointHealthData has a new parameter last_known_error\n - Model EndpointHealthData has a new parameter last_successful_send_attempt_time\n - Model ImportDevicesRequest has a new parameter identity\n - Model ImportDevicesRequest has a new parameter configurations_blob_name\n - Model ImportDevicesRequest has a new parameter include_configurations\n - Model RoutingServiceBusTopicEndpointProperties has a new parameter identity\n - Model RoutingStorageContainerProperties has a new parameter identity\n - Model StorageEndpointProperties has a new parameter identity\n - Model IotHubDescription has a new parameter identity\n - Model IotHubProperties has a new parameter network_rule_sets\n - Model ExportDevicesRequest has a new parameter identity\n - Model ExportDevicesRequest has a new parameter configurations_blob_name\n - Model ExportDevicesRequest has a new parameter include_configurations\n - Model RoutingServiceBusQueueEndpointProperties has a new parameter identity\n - Model RoutingEventHubProperties has a new parameter identity\n\n**Breaking changes**\n\n - Operation IotHubResourceOperations.create_event_hub_consumer_group has a new signature\n\n## 1.0.0 (2020-12-18)\n\n- GA release\n\n## 1.0.0b1 (2020-11-12)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.12.0 (2020-05-12)\n\n**Features**\n\n - Model RoutingEventHubProperties has a new parameter entity_path\n - Model RoutingEventHubProperties has a new parameter authentication_type\n - Model RoutingEventHubProperties has a new parameter endpoint_uri\n - Model RoutingEventHubProperties has a new parameter id\n - Model RoutingServiceBusQueueEndpointProperties has a new parameter entity_path\n - Model RoutingServiceBusQueueEndpointProperties has a new parameter authentication_type\n - Model RoutingServiceBusQueueEndpointProperties has a new parameter endpoint_uri\n - Model RoutingServiceBusQueueEndpointProperties has a new parameter id\n - Model ImportDevicesRequest has a new parameter authentication_type\n - Model ImportDevicesRequest has a new parameter output_blob_name\n - Model ImportDevicesRequest has a new parameter input_blob_name\n - Model ExportDevicesRequest has a new parameter authentication_type\n - Model ExportDevicesRequest has a new parameter export_blob_name\n - Model RoutingServiceBusTopicEndpointProperties has a new parameter entity_path\n - Model RoutingServiceBusTopicEndpointProperties has a new parameter authentication_type\n - Model RoutingServiceBusTopicEndpointProperties has a new parameter endpoint_uri\n - Model RoutingServiceBusTopicEndpointProperties has a new parameter id\n - Model RoutingStorageContainerProperties has a new parameter authentication_type\n - Model RoutingStorageContainerProperties has a new parameter endpoint_uri\n - Model RoutingStorageContainerProperties has a new parameter id\n - Model IotHubProperties has a new parameter public_network_access\n - Model IotHubProperties has a new parameter private_endpoint_connections\n - Model IotHubProperties has a new parameter min_tls_version\n - Model StorageEndpointProperties has a new parameter authentication_type\n - Added operation group PrivateEndpointConnectionsOperations\n - Added operation group PrivateLinkResourcesOperations\n\n**Breaking changes**\n\n - Operation IotHubResourceOperations.export_devices has a new signature\n - Operation IotHubResourceOperations.import_devices has a new signature\n\n## 0.11.0 (2020-03-17)\n\n - Preview API versions 2018-12-01-preview, 2019-03-22-preview, 2019-07-01-preview included\n\n## 0.10.0 (2020-01-09)\n\n**Features**\n\n - Support for multi-api\n\n**Breaking changes**\n\n - Model IotHubProperties no longer has parameter device_streams\n\n## 0.9.0 (2019-10-09)\n\n - Release 0.9.0 as stable.\n\n## 0.9.0rc1 (2019-09-29)\n\n**Features**\n\n - Model IotHubProperties has a new parameter locations\n\n**General breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if from some import. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - IotHubClient cannot be imported from\n `azure.mgmt.iothub.iot_hub_client` anymore (import from\n `azure.mgmt.iothub` works like before)\n - IotHubClientConfiguration import has been moved from\n `azure.mgmt.iothub.iot_hub_client` to `azure.mgmt.iothub`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.iothub.models.my_class` (import from\n `azure.mgmt.iothub.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.iothub.operations.my_class_operations` (import from\n `azure.mgmt.iothub.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.8.2 (2019-05-15)\n\n**Bugfixes**\n\n - Fix manual_failover operation type\n\n## 0.8.1 (2019-05-13)\n\n**Bugfixes**\n\n - Re-shipping 0.8.0 with wheel 0.33.4\n ()\n\n## 0.8.0 (2019-05-10)\n\n**Features**\n\n - Model RoutingProperties has a new parameter enrichments\n - Added operation group IotHubOperations\n\n**Breaking changes**\n\n - Model IotHubProperties no longer has parameter\n operations_monitoring_properties\n\n## 0.7.0 (2018-12-14)\n\n**Features**\n\n - Model OperationDisplay has a new parameter description\n - Model TestRouteInput has a new parameter twin\n - Model IotHubProperties has a new parameter device_streams\n - Model TestAllRoutesInput has a new parameter twin\n\n**Breaking changes**\n\n - Operation IotHubResourceOperations.test_route has a new signature\n - Operation IotHubResourceOperations.test_all_routes has a new\n signature\n\n## 0.6.0 (2018-08-27)\n\n**Features**\n\n - Model CertificatePropertiesWithNonce has a new parameter certificate\n - Model CertificateProperties has a new parameter certificate\n - Added operation IotHubResourceOperations.test_all_routes\n - Added operation IotHubResourceOperations.test_route\n - Added operation IotHubResourceOperations.get_endpoint_health\n - Added operation group ResourceProviderCommonOperations\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n## 0.5.0 (2018-04-17)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n**Features**\n\n - Add new ApiVersion 2018-04-01\n\n## 0.4.0 (2017-10-11)\n\n**Features**\n\n - New API version 2017-07-01. This is a backward compatible.\n - Add \"if_match\" parameter when applicable\n - Add certificates operation group\n - Add list available operations method\n - Add \"storage_containers\" attribute to RoutingEndpoints\n\n## 0.3.0 (2017-06-13)\n\n**Features**\n\n - New API version 2017-01-19. This is a backward compatible.\n - Adding \"routing\" information\n\n## 0.2.2 (2017-04-20)\n\n**Bugfixes**\n\n - Fix possible deserialization error, but updating from dict to dict when applicable\n\n**Notes**\n\n - This wheel package is now built with the azure wheel extension\n\n## 0.2.1 (2016-12-16)\n\n**Bugfixes**\n\n - Fix #920 - Invalid return type for\n `list_event_hub_consumer_groups`\n\n## 0.2.0 (2016-12-12)\n\n**Bugfixes**\n\n - Better parameters checking (change exception from CloudError to\n TypeError)\n - Date parsing fix (incorrect None date)\n - CreateOrUpdate random exception fix\n\n## 0.1.0 (2016-08-12)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2", + "typing-extensions >=4.3.0 ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/fa/56/2f8c00be7ea99a1c35aac4e64a286c9c4b6f73991076426b8943d13dbf79/azure_mgmt_iothubprovisioningservices-1.1.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=4871c7e98b4039fcde22c093484cc36bf1f47cb205674dbbe73c261bb27a1731", + "hashes": { + "sha256": "4871c7e98b4039fcde22c093484cc36bf1f47cb205674dbbe73c261bb27a1731" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-iothubprovisioningservices", + "version": "1.1.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure IoT Hub Provisioning Services Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure IoT Hub Provisioning Services Client Library.\nThis package has been tested with Python 2.7, 3.6+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n\n## _Disclaimer_\n\n_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_\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/iot)\nCode samples for this package can be found at [IoT Hub Provisioning Services](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-iothubprovisioningservices%2FREADME.png)\n\n\n# Release History\n\n## 1.1.0 (2022-02-07)\n\n**Features**\n\n - Model CertificateResponse has a new parameter system_data\n - Model IotDpsPropertiesDescription has a new parameter enable_data_residency\n - Model PrivateEndpointConnection has a new parameter system_data\n - Model ProvisioningServiceDescription has a new parameter system_data\n\n## 1.0.0 (2021-08-18)\n\n**Features**\n\n - Model CertificateBodyDescription has a new parameter is_verified\n\n## 1.0.0b1 (2021-05-14)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n\n## 0.2.0 (2018-04-17)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n**Features**\n\n - New ApiVersion 2018-01-22\n\n## 0.1.0 (2018-01-04)\n\n - Initial Release\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "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", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.0)" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/8e/6f/565d9e7970d5098e7cb84d8b141f7936173ccb2b9046f397dde81a56cf4b/azure_mgmt_keyvault-10.3.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=3410cf6c703e9570ed3c8e9716e483c02b1804adde6ab437ddc8feac4545acd6", + "hashes": { + "sha256": "3410cf6c703e9570ed3c8e9716e483c02b1804adde6ab437ddc8feac4545acd6" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-keyvault", + "version": "10.3.0", + "summary": "Microsoft Azure Key Vault Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Key Vault Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-keyvault\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.keyvault import KeyVaultManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = KeyVaultManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Key Vault Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 10.3.0 (2023-10-23)\n\n### Features Added\n\n - Model MHSMPrivateEndpointConnection has a new parameter identity\n - Model MHSMPrivateLinkResource has a new parameter identity\n - Model ManagedHsm has a new parameter identity\n - Model ManagedHsmResource has a new parameter identity\n\n## 10.2.3 (2023-07-25)\n\n### Bugs Fixed\n\n - Do not use configured api_version to relpace the value in nextLink for `VaultsOperation.list`\n\n## 10.2.2 (2023-05-24)\n\n### Other Changes\n\n - Added default value back for model Sku.family to avoid breaking\n\n## 10.2.1 (2023-04-03)\n\n### Bugs Fixed\n\n - Seal enum which has single value as constant by default to avoid breaking change\n\n## 10.2.0 (2023-03-13)\n\n### Features Added\n\n - Added operation group MHSMRegionsOperations\n - Added operation group ManagedHsmKeysOperations\n - Model ManagedHsmProperties has a new parameter regions\n - Model ManagedHsmProperties has a new parameter security_domain_properties\n\n## 10.2.0b1 (2023-02-14)\n\n### Features Added\n\n - Model ManagedHsmProperties has a new parameter security_domain_properties\n\n## 10.1.0 (2022-08-10)\n\n### Features Added\n\n - Added operation ManagedHsmsOperations.check_mhsm_name_availability\n - Model Key has a new parameter release_policy\n - Model Key has a new parameter rotation_policy\n - Model KeyProperties has a new parameter release_policy\n - Model KeyProperties has a new parameter rotation_policy\n - Model MHSMPrivateEndpointConnectionItem has a new parameter etag\n - Model MHSMPrivateEndpointConnectionItem has a new parameter id\n\n### Other Changes\n\n - Python 3.6 is no longer supported. Please use Python version 3.7 or later.\n\n## 10.0.0 (2022-05-24)\n\n**Breaking changes**\n\n - Model Key no longer has parameter release_policy\n - Model Key no longer has parameter rotation_policy\n - Model KeyProperties no longer has parameter release_policy\n - Model KeyProperties no longer has parameter rotation_policy\n\n## 9.3.0 (2021-11-11)\n\n**Features**\n\n - Added some enum value\n\n\n## 9.2.0 (2021-10-15)\n\n**Features**\n\n - Model VaultProperties has a new parameter public_network_access\n - Model VaultPatchProperties has a new parameter public_network_access\n - Model KeyAttributes has a new parameter exportable\n - Model Key has a new parameter release_policy\n - Model Key has a new parameter rotation_policy\n - Model KeyProperties has a new parameter release_policy\n - Model KeyProperties has a new parameter rotation_policy\n\n## 9.1.0 (2021-08-26)\n\n**Features**\n\n - Model VirtualNetworkRule has a new parameter ignore_missing_vnet_service_endpoint\n - Model VaultProperties has a new parameter hsm_pool_resource_id\n - Model PrivateEndpointConnectionItem has a new parameter etag\n - Model PrivateEndpointConnectionItem has a new parameter id\n - Model ServiceSpecification has a new parameter metric_specifications\n\n## 9.0.0 (2021-04-19)\n\n**Features**\n\n - Model DeletedVaultProperties has a new parameter purge_protection_enabled\n - Model Operation has a new parameter is_data_action\n - Model Vault has a new parameter system_data\n - Model ManagedHsmProperties has a new parameter scheduled_purge_date\n - Model ManagedHsmProperties has a new parameter public_network_access\n - Model ManagedHsmProperties has a new parameter network_acls\n - Model ManagedHsmProperties has a new parameter private_endpoint_connections\n - Model VaultProperties has a new parameter provisioning_state\n - Model PrivateLinkServiceConnectionState has a new parameter actions_required\n - Model ManagedHsmResource has a new parameter system_data\n - Model ManagedHsm has a new parameter system_data\n - Model PrivateEndpointConnection has a new parameter etag\n - Added operation ManagedHsmsOperations.get_deleted\n - Added operation ManagedHsmsOperations.list_deleted\n - Added operation ManagedHsmsOperations.begin_purge_deleted\n - Added operation PrivateEndpointConnectionsOperations.list_by_resource\n - Added operation group SecretsOperations\n - Added operation group MHSMPrivateLinkResourcesOperations\n - Added operation group KeysOperations\n - Added operation group MHSMPrivateEndpointConnectionsOperations\n\n**Breaking changes**\n\n - Model PrivateLinkServiceConnectionState no longer has parameter action_required\n\n## 8.0.0 (2020-09-29)\n\n**Features**\n\n - Model ManagedHsmProperties has a new parameter hsm_uri\n\n**Breaking changes**\n\n - Model ManagedHsmProperties no longer has parameter hsm_pool_uri\n\n## 7.0.0 (2020-09-15)\n\n- Release as a stable version\n\n## 7.0.0b3 (2020-09-09)\n\n**Features**\n\n - Added operation group ManagedHsmsOperations\n\n## 7.0.0b2 (2020-07-21)\n\n**Bugfixes**\n - Use service api_version \"2015-11-01\" instead of \"2016-10-01\".\n\n## 7.0.0b1 (2020-06-17)\n\nThis is beta preview version.\nFor detailed changelog please refer to equivalent stable version 2.2.0 (https://pypi.org/project/azure-mgmt-keyvault/2.2.0/)\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 2.2.0 (2020-03-20)\n\n**Features**\n\n - Model VaultProperties has a new parameter enable_rbac_authorization\n - Model VaultProperties has a new parameter soft_delete_retention_in_days\n - Model VaultPatchProperties has a new parameter enable_rbac_authorization\n - Model VaultPatchProperties has a new parameter soft_delete_retention_in_days\n\n## 2.1.1 (2020-02-07)\n\n**Bugfixes**\n\n - Fixed multi-API client issues\n\n## 2.1.0 (2020-01-30)\n\n**Features**\n\n - Model VaultProperties has a new parameter private_endpoint_connections\n - Added operation group PrivateEndpointConnectionsOperations\n - Added operation group PrivateLinkResourcesOperations\n\n## 2.0.0 (2019-06-18)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if you were importing from the v20xx_yy_zz\nAPI folders. In summary, some modules were incorrectly\nvisible/importable and have been renamed. This fixed several issues\ncaused by usage of classes that were not supposed to be used in the\nfirst place.\n\n - KeyVaultManagementClient cannot be imported from\n `azure.mgmt.key_vault.v20xx_yy_zz.key_vault_management_client`\n anymore (import from `azure.mgmt.key_vault.v20xx_yy_zz` works\n like before)\n - KeyVaultManagementClientConfiguration import has been moved from\n `azure.mgmt.key_vault.v20xx_yy_zz.key_vault_management_client`\n to `azure.mgmt.key_vault.v20xx_yy_zz`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using\n `azure.mgmt.key_vault.v20xx_yy_zz.models.my_class` (import\n from `azure.mgmt.key_vault.v20xx_yy_zz.models` works like\n before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.key_vault.v20xx_yy_zz.operations.my_class_operations`\n (import from `azure.mgmt.key_vault.v20xx_yy_zz.operations`\n works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 1.1.0 (2018-08-07)\n\n - Adding support for multi-api and API profiles\n\n## 1.0.0 (2018-06-27)\n\n - Moving azure-mgmt-keyvault to stable API version 2018-02-14\n\n## 1.0.0b1 (2018-04-10)\n\n - Upgraded to autorest 3.0 generated code\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n## 1.0.0a2 (2018-03-28)\n\n - Upgrading to API version 2018-02-14-preview\n - Breaking change in vault create_or_update now returns a\n 'LROPoller' objects rather than the Vault, to allow callers to\n determine when the vault is ready to accept traffic. Callers should\n use the result() method to block until the vault is accessible.\n - Adding network_acls vault property for limiting network access to a\n vault\n - Adding managed storage account key backup, restore and soft delete\n support\n - Adding vault property enable_purge_protection for enhance\n protection against vault deletion\n\n## 0.40.0 (2017-06-06)\n\n - upgrading to API version 2016-10-01\n - adding keyvault management plane updates to enable the soft delete\n feature for a new or existing keyvault\n\n**Notes**\n\n - this contains a backwards breaking change removing the All value\n from KeyPermissions, SecretPermissions and CertificatePermissions\n\n## 0.31.0 (2017-04-19)\n\n**Bugfixes**\n\n - Fix possible deserialization error, but updating from\n list to list when applicable\n\n**Notes**\n\n - This wheel package is now built with the azure wheel extension\n\n## 0.30.1 (2016-12-15)\n\n - Fix list Vault by subscription method return type\n\n## 0.30.0 (2016-10-04)\n\n - Initial preview release (API Version 2016-10-02)\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2", + "typing-extensions >=4.3.0 ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/dd/49/ae15bb8c54ed90b7c9b06ea304221ec483d77002c9ff23781d26394938ea/azure_mgmt_loganalytics-13.0.0b4-py3-none-any.whl", + "archive_info": { + "hash": "sha256=1048c6ce66395e04d533ee466dd56470bd7f0a0a327310f091dfacb568930d40", + "hashes": { + "sha256": "1048c6ce66395e04d533ee466dd56470bd7f0a0a327310f091dfacb568930d40" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-loganalytics", + "version": "13.0.0b4", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Log Analytics Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Log Analytics Management Client Library.\nThis package has been tested with Python 3.6+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Log Analytics Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-loganalytics%2FREADME.png)\n\n\n# Release History\n\n## 13.0.0b4 (2022-04-08)\n\n**Fixes**\n\n - Reverted change about client name\n\n## 13.0.0b3 (2022-04-07)\n\n**Features**\n\n - Added operation group QueriesOperations\n - Added operation group QueryPacksOperations\n\n## 13.0.0b2 (2022-02-14)\n\n**Features**\n\n - Added operation TablesOperations.migrate\n\n## 13.0.0b1 (2022-01-18)\n\n**Features**\n\n - Added operation TablesOperations.begin_create_or_update\n - Added operation TablesOperations.begin_delete\n - Added operation TablesOperations.begin_update\n - Model Table has a new parameter archive_retention_in_days\n - Model Table has a new parameter last_plan_modified_date\n - Model Table has a new parameter plan\n - Model Table has a new parameter provisioning_state\n - Model Table has a new parameter restored_logs\n - Model Table has a new parameter result_statistics\n - Model Table has a new parameter schema\n - Model Table has a new parameter search_results\n - Model Table has a new parameter system_data\n - Model Table has a new parameter total_retention_in_days\n - Model Workspace has a new parameter default_data_collection_rule_resource_id\n - Model Workspace has a new parameter system_data\n - Model WorkspacePatch has a new parameter default_data_collection_rule_resource_id\n\n**Breaking changes**\n\n - Model Table no longer has parameter is_troubleshoot_enabled\n - Model Table no longer has parameter is_troubleshooting_allowed\n - Model Table no longer has parameter last_troubleshoot_date\n - Removed operation TablesOperations.create\n - Removed operation TablesOperations.update\n\n## 12.0.0 (2021-11-16)\n\n**Features**\n\n - Model Table has a new parameter is_troubleshooting_allowed\n - Model Table has a new parameter last_troubleshoot_date\n - Model Table has a new parameter is_troubleshoot_enabled\n - Added operation TablesOperations.create\n - Added operation ClustersOperations.begin_update\n\n**Breaking changes**\n\n - Removed operation ClustersOperations.update\n\n## 11.0.0 (2021-07-12)\n\n**Features**\n\n - Model ClusterPatch has a new parameter billing_type\n - Model Workspace has a new parameter features\n - Model WorkspacePatch has a new parameter features\n - Model WorkspaceFeatures has a new parameter disable_local_auth\n\n**Breaking changes**\n\n - Model Workspace no longer has parameter immediate_purge_data_on30_days\n - Model Workspace no longer has parameter enable_log_access_using_only_resource_permissions\n - Model Workspace no longer has parameter cluster_resource_id\n - Model Workspace no longer has parameter enable_data_export\n - Model WorkspacePatch no longer has parameter immediate_purge_data_on30_days\n - Model WorkspacePatch no longer has parameter enable_log_access_using_only_resource_permissions\n - Model WorkspacePatch no longer has parameter cluster_resource_id\n - Model WorkspacePatch no longer has parameter enable_data_export\n - Model CapacityReservationProperties no longer has parameter max_capacity\n\n## 10.0.0 (2021-05-13)\n\n**Features**\n\n - Model WorkspacePatch has a new parameter cluster_resource_id\n - Model WorkspacePatch has a new parameter immediate_purge_data_on30_days\n - Model WorkspacePatch has a new parameter enable_data_export\n - Model WorkspacePatch has a new parameter enable_log_access_using_only_resource_permissions\n - Model Workspace has a new parameter cluster_resource_id\n - Model Workspace has a new parameter immediate_purge_data_on30_days\n - Model Workspace has a new parameter enable_data_export\n - Model Workspace has a new parameter enable_log_access_using_only_resource_permissions\n\n**Breaking changes**\n\n - Model WorkspacePatch no longer has parameter features\n - Model Table no longer has parameter is_troubleshooting_allowed\n - Model Table no longer has parameter is_troubleshoot_enabled\n - Model Table no longer has parameter last_troubleshoot_date\n - Model WorkspaceSku no longer has parameter max_capacity_reservation_level\n - Model Workspace no longer has parameter features\n\n## 9.0.0 (2021-04-06)\n\n**Features**\n\n - Model WorkspacePatch has a new parameter created_date\n - Model WorkspacePatch has a new parameter features\n - Model WorkspacePatch has a new parameter modified_date\n - Model WorkspacePatch has a new parameter force_cmk_for_query\n - Model Cluster has a new parameter last_modified_date\n - Model Cluster has a new parameter billing_type\n - Model Cluster has a new parameter is_double_encryption_enabled\n - Model Cluster has a new parameter is_availability_zones_enabled\n - Model Cluster has a new parameter created_date\n - Model Cluster has a new parameter capacity_reservation_properties\n - Model Cluster has a new parameter associated_workspaces\n - Model Table has a new parameter is_troubleshooting_allowed\n - Model Table has a new parameter last_troubleshoot_date\n - Model Table has a new parameter is_troubleshoot_enabled\n - Model Identity has a new parameter user_assigned_identities\n - Model ClusterPatch has a new parameter identity\n - Model KeyVaultProperties has a new parameter key_rsa_size\n - Model Workspace has a new parameter created_date\n - Model Workspace has a new parameter features\n - Model Workspace has a new parameter modified_date\n - Model Workspace has a new parameter force_cmk_for_query\n\n**Breaking changes**\n\n - Model Cluster no longer has parameter next_link\n - Model ErrorResponse has a new signature\n\n## 8.0.0 (2020-12-25)\n\n**Breaking changes**\n\n - Change client name from OperationalInsightsManagementClient to LogAnalyticsManagementClient\n\n## 7.0.0 (2020-12-17)\n\n- GA release\n\n## 7.0.0b1 (2020-11-16)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n## 2.0.0(2020-11-09)\n\n**Breaking changes**\n\n - Model DataExport no longer has parameter all_tables\n\n## 1.0.0 (2020-08-31)\n\n**Features**\n\n - REST call api-version changes from 2020-03-01-preview to 2020-08-01\n - DataSourceType has new enum values\n\n## 0.7.0 (2020-07-09)\n\n**Features**\n\n - Model DataSource has a new parameter etag\n - Model SavedSearch has a new parameter etag\n\n**Breaking changes**\n\n - Model DataSource no longer has parameter e_tag\n - Model SavedSearch no longer has parameter e_tag\n\n## 0.6.0 (2020-05-28)\n\n**Features**\n\n - Model SavedSearch has a new parameter function_parameters\n - Model SavedSearch has a new parameter function_alias\n - Model WorkspacePatch has a new parameter workspace_capping\n - Model Workspace has a new parameter workspace_capping\n - Added operation group AvailableServiceTiersOperations\n - Added operation group TablesOperations\n - Added operation group DeletedWorkspacesOperations\n\n**Breaking changes**\n\n - Operation WorkspacesOperations.delete has a new signature\n - Removed operation WorkspacesOperations.available_service_tiers\n - Model WorkspaceSku has a new signature\n\n## 0.5.0 (2020-04-22)\n\n**Breaking changes**\n\n - Reverted client name back to LogAnalyticsManagementClient as previous change was not intentional\n\n## 0.4.0 (2020-04-20)\n\n**Features**\n\n - Model LinkedService has a new parameter provisioning_state\n - Added operation WorkspacesOperations.available_service_tiers\n - Added operation group ManagementGroupsOperations\n - Added operation group GatewaysOperations\n - Added operation group OperationStatusesOperations\n - Added operation group SchemaOperations\n - Added operation group WorkspacePurgeOperations\n - Added operation group UsagesOperations\n - Added operation group SharedKeysOperations\n - Added operation group StorageInsightConfigsOperations\n - Added operation group IntelligencePacksOperations\n\n**Breaking changes**\n\n - Removed operation WorkspacesOperations.list_usages\n - Removed operation WorkspacesOperations.get_shared_keys\n - Removed operation WorkspacesOperations.disable_intelligence_pack\n - Removed operation WorkspacesOperations.list_intelligence_packs\n - Removed operation WorkspacesOperations.list_management_groups\n - Removed operation WorkspacesOperations.enable_intelligence_pack\n - Removed operation group StorageInsightsOperations\n - Removed operation group OperationalInsightsManagementClientOperationsMixin\n\n## 0.3.0 (2020-04-08)\n\n**Features**\n\n - Model OperationDisplay has a new parameter description\n - Model LinkedService has a new parameter write_access_resource_id\n - Model Workspace has a new parameter public_network_access_for_ingestion\n - Model Workspace has a new parameter public_network_access_for_query\n - Model Workspace has a new parameter private_link_scoped_resources\n - Added operation group DataExportsOperations\n - Added operation group LinkedStorageAccountsOperations\n - Added operation group OperationalInsightsManagementClientOperationsMixin\n - Added operation group ClustersOperations\n\n**Breaking changes**\n\n - Parameter location of model Workspace is now required\n - Operation LinkedServicesOperations.create_or_update has a new signature\n - Operation SavedSearchesOperations.delete has a new signature\n - Operation SavedSearchesOperations.create_or_update has a new signature\n - Operation SavedSearchesOperations.get has a new signature\n - Operation LinkedServicesOperations.create_or_update has a new signature\n - Model ProxyResource no longer has parameter tags\n - Model SavedSearchesListResult no longer has parameter metadata\n - Model Resource no longer has parameter location\n - Model Resource no longer has parameter tags\n - Model Workspace no longer has parameter source\n - Model Workspace no longer has parameter portal_url\n - Removed operation WorkspacesOperations.purge\n - Removed operation WorkspacesOperations.get_search_results\n - Removed operation WorkspacesOperations.list_link_targets\n - Removed operation WorkspacesOperations.get_schema\n - Removed operation WorkspacesOperations.update_search_results\n\n**General Breaking Changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes. In summary, some modules were incorrectly\nvisible/importable and have been renamed. This fixed several issues\ncaused by usage of classes that were not supposed to be used in the\nfirst place.\n\n - LogAnalyticsManagementClient cannot be imported from\n `azure.mgmt.loganalytics.log_analytics_management_client` anymore\n (import OperationalInsightsManagementClient from\n `azure.mgmt.loganalytics` works like before)\n - LogAnalyticsManagementClientConfiguration import has been moved from\n `azure.mgmt.loganalytics.log_analytics_management_client` to `azure.mgmt.loganalytics`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.loganalytics.models.my_class` (import from\n `azure.mgmt.loganalytics.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.loganalytics.operations.my_class_operations` (import from\n `azure.mgmt.loganalytics.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.2.0 (2018-05-29)\n\n**Features**\n\n - Model IntelligencePack has a new parameter display_name\n - Model SavedSearch has a new parameter name\n - Model SavedSearch has a new parameter type\n - Added operation WorkspacesOperations.purge\n - Added operation WorkspacesOperations.update\n - Added operation group Operations\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**Breaking changes**\n\n - Model SavedSearch no longer has parameter etag (replaced by e_tag)\n - Model SearchMetadata no longer has parameter etag (replaced by\n e_tag)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n## 0.1.0 (2017-11-01)\n\n - Initial Release\n\nThank you to jmalobicky for his help testing the package.\n\n\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "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", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.0)" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e1/4b/463f621aa8b6cc1eaa0342d4316bae941b61f93de866332f120faf5677f7/azure_mgmt_marketplaceordering-1.1.0-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=dbce4ea08ead3fce6c663a0b448f7e34e92ce4cdb23393aead0a65f082cb14f0", + "hashes": { + "sha256": "dbce4ea08ead3fce6c663a0b448f7e34e92ce4cdb23393aead0a65f082cb14f0" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-marketplaceordering", + "version": "1.1.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Market Place Ordering Client Library for Python", + "description": "## Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Market Place Ordering Client Library.\n\nAzure Resource Manager (ARM) is the next generation of management APIs\nthat replace the old Azure Service Management (ASM).\n\nThis package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7.\n\nFor the older Azure Service Management (ASM) libraries, see\n[azure-servicemanagement-legacy](https://pypi.python.org/pypi/azure-servicemanagement-legacy)\nlibrary.\n\nFor a more complete set of Azure libraries, see the\n[azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Market Place Ordering Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in\nthe [Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project.\n\n![image](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-marketplaceordering%2FREADME.png)\n\n\n# Release History\n\n## 1.1.0 (2021-03-17)\n\n**Features**\n\n - Model AgreementTerms has a new parameter system_data\n - Model AgreementTerms has a new parameter marketplace_terms_link\n\n## 1.0.0 (2020-12-22)\n\n- GA release\n\n## 1.0.0b1 (2020-11-04)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.2.1 (2019-03-22)\n\n**Bug Fixes**\n\n - Fixed a bug in marketplace_agreements.sign\n - Fixed a bug in marketplace_agreements.cancel\n\n## 0.2.0 (2019-03-11)\n\n**Features**\n\n - Added operation MarketplaceAgreementsOperations.sign\n - Added operation MarketplaceAgreementsOperations.list\n - Added operation MarketplaceAgreementsOperations.cancel\n - Added operation MarketplaceAgreementsOperations.get_agreement\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n## 0.1.0 (2018-01-22)\n\n - Initial Release\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.5.0)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.2.0)", + "azure-mgmt-nspkg ; python_version<'3.0'" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/cd/ef/388024c77b4db3566024d6fb9ab4ef5e160d428660df0ff60f1cc41d57e4/azure_mgmt_policyinsights-1.1.0b4-py3-none-any.whl", + "archive_info": { + "hash": "sha256=5a7f6c2f6eebe6cd694dcb89c396ab9c3f9dd6a192fe496b2ed2a966408dbca8", + "hashes": { + "sha256": "5a7f6c2f6eebe6cd694dcb89c396ab9c3f9dd6a192fe496b2ed2a966408dbca8" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-policyinsights", + "version": "1.1.0b4", + "summary": "Microsoft Azure Policy Insights Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Policy Insights Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-policyinsights\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.policyinsights import PolicyInsightsClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = PolicyInsightsClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at [Policy Insights](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com and [Samples Repo](https://github.com/Azure-Samples/azure-samples-python-management/tree/main/samples/policyinsights)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-policyinsights%2FREADME.png)\n\n\n# Release History\n\n## 1.1.0b4 (2022-12-29)\n\n### Features Added\n\n - Added operation group ComponentPolicyStatesOperations\n - Model Operation has a new parameter is_data_action\n\n## 1.1.0b3 (2022-10-10)\n\n### Features Added\n\n - Added operation PolicyRestrictionsOperations.check_at_management_group_scope\n - Model Attestation has a new parameter assessment_date\n - Model Attestation has a new parameter metadata\n\n### Breaking Changes\n\n - Operation PolicyEventsOperations.list_query_results_for_management_group has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_policy_definition has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_policy_set_definition has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_resource has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_resource_group has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_resource_group_level_policy_assignment has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_subscription has a new parameter policy_events_resource\n - Operation PolicyEventsOperations.list_query_results_for_subscription_level_policy_assignment has a new parameter policy_events_resource\n - Operation PolicyStatesOperations.summarize_for_management_group has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_policy_definition has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_policy_set_definition has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_resource has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_resource_group has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_resource_group_level_policy_assignment has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_subscription has a new parameter policy_states_summary_resource\n - Operation PolicyStatesOperations.summarize_for_subscription_level_policy_assignment has a new parameter policy_states_summary_resource\n - Operation PolicyTrackedResourcesOperations.list_query_results_for_management_group has a new parameter policy_tracked_resources_resource\n - Operation PolicyTrackedResourcesOperations.list_query_results_for_resource has a new parameter policy_tracked_resources_resource\n - Operation PolicyTrackedResourcesOperations.list_query_results_for_resource_group has a new parameter policy_tracked_resources_resource\n - Operation PolicyTrackedResourcesOperations.list_query_results_for_subscription has a new parameter policy_tracked_resources_resource\n\n## 1.1.0b2 (2021-12-04)\n\n**Features**\n\n - Model Remediation has a new parameter failure_threshold\n - Model Remediation has a new parameter parallel_deployments\n - Model Remediation has a new parameter status_message\n - Model Remediation has a new parameter system_data\n - Model Remediation has a new parameter correlation_id\n - Model Remediation has a new parameter resource_count\n\n## 1.1.0b1 (2021-08-23)\n\n**Features**\n\n - Added operation group AttestationsOperations\n\n## 1.0.0 (2020-12-22)\n\n**Features**\n\n - Model ExpressionEvaluationDetails has a new parameter expression_kind\n - Added operation group PolicyRestrictionsOperations\n\n## 1.0.0b1 (2020-10-26)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.5.0 (2020-03-20)\n\n**Features**\n\n - Model PolicyState has a new parameter policy_set_definition_version\n - Model PolicyState has a new parameter policy_definition_version\n - Model PolicyState has a new parameter policy_assignment_version\n - Added operation PolicyStatesOperations.trigger_subscription_evaluation\n - Added operation PolicyStatesOperations.trigger_resource_group_evaluation\n\n## 0.4.0 (2019-12-31)\n\n**Features**\n\n - Model PolicyDefinitionSummary has a new parameter\n policy_definition_group_names\n - Model Remediation has a new parameter resource_discovery_mode\n - Model PolicyAssignmentSummary has a new parameter policy_groups\n - Model PolicyState has a new parameter\n policy_definition_group_names\n - Model SummaryResults has a new parameter policy_group_details\n - Model SummaryResults has a new parameter policy_details\n - Model SummaryResults has a new parameter resource_details\n - Added operation group PolicyMetadataOperations\n\n**Breaking changes**\n\n - Removed operation PolicyStatesOperations.get_metadata\n\n**General Breaking Changes**\n\nThis version uses a next-generation code generator that might introduce\nbreaking changes if from some import. In summary, some modules were\nincorrectly visible/importable and have been renamed. This fixed several\nissues caused by usage of classes that were not supposed to be used in\nthe first place. PolicyInsightsClient cannot be imported from\nazure.mgmt.policyinsights.policy_insights_client anymore (import from\nazure.mgmt.policyinsights works like before)\nPolicyInsightsClientConfiguration import has been moved from\nazure.mgmt.policyinsights.policy_insights_client to\nazure.mgmt.policyinsights A model MyClass from a \"models\" sub-module\ncannot be imported anymore using\nazure.mgmt.policyinsights.models.my_class (import from\nazure.mgmt.policyinsights.models works like before) An operation class\nMyClassOperations from an operations sub-module cannot be imported\nanymore using azure.mgmt.policyinsights.operations.my_class_operations\n(import from azure.mgmt.policyinsights.operations works like before)\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.3.1 (2019-04-16)\n\n**Bugfixes**\n\n - Fix expressionValues and targetValues type\n\n## 0.3.0 (2019-03-12)\n\n**Features**\n\n - Model QueryOptions has a new parameter expand\n - Model PolicyState has a new parameter policy_evaluation_details\n - Model PolicyState has a new parameter compliance_state\n\n## 0.2.0 (2019-01-02)\n\n**Features**\n\n - Added operation group RemediationsOperations\n - Added operation group PolicyTrackedResourcesOperations\n\n## 0.1.0 (2018-05-04)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.7.1)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.2)", + "typing-extensions (>=4.3.0) ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/73/26/1e0aa521832b6833e6ed81481bc9044a5812418deeaa86e99e6850e234f4/azure_mgmt_resource-23.1.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=fcaa4eca357d216f285b04e20b7f7bfaefda738ba6d30d956193090d3e325248", + "hashes": { + "sha256": "fcaa4eca357d216f285b04e20b7f7bfaefda738ba6d30d956193090d3e325248" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-resource", + "version": "23.1.1", + "summary": "Microsoft Azure Resource Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Resource Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-resource\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.resource import ResourceManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ResourceManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Resource Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 23.1.1 (2024-05-08)\n\n### Other Changes\n\n - Remove `2023-04-01` for PolicyClient to avoid breaking change caused by wrong swagger.\n\n## 23.1.0 (2024-05-06)\n\n### Features Added\n\n - Added operation group DeploymentStacksOperations\n - Added operation group PolicyDefinitionVersionsOperations\n - Added operation group PolicySetDefinitionVersionsOperations\n - Model ContainerConfiguration has a new parameter subnet_ids\n - Model Location has a new parameter availability_zone_mappings\n - Model LocationMetadata has a new parameter geography\n - Model Operation has a new parameter action_type\n - Model Operation has a new parameter is_data_action\n - Model Operation has a new parameter origin\n - Model OperationAutoGenerated has a new parameter action_type\n - Model OperationAutoGenerated has a new parameter is_data_action\n - Model OperationAutoGenerated has a new parameter origin\n - Model OperationDisplayAutoGenerated has a new parameter description\n - Model ParameterDefinitionsValue has a new parameter schema\n - Model PolicyDefinition has a new parameter version\n - Model PolicyDefinition has a new parameter versions\n - Model PolicySetDefinition has a new parameter version\n - Model PolicySetDefinition has a new parameter versions\n\n## 23.1.0b2 (2023-06-16)\n\n### Breaking Changes\n\n - Parameter mode of model DenySettings is now required\n - Removed `PolicyExemption` from default api version folder since it is only defined in preview api version folder. Users can import it by `PolicyClient(...).models(api_version=\"2022-07-01-preview\").PolicyExemption`\n\n## 23.1.0b1 (2023-05-19)\n\n### Features Added\n\n - Added operation group DeploymentStacksOperations\n - Model Location has a new parameter availability_zone_mappings\n - Model LocationMetadata has a new parameter geography\n - Model Operation has a new parameter action_type\n - Model Operation has a new parameter is_data_action\n - Model Operation has a new parameter origin\n - Model OperationAutoGenerated has a new parameter action_type\n - Model OperationAutoGenerated has a new parameter is_data_action\n - Model OperationAutoGenerated has a new parameter origin\n - Model OperationDisplayAutoGenerated has a new parameter description\n\n## 23.0.1 (2023-05-17)\n\n### Other Changes\n\n - Fix README.md\n\n## 23.0.0 (2023-03-27)\n\n### Features Added\n\n - Added operation ApplicationsOperations.begin_refresh_permissions\n - Added operation PolicyExemptionsOperations.update\n - Added operation group JitRequestsOperations\n - Model Application has a new parameter artifacts\n - Model Application has a new parameter authorizations\n - Model Application has a new parameter billing_details\n - Model Application has a new parameter created_by\n - Model Application has a new parameter customer_support\n - Model Application has a new parameter jit_access_policy\n - Model Application has a new parameter management_mode\n - Model Application has a new parameter publisher_tenant_id\n - Model Application has a new parameter support_urls\n - Model Application has a new parameter updated_by\n - Model ApplicationDefinition has a new parameter deployment_policy\n - Model ApplicationDefinition has a new parameter locking_policy\n - Model ApplicationDefinition has a new parameter management_policy\n - Model ApplicationDefinition has a new parameter notification_policy\n - Model ApplicationDefinition has a new parameter policies\n - Model ApplicationPatchable has a new parameter artifacts\n - Model ApplicationPatchable has a new parameter authorizations\n - Model ApplicationPatchable has a new parameter billing_details\n - Model ApplicationPatchable has a new parameter created_by\n - Model ApplicationPatchable has a new parameter customer_support\n - Model ApplicationPatchable has a new parameter jit_access_policy\n - Model ApplicationPatchable has a new parameter management_mode\n - Model ApplicationPatchable has a new parameter publisher_tenant_id\n - Model ApplicationPatchable has a new parameter support_urls\n - Model ApplicationPatchable has a new parameter updated_by\n - Model PolicyAssignment has a new parameter overrides\n - Model PolicyAssignment has a new parameter resource_selectors\n - Model PolicyAssignmentUpdate has a new parameter overrides\n - Model PolicyAssignmentUpdate has a new parameter resource_selectors\n - Model PolicyExemption has a new parameter assignment_scope_validation\n - Model PolicyExemption has a new parameter resource_selectors\n\n### Breaking Changes\n\n - Model ApplicationDefinition no longer has parameter identity\n - Parameter name of model ApplicationArtifact is now required\n - Parameter type of model ApplicationArtifact is now required\n - Parameter uri of model ApplicationArtifact is now required\n\n## 23.0.0b1 (2023-02-22)\n\n### Features Added\n\n - Added operation ApplicationsOperations.begin_refresh_permissions\n - Added operation group JitRequestsOperations\n - Model Application has a new parameter artifacts\n - Model Application has a new parameter authorizations\n - Model Application has a new parameter billing_details\n - Model Application has a new parameter created_by\n - Model Application has a new parameter customer_support\n - Model Application has a new parameter jit_access_policy\n - Model Application has a new parameter management_mode\n - Model Application has a new parameter publisher_tenant_id\n - Model Application has a new parameter support_urls\n - Model Application has a new parameter updated_by\n - Model ApplicationDefinition has a new parameter deployment_policy\n - Model ApplicationDefinition has a new parameter locking_policy\n - Model ApplicationDefinition has a new parameter management_policy\n - Model ApplicationDefinition has a new parameter notification_policy\n - Model ApplicationDefinition has a new parameter policies\n - Model ApplicationPatchable has a new parameter artifacts\n - Model ApplicationPatchable has a new parameter authorizations\n - Model ApplicationPatchable has a new parameter billing_details\n - Model ApplicationPatchable has a new parameter created_by\n - Model ApplicationPatchable has a new parameter customer_support\n - Model ApplicationPatchable has a new parameter jit_access_policy\n - Model ApplicationPatchable has a new parameter management_mode\n - Model ApplicationPatchable has a new parameter publisher_tenant_id\n - Model ApplicationPatchable has a new parameter support_urls\n - Model ApplicationPatchable has a new parameter updated_by\n\n### Breaking Changes\n\n - Model ApplicationDefinition no longer has parameter identity\n - Parameter name of model ApplicationArtifact is now required\n - Parameter type of model ApplicationArtifact is now required\n - Parameter uri of model ApplicationArtifact is now required\n\n## 22.1.0b1 (2023-02-16)\n\n### Other Changes\n\n - Added generated samples in github repo\n - Drop support for python<3.7.0\n\n## 22.0.0 (2022-12-15)\n\n### Breaking Changes\n\n - Renamed operation TagsOperations.create_or_update_at_scope to TagsOperations.begin_create_or_update_at_scope\n - Renamed operation TagsOperations.delete_at_scope to TagsOperations.begin_delete_at_scope\n - Renamed operation TagsOperations.update_at_scope to TagsOperations.begin_update_at_scope\n\n## 21.2.1 (2022-10-20)\n\n### Bugs Fixed\n\n - Fixed urlencode in `next_link` of paging operation\n\n## 21.2.0 (2022-10-10)\n\n### Features Added\n\n - Added operation group VariableValuesOperations\n - Added operation group VariablesOperations\n\n## 21.1.0 (2022-05-05)\n\n**Features**\n\n - GA `azure.mgmt.resource.changes`\n\n\n## 21.1.0b1 (2022-04-19)\n\n**Features**\n\n - Added operation TemplateSpecVersionsOperations.get_built_in\n - Added operation TemplateSpecVersionsOperations.list_built_ins\n - Added operation TemplateSpecsOperations.get_built_in\n - Added operation TemplateSpecsOperations.list_built_ins\n - Added operation group ChangesOperations\n - Combined operation files into one.\n\n**Fixes**\n\n - Fixed duplicated query parameters in pageable operation(for more details, see https://github.com/Azure/azure-sdk-for-python/issues/23828)\n\n## 21.0.0 (2022-03-22)\n\n**Features**\n\n - Added operation PrivateLinkAssociationOperations.list\n - Added operation ResourceManagementPrivateLinkOperations.list_by_resource_group\n\n**Breaking changes**\n\n - Operation PrivateLinkAssociationOperations.get has a new signature\n\n## 20.1.0 (2022-01-25)\n\n**Features**\n\n - Added operation SubscriptionsOperations.check_zone_peers\n - Added operation group PrivateLinkAssociationOperations\n - Added operation group ResourceManagementPrivateLinkOperations\n - Model ProviderResourceType has a new parameter zone_mappings\n\n## 20.0.0 (2021-09-03)\n\n**Features**\n\n - Model PolicyAssignment has a new parameter system_data\n - Model PolicyDefinition has a new parameter system_data\n - Model Location has a new parameter type\n - Model PolicySetDefinition has a new parameter system_data\n - Model LocationMetadata has a new parameter home_location\n - Model TenantIdDescription has a new parameter tenant_branding_logo_url\n - Model TenantIdDescription has a new parameter tenant_type\n - Model TenantIdDescription has a new parameter default_domain\n - Added operation PolicyAssignmentsOperations.update_by_id\n - Added operation PolicyAssignmentsOperations.update\n\n**Breaking changes**\n\n - Operation ProvidersOperations.list_at_tenant_scope has a new signature\n - Operation ProvidersOperations.list has a new signature\n - Operation SubscriptionsOperations.list_locations has a new signature\n\n## 19.0.0 (2021-07-19)\n\n**Breaking changes**\n\n - Operation SubscriptionFeatureRegistrationsOperations.create_or_update has a new signature\n - Operation SubscriptionFeatureRegistrationsOperations.delete has a new signature\n - Operation SubscriptionFeatureRegistrationsOperations.get has a new signature\n - Operation SubscriptionFeatureRegistrationsOperations.list_by_subscription has a new signature\n\n## 18.1.0 (2021-07-13)\n\n**Features**\n\n - Added operation group SubscriptionFeatureRegistrationsOperations\n\n## 18.0.0 (2021-05-19)\n\n**Breaking changes**\n\n - Operation ResourceGroupsOperations.begin_delete has a new signature\n\n## 17.0.0 (2021-05-13)\n\n**Features**\n\n - Model Provider has a new parameter provider_authorization_consent_state\n - Model TemplateSpec has a new parameter metadata\n - Model GenericResourceExpanded has a new parameter extended_location\n - Model Resource has a new parameter extended_location\n - Model TemplateSpecVersion has a new parameter ui_form_definition\n - Model TemplateSpecVersion has a new parameter metadata\n - Model TemplateSpecVersion has a new parameter linked_templates\n - Model TemplateSpecVersion has a new parameter main_template\n - Model WhatIfChange has a new parameter unsupported_reason\n - Model GenericResource has a new parameter extended_location\n - Added operation ProvidersOperations.provider_permissions\n\n**Breaking changes**\n\n - Operation ProvidersOperations.register has a new signature\n - Model TemplateSpecVersion no longer has parameter template\n - Model TemplateSpecVersion no longer has parameter artifacts\n\n## 16.1.0 (2021-04-16)\n\n**Features**\n\n - Model ManagedServiceIdentity has a new parameter tenant_id\n\n## 16.0.0 (2021-02-26)\n\n**Features**\n\n - Model ParameterDefinitionsValueMetadata has a new parameter strong_type\n - Model ParameterDefinitionsValueMetadata has a new parameter assign_permissions\n - Model ProviderResourceType has a new parameter location_mappings\n - Model DeploymentProperties has a new parameter expression_evaluation_options\n - Model PolicyAssignment has a new parameter non_compliance_messages\n - Model TemplateLink has a new parameter query_string\n - Model TemplateSpec has a new parameter versions\n - Model DeploymentWhatIfProperties has a new parameter expression_evaluation_options\n - Added operation ApplicationDefinitionsOperations.get_by_id\n - Added operation ApplicationDefinitionsOperations.begin_create_or_update_by_id\n - Added operation ApplicationDefinitionsOperations.begin_delete_by_id\n - Added operation ProvidersOperations.register_at_management_group_scope\n - Added operation PolicySetDefinitionsOperations.list_by_management_group\n - Added operation PolicyDefinitionsOperations.list_by_management_group\n - Added operation group ProviderResourceTypesOperations\n - Added operation group DataPolicyManifestsOperations\n - Added operation group ApplicationClientOperationsMixin\n - Added operation group PolicyExemptionsOperations\n\n**Breaking changes**\n\n - Operation PolicyAssignmentsOperations.list has a new signature\n - Operation PolicyAssignmentsOperations.list_for_management_group has a new signature\n - Operation PolicyAssignmentsOperations.list_for_resource has a new signature\n - Operation PolicyAssignmentsOperations.list_for_resource_group has a new signature\n - Operation TemplateSpecsOperations.get has a new signature\n - Operation TemplateSpecsOperations.list_by_resource_group has a new signature\n - Operation TemplateSpecsOperations.list_by_subscription has a new signature\n - Model PolicyAssignment no longer has parameter sku\n - Operation PolicySetDefinitionsOperations.list_built_in has a new signature\n - Operation PolicySetDefinitionsOperations.list has a new signature\n - Operation PolicyDefinitionsOperations.list_built_in has a new signature\n - Operation PolicyDefinitionsOperations.list has a new signature\n\n## 15.0.0 (2020-09-17)\n\n**Features**\n\n - Model ProviderResourceType has a new parameter default_api_version\n - Model ProviderResourceType has a new parameter api_profiles\n - Model AzureResourceBase has a new parameter system_data\n - Model AliasPath has a new parameter metadata\n - Model TemplateLink has a new parameter id\n - Model TemplateLink has a new parameter relative_path\n - Model Alias has a new parameter default_metadata\n - Added operation DeploymentsOperations.begin_what_if_at_management_group_scope\n - Added operation DeploymentsOperations.begin_what_if_at_tenant_scope\n - Added operation group TemplateSpecsOperations\n - Added operation group TemplateSpecVersionsOperations\n - Added operation group SubscriptionClientOperationsMixin\n\n## 15.0.0b1 (2020-06-17)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n# 10.0.0 (2020-06-02)\n\n**Features**\n\n - Model AzurePowerShellScript has a new parameter storage_account_settings\n - Model DeploymentOperationProperties has a new parameter provisioning_operation\n - Model AzureCliScript has a new parameter storage_account_settings\n\n**Breaking changes**\n\n - Model AliasPathType no longer has parameter pattern\n\n## 9.0.0 (2020-03-31)\n\n**Features**\n\n - Model Location has a new parameter metadata\n - Model Location has a new parameter regional_display_name\n - Model Deployment has a new parameter tags\n - Model AliasPathType has a new parameter pattern\n - Model ScopedDeployment has a new parameter tags\n - Model DeploymentPropertiesExtended has a new parameter template_hash\n - Model DeploymentPropertiesExtended has a new parameter validated_resources\n - Model DeploymentPropertiesExtended has a new parameter error\n - Model DeploymentPropertiesExtended has a new parameter output_resources\n - Model DeploymentExtended has a new parameter tags\n - Model Subscription has a new parameter tags\n - Added operation FeaturesOperations.unregister\n - Added operation TagsOperations.get_at_scope\n - Added operation TagsOperations.update_at_scope\n - Added operation TagsOperations.delete_at_scope\n - Added operation TagsOperations.create_or_update_at_scope\n - Added operation group DeploymentScriptsOperations\n\n**Breaking changes**\n\n - Model Location no longer has parameter latitude\n - Model Location no longer has parameter longitude\n - Model DeploymentPropertiesExtended no longer has parameter template\n - Model TagsResource no longer has parameter tags\n - Model TagsResource no longer has parameter location\n - Operation DeploymentsOperations.validate_at_management_group_scope has a new signature\n - Operation DeploymentsOperations.validate_at_subscription_scope has a new signature\n - Operation DeploymentsOperations.create_or_update_at_subscription_scope has a new signature\n - Operation DeploymentsOperations.create_or_update_at_tenant_scope has a new signature\n - Operation DeploymentsOperations.create_or_update_at_scope has a new signature\n - Operation DeploymentsOperations.validate has a new signature\n - Operation DeploymentsOperations.create_or_update has a new signature\n - Operation DeploymentsOperations.validate_at_scope has a new signature\n - Operation DeploymentsOperations.validate_at_tenant_scope has a new signature\n - Operation DeploymentsOperations.create_or_update_at_management_group_scope has a new signature\n - Model TenantIdDescription has a new signature\n - Removed operation TagsOperations.resource_get\n - Removed operation TagsOperations.resource_delete\n - Removed operation TagsOperations.resource_create\n - Removed operation TagsOperations.resource_update\n\n## 8.0.1 (2020-02-04)\n\n**Bugfixes**\n\n- Added missing API versions\n\n## 8.0.0 (2020-01-24)\n\n**Features**\n\n- Added operation PolicyAssignmentsOperations.list_for_management_group\n\n**Breaking changes**\n\n- Operation DeploymentsOperations.create_or_update_at_tenant_scope has a new signature\n- Operation DeploymentsOperations.validate_at_tenant_scope has a new signature\n- Operation DeploymentsOperations.validate_at_management_group_scope has a new signature\n- Operation DeploymentsOperations.create_or_update_at_management_group_scope has a new signature\n\n## 7.0.0 (2019-12-07)\n\n**Features**\n\n - Model TenantIdDescription has a new parameter display_name\n - Model TenantIdDescription has a new parameter domains\n - Model Application has a new parameter ui_definition_uri\n - Model ApplicationPatchable has a new parameter ui_definition_uri\n\n**Breaking changes**\n\n - Operation\n DeploymentsOperations.create_or_update_at_tenant_scope has a\n new signature\n - Operation\n DeploymentsOperations.create_or_update_at_management_group_scope\n has a new signature\n - Operation\n DeploymentsOperations.validate_at_management_group_scope has a\n new signature\n - Operation DeploymentsOperations.validate_at_tenant_scope has a\n new signature\n - Model PolicySetDefinition no longer has parameter\n policy_definition_groups\n - Model Subscription no longer has parameter managed_by_tenants\n - Model DeploymentValidateResult no longer has parameter error\n - Removed operation DeploymentsOperations.what_if\n - Removed operation\n DeploymentsOperations.what_if_at_subscription_scope\n - Model PolicyDefinitionReference has a new signature\n\n## 6.0.0 (2019-11-01)\n\n**Features**\n\n - Model PolicySetDefinition has a new parameter\n policy_definition_groups\n\n**Breaking changes**\n\n - Operation DeploymentsOperations.validate_at_tenant_scope has a\n new signature\n - Operation\n DeploymentsOperations.create_or_update_at_management_group_scope\n has a new signature\n - Operation\n DeploymentsOperations.validate_at_management_group_scope has a\n new signature\n - Operation\n DeploymentsOperations.create_or_update_at_tenant_scope has a\n new signature\n - Model PolicyDefinitionReference has a new signature\n\n## 5.1.0 (2019-10-04)\n\n**Features**\n\n - Added operation DeploymentsOperations.what_if\n - Added operation\n DeploymentsOperations.what_if_at_subscription_scope\n\n## 5.0.0 (2019-09-22)\n\n**Features**\n\n - Model DeploymentValidateResult has a new parameter error\n - Model Subscription has a new parameter managed_by_tenants\n\n**Breaking changes**\n\n - Model Application no longer has parameter ui_definition_uri\n - Model ApplicationPatchable no longer has parameter\n ui_definition_uri\n - Model TenantIdDescription no longer has parameter display_name\n - Model TenantIdDescription no longer has parameter domains\n\n## 4.0.0 (2019-09-03)\n\n**Features**\n\n - Model PolicyAssignment has a new parameter enforcement_mode\n - Added operation DeploymentOperations.get_at_scope\n - Added operation DeploymentOperations.list_at_tenant_scope\n - Added operation DeploymentOperations.get_at_tenant_scope\n - Added operation DeploymentOperations.list_at_scope\n - Added operation\n DeploymentsOperations.create_or_update_at_tenant_scope\n - Added operation DeploymentsOperations.list_at_tenant_scope\n - Added operation DeploymentsOperations.delete_at_scope\n - Added operation DeploymentsOperations.cancel_at_tenant_scope\n - Added operation DeploymentsOperations.list_at_scope\n - Added operation DeploymentsOperations.get_at_scope\n - Added operation\n DeploymentsOperations.export_template_at_tenant_scope\n - Added operation DeploymentsOperations.validate_at_scope\n - Added operation DeploymentsOperations.delete_at_tenant_scope\n - Added operation DeploymentsOperations.export_template_at_scope\n - Added operation DeploymentsOperations.validate_at_tenant_scope\n - Added operation DeploymentsOperations.create_or_update_at_scope\n - Added operation\n DeploymentsOperations.check_existence_at_tenant_scope\n - Added operation DeploymentsOperations.check_existence_at_scope\n - Added operation DeploymentsOperations.cancel_at_scope\n - Added operation DeploymentsOperations.get_at_tenant_scope\n - Added operation DeploymentsOperations.calculate_template_hash\n - Added operation ProvidersOperations.list_at_tenant_scope\n - Added operation ProvidersOperations.get_at_tenant_scope\n\n**Breaking changes**\n\n - Model DeploymentValidateResult no longer has parameter error\n - Model ErrorResponse has a new signature\n\n## 3.1.0 (2019-07-20)\n\n**Features**\n\n - Model TenantIdDescription has a new parameter domains\n - Model TenantIdDescription has a new parameter display_name\n\n## 3.0.0 (2019-06-13)\n\n**Features**\n\n - Model Provider has a new parameter registration_policy\n - Model ProviderResourceType has a new parameter capabilities\n - Model DeploymentOperationProperties has a new parameter duration\n - Model DeploymentPropertiesExtended has a new parameter duration\n - Added operation\n DeploymentOperations.get_at_management_group_scope\n - Added operation\n DeploymentOperations.list_at_management_group_scope\n - Added operation\n DeploymentsOperations.export_template_at_management_group_scope\n - Added operation\n DeploymentsOperations.create_or_update_at_management_group_scope\n - Added operation\n DeploymentsOperations.list_at_management_group_scope\n - Added operation\n DeploymentsOperations.get_at_management_group_scope\n - Added operation\n DeploymentsOperations.check_existence_at_management_group_scope\n - Added operation\n DeploymentsOperations.cancel_at_management_group_scope\n - Added operation\n DeploymentsOperations.delete_at_management_group_scope\n - Added operation\n DeploymentsOperations.validate_at_management_group_scope\n - Policy default API version is now 2018-05-01\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if you were importing from the v20xx_yy_zz\nAPI folders. In summary, some modules were incorrectly\nvisible/importable and have been renamed. This fixed several issues\ncaused by usage of classes that were not supposed to be used in the\nfirst place.\n\nThe following applies for all client and namespaces, we take\nResourceManagementClient and \"resources\" as example: -\nResourceManagementClient cannot be imported from\n`azure.mgmt.resource.resources.v20xx_yy_zz.resource_management_client`\nanymore (import from `azure.mgmt.resource.resources.v20xx_yy_zz`\nworks like before) - ResourceManagementClientConfiguration import has\nbeen moved from\n`azure.mgmt.resource.resources.v20xx_yy_zz.resource_management_client`\nto `azure.mgmt.resource.resources.v20xx_yy_zz` - A model `MyClass`\nfrom a \"models\" sub-module cannot be imported anymore using\n`azure.mgmt.resource.resources.v20xx_yy_zz.models.my_class` (import\nfrom `azure.mgmt.resource.resources.v20xx_yy_zz.models` works like\nbefore) - An operation class `MyClassOperations` from an\n`operations` sub-module cannot be imported anymore using\n`azure.mgmt.resource.resources.v20xx_yy_zz.operations.my_class_operations`\n(import from `azure.mgmt.resource.resources.v20xx_yy_zz.operations`\nworks like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 2.2.0 (2019-05-23)\n\n**Features on Subscriptions**\n\n - tenant_id is now returned part of the subscription information\n\n**Features on Locks**\n\n - Add list_by_scope\n\n## 2.1.0 (2019-02-01)\n\n**Features on Policy**\n\n - New API version for Policy 2018-05-01\n - Model PolicyAssignment has a new parameter location\n - Model PolicyAssignment has a new parameter identity\n\n## 2.0.0 (2018-07-20)\n\n**Features**\n\n - Identity class has now a user_assigned_identities attribute\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n## 2.0.0rc2 (2018-06-13)\n\n**Features on Policy**\n\n - New API version for Policy 2018-03-01. This a merge of\n 2017-06-01-preview and 2016-12-01 and has no external API breaking.\n\n**Features on Resources**\n\n - Resources new Api Version 2018-05-01\n - Model Deployment has a new parameter location\n - Model DeploymentExtended has a new parameter location\n - Added operation\n DeploymentsOperations.export_template_at_subscription_scope\n - Added operation DeploymentsOperations.get_at_subscription_scope\n - Added operation\n DeploymentsOperations.cancel_at_subscription_scope\n - Added operation\n DeploymentsOperations.delete_at_subscription_scope\n - Added operation\n DeploymentsOperations.create_or_update_at_subscription_scope\n - Added operation\n DeploymentsOperations.validate_at_subscription_scope\n - Added operation\n DeploymentsOperations.check_existence_at_subscription_scope\n - Added operation DeploymentsOperations.list_at_subscription_scope\n - Added operation DeploymentOperations.get_at_subscription_scope\n - Added operation DeploymentOperations.list_at_subscription_scope\n\n**Breaking changes on Resources**\n\n - Operation DeploymentsOperations.create_or_update lost its ignored\n \"location\" parameter.\n - Operation DeploymentsOperations.validate lost its ignored \"location\"\n parameter.\n\n**Common features**\n\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n## 2.0.0rc1 (2018-04-23)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**Features**\n\n - Add new ApiVersion 2018-02-01 (new default):\n - Add on_error_deployment\n - Support MSI in generic ARM resources\n - All clients now support Azure profiles.\n - Add generic resources update (2017-05-10 and 2018-02-01)\n - Add version to Plan\n\n**Bugfixes**\n\n - Compatibility of the sdist with wheel 0.31.0\n\n## 1.2.2 (2017-10-17)\n\n**Bug fixes**\n\n - Unicode strings are valid \"subscription_id\" in Python 2.7\n - Added some deprecation warnings\n\n## 1.2.1 (2017-10-06)\n\n**Bugfixes**\n\n - \"Get\" on unkwon policy resources should raise and not return None\n\n## 1.2.0 (2017-10-05)\n\n**Features**\n\n - Add validate_move_resources\n - Add mode and metadata to PolicyDefinition\n - Add policy_definitions.get_built_in\n - Add policy_definitions.list_built_in\n - Add policy_definitions.create_or_update_at_management_group\n - Add policy_definitions.delete_at_management_group\n - Add policy_definitions.get_at_management_group\n - Add policy_definitions.list_by_management_group\n - Add preview version of Policy 2017-06-01-preview:\n - Add policy_set_definitions operations group\n - Add policy set definitions to policy_assignments operations\n group\n - Add skus to policy assignment\n\n**Bug fixes**\n\n - Do not fail on 204 when deleting a policy assignment (2016-12-01)\n\n**Breaking changes to preview clients**\n\n - Major renaming into ManagedApplication client, and GA ApiVersion\n 2017-09-01\n\n**Disclaimer**\n\n - We removed the \"filter\" parameter of policy_definitions.list\n method. However, we don't upgrade the major version of the package,\n since this parameter has no meaning for the RestAPI and there is no\n way any Python users would have been able to use it anyway.\n\n## 1.1.0 (2017-05-15)\n\n - Tag 1.1.0rc2 as stable (same content)\n\n## 1.1.0rc2 (2017-05-12)\n\n - Add Policy ApiVersion 2015-10-01-preview (AzureStack default)\n\n## 1.1.0rc1 (2017-05-08)\n\n - New default ApiVersion is now 2017-05-10. Breaking changes described\n in 1.0.0rc3 are now applied by default.\n\n## 1.0.0rc3 (2017-05-04)\n\n**Bug fixes**\n\n - Subscriptions: Removed deprecated tenant ID\n - Managed Applications: All list methods return an iterator\n\n**New Resources ApiVersion 2017-05-10**\n\n - Deploy resources to multiple resource groups from one template\n\n - Some breaking changes are introduced compared to previous versions:\n\n > - deployments.list has been renamed\n > deployments.list_by_resource_group\n > - resource_groups.list_resources has been moved to\n > resources.list_by_resource_group\n > - resource_groups.patch has been renamed to\n > resource_groups.update and now takes an instance of\n > ResourceGroupPatchable (and not ResourceGroup).\n\nThe default is still 2016-09-01 in this package, waiting for the\nApiVersion to be widely available.\n\n## 1.0.0rc2 (2017-05-02)\n\n - Add Managed Applications client (preview)\n\n## 1.0.0rc1 (2017-04-11)\n\n**Bug fixes**\n\n - tag_count is now correctly an int and not a string\n - deployment_properties is now required for all deployments\n operations as expected\n\n**Breaking Changes**\n\n - Locks moves to a new ApiVersion and brings several consistent naming\n refactoring and new methods\n\n**Features**\n\nTo help customers with sovereign clouds (not general Azure), this\nversion has official multi ApiVersion support for the following resource\ntype:\n\n - Locks: 2015-01-01 and 2016-09-01\n - Policy: 2016-04-01 and 2016-12-01\n - Resources: 2016-02-01 and 2016-09-01\n\nThe following resource types support one ApiVersion:\n\n - Features: 2015-12-01\n - Links: 2016-09-01\n - Subscriptions: 2016-06-01\n\n## 0.31.0 (2016-11-10)\n\n**Breaking change**\n\n - Resource.Links 'create_or_update' method has simpler parameters\n\n## 0.30.2 (2016-10-20)\n\n**Features**\n\n - Add Resource.Links client\n\n## 0.30.1 (2016-10-17)\n\n**Bugfixes**\n\n - Location is now correctly declared optional and not required.\n\n## 0.30.0 (2016-10-04)\n\n - Preview release. Based on API version 2016-09-01.\n\n## 0.20.0 (2015-08-31)\n\n - Initial preview release. Based on API version 2014-04-01-preview\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (>=0.6.1)", + "azure-common (>=1.1)", + "azure-mgmt-core (>=1.3.2)" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/dc/8f/44814e7f38d1beffe38165793661769bb56f02478af96a5f7841c51c9b97/azure_mgmt_security-6.0.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=c88570003ac8138c59e6e549e2d8bb6a6c7057c496303d8c33392fdfe05f294c", + "hashes": { + "sha256": "c88570003ac8138c59e6e549e2d8bb6a6c7057c496303d8c33392fdfe05f294c" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-security", + "version": "6.0.0", + "summary": "Microsoft Azure Security Center Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Security Center Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-security\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.security import SecurityCenter\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = SecurityCenter(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Security Center Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 6.0.0 (2024-01-19)\n\n### Features Added\n\n - Added operation group APICollectionsOperations\n - Added operation group DefenderForStorageOperations\n - Model SecurityContact has a new parameter emails\n - Model SecurityContact has a new parameter notifications_by_role\n\n### Breaking Changes\n\n - Model SecurityContact no longer has parameter alerts_to_admins\n - Model SecurityContact no longer has parameter email\n - Removed operation SecurityContactsOperations.update\n\n## 5.0.0 (2023-04-20)\n\n### Features Added\n\n - Added operation group APICollectionOffboardingOperations\n - Added operation group APICollectionOnboardingOperations\n - Added operation group APICollectionOperations\n - Added operation group SecurityOperatorsOperations\n - Model AwsEnvironmentData has a new parameter account_name\n - Model AwsEnvironmentData has a new parameter regions\n - Model DefenderCspmAwsOffering has a new parameter data_sensitivity_discovery\n - Model DefenderCspmAwsOffering has a new parameter databases_dspm\n - Model DefenderFoDatabasesAwsOffering has a new parameter databases_dspm\n - Model DefenderFoDatabasesAwsOfferingArcAutoProvisioning has a new parameter configuration\n - Model DefenderForDatabasesGcpOfferingArcAutoProvisioning has a new parameter configuration\n - Model DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration has a new parameter private_link_scope\n - Model DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration has a new parameter proxy\n - Model DefenderForServersAwsOfferingArcAutoProvisioning has a new parameter configuration\n - Model DefenderForServersGcpOffering has a new parameter vm_scanners\n - Model DefenderForServersGcpOfferingArcAutoProvisioning has a new parameter configuration\n - Model DefenderForServersGcpOfferingArcAutoProvisioningConfiguration has a new parameter private_link_scope\n - Model DefenderForServersGcpOfferingArcAutoProvisioningConfiguration has a new parameter proxy\n - Model GcpOrganizationalDataOrganization has a new parameter organization_name\n - Model GcpProjectDetails has a new parameter project_name\n - Model Pricing has a new parameter enablement_time\n - Model Pricing has a new parameter extensions\n\n### Breaking Changes\n\n - Model DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration no longer has parameter agent_onboarding_service_account_numeric_id\n - Model DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration no longer has parameter client_id\n - Model DefenderForServersGcpOfferingArcAutoProvisioningConfiguration no longer has parameter agent_onboarding_service_account_numeric_id\n - Model DefenderForServersGcpOfferingArcAutoProvisioningConfiguration no longer has parameter client_id\n\n## 4.0.0 (2023-03-20)\n\n### Features Added\n\n - Added operation GovernanceRulesOperations.begin_execute\n - Added operation GovernanceRulesOperations.list\n - Added operation GovernanceRulesOperations.operation_results\n - Added operation group HealthReportOperations\n - Added operation group HealthReportsOperations\n - Model GovernanceRule has a new parameter excluded_scopes\n - Model GovernanceRule has a new parameter include_member_scopes\n - Model GovernanceRule has a new parameter metadata\n - Model GovernanceRule has a new parameter tenant_id\n - Model ResourceDetails has a new parameter connector_id\n - Model ResourceDetails has a new parameter id\n - Model ScanProperties has a new parameter last_scan_time\n\n### Breaking Changes\n\n - Operation GovernanceRulesOperations.create_or_update has a new required parameter scope\n - Operation GovernanceRulesOperations.get has a new required parameter scope\n - Removed operation GovernanceRulesOperations.begin_rule_id_execute_single_security_connector\n - Removed operation GovernanceRulesOperations.begin_rule_id_execute_single_subscription\n - Removed operation group GovernanceRuleOperations\n - Removed operation group SecurityConnectorGovernanceRuleOperations\n - Removed operation group SecurityConnectorGovernanceRulesExecuteStatusOperations\n - Removed operation group SecurityConnectorGovernanceRulesOperations\n - Removed operation group SubscriptionGovernanceRulesExecuteStatusOperations\n - Renamed operation GovernanceRulesOperations.delete to GovernanceRulesOperations.begin_delete\n\n## 4.0.0b2 (2023-03-06)\n\n### Features Added\n\n - Added operation GovernanceRulesOperations.begin_execute\n - Added operation GovernanceRulesOperations.list\n - Added operation GovernanceRulesOperations.operation_results\n - Model GovernanceRule has a new parameter excluded_scopes\n - Model GovernanceRule has a new parameter include_member_scopes\n - Model GovernanceRule has a new parameter metadata\n - Model GovernanceRule has a new parameter tenant_id\n\n### Breaking Changes\n\n - Operation GovernanceRulesOperations.create_or_update has a new required parameter scope\n - Operation GovernanceRulesOperations.get has a new required parameter scope\n - Removed operation GovernanceRulesOperations.begin_rule_id_execute_single_security_connector\n - Removed operation GovernanceRulesOperations.begin_rule_id_execute_single_subscription\n - Removed operation group GovernanceRuleOperations\n - Removed operation group SecurityConnectorGovernanceRuleOperations\n - Removed operation group SecurityConnectorGovernanceRulesExecuteStatusOperations\n - Removed operation group SecurityConnectorGovernanceRulesOperations\n - Removed operation group SubscriptionGovernanceRulesExecuteStatusOperations\n - Renamed operation GovernanceRulesOperations.delete to GovernanceRulesOperations.begin_delete\n\n## 4.0.0b1 (2023-02-16)\n\n### Features Added\n\n - Added operation GovernanceRulesOperations.begin_execute\n - Added operation GovernanceRulesOperations.list\n - Added operation GovernanceRulesOperations.operation_results\n - Model GovernanceRule has a new parameter excluded_scopes\n - Model GovernanceRule has a new parameter include_member_scopes\n - Model GovernanceRule has a new parameter metadata\n - Model GovernanceRule has a new parameter tenant_id\n\n### Breaking Changes\n\n - Operation GovernanceRulesOperations.create_or_update has a new required parameter scope\n - Operation GovernanceRulesOperations.get has a new required parameter scope\n - Removed operation GovernanceRulesOperations.begin_rule_id_execute_single_security_connector\n - Removed operation GovernanceRulesOperations.begin_rule_id_execute_single_subscription\n - Removed operation group GovernanceRuleOperations\n - Removed operation group SecurityConnectorGovernanceRuleOperations\n - Removed operation group SecurityConnectorGovernanceRulesExecuteStatusOperations\n - Removed operation group SecurityConnectorGovernanceRulesOperations\n - Removed operation group SubscriptionGovernanceRulesExecuteStatusOperations\n - Renamed operation GovernanceRulesOperations.delete to GovernanceRulesOperations.begin_delete\n\n## 3.0.0 (2022-11-17)\n\n### Features Added\n\n - Model DefenderFoDatabasesAwsOffering has a new parameter rds\n\n### Breaking Changes\n\n - Model DefenderFoDatabasesAwsOfferingArcAutoProvisioning no longer has parameter service_principal_secret_metadata\n - Model DefenderForDatabasesGcpOfferingArcAutoProvisioning no longer has parameter configuration\n - Model DefenderForServersAwsOfferingArcAutoProvisioning no longer has parameter service_principal_secret_metadata\n - Model DefenderForServersGcpOfferingArcAutoProvisioning no longer has parameter configuration\n\n## 2.0.0 (2022-09-28)\n\n### Features Added\n\n - Added operation AlertsOperations.begin_simulate\n - Added operation AlertsOperations.get_resource_group_level\n - Added operation AlertsOperations.get_subscription_level\n - Added operation AlertsOperations.list_resource_group_level_by_region\n - Added operation AlertsOperations.list_subscription_level_by_region\n - Added operation AlertsOperations.update_resource_group_level_state_to_activate\n - Added operation AlertsOperations.update_resource_group_level_state_to_dismiss\n - Added operation AlertsOperations.update_resource_group_level_state_to_in_progress\n - Added operation AlertsOperations.update_subscription_level_state_to_activate\n - Added operation AlertsOperations.update_subscription_level_state_to_dismiss\n - Added operation AlertsOperations.update_subscription_level_state_to_in_progress\n - Added operation group ApplicationOperations\n - Added operation group ApplicationsOperations\n - Added operation group CustomAssessmentAutomationsOperations\n - Added operation group CustomEntityStoreAssignmentsOperations\n - Added operation group GovernanceAssignmentsOperations\n - Added operation group GovernanceRuleOperations\n - Added operation group GovernanceRulesOperations\n - Added operation group IngestionSettingsOperations\n - Added operation group MdeOnboardingsOperations\n - Added operation group SecurityConnectorApplicationOperations\n - Added operation group SecurityConnectorApplicationsOperations\n - Added operation group SecurityConnectorGovernanceRuleOperations\n - Added operation group SecurityConnectorGovernanceRulesExecuteStatusOperations\n - Added operation group SecurityConnectorGovernanceRulesOperations\n - Added operation group SecurityConnectorsOperations\n - Added operation group SoftwareInventoriesOperations\n - Added operation group SubscriptionGovernanceRulesExecuteStatusOperations\n - Model Alert has a new parameter sub_techniques\n - Model Alert has a new parameter supporting_evidence\n - Model Alert has a new parameter techniques\n - Model Alert has a new parameter version\n - Model IoTSecuritySolutionModel has a new parameter additional_workspaces\n - Model IoTSecuritySolutionModel has a new parameter system_data\n - Model Pricing has a new parameter deprecated\n - Model Pricing has a new parameter replaced_by\n - Model Pricing has a new parameter sub_plan\n - Model SecurityAssessmentMetadata has a new parameter categories\n - Model SecurityAssessmentMetadataProperties has a new parameter categories\n\n### Breaking Changes\n\n - Model SecurityAssessmentMetadata no longer has parameter category\n - Model SecurityAssessmentMetadataProperties no longer has parameter category\n - Operation AdaptiveApplicationControlsOperations.delete has a new parameter asc_location\n - Operation AdaptiveApplicationControlsOperations.get has a new parameter asc_location\n - Operation AdaptiveApplicationControlsOperations.put has a new parameter asc_location\n - Operation AlertsOperations.update_resource_group_level_state_to_resolve has a new parameter asc_location\n - Operation AlertsOperations.update_subscription_level_state_to_resolve has a new parameter asc_location\n - Operation AllowedConnectionsOperations.get has a new parameter asc_location\n - Operation AllowedConnectionsOperations.list_by_home_region has a new parameter asc_location\n - Operation DiscoveredSecuritySolutionsOperations.get has a new parameter asc_location\n - Operation DiscoveredSecuritySolutionsOperations.list_by_home_region has a new parameter asc_location\n - Operation ExternalSecuritySolutionsOperations.get has a new parameter asc_location\n - Operation ExternalSecuritySolutionsOperations.list_by_home_region has a new parameter asc_location\n - Operation JitNetworkAccessPoliciesOperations.create_or_update has a new parameter asc_location\n - Operation JitNetworkAccessPoliciesOperations.delete has a new parameter asc_location\n - Operation JitNetworkAccessPoliciesOperations.get has a new parameter asc_location\n - Operation JitNetworkAccessPoliciesOperations.initiate has a new parameter asc_location\n - Operation JitNetworkAccessPoliciesOperations.list_by_region has a new parameter asc_location\n - Operation JitNetworkAccessPoliciesOperations.list_by_resource_group_and_region has a new parameter asc_location\n - Operation LocationsOperations.get has a new parameter asc_location\n - Operation SecuritySolutionsOperations.get has a new parameter asc_location\n - Operation SecuritySolutionsReferenceDataOperations.list_by_home_region has a new parameter asc_location\n - Operation TasksOperations.get_resource_group_level_task has a new parameter asc_location\n - Operation TasksOperations.get_subscription_level_task has a new parameter asc_location\n - Operation TasksOperations.list_by_home_region has a new parameter asc_location\n - Operation TasksOperations.list_by_resource_group has a new parameter asc_location\n - Operation TasksOperations.update_resource_group_level_task_state has a new parameter asc_location\n - Operation TasksOperations.update_subscription_level_task_state has a new parameter asc_location\n - Operation TopologyOperations.get has a new parameter asc_location\n - Operation TopologyOperations.list_by_home_region has a new parameter asc_location\n - Removed operation AlertsOperations.get_resource_group_level_alerts\n - Removed operation AlertsOperations.get_subscription_level_alert\n - Removed operation AlertsOperations.list_resource_group_level_alerts_by_region\n - Removed operation AlertsOperations.list_subscription_level_alerts_by_region\n - Removed operation AlertsOperations.update_resource_group_level_alert_state_to_dismiss\n - Removed operation AlertsOperations.update_resource_group_level_alert_state_to_reactivate\n - Removed operation AlertsOperations.update_subscription_level_alert_state_to_dismiss\n - Removed operation AlertsOperations.update_subscription_level_alert_state_to_reactivate\n - Removed operation group DeviceOperations\n - Removed operation group DevicesForHubOperations\n - Removed operation group DevicesForSubscriptionOperations\n - Removed operation group IotAlertTypesOperations\n - Removed operation group IotAlertsOperations\n - Removed operation group IotDefenderSettingsOperations\n - Removed operation group IotRecommendationTypesOperations\n - Removed operation group IotRecommendationsOperations\n - Removed operation group IotSensorsOperations\n - Removed operation group IotSitesOperations\n - Removed operation group OnPremiseIotSensorsOperations\n - Renamed operation ServerVulnerabilityAssessmentOperations.delete to ServerVulnerabilityAssessmentOperations.begin_delete\n\n## 2.0.0b1 (2021-08-10)\n\n**Features**\n\n - Model SecurityAssessmentMetadata has a new parameter categories\n - Model SecurityAssessmentMetadataProperties has a new parameter categories\n - Model IoTSecuritySolutionModel has a new parameter system_data\n - Model IoTSecuritySolutionModel has a new parameter additional_workspaces\n - Added operation ServerVulnerabilityAssessmentOperations.begin_delete\n - Added operation AlertsOperations.list_resource_group_level_by_region\n - Added operation AlertsOperations.get_resource_group_level\n - Added operation AlertsOperations.update_subscription_level_state_to_dismiss\n - Added operation AlertsOperations.update_resource_group_level_state_to_dismiss\n - Added operation AlertsOperations.update_resource_group_level_state_to_activate\n - Added operation AlertsOperations.get_subscription_level\n - Added operation AlertsOperations.update_subscription_level_state_to_activate\n - Added operation AlertsOperations.list_subscription_level_by_region\n - Added operation AlertsOperations.begin_simulate\n - Added operation group IngestionSettingsOperations\n - Added operation group SoftwareInventoriesOperations\n\n**Breaking changes**\n\n - Model SecurityAssessmentMetadata no longer has parameter category\n - Model SecurityAssessmentMetadataProperties no longer has parameter category\n - Removed operation ServerVulnerabilityAssessmentOperations.delete\n - Removed operation AlertsOperations.update_resource_group_level_alert_state_to_reactivate\n - Removed operation AlertsOperations.get_resource_group_level_alerts\n - Removed operation AlertsOperations.update_subscription_level_alert_state_to_dismiss\n - Removed operation AlertsOperations.get_subscription_level_alert\n - Removed operation AlertsOperations.update_resource_group_level_alert_state_to_dismiss\n - Removed operation AlertsOperations.list_subscription_level_alerts_by_region\n - Removed operation AlertsOperations.update_subscription_level_alert_state_to_reactivate\n - Removed operation AlertsOperations.list_resource_group_level_alerts_by_region\n - Removed operation group OnPremiseIotSensorsOperations\n - Removed operation group IotRecommendationsOperations\n - Removed operation group IotSensorsOperations\n - Removed operation group DeviceOperations\n - Removed operation group IotRecommendationTypesOperations\n - Removed operation group DevicesForHubOperations\n - Removed operation group IotDefenderSettingsOperations\n - Removed operation group DevicesForSubscriptionOperations\n - Removed operation group IotSitesOperations\n - Removed operation group IotAlertTypesOperations\n - Removed operation group IotAlertsOperations\n\n## 1.0.0 (2020-12-15)\n\n**Bugfixes**\n\n - Fix unreasonable boolean enumeration type\n\n## 1.0.0b1 (2020-11-02)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.5.0 (2020-10-29)\n\n**Features**\n\n - Model SecureScoreControlDetails has a new parameter weight\n - Model SecureScoreControlDetails has a new parameter percentage\n - Model SecureScoreItem has a new parameter weight\n - Model SecureScoreItem has a new parameter percentage\n - Model SecureScoreControlScore has a new parameter percentage\n - Added operation AlertsOperations.get_resource_group_level\n - Added operation AlertsOperations.get_subscription_level\n - Added operation AlertsOperations.update_resource_group_level_state_to_resolve\n - Added operation AlertsOperations.list_subscription_level_by_region\n - Added operation AlertsOperations.list_resource_group_level_by_region\n - Added operation AlertsOperations.update_subscription_level_state_to_resolve\n - Added operation AlertsOperations.update_subscription_level_state_to_dismiss\n - Added operation AlertsOperations.update_resource_group_level_state_to_dismiss\n - Added operation AlertsOperations.update_subscription_level_state_to_activate\n - Added operation AlertsOperations.update_resource_group_level_state_to_activate\n - Added operation group IotRecommendationTypesOperations\n - Added operation group ConnectorsOperations\n - Added operation group DeviceOperations\n - Added operation group DevicesForSubscriptionOperations\n - Added operation group IotDefenderSettingsOperations\n - Added operation group IotAlertsOperations\n - Added operation group DevicesForHubOperations\n - Added operation group IotSensorsOperations\n - Added operation group IotRecommendationsOperations\n - Added operation group SecuritySolutionsOperations\n - Added operation group SecuritySolutionsReferenceDataOperations\n - Added operation group OnPremiseIotSensorsOperations\n - Added operation group IotAlertTypesOperations\n\n**Breaking changes**\n\n - Model Alert has a new signature\n - Removed operation AlertsOperations.list_subscription_level_alerts_by_region\n - Removed operation AlertsOperations.update_resource_group_level_alert_state_to_dismiss\n - Removed operation AlertsOperations.get_resource_group_level_alerts\n - Removed operation AlertsOperations.update_subscription_level_alert_state_to_reactivate\n - Removed operation AlertsOperations.get_subscription_level_alert\n - Removed operation AlertsOperations.list_resource_group_level_alerts_by_region\n - Removed operation AlertsOperations.update_resource_group_level_alert_state_to_reactivate\n - Removed operation AlertsOperations.update_subscription_level_alert_state_to_dismiss\n\n## 0.4.1 (2020-06-12)\n\n**Bugfixes**\n\n - skip url-encoding for resource id\n\n## 0.4.0 (2020-06-05)\n\n**Features**\n\n - Model IoTSecuritySolutionModel has a new parameter unmasked_ip_logging_status\n - Model InformationProtectionPolicy has a new parameter version\n - Model JitNetworkAccessRequest has a new parameter justification\n - Model SensitivityLabel has a new parameter description\n - Model SensitivityLabel has a new parameter rank\n - Model InformationType has a new parameter description\n - Model AppWhitelistingGroup has a new parameter protection_mode\n - Model JitNetworkAccessPolicyInitiateRequest has a new parameter justification\n - Model VmRecommendation has a new parameter enforcement_support\n - Model IoTSecurityAggregatedAlert has a new parameter top_devices_list\n - Added operation AdaptiveApplicationControlsOperations.delete\n - Added operation AlertsOperations.update_resource_group_level_alert_state_to_dismiss\n - Added operation AlertsOperations.update_subscription_level_alert_state_to_dismiss\n - Added operation AlertsOperations.update_subscription_level_alert_state_to_reactivate\n - Added operation AlertsOperations.update_resource_group_level_alert_state_to_reactivate\n - Added operation IotSecuritySolutionOperations.list_by_subscription\n - Added operation IotSecuritySolutionOperations.list_by_resource_group\n - Added operation IotSecuritySolutionOperations.create_or_update\n - Added operation group SecureScoreControlDefinitionsOperations\n - Added operation group AssessmentsMetadataOperations\n - Added operation group SecureScoreControlsOperations\n - Added operation group AlertsSuppressionRulesOperations\n - Added operation group IotSecuritySolutionsAnalyticsAggregatedAlertOperations\n - Added operation group SubAssessmentsOperations\n - Added operation group AutomationsOperations\n - Added operation group IotSecuritySolutionsAnalyticsRecommendationOperations\n - Added operation group SecureScoresOperations\n - Added operation group IotSecuritySolutionAnalyticsOperations\n - Added operation group AdaptiveNetworkHardeningsOperations\n - Added operation group AssessmentsOperations\n - Added operation group DeviceSecurityGroupsOperations\n\n**Breaking changes**\n\n - Operation SettingsOperations.update has a new signature\n - Operation AlertsOperations.list has a new signature\n - Operation AlertsOperations.list_by_resource_group has a new signature\n - Operation AlertsOperations.list_resource_group_level_alerts_by_region has a new signature\n - Operation AlertsOperations.list_subscription_level_alerts_by_region has a new signature\n - Operation JitNetworkAccessPoliciesOperations.initiate has a new signature\n - Operation InformationProtectionPoliciesOperations.create_or_update has a new signature\n - Removed operation AlertsOperations.update_resource_group_level_alert_state\n - Removed operation AlertsOperations.update_subscription_level_alert_state\n - Removed operation IotSecuritySolutionOperations.create\n - Removed operation group IoTSecuritySolutionsResourceGroupOperations\n - Removed operation group IoTSecuritySolutionsAnalyticsRecommendationsOperations\n - Removed operation group IoTSecuritySolutionsAnalyticsRecommendationOperations\n - Removed operation group IoTSecuritySolutionsOperations\n - Removed operation group IoTSecuritySolutionsAnalyticsAggregatedAlertsOperations\n - Removed operation group IoTSecuritySolutionsAnalyticsAggregatedAlertOperations\n - Removed operation group IoTSecuritySolutionsAnalyticsOperations\n\n## 0.3.0 (2019-08-01)\n\n**Features**\n\n - Model JitNetworkAccessPolicyVirtualMachine has a new parameter\n public_ip_address\n - Model JitNetworkAccessRequestPort has a new parameter mapped_port\n - Added operation group RegulatoryComplianceControlsOperations\n - Added operation group ComplianceResultsOperations\n - Added operation group ServerVulnerabilityAssessmentOperations\n - Added operation group IoTSecuritySolutionsResourceGroupOperations\n - Added operation group AdaptiveApplicationControlsOperations\n - Added operation group IoTSecuritySolutionsOperations\n - Added operation group IotSecuritySolutionOperations\n - Added operation group RegulatoryComplianceStandardsOperations\n - Added operation group IoTSecuritySolutionsAnalyticsOperations\n - Added operation group\n IoTSecuritySolutionsAnalyticsAggregatedAlertOperations\n - Added operation group\n IoTSecuritySolutionsAnalyticsRecommendationsOperations\n - Added operation group RegulatoryComplianceAssessmentsOperations\n - Added operation group\n IoTSecuritySolutionsAnalyticsRecommendationOperations\n - Added operation group\n IoTSecuritySolutionsAnalyticsAggregatedAlertsOperations\n\n**General breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if from some import. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - SecurityCenter cannot be imported from\n `azure.mgmt.security.security_center` anymore (import from\n `azure.mgmt.security` works like before)\n - SecurityCenterConfiguration import has been moved from\n `azure.mgmt.security.security_center` to `azure.mgmt.security`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.security.models.my_class` (import from\n `azure.mgmt.security.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.security.operations.my_class_operations` (import\n from `azure.mgmt.security.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.2.0 (2019-04-16)\n\n**Features**\n\n - Model Pricing has a new parameter free_trial_remaining_time\n - Model Alert has a new parameter is_incident\n - Added operation PricingsOperations.get\n - Added operation PricingsOperations.update\n - Added operation group AllowedConnectionsOperations\n\n**Breaking changes**\n\n - Operation SettingsOperations.update has a new signature\n - Removed operation PricingsOperations.update_subscription_pricing\n - Removed operation PricingsOperations.list_by_resource_group\n - Removed operation\n PricingsOperations.create_or_update_resource_group_pricing\n - Removed operation PricingsOperations.get_resource_group_pricing\n - Removed operation PricingsOperations.get_subscription_pricing\n\n## 0.1.0 (2018-10-29)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/0c/de/c071d4671153087ce283d5fa01b8a15f6ff2ef058af0150ee1482371b0bc/azure_mgmt_servicefabricmanagedclusters-2.0.0b6-py3-none-any.whl", + "archive_info": { + "hash": "sha256=2194dae856f06cd786a0fda3f860ef978eddee85aad99799054991cc0ffd5299", + "hashes": { + "sha256": "2194dae856f06cd786a0fda3f860ef978eddee85aad99799054991cc0ffd5299" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-servicefabricmanagedclusters", + "version": "2.0.0b6", + "summary": "Microsoft Azure Service Fabric Managed Clusters Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Service Fabric Managed Clusters Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-servicefabricmanagedclusters\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.servicefabricmanagedclusters import ServiceFabricManagedClustersManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ServiceFabricManagedClustersManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Service Fabric Managed Clusters Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 2.0.0b6 (2024-02-22)\n\n### Features Added\n\n - Model ManagedCluster has a new parameter enable_http_gateway_exclusive_auth_mode\n - Model ManagedCluster has a new parameter http_gateway_token_auth_connection_port\n\n## 2.0.0b5 (2024-01-18)\n\n### Features Added\n\n - Added operation ApplicationsOperations.begin_read_upgrade\n - Added operation ApplicationsOperations.begin_resume_upgrade\n - Added operation ApplicationsOperations.begin_start_rollback\n - Added operation group ManagedApplyMaintenanceWindowOperations\n - Added operation group ManagedMaintenanceWindowStatusOperations\n - Model ManagedCluster has a new parameter ddos_protection_plan_id\n - Model ManagedCluster has a new parameter public_i_pv6_prefix_id\n - Model ManagedCluster has a new parameter public_ip_prefix_id\n - Model ManagedCluster has a new parameter upgrade_description\n - Model NodeType has a new parameter additional_network_interface_configurations\n - Model NodeType has a new parameter dscp_configuration_id\n - Model NodeType has a new parameter enable_node_public_i_pv6\n - Model NodeType has a new parameter nat_gateway_id\n - Model NodeType has a new parameter service_artifact_reference_id\n - Model NodeType has a new parameter vm_image_plan\n - Model VMSSExtension has a new parameter setup_order\n\n## 2.0.0b4 (2023-05-20)\n\n### Features Added\n\n - Model ManagedCluster has a new parameter use_custom_vnet\n - Model ManagedCluster has a new parameter zonal_update_mode\n - Model NodeType has a new parameter enable_node_public_ip\n - Model NodeType has a new parameter secure_boot_enabled\n - Model NodeType has a new parameter security_type\n - Model NodeType has a new parameter subnet_id\n - Model NodeType has a new parameter vm_setup_actions\n - Model NodeType has a new parameter vm_shared_gallery_image_id\n - Model NodeTypeActionParameters has a new parameter update_type\n - Model ServiceResourceProperties has a new parameter service_dns_name\n - Model StatefulServiceProperties has a new parameter service_dns_name\n - Model StatelessServiceProperties has a new parameter service_dns_name\n\n### Breaking Changes\n\n - Parameter sku of model ManagedCluster is now required\n\n## 2.0.0b3 (2022-12-27)\n\n### Other Changes\n\n - Added generated samples in github repo\n - Drop support for python<3.7.0\n\n## 2.0.0b2 (2022-09-14)\n\n### Features Added\n\n - Model FrontendConfiguration has a new parameter application_gateway_backend_address_pool_id\n - Model NodeType has a new parameter eviction_policy\n - Model NodeType has a new parameter host_group_id\n - Model NodeType has a new parameter spot_restore_timeout\n - Model NodeType has a new parameter use_ephemeral_os_disk\n - Model NodeType has a new parameter vm_image_resource_id\n\n## 2.0.0b1 (2022-06-02)\n\n**Features**\n\n - Added operation group ManagedAzResiliencyStatusOperations\n - Added operation group ManagedUnsupportedVMSizesOperations\n - Added operation group NodeTypeSkusOperations\n - Added operation group OperationResultsOperations\n - Added operation group OperationStatusOperations\n - Model LoadBalancingRule has a new parameter load_distribution\n - Model ManagedCluster has a new parameter auxiliary_subnets\n - Model ManagedCluster has a new parameter enable_ipv6\n - Model ManagedCluster has a new parameter enable_service_public_ip\n - Model ManagedCluster has a new parameter ip_tags\n - Model ManagedCluster has a new parameter ipv6_address\n - Model ManagedCluster has a new parameter service_endpoints\n - Model ManagedCluster has a new parameter subnet_id\n - Model NetworkSecurityRule has a new parameter destination_address_prefix\n - Model NetworkSecurityRule has a new parameter destination_port_range\n - Model NetworkSecurityRule has a new parameter source_address_prefix\n - Model NetworkSecurityRule has a new parameter source_port_range\n - Model NodeType has a new parameter additional_data_disks\n - Model NodeType has a new parameter data_disk_letter\n - Model NodeType has a new parameter enable_accelerated_networking\n - Model NodeType has a new parameter enable_encryption_at_host\n - Model NodeType has a new parameter enable_over_provisioning\n - Model NodeType has a new parameter frontend_configurations\n - Model NodeType has a new parameter is_spot_vm\n - Model NodeType has a new parameter network_security_rules\n - Model NodeType has a new parameter sku\n - Model NodeType has a new parameter use_default_public_load_balancer\n - Model NodeType has a new parameter use_temp_data_disk\n - Model NodeType has a new parameter zones\n - Model NodeTypeUpdateParameters has a new parameter sku\n - Model VMSSExtension has a new parameter enable_automatic_upgrade\n\n**Breaking changes**\n\n - Operation ManagedClusterVersionOperations.get_by_environment has a new parameter environment\n - Operation ManagedClusterVersionOperations.list_by_environment has a new parameter environment\n\n## 1.0.0 (2021-04-27)\n\n**Features**\n\n - Model ManagedCluster has a new parameter zonal_resiliency\n - Model ManagedCluster has a new parameter cluster_upgrade_mode\n - Model NodeType has a new parameter data_disk_type\n - Model NodeType has a new parameter multiple_placement_groups\n - Model NodeType has a new parameter is_stateless\n - Model LoadBalancingRule has a new parameter probe_port\n - Added operation group ManagedClusterVersionOperations\n\n**Breaking changes**\n\n - Model StatelessServiceProperties no longer has parameter service_dns_name\n - Model StatelessServiceProperties no longer has parameter instance_close_delay_duration\n - Model ServiceResourceProperties no longer has parameter service_dns_name\n - Model AverageServiceLoadScalingTrigger has a new required parameter use_only_primary_load\n - Model StatefulServiceProperties no longer has parameter service_dns_name\n - Model StatefulServiceProperties no longer has parameter drop_source_replica_on_move\n\n## 1.0.0b1 (2021-02-26)\n\n* Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/cb/bd/6d1212e446e9e6c34510e0b8b13292e0797c9b4a34459bc91af811266aa9/azure_mgmt_servicelinker-1.2.0b2-py3-none-any.whl", + "archive_info": { + "hash": "sha256=896d64d438509142e9db2bcf3b5287867cc5ab08f0f7f020cf064142c5ce12d6", + "hashes": { + "sha256": "896d64d438509142e9db2bcf3b5287867cc5ab08f0f7f020cf064142c5ce12d6" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-servicelinker", + "version": "1.2.0b2", + "summary": "Microsoft Azure Service Linker Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Service Linker Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-servicelinker\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.servicelinker import ServiceLinkerManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = ServiceLinkerManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Service Linker Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 1.2.0b2 (2024-03-19)\n\n### Features Added\n\n - Added operation LinkersOperations.list_dapr_configurations\n - Model AccessKeyInfoBase has a new parameter auth_mode\n - Model AuthInfoBase has a new parameter auth_mode\n - Model ConfigurationInfo has a new parameter additional_connection_string_properties\n - Model ConfigurationInfo has a new parameter configuration_store\n - Model ConfigurationInfo has a new parameter dapr_properties\n - Model ConfigurationName has a new parameter required\n - Model ConfigurationNameItem has a new parameter dapr_properties\n - Model ConfigurationNameItem has a new parameter secret_type\n - Model SecretAuthInfo has a new parameter auth_mode\n - Model ServicePrincipalCertificateAuthInfo has a new parameter auth_mode\n - Model ServicePrincipalSecretAuthInfo has a new parameter auth_mode\n - Model SourceConfiguration has a new parameter config_type\n - Model SourceConfiguration has a new parameter description\n - Model SourceConfiguration has a new parameter key_vault_reference_identity\n - Model SystemAssignedIdentityAuthInfo has a new parameter auth_mode\n - Model UserAccountAuthInfo has a new parameter auth_mode\n - Model UserAssignedIdentityAuthInfo has a new parameter auth_mode\n\n## 1.2.0b1 (2022-12-02)\n\n### Features Added\n\n - Added operation group ConfigurationNamesOperations\n - Added operation group ConnectorOperations\n - Added operation group LinkersOperations\n - Model LinkerPatch has a new parameter configuration_info\n - Model LinkerPatch has a new parameter public_network_solution\n - Model LinkerResource has a new parameter configuration_info\n - Model LinkerResource has a new parameter public_network_solution\n - Model ProxyResource has a new parameter system_data\n - Model Resource has a new parameter system_data\n - Model SecretStore has a new parameter key_vault_secret_name\n - Model ServicePrincipalCertificateAuthInfo has a new parameter delete_or_update_behavior\n - Model ServicePrincipalCertificateAuthInfo has a new parameter roles\n - Model ServicePrincipalSecretAuthInfo has a new parameter delete_or_update_behavior\n - Model ServicePrincipalSecretAuthInfo has a new parameter roles\n - Model ServicePrincipalSecretAuthInfo has a new parameter user_name\n - Model SystemAssignedIdentityAuthInfo has a new parameter delete_or_update_behavior\n - Model SystemAssignedIdentityAuthInfo has a new parameter roles\n - Model SystemAssignedIdentityAuthInfo has a new parameter user_name\n - Model UserAssignedIdentityAuthInfo has a new parameter delete_or_update_behavior\n - Model UserAssignedIdentityAuthInfo has a new parameter roles\n - Model UserAssignedIdentityAuthInfo has a new parameter user_name\n - Model VNetSolution has a new parameter delete_or_update_behavior\n\n## 1.1.0 (2022-05-16)\n\n**Features**\n\n - Added model AzureResourceType\n - Added model TargetServiceType\n - Added model ValidateOperationResult\n\n## 1.0.0 (2022-04-22)\n\n**Features**\n\n - Model LinkerPatch has a new parameter scope\n - Model LinkerPatch has a new parameter target_service\n - Model LinkerResource has a new parameter scope\n - Model LinkerResource has a new parameter target_service\n - Model SecretAuthInfo has a new parameter secret_info\n - Model ValidateResult has a new parameter is_connection_available\n - Model ValidateResult has a new parameter linker_name\n - Model ValidateResult has a new parameter source_id\n - Model ValidateResult has a new parameter validation_detail\n\n**Breaking changes**\n\n - Model LinkerPatch no longer has parameter target_id\n - Model LinkerResource no longer has parameter target_id\n - Model SecretAuthInfo no longer has parameter secret\n - Model ValidateResult no longer has parameter linker_status\n - Model ValidateResult no longer has parameter name\n - Model ValidateResult no longer has parameter reason\n\n## 1.0.0b2 (2022-02-24)\n\n**Features**\n\n - Model LinkerPatch has a new parameter secret_store\n - Model LinkerPatch has a new parameter v_net_solution\n - Model LinkerResource has a new parameter secret_store\n - Model LinkerResource has a new parameter v_net_solution\n\n## 1.0.0b1 (2021-09-28)\n\n* Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/bd/c7/9d314dd7d90eeacf1c4290611ebe13659dc1f2bf243a9aa93864eed3f592/azure_mgmt_signalr-2.0.0b1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=976747e2938b926ddb0a09a268e7a297b159b84f4ee09c767c91fe5f68327aac", + "hashes": { + "sha256": "976747e2938b926ddb0a09a268e7a297b159b84f4ee09c767c91fe5f68327aac" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-signalr", + "version": "2.0.0b1", + "summary": "Microsoft Azure SignalR Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure SignalR Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-signalr\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.signalr import SignalRManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = SignalRManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search SignalR](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-signalr%2FREADME.png)\n\n\n# Release History\n\n## 2.0.0b1 (2023-09-15)\n\n### Features Added\n\n - Added operation SignalROperations.list_replica_skus\n - Added operation group SignalRReplicasOperations\n - Model PrivateLinkResource has a new parameter system_data\n - Model ProxyResource has a new parameter system_data\n - Model Resource has a new parameter system_data\n - Model TrackedResource has a new parameter system_data\n\n### Breaking Changes\n\n - Parameter location of model SignalRResource is now required\n - Parameter location of model TrackedResource is now required\n\n## 1.2.0 (2023-03-20)\n\n### Features Added\n\n - Model SignalRResource has a new parameter serverless\n\n## 1.2.0b1 (2022-11-15)\n\n### Features Added\n\n - Model SignalRResource has a new parameter serverless\n\n## 1.1.0 (2022-03-28)\n\n**Features**\n\n - Added operation group SignalRCustomCertificatesOperations\n - Added operation group SignalRCustomDomainsOperations\n - Model SignalRResource has a new parameter live_trace_configuration\n\n## 1.0.0 (2021-11-01)\n\n**Features**\n\n - Model SignalRResource has a new parameter disable_aad_auth\n - Model SignalRResource has a new parameter host_name_prefix\n - Model SignalRResource has a new parameter resource_log_configuration\n - Model SignalRResource has a new parameter disable_local_auth\n - Model SignalRResource has a new parameter public_network_access\n - Model PrivateEndpointConnection has a new parameter group_ids\n - Added operation SignalROperations.list_skus\n\n## 1.0.0b2 (2021-05-20)\n\n**Features**\n\n - Model SignalRResource has a new parameter shared_private_link_resources\n - Model SignalRResource has a new parameter system_data\n - Model PrivateLinkResource has a new parameter shareable_private_link_resource_types\n - Model PrivateEndpointConnection has a new parameter system_data\n - Added operation SignalRPrivateEndpointConnectionsOperations.list\n - Added operation group SignalRSharedPrivateLinkResourcesOperations\n\n## 1.0.0b1 (2020-12-02)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.4.0 (2020-05-29)\n\n**Features**\n\n - Model ServiceSpecification has a new parameter log_specifications\n - Model SignalRResource has a new parameter network_ac_ls\n - Model SignalRResource has a new parameter upstream\n - Model SignalRResource has a new parameter private_endpoint_connections\n - Model SignalRResource has a new parameter kind\n - Model Operation has a new parameter is_data_action\n - Model SignalRCreateOrUpdateProperties has a new parameter upstream\n - Model SignalRCreateOrUpdateProperties has a new parameter network_ac_ls\n - Added operation group SignalRPrivateEndpointConnectionsOperations\n - Added operation group SignalRPrivateLinkResourcesOperations\n\n**General Breaking Changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes. In summary, some modules were incorrectly\nvisible/importable and have been renamed. This fixed several issues\ncaused by usage of classes that were not supposed to be used in the\nfirst place.\n\n - SignalRClient cannot be imported from\n `azure.mgmt.signalr.signalr_client` anymore (import from\n `azure.mgmt.signalr` works like before)\n - SignalRClientConfiguration import has been moved from\n `azure.mgmt.signalr.signalr_client`\n to `azure.mgmt.signalr`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.signalr.models.my_class` (import from\n `azure.mgmt.signalr.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.signalr.operations.my_class_operations` (import from\n `azure.mgmt.signalr.operations` works like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.3.0 (2019-08-06)\n\n**Features**\n\n - Model SignalRResource has a new parameter cors\n - Model SignalRResource has a new parameter features\n - Model SignalRCreateOrUpdateProperties has a new parameter cors\n - Model SignalRCreateOrUpdateProperties has a new parameter feature\n\n## 0.2.0 (2019-05-21)\n\n - Add restart operation\n\n## 0.1.1 (2018-09-04)\n\n**Features**\n\n - Model SignalRKeys has a new parameter secondary_connection_string\n - Model SignalRKeys has a new parameter primary_connection_string\n - Model MetricSpecification has a new parameter dimensions\n - Model SignalRResource has a new parameter version\n - Added operation group UsagesOperations\n\n## 0.1.0 (2018-05-07)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2", + "typing-extensions >=4.3.0 ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/1a/2d/c1812d952f71a52bfb867f07d2c5184f7ced59366da3f36213939dfd2e45/azure_mgmt_sql-4.0.0b17-py3-none-any.whl", + "archive_info": { + "hash": "sha256=e2660f2ed4ba28cb8b66650399ff73e80516788b07e8cd431ce8b5c5a7e4783d", + "hashes": { + "sha256": "e2660f2ed4ba28cb8b66650399ff73e80516788b07e8cd431ce8b5c5a7e4783d" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-sql", + "version": "4.0.0b17", + "summary": "Microsoft Azure SQL Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure SQL Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-sql\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.sql import SqlManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = SqlManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search SQL Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 4.0.0b17 (2024-05-20)\n\n### Features Added\n\n - Model DatabaseOperation has a new parameter operation_phase_details\n\n## 4.0.0b16 (2024-04-07)\n\n### Features Added\n\n - Added operation DistributedAvailabilityGroupsOperations.begin_failover\n - Added operation DistributedAvailabilityGroupsOperations.begin_set_role\n - Model DistributedAvailabilityGroup has a new parameter databases\n - Model DistributedAvailabilityGroup has a new parameter distributed_availability_group_name\n - Model DistributedAvailabilityGroup has a new parameter failover_mode\n - Model DistributedAvailabilityGroup has a new parameter instance_availability_group_name\n - Model DistributedAvailabilityGroup has a new parameter instance_link_role\n - Model DistributedAvailabilityGroup has a new parameter partner_availability_group_name\n - Model DistributedAvailabilityGroup has a new parameter partner_endpoint\n - Model DistributedAvailabilityGroup has a new parameter partner_link_role\n - Model DistributedAvailabilityGroup has a new parameter seeding_mode\n\n### Breaking Changes\n\n - Model DistributedAvailabilityGroup no longer has parameter last_hardened_lsn\n - Model DistributedAvailabilityGroup no longer has parameter link_state\n - Model DistributedAvailabilityGroup no longer has parameter primary_availability_group_name\n - Model DistributedAvailabilityGroup no longer has parameter secondary_availability_group_name\n - Model DistributedAvailabilityGroup no longer has parameter source_endpoint\n - Model DistributedAvailabilityGroup no longer has parameter source_replica_id\n - Model DistributedAvailabilityGroup no longer has parameter target_database\n - Model DistributedAvailabilityGroup no longer has parameter target_replica_id\n\n## 4.0.0b15 (2024-01-11)\n\n### Features Added\n\n - Added operation ManagedInstancesOperations.begin_refresh_status\n - Model ManagedInstance has a new parameter authentication_metadata\n - Model ManagedInstance has a new parameter create_time\n - Model ManagedInstance has a new parameter database_format\n - Model ManagedInstance has a new parameter external_governance_status\n - Model ManagedInstance has a new parameter hybrid_secondary_usage\n - Model ManagedInstance has a new parameter hybrid_secondary_usage_detected\n - Model ManagedInstance has a new parameter is_general_purpose_v2\n - Model ManagedInstance has a new parameter pricing_model\n - Model ManagedInstance has a new parameter storage_i_ops\n - Model ManagedInstance has a new parameter storage_throughput_m_bps\n - Model ManagedInstance has a new parameter virtual_cluster_id\n - Model ManagedInstanceUpdate has a new parameter authentication_metadata\n - Model ManagedInstanceUpdate has a new parameter create_time\n - Model ManagedInstanceUpdate has a new parameter database_format\n - Model ManagedInstanceUpdate has a new parameter external_governance_status\n - Model ManagedInstanceUpdate has a new parameter hybrid_secondary_usage\n - Model ManagedInstanceUpdate has a new parameter hybrid_secondary_usage_detected\n - Model ManagedInstanceUpdate has a new parameter is_general_purpose_v2\n - Model ManagedInstanceUpdate has a new parameter pricing_model\n - Model ManagedInstanceUpdate has a new parameter storage_i_ops\n - Model ManagedInstanceUpdate has a new parameter storage_throughput_m_bps\n - Model ManagedInstanceUpdate has a new parameter virtual_cluster_id\n\n## 4.0.0b14 (2023-12-18)\n\n### Features Added\n\n - Added operation LongTermRetentionBackupsOperations.begin_change_access_tier\n - Added operation LongTermRetentionBackupsOperations.begin_change_access_tier_by_resource_group\n - Model LongTermRetentionBackup has a new parameter backup_storage_access_tier\n - Model LongTermRetentionBackup has a new parameter is_backup_immutable\n - Model LongTermRetentionPolicy has a new parameter backup_storage_access_tier\n - Model LongTermRetentionPolicy has a new parameter make_backups_immutable\n\n## 4.0.0b13 (2023-11-17)\n\n### Features Added\n\n - Added operation group JobPrivateEndpointsOperations\n - Model FailoverGroupReadOnlyEndpoint has a new parameter target_server\n - Model FailoverGroupUpdate has a new parameter partner_servers\n - Model InstancePool has a new parameter dns_zone\n - Model InstancePool has a new parameter maintenance_configuration_id\n - Model InstancePoolUpdate has a new parameter dns_zone\n - Model InstancePoolUpdate has a new parameter license_type\n - Model InstancePoolUpdate has a new parameter maintenance_configuration_id\n - Model InstancePoolUpdate has a new parameter sku\n - Model InstancePoolUpdate has a new parameter subnet_id\n - Model InstancePoolUpdate has a new parameter v_cores\n - Model Server has a new parameter is_i_pv6_enabled\n - Model ServerUpdate has a new parameter is_i_pv6_enabled\n\n## 4.0.0b12 (2023-08-30)\n\n### Features Added\n\n - Model Database has a new parameter encryption_protector_auto_rotation\n - Model Database has a new parameter free_limit_exhaustion_behavior\n - Model Database has a new parameter use_free_limit\n - Model DatabaseUpdate has a new parameter encryption_protector_auto_rotation\n - Model DatabaseUpdate has a new parameter free_limit_exhaustion_behavior\n - Model DatabaseUpdate has a new parameter use_free_limit\n\n## 4.0.0b11 (2023-07-28)\n\n### Features Added\n\n - Added operation FailoverGroupsOperations.begin_try_planned_before_forced_failover\n - Model PrivateEndpointConnection has a new parameter group_ids\n - Model SqlVulnerabilityAssessmentScanRecord has a new parameter last_scan_time\n\n## 4.0.0b10 (2023-04-11)\n\n### Features Added\n\n - Model ManagedDatabase has a new parameter is_ledger_on\n - Model ManagedDatabaseUpdate has a new parameter is_ledger_on\n\n## 4.0.0b9 (2023-03-24)\n\n### Features Added\n\n - Model ElasticPool has a new parameter availability_zone\n - Model ElasticPool has a new parameter min_capacity\n - Model ElasticPool has a new parameter preferred_enclave_type\n - Model ElasticPoolUpdate has a new parameter availability_zone\n - Model ElasticPoolUpdate has a new parameter min_capacity\n - Model ElasticPoolUpdate has a new parameter preferred_enclave_type\n\n## 4.0.0b8 (2023-02-17)\n\n### Features Added\n\n - Added operation ManagedInstancesOperations.begin_start\n - Added operation ManagedInstancesOperations.begin_stop\n - Added operation ManagedInstancesOperations.list_outbound_network_dependencies_by_managed_instance\n - Added operation ServersOperations.begin_refresh_status\n - Added operation group DatabaseEncryptionProtectorsOperations\n - Added operation group ManagedLedgerDigestUploadsOperations\n - Added operation group ServerConfigurationOptionsOperations\n - Added operation group StartStopManagedInstanceSchedulesOperations\n - Model Database has a new parameter availability_zone\n - Model Database has a new parameter encryption_protector\n - Model Database has a new parameter keys\n - Model Database has a new parameter manual_cutover\n - Model Database has a new parameter perform_cutover\n - Model DatabaseUpdate has a new parameter encryption_protector\n - Model DatabaseUpdate has a new parameter keys\n - Model DatabaseUpdate has a new parameter manual_cutover\n - Model DatabaseUpdate has a new parameter perform_cutover\n - Model PrivateEndpointConnectionProperties has a new parameter group_ids\n - Model RecoverableDatabase has a new parameter keys\n - Model RecoverableDatabaseListResult has a new parameter next_link\n - Model RestorableDroppedDatabase has a new parameter keys\n - Model Server has a new parameter external_governance_status\n - Model ServerUpdate has a new parameter external_governance_status\n - Operation DatabasesOperations.get has a new optional parameter expand\n - Operation DatabasesOperations.get has a new optional parameter filter\n - Operation RecoverableDatabasesOperations.get has a new optional parameter expand\n - Operation RecoverableDatabasesOperations.get has a new optional parameter filter\n - Operation RestorableDroppedDatabasesOperations.get has a new optional parameter expand\n - Operation RestorableDroppedDatabasesOperations.get has a new optional parameter filter\n\n### Breaking Changes\n\n - Renamed operation TransparentDataEncryptionsOperations.create_or_update to TransparentDataEncryptionsOperations.begin_create_or_update\n\n## 4.0.0b7 (2023-01-29)\n\n### Features Added\n\n - Model InstanceFailoverGroup has a new parameter secondary_type\n - Model ManagedDatabase has a new parameter cross_subscription_restorable_dropped_database_id\n - Model ManagedDatabase has a new parameter cross_subscription_source_database_id\n - Model ManagedDatabase has a new parameter cross_subscription_target_managed_instance_id\n - Model ManagedDatabaseUpdate has a new parameter cross_subscription_restorable_dropped_database_id\n - Model ManagedDatabaseUpdate has a new parameter cross_subscription_source_database_id\n - Model ManagedDatabaseUpdate has a new parameter cross_subscription_target_managed_instance_id\n\n## 4.0.0b6 (2022-12-30)\n\n### Features Added\n\n - Model Database has a new parameter preferred_enclave_type\n - Model DatabaseUpdate has a new parameter preferred_enclave_type\n\n## 4.0.0b5 (2022-11-10)\n\n### Features Added\n\n - Model ServerDevOpsAuditingSettings has a new parameter is_managed_identity_in_use\n\n## 4.0.0b4 (2022-09-29)\n\n### Features Added\n\n - Added operation ManagedDatabasesOperations.begin_cancel_move\n - Added operation ManagedDatabasesOperations.begin_complete_move\n - Added operation ManagedDatabasesOperations.begin_start_move\n - Added operation group DatabaseSqlVulnerabilityAssessmentBaselinesOperations\n - Added operation group DatabaseSqlVulnerabilityAssessmentExecuteScanOperations\n - Added operation group DatabaseSqlVulnerabilityAssessmentRuleBaselinesOperations\n - Added operation group DatabaseSqlVulnerabilityAssessmentScanResultOperations\n - Added operation group DatabaseSqlVulnerabilityAssessmentScansOperations\n - Added operation group DatabaseSqlVulnerabilityAssessmentsSettingsOperations\n - Added operation group ManagedDatabaseAdvancedThreatProtectionSettingsOperations\n - Added operation group ManagedDatabaseMoveOperationsOperations\n - Added operation group ManagedInstanceAdvancedThreatProtectionSettingsOperations\n - Added operation group ManagedInstanceDtcsOperations\n - Added operation group SqlVulnerabilityAssessmentBaselineOperations\n - Added operation group SqlVulnerabilityAssessmentBaselinesOperations\n - Added operation group SqlVulnerabilityAssessmentExecuteScanOperations\n - Added operation group SqlVulnerabilityAssessmentRuleBaselineOperations\n - Added operation group SqlVulnerabilityAssessmentRuleBaselinesOperations\n - Added operation group SqlVulnerabilityAssessmentScanResultOperations\n - Added operation group SqlVulnerabilityAssessmentScansOperations\n - Added operation group SqlVulnerabilityAssessmentsOperations\n - Added operation group SqlVulnerabilityAssessmentsSettingsOperations\n - Added operation group SynapseLinkWorkspacesOperations\n - Model ManagedDatabase has a new parameter storage_container_identity\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter current_backup_type\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter current_restore_plan_size_mb\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter current_restored_size_mb\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter diff_backup_sets\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter full_backup_sets\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter log_backup_sets\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter number_of_files_queued\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter number_of_files_restored\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter number_of_files_restoring\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter number_of_files_skipped\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter number_of_files_unrestorable\n - Model ManagedDatabaseRestoreDetailsResult has a new parameter type_properties_type\n - Model ManagedDatabaseUpdate has a new parameter storage_container_identity\n - Model VirtualCluster has a new parameter version\n - Model VirtualClusterUpdate has a new parameter version\n\n### Breaking Changes\n\n - Model VirtualCluster no longer has parameter family\n - Model VirtualCluster no longer has parameter maintenance_configuration_id\n - Model VirtualClusterUpdate no longer has parameter family\n - Model VirtualClusterUpdate no longer has parameter maintenance_configuration_id\n - Renamed operation ReplicationLinksOperations.delete to ReplicationLinksOperations.begin_delete\n - Renamed operation VirtualClustersOperations.update_dns_servers to VirtualClustersOperations.begin_update_dns_servers\n\n## 4.0.0b3 (2022-07-06)\n\n**Features**\n\n - Added operation group DatabaseAdvancedThreatProtectionSettingsOperations\n - Added operation group EndpointCertificatesOperations\n - Added operation group ManagedServerDnsAliasesOperations\n - Added operation group ServerAdvancedThreatProtectionSettingsOperations\n - Model Database has a new parameter source_resource_id\n - Model DatabaseBlobAuditingPolicy has a new parameter is_managed_identity_in_use\n - Model ExtendedDatabaseBlobAuditingPolicy has a new parameter is_managed_identity_in_use\n - Model ExtendedServerBlobAuditingPolicy has a new parameter is_managed_identity_in_use\n - Model ServerBlobAuditingPolicy has a new parameter is_managed_identity_in_use\n\n**Breaking changes**\n\n - Model Database no longer has parameter primary_delegated_identity_client_id\n - Model DatabaseIdentity no longer has parameter delegated_resources\n - Model DatabaseUpdate no longer has parameter primary_delegated_identity_client_id\n - Removed operation ReplicationLinksOperations.begin_unlink\n\n## 4.0.0b2 (2022-03-08)\n\n**Features**\n\n - Added operation group DistributedAvailabilityGroupsOperations\n - Added operation group IPv6FirewallRulesOperations\n - Added operation group ServerTrustCertificatesOperations\n - Model ElasticPool has a new parameter high_availability_replica_count\n - Model ElasticPoolUpdate has a new parameter high_availability_replica_count\n\n**Breaking changes**\n\n - Removed operation group OperationsHealthOperations\n\n## 4.0.0b1 (2021-12-21)\n\n**Features**\n\n - Model ManagedInstanceUpdate has a new parameter current_backup_storage_redundancy\n - Model ManagedInstanceUpdate has a new parameter requested_backup_storage_redundancy\n - Model ManagedInstanceUpdate has a new parameter service_principal\n - Model Database has a new parameter identity\n - Model Database has a new parameter primary_delegated_identity_client_id\n - Model Database has a new parameter federated_client_id\n - Model ManagedInstance has a new parameter current_backup_storage_redundancy\n - Model ManagedInstance has a new parameter requested_backup_storage_redundancy\n - Model ManagedInstance has a new parameter service_principal\n - Model DatabaseUpdate has a new parameter identity\n - Model DatabaseUpdate has a new parameter primary_delegated_identity_client_id\n - Model DatabaseUpdate has a new parameter federated_client_id\n - Added operation TransparentDataEncryptionsOperations.list_by_database\n - Added operation LedgerDigestUploadsOperations.begin_create_or_update\n - Added operation LedgerDigestUploadsOperations.begin_disable\n - Added operation ServerConnectionPoliciesOperations.list_by_server\n - Added operation ServerConnectionPoliciesOperations.begin_create_or_update\n\n**Breaking changes**\n\n - Operation TransparentDataEncryptionsOperations.create_or_update has a new signature\n - Operation TransparentDataEncryptionsOperations.get has a new signature\n - Model ManagedInstanceUpdate no longer has parameter storage_account_type\n - Model ManagedInstance no longer has parameter storage_account_type\n - Model RestorableDroppedDatabase no longer has parameter elastic_pool_id\n - Removed operation LedgerDigestUploadsOperations.create_or_update\n - Removed operation LedgerDigestUploadsOperations.disable\n - Removed operation ServerConnectionPoliciesOperations.create_or_update\n - Removed operation group TransparentDataEncryptionActivitiesOperations\n\n## 3.0.1 (2021-07-15)\n\n**Bugfixes**\n\n - Fix default setting for blob_auditing_policy_name\n\n## 3.0.0 (2021-06-18)\n\n**Features**\n\n - Model Server has a new parameter federated_client_id\n - Model Server has a new parameter restrict_outbound_network_access\n - Model ServerUpdate has a new parameter federated_client_id\n - Model ServerUpdate has a new parameter restrict_outbound_network_access\n - Model BackupShortTermRetentionPolicy has a new parameter diff_backup_interval_in_hours\n\n**Breaking changes**\n\n - Operation ReplicationLinksOperations.get has a new signature\n\n## 2.1.0 (2021-05-24)\n\n - Add resource identity\n\n## 2.0.0 (2021-05-13)\n\n**Features**\n\n - Model LongTermRetentionBackup has a new parameter requested_backup_storage_redundancy\n - Model LongTermRetentionBackup has a new parameter backup_storage_redundancy\n - Model ManagedInstanceKey has a new parameter auto_rotation_enabled\n - Model ManagedInstanceEncryptionProtector has a new parameter auto_rotation_enabled\n - Model Database has a new parameter is_infra_encryption_enabled\n - Model Database has a new parameter is_ledger_on\n - Model Database has a new parameter secondary_type\n - Model Database has a new parameter current_backup_storage_redundancy\n - Model Database has a new parameter high_availability_replica_count\n - Model Database has a new parameter maintenance_configuration_id\n - Model Database has a new parameter requested_backup_storage_redundancy\n - Model ReplicationLink has a new parameter link_type\n - Model ServerUpdate has a new parameter primary_user_assigned_identity_id\n - Model ServerUpdate has a new parameter administrators\n - Model ServerUpdate has a new parameter identity\n - Model ServerUpdate has a new parameter key_id\n - Model ServerUpdate has a new parameter workspace_feature\n - Model DatabaseUpdate has a new parameter is_infra_encryption_enabled\n - Model DatabaseUpdate has a new parameter is_ledger_on\n - Model DatabaseUpdate has a new parameter secondary_type\n - Model DatabaseUpdate has a new parameter current_backup_storage_redundancy\n - Model DatabaseUpdate has a new parameter high_availability_replica_count\n - Model DatabaseUpdate has a new parameter maintenance_configuration_id\n - Model DatabaseUpdate has a new parameter requested_backup_storage_redundancy\n - Model ManagedInstance has a new parameter primary_user_assigned_identity_id\n - Model ManagedInstance has a new parameter administrators\n - Model ManagedInstance has a new parameter key_id\n - Model ManagedInstance has a new parameter zone_redundant\n - Model ManagedInstance has a new parameter private_endpoint_connections\n - Model ServerKey has a new parameter auto_rotation_enabled\n - Model ExtendedServerBlobAuditingPolicy has a new parameter is_devops_audit_enabled\n - Model ServiceObjectiveCapability has a new parameter supported_maintenance_configurations\n - Model EncryptionProtector has a new parameter auto_rotation_enabled\n - Model FirewallRuleListResult has a new parameter next_link\n - Model ManagedInstanceUpdate has a new parameter primary_user_assigned_identity_id\n - Model ManagedInstanceUpdate has a new parameter administrators\n - Model ManagedInstanceUpdate has a new parameter identity\n - Model ManagedInstanceUpdate has a new parameter key_id\n - Model ManagedInstanceUpdate has a new parameter private_endpoint_connections\n - Model ManagedInstanceUpdate has a new parameter zone_redundant\n - Model ElasticPoolUpdate has a new parameter maintenance_configuration_id\n - Model SyncMember has a new parameter private_endpoint_name\n - Model ElasticPool has a new parameter maintenance_configuration_id\n - Model ManagedInstanceVcoresCapability has a new parameter supported_maintenance_configurations\n - Model ManagedInstanceLongTermRetentionBackup has a new parameter backup_storage_redundancy\n - Model ServerSecurityAlertPolicy has a new parameter system_data\n - Model ManagedInstanceEditionCapability has a new parameter supported_storage_capabilities\n - Model ManagedInstanceEditionCapability has a new parameter zone_redundant\n - Model ServerBlobAuditingPolicy has a new parameter is_devops_audit_enabled\n - Model ElasticPoolPerformanceLevelCapability has a new parameter supported_maintenance_configurations\n - Model RestorableDroppedDatabase has a new parameter backup_storage_redundancy\n - Model RestorableDroppedDatabase has a new parameter tags\n - Model RestorableDroppedDatabase has a new parameter sku\n - Model RestorableDroppedDatabase has a new parameter elastic_pool_id\n - Model DatabaseSecurityAlertPolicy has a new parameter creation_time\n - Model DatabaseSecurityAlertPolicy has a new parameter system_data\n - Model SyncGroup has a new parameter conflict_logging_retention_in_days\n - Model SyncGroup has a new parameter private_endpoint_name\n - Model SyncGroup has a new parameter sku\n - Model SyncGroup has a new parameter enable_conflict_logging\n - Model VirtualClusterUpdate has a new parameter maintenance_configuration_id\n - Model PrivateLinkResourceProperties has a new parameter required_zone_names\n - Model VirtualCluster has a new parameter maintenance_configuration_id\n - Model ManagedServerSecurityAlertPolicy has a new parameter system_data\n - Model DatabaseUsage has a new parameter type\n - Model DatabaseUsage has a new parameter id\n - Model Server has a new parameter primary_user_assigned_identity_id\n - Model Server has a new parameter key_id\n - Model Server has a new parameter administrators\n - Model Server has a new parameter workspace_feature\n - Model SensitivityLabel has a new parameter column_name\n - Model SensitivityLabel has a new parameter schema_name\n - Model SensitivityLabel has a new parameter managed_by\n - Model SensitivityLabel has a new parameter table_name\n - Added operation VirtualClustersOperations.update_dns_servers\n - Added operation ServersOperations.begin_import_database\n - Added operation DatabasesOperations.list_inaccessible_by_server\n - Added operation FirewallRulesOperations.replace\n - Added operation ReplicationLinksOperations.list_by_server\n - Added operation SensitivityLabelsOperations.update\n - Added operation ManagedInstancesOperations.list_by_managed_instance\n - Added operation ManagedDatabaseSensitivityLabelsOperations.update\n - Added operation LongTermRetentionBackupsOperations.begin_update\n - Added operation LongTermRetentionBackupsOperations.begin_copy\n - Added operation LongTermRetentionBackupsOperations.begin_copy_by_resource_group\n - Added operation LongTermRetentionBackupsOperations.begin_update_by_resource_group\n - Added operation group DatabaseSchemasOperations\n - Added operation group DatabaseExtensionsOperations\n - Added operation group ManagedInstancePrivateEndpointConnectionsOperations\n - Added operation group DeletedServersOperations\n - Added operation group ManagedDatabaseTablesOperations\n - Added operation group MaintenanceWindowOptionsOperations\n - Added operation group DatabaseSecurityAlertPoliciesOperations\n - Added operation group ServerTrustGroupsOperations\n - Added operation group ManagedInstanceAzureADOnlyAuthenticationsOperations\n - Added operation group SqlAgentOperations\n - Added operation group TimeZonesOperations\n - Added operation group ManagedInstancePrivateLinkResourcesOperations\n - Added operation group RecommendedSensitivityLabelsOperations\n - Added operation group DatabaseTablesOperations\n - Added operation group ServerAdvisorsOperations\n - Added operation group ManagedDatabaseSecurityEventsOperations\n - Added operation group ServerOperationsOperations\n - Added operation group DatabaseAdvisorsOperations\n - Added operation group DatabaseColumnsOperations\n - Added operation group DataWarehouseUserActivitiesOperations\n - Added operation group OutboundFirewallRulesOperations\n - Added operation group ManagedDatabaseSchemasOperations\n - Added operation group DatabaseRecommendedActionsOperations\n - Added operation group LongTermRetentionPoliciesOperations\n - Added operation group ManagedDatabaseQueriesOperations\n - Added operation group ManagedDatabaseRecommendedSensitivityLabelsOperations\n - Added operation group ManagedDatabaseTransparentDataEncryptionOperations\n - Added operation group ServerDevOpsAuditSettingsOperations\n - Added operation group OperationsHealthOperations\n - Added operation group LedgerDigestUploadsOperations\n - Added operation group MaintenanceWindowsOperations\n - Added operation group ManagedDatabaseColumnsOperations\n\n**Breaking changes**\n\n - Operation RestorableDroppedDatabasesOperations.get has a new signature\n - Operation ReplicationLinksOperations.get has a new signature\n - Parameter old_server_dns_alias_id of model ServerDnsAliasAcquisition is now required\n - Operation SensitivityLabelsOperations.list_recommended_by_database has a new signature\n - Operation ManagedDatabaseSensitivityLabelsOperations.list_recommended_by_database has a new signature\n - Operation DatabasesOperations.begin_import_method has a new signature\n - Operation DatabasesOperations.list_by_server has a new signature\n - Operation ManagedDatabaseSensitivityLabelsOperations.list_current_by_database has a new signature\n - Operation ManagedDatabaseSensitivityLabelsOperations.list_current_by_database has a new signature\n - Operation ManagedDatabaseSensitivityLabelsOperations.list_recommended_by_database has a new signature\n - Operation ManagedInstanceAdministratorsOperations.begin_create_or_update has a new signature\n - Operation ManagedInstanceAdministratorsOperations.begin_delete has a new signature\n - Operation ManagedInstanceAdministratorsOperations.get has a new signature\n - Operation ManagedInstancesOperations.get has a new signature\n - Operation ManagedInstancesOperations.list has a new signature\n - Operation ManagedInstancesOperations.list_by_instance_pool has a new signature\n - Operation ManagedInstancesOperations.list_by_resource_group has a new signature\n - Operation SensitivityLabelsOperations.list_current_by_database has a new signature\n - Operation SensitivityLabelsOperations.list_current_by_database has a new signature\n - Operation SensitivityLabelsOperations.list_recommended_by_database has a new signature\n - Operation ServersOperations.get has a new signature\n - Operation ServersOperations.list has a new signature\n - Operation ServersOperations.list_by_resource_group has a new signature\n - Model BackupShortTermRetentionPolicy no longer has parameter diff_backup_interval_in_hours\n - Model Database no longer has parameter read_replica_count\n - Model ReplicationLink no longer has parameter location\n - Model DatabaseUpdate no longer has parameter read_replica_count\n - Model FirewallRule no longer has parameter kind\n - Model FirewallRule no longer has parameter location\n - Model RestorableDroppedDatabase no longer has parameter service_level_objective\n - Model RestorableDroppedDatabase no longer has parameter edition\n - Model RestorableDroppedDatabase no longer has parameter elastic_pool_name\n - Model DatabaseSecurityAlertPolicy no longer has parameter use_server_default\n - Model DatabaseSecurityAlertPolicy no longer has parameter kind\n - Model DatabaseSecurityAlertPolicy no longer has parameter location\n - Model DatabaseUsage no longer has parameter resource_name\n - Model DatabaseUsage no longer has parameter next_reset_time\n - Removed operation DatabasesOperations.begin_create_import_operation\n - Model DatabaseUsageListResult has a new signature\n - Model RestorableDroppedDatabaseListResult has a new signature\n - Removed operation group RecommendedElasticPoolsOperations\n - Removed operation group BackupLongTermRetentionPoliciesOperations\n - Removed operation group DatabaseThreatDetectionPoliciesOperations\n - Removed operation group ServiceTierAdvisorsOperations\n\n## 1.0.0 (2020-11-24)\n\n- GA release\n\n## 1.0.0b1 (2020-10-13)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.21.0 (2020-09-03)\n\n**Features**\n\n - Model DatabaseUpdate has a new parameter storage_account_type\n - Model Database has a new parameter storage_account_type\n - Model BackupShortTermRetentionPolicy has a new parameter diff_backup_interval_in_hours\n - Model ManagedInstance has a new parameter storage_account_type\n - Model ManagedInstance has a new parameter provisioning_state\n - Model ManagedInstanceUpdate has a new parameter storage_account_type\n - Model ManagedInstanceUpdate has a new parameter provisioning_state\n - Added operation DatabasesOperations.list_inaccessible_by_server\n - Added operation ServersOperations.import_database\n - Added operation group ImportExportOperations\n - Added operation group ServerAzureADOnlyAuthenticationsOperations\n - Added operation group ManagedInstanceAzureADOnlyAuthenticationsOperations\n\n**Breaking changes**\n\n - Operation BackupShortTermRetentionPoliciesOperations.create_or_update has a new signature\n - Operation BackupShortTermRetentionPoliciesOperations.update has a new signature\n - Removed operation DatabasesOperations.import_method\n - Removed operation DatabasesOperations.create_import_operation\n - Removed operation ServerAzureADAdministratorsOperations.disable_azure_ad_only_authentication\n\n## 0.20.0 (2020-06-22)\n\n**Features**\n\n - Model ManagedDatabase has a new parameter last_backup_name\n - Model ManagedDatabase has a new parameter auto_complete_restore\n - Model ManagedDatabaseUpdate has a new parameter last_backup_name\n - Model ManagedDatabaseUpdate has a new parameter auto_complete_restore\n - Model ManagedInstanceOperation has a new parameter operation_parameters\n - Model ManagedInstanceOperation has a new parameter operation_steps\n\n## 0.19.0 (2020-06-22)\n\n**Features**\n\n - Model SyncGroup has a new parameter use_private_link_connection\n - Model ManagedInstanceUpdate has a new parameter maintenance_configuration_id\n - Model SyncMember has a new parameter use_private_link_connection\n - Model SyncMember has a new parameter sync_member_azure_database_resource_id\n - Model ManagedInstance has a new parameter maintenance_configuration_id\n - Added operation ExtendedDatabaseBlobAuditingPoliciesOperations.list_by_database\n - Added operation ManagedInstancesOperations.failover\n - Added operation ReplicationLinksOperations.unlink\n - Added operation ExtendedServerBlobAuditingPoliciesOperations.list_by_server\n\n# 0.18.0 (2020-03-23)\n\n**Features**\n\n - Added operation group ManagedInstanceOperations\n\n# 0.17.0 (2020-03-02)\n\n**Features**\n\n - Model ManagedInstanceUpdate has a new parameter minimal_tls_version\n - Model ServerAzureADAdministrator has a new parameter azure_ad_only_authentication\n - Model ManagedDatabase has a new parameter long_term_retention_backup_resource_id\n - Model ManagedDatabaseUpdate has a new parameter long_term_retention_backup_resource_id\n - Model SensitivityLabel has a new parameter rank\n - Model ServerUpdate has a new parameter private_endpoint_connections\n - Model ServerUpdate has a new parameter minimal_tls_version\n - Model ServerUpdate has a new parameter public_network_access\n - Model Server has a new parameter private_endpoint_connections\n - Model Server has a new parameter minimal_tls_version\n - Model Server has a new parameter public_network_access\n - Model ManagedInstance has a new parameter minimal_tls_version\n - Added operation ServerAzureADAdministratorsOperations.disable_azure_ad_only_authentication\n - Added operation ManagedDatabasesOperations.list_inaccessible_by_instance\n - Added operation group ManagedInstanceLongTermRetentionPoliciesOperations\n - Added operation group LongTermRetentionManagedInstanceBackupsOperations\n\n## 0.16.0 (2019-12-17)\n\n**Features**\n\n - Model ExtendedServerBlobAuditingPolicy has a new parameter\n queue_delay_ms\n - Model EditionCapability has a new parameter read_scale\n - Model EditionCapability has a new parameter\n supported_storage_capabilities\n - Model ServiceObjectiveCapability has a new parameter compute_model\n - Model ServiceObjectiveCapability has a new parameter\n supported_auto_pause_delay\n - Model ServiceObjectiveCapability has a new parameter zone_redundant\n - Model ServiceObjectiveCapability has a new parameter\n supported_min_capacities\n - Model ManagedInstanceVersionCapability has a new parameter\n supported_instance_pool_editions\n - Model DatabaseBlobAuditingPolicy has a new parameter\n queue_delay_ms\n - Model ExtendedDatabaseBlobAuditingPolicy has a new parameter\n queue_delay_ms\n - Model ManagedInstanceVcoresCapability has a new parameter\n supported_storage_sizes\n - Model ManagedInstanceVcoresCapability has a new parameter\n instance_pool_supported\n - Model ManagedInstanceVcoresCapability has a new parameter\n standalone_supported\n - Model ManagedInstanceVcoresCapability has a new parameter\n included_max_size\n - Model ServerBlobAuditingPolicy has a new parameter queue_delay_ms\n - Model ElasticPoolPerformanceLevelCapability has a new parameter\n zone_redundant\n - Added operation group WorkloadGroupsOperations\n - Added operation group WorkloadClassifiersOperations\n\n**Breaking changes**\n\n - Operation ServerAzureADAdministratorsOperations.create_or_update\n has a new signature\n - Model ManagedInstanceFamilyCapability no longer has parameter\n supported_storage_sizes\n - Model ManagedInstanceFamilyCapability no longer has parameter\n included_max_size\n\n## 0.15.0 (2019-11-12)\n\n**Breaking changes**\n\n - Operation DatabasesOperations.failover has a new signature\n - Operation ManagedInstanceAdministratorsOperations.get has a new\n signature\n - Operation ManagedInstanceAdministratorsOperations.delete has a new\n signature\n - Operation ManagedInstanceAdministratorsOperations.create_or_update\n has a new signature\n\n## 0.14.0 (2019-10-04)\n\n**Features**\n\n - Added operation\n ServerBlobAuditingPoliciesOperations.list_by_server\n - Added operation ManagedDatabasesOperations.complete_restore\n - Added operation\n DatabaseBlobAuditingPoliciesOperations.list_by_database\n - Added operation group ManagedDatabaseRestoreDetailsOperations\n\n## 0.13.0 (2019-09-03)\n\n**Features**\n\n - Model ManagedInstanceUpdate has a new parameter\n source_managed_instance_id\n - Model ManagedInstanceUpdate has a new parameter instance_pool_id\n - Model ManagedInstanceUpdate has a new parameter\n restore_point_in_time\n - Model ManagedInstanceUpdate has a new parameter\n managed_instance_create_mode\n - Model SensitivityLabel has a new parameter is_disabled\n - Model Database has a new parameter paused_date\n - Model Database has a new parameter read_replica_count\n - Model Database has a new parameter resumed_date\n - Model Database has a new parameter auto_pause_delay\n - Model Database has a new parameter min_capacity\n - Model ManagedInstance has a new parameter\n source_managed_instance_id\n - Model ManagedInstance has a new parameter instance_pool_id\n - Model ManagedInstance has a new parameter restore_point_in_time\n - Model ManagedInstance has a new parameter\n managed_instance_create_mode\n - Model DatabaseUpdate has a new parameter paused_date\n - Model DatabaseUpdate has a new parameter read_replica_count\n - Model DatabaseUpdate has a new parameter resumed_date\n - Model DatabaseUpdate has a new parameter auto_pause_delay\n - Model DatabaseUpdate has a new parameter min_capacity\n - Added operation\n ManagedInstanceEncryptionProtectorsOperations.revalidate\n - Added operation\n ManagedDatabaseSensitivityLabelsOperations.enable_recommendation\n - Added operation\n ManagedDatabaseSensitivityLabelsOperations.disable_recommendation\n - Added operation ElasticPoolsOperations.failover\n - Added operation ManagedInstancesOperations.list_by_instance_pool\n - Added operation DatabasesOperations.failover\n - Added operation\n LongTermRetentionBackupsOperations.get_by_resource_group\n - Added operation\n LongTermRetentionBackupsOperations.list_by_resource_group_server\n - Added operation\n LongTermRetentionBackupsOperations.delete_by_resource_group\n - Added operation\n LongTermRetentionBackupsOperations.list_by_resource_group_location\n - Added operation\n LongTermRetentionBackupsOperations.list_by_resource_group_database\n - Added operation SensitivityLabelsOperations.enable_recommendation\n - Added operation SensitivityLabelsOperations.disable_recommendation\n - Added operation EncryptionProtectorsOperations.revalidate\n - Added operation group InstancePoolsOperations\n - Added operation group ManagedInstanceAdministratorsOperations\n - Added operation group UsagesOperations\n - Added operation group PrivateLinkResourcesOperations\n - Added operation group PrivateEndpointConnectionsOperations\n\n**Breaking changes**\n\n - Operation\n ManagedDatabaseSensitivityLabelsOperations.list_recommended_by_database\n has a new signature\n - Operation\n SensitivityLabelsOperations.list_recommended_by_database has a\n new signature\n - Operation EncryptionProtectorsOperations.create_or_update has a\n new signature\n\n**General breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if from some import. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - SqlManagementClient cannot be imported from\n `azure.mgmt.sql.sql_management_client` anymore (import from\n `azure.mgmt.sqlmanagement` works like before)\n - SqlManagementClientConfiguration import has been moved from\n `azure.mgmt.sqlmanagement.sql_management_client` to\n `azure.mgmt.sqlmanagement`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.sqlmanagement.models.my_class` (import\n from `azure.mgmt.sqlmanagement.models` works like before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.sqlmanagement.operations.my_class_operations`\n (import from `azure.mgmt.sqlmanagement.operations` works like\n before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.12.0 (2019-03-28)\n\n**Features**\n\n - Model ManagedDatabase has a new parameter recoverable_database_id\n - Model ManagedDatabase has a new parameter\n restorable_dropped_database_id\n - Model ServerSecurityAlertPolicy has a new parameter creation_time\n - Model ManagedInstanceUpdate has a new parameter\n public_data_endpoint_enabled\n - Model ManagedInstanceUpdate has a new parameter proxy_override\n - Model ManagedInstanceUpdate has a new parameter timezone_id\n - Model ManagedDatabaseUpdate has a new parameter\n recoverable_database_id\n - Model ManagedDatabaseUpdate has a new parameter\n restorable_dropped_database_id\n - Model ManagedInstance has a new parameter\n public_data_endpoint_enabled\n - Model ManagedInstance has a new parameter proxy_override\n - Model ManagedInstance has a new parameter timezone_id\n - Added operation group ManagedServerSecurityAlertPoliciesOperations\n - Added operation group VirtualClustersOperations\n - Added operation group\n ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesOperations\n - Added operation group RestorableDroppedManagedDatabasesOperations\n - Added operation group ManagedDatabaseSensitivityLabelsOperations\n - Added operation group RecoverableManagedDatabasesOperations\n - Added operation group ServerVulnerabilityAssessmentsOperations\n - Added operation group\n ManagedInstanceVulnerabilityAssessmentsOperations\n - Added operation group ManagedDatabaseSecurityAlertPoliciesOperations\n - Added operation group SensitivityLabelsOperations\n\n## 0.11.0 (2018-11-08)\n\n**Features**\n\n - Model ServerBlobAuditingPolicy has a new parameter\n is_azure_monitor_target_enabled\n - Model ExtendedServerBlobAuditingPolicy has a new parameter\n is_azure_monitor_target_enabled\n - Model DatabaseBlobAuditingPolicy has a new parameter\n is_azure_monitor_target_enabled\n - Model ExtendedDatabaseBlobAuditingPolicy has a new parameter\n is_azure_monitor_target_enabled\n - Added operation\n DatabaseVulnerabilityAssessmentsOperations.list_by_database\n - Added operation\n ManagedDatabaseVulnerabilityAssessmentsOperations.list_by_database\n - Added operation group\n ManagedBackupShortTermRetentionPoliciesOperations\n\n## 0.10.0 (2018-10-18)\n\n**Features**\n\n - Model DatabaseVulnerabilityAssessment has a new parameter\n storage_account_access_key\n - Model ManagedInstanceUpdate has a new parameter dns_zone_partner\n - Model ManagedInstanceUpdate has a new parameter collation\n - Model ManagedInstanceUpdate has a new parameter dns_zone\n - Model ManagedInstance has a new parameter dns_zone_partner\n - Model ManagedInstance has a new parameter collation\n - Model ManagedInstance has a new parameter dns_zone\n - Added operation\n BackupShortTermRetentionPoliciesOperations.list_by_database\n - Added operation group\n ManagedDatabaseVulnerabilityAssessmentsOperations\n - Added operation group ExtendedDatabaseBlobAuditingPoliciesOperations\n - Added operation group TdeCertificatesOperations\n - Added operation group ManagedInstanceKeysOperations\n - Added operation group ServerBlobAuditingPoliciesOperations\n - Added operation group ManagedInstanceEncryptionProtectorsOperations\n - Added operation group ExtendedServerBlobAuditingPoliciesOperations\n - Added operation group ServerSecurityAlertPoliciesOperations\n - Added operation group\n ManagedDatabaseVulnerabilityAssessmentScansOperations\n - Added operation group ManagedInstanceTdeCertificatesOperations\n - Added operation group\n ManagedDatabaseVulnerabilityAssessmentRuleBaselinesOperations\n\n**Breaking changes**\n\n - Operation\n DatabaseVulnerabilityAssessmentRuleBaselinesOperations.delete has a\n new signature\n - Operation DatabaseVulnerabilityAssessmentRuleBaselinesOperations.get\n has a new signature\n - Operation\n DatabaseVulnerabilityAssessmentRuleBaselinesOperations.create_or_update\n has a new signature\n\n**Note**\n\n - azure-mgmt-nspkg is not installed anymore on Python 3 (PEP420-based\n namespace package)\n\n## 0.9.1 (2018-05-24)\n\n**Features**\n\n - Managed instances, databases, and failover groups\n - Vulnerability assessments\n - Backup short term retention policies\n - Elastic Jobs\n\n## 0.9.0 (2018-04-25)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**SQL Breaking changes**\n\n - - Database and ElasticPool now use Sku property for scale and\n tier-related properties. We have made this change in order to\n allow future support of autoscale, and to allow for new\n vCore-based editions.\n\n - Database.sku has replaced\n Database.requested_service_objective_name and\n Database.edition. Database scale can be set by setting\n Sku.name to the requested service objective name (e.g. S0,\n P1, or GP_Gen4_1), or by setting Sku.name to the sku name\n (e.g. Standard, Premium, or GP_Gen4) and set Sku.capacity\n to the scale measured in DTU or vCores.\n - Database.current_sku has replaced\n Database.service_level_objetive.\n - Database.current_service_objective_id and\n Database.requested_service_objective_id have been\n removed.\n - ElasticPool.sku has replaced ElasticPool.dtu. Elastic pool\n scale can be set by setting Sku.name to the requested sku\n name (e.g. StandardPool, PremiumPool, or GP_Gen4) and\n setting Sku.capacity to the scale measured in DTU or vCores.\n - ElasticPool.per_database_settings has replaced\n ElasticPool.database_dtu_min and\n ElasticPool.database_dtu_max.\n\n - Database.max_size_bytes is now an integer instead of string.\n\n - LocationCapabilities tree has been changed in order to support\n capabilities of new vCore-based database and elastic pool editions.\n\n**Features**\n\n - Added support for List and Cancel operation on Azure database and\n elastic pool REST API\n - Added Long Term Retention V2 commands, including getting backups,\n deleting backups, setting the V2 policies, and getting the V2\n policies\n - Removed support for managing Vaults used for Long Term Retention\n V1\n - Changed BackupLongTermRetentionPolicy class, removing the Long\n Term Retention V1 properties and adding the Long Term Retention\n V2 properties\n - Removed BackupLongTermRetentionPolicyState\n\n## 0.8.6 (2018-03-22)\n\n**Features**\n\n - Added support for List and Cancel operation on Azure database and\n elastic pool REST API\n - Added support for Auto-tuning REST API\n\n## 0.8.5 (2018-01-18)\n\n**Features**\n\n - Added support for renaming databases\n - Added missing database editions and service objectives\n - Added ability to list long term retention vaults & policies\n\n## 0.8.4 (2017-11-14)\n\n**Features**\n\n - Added support for subscription usages\n\n## 0.8.3 (2017-10-24)\n\n**Features**\n\n - Added support for database zone redundant property\n - Added support for server dns aliases\n\n## 0.8.2 (2017-10-18)\n\n**Features**\n\n - Added support for state and migration flag properties for SQL Vnet\n rules\n\n## 0.8.1 (2017-10-04)\n\n**Features**\n\n - Add database.cancel operation\n - Add database.list_by_database\n\n## 0.8.0 (2017-09-07)\n\n**Disclaimer**\n\nWe were using a slightly unorthodox convention for some operation ids.\nSome resource operations were \"nested\" inside others, e.g. blob auditing\npolicies was nested inside databases as in\nclient.databases.get_blob_auditing_policies(..) instead of the\nflattened ARM standard\nclient.database_blob_auditing_policies.get(...).\n\nThis convention has lead to some inconsistencies, makes some APIs\ndifficult to find, and is at odds with future APIs. For example if we\nwanted to implement listing db audit policies by server, continuing the\ncurrent convention would be\nclient.databases.list_blob_auditing_policies_by_server(..) which\nmakes much less sense than the ARM standard which would\nbeclient.database_blob_auditing_policies.list_by_server(...)`.\n\nIn order to resolve this and provide a good path moving forward, we have\nrenamed the inconsistent operations to follow the ARM standard. This is\nan unfortunate breaking change, but it's best to do now while the SDK is\nstill in preview and since most of these operations were only recently\nadded.\n\n**Breaking changes**\n\n - client.database.get_backup_long_term_retention_policy ->\n client.backup_long_term_retention_policies.get\n - client.database.create_or_update_backup_long_term_retention_policy\n ->\n client.backup_long_term_retention_policies.create_or_update\n - client.servers.create_backup_long_term_retention_vault ->\n client.backup_long_term_retention_vaults.create_or_update\n - client.servers.get_backup_long_term_retention_vault ->\n client.backup_long_term_retention_vaults.get\n - client.database.list_restore_points ->\n client.restore_points.list_by_database\n - client.servers.create_or_update_connection_policy ->\n client.server_connection_policies.create_or_update\n - client.servers.get_connection_policy ->\n client.server_connection_policies.get\n - client.databases.create_or_update_data_masking_policy ->\n client.data_masking_policies.create_or_update\n - client.databases.get_data_masking_policy ->\n client.data_masking_policies.get\n - client.databases.create_or_update_data_masking_rule ->\n client.data_masking_rules.create_or_update\n - client.databases.get_data_masking_rule ->\n client.data_masking_rules.get\n - client.databases.list_data_masking_rules ->\n client.data_masking_rules.list_by_database\n - client.databases.get_threat_detection_policy ->\n client.database_threat_detection_policies.get\n - client.databases.create_or_update_threat_detection_policy ->\n client.database_threat_detection_policies.create_or_update\n - client.databases.create_or_update_geo_backup_policy ->\n client.geo_backup_policies.create_or_update\n - client.databases.get_geo_backup_policy ->\n client.geo_backup_policies.get\n - client.databases.list_geo_backup_policies ->\n client.geo_backup_policies.list_by_database\n - client.databases.delete_replication_link ->\n client.replication_links.delete\n - client.databases.get_replication_link ->\n client.replication_links.get\n - client.databases.failover_replication_link ->\n client.replication_links.failover\n - client.databases.failover_replication_link_allow_data_loss ->\n client.replication_links.failover_allow_data_loss\n - client.databases.list_replication_links ->\n client.replication_links.list_by_database\n - client.server_azure_ad_administrators.list ->\n client.server_azure_ad_administrators.list_by_server\n - client.servers.get_service_objective ->\n client.service_objectives.get\n - client.servers.list_service_objectives ->\n client.service_objectives.list_by_server\n - client.elastic_pools.list_activity ->\n client.elastic_pool_activities.list_by_elastic_pool\n - client.elastic_pools.list_database_activity ->\n client.elastic_pool_database_activities.list_by_elastic_pool\n - client.elastic_pools.get_database ->\n client.databases.get_by_elastic_pool\n - client.elastic_pools.list_databases ->\n client.databases.list_by_elastic_pool\n - client.recommended_elastic_pools.get_databases ->\n client.databases.get_by_recommended_elastic_pool\n - client.recommended_elastic_pools.list_databases ->\n client.databases.list_by_recommended_elastic_pool\n - client.databases.get_service_tier_advisor ->\n client.service_tier_advisors.get\n - client.databases.list_service_tier_advisors ->\n client.service_tier_advisors.list_by_database\n - client.databases.create_or_update_transparent_data_encryption_configuration\n -> client.transparent_data_encryptions.create_or_update\n - client.databases.get_transparent_data_encryption_configuration\n -> client.transparent_data_encryptions.get\n - client.databases.list_transparent_data_encryption_activity ->\n client.transparent_data_encryption_activities.list_by_configuration\n - client.servers.list_usages ->\n client.server_usages.list_by_server\n - client.databases.list_usages ->\n client.database_usages.list_by_database\n - client.databases.get_blob_auditing_policy ->\n client.database_blob_auditing_policies.get\n - client.databases.create_or_update_blob_auditing_policy ->\n client.database_blob_auditing_policies.create_or_update\n - client.servers.list_encryption_protectors, ->\n client.encryption_protectors.list_by_server\n - client.servers.get_encryption_protector ->\n client.encryption_protectors.get\n - client.servers.create_or_update_encryption_protector ->\n client.encryption_protectors.create_or_update\n - Database blob auditing policy state is required\n - Failover group resource now has required properties defined\n\n**Features**\n\n - Add SQL DB, server, and pool PATCH operations\n - client.operations.list now returnes a full list of operations and\n not a limited subset (2014-04-01 to 2015-05-01-preview)\n\n**Fixed bugs**\n\n - Fixed KeyError in server_azure_ad_administrators_operations.get\n\n## 0.7.1 (2017-06-30)\n\n - Added support for server connection policies\n - Fixed error in\n databases_operations.create_or_update_threat_detection_policy\n\n## 0.7.0 (2017-06-28)\n\n**Features**\n\n - Backup/Restore related: RecoverableDatabase,\n RestorableDroppedDatabase, BackupLongTermRetentionVault,\n BackupLongTermRetentionPolicy, and GeoBackupPolicy\n - Data Masking rules and policies\n - Server communication links\n\n**Breaking changes**\n\n - Renamed enum RestorePointTypes to RestorePointType\n - Renamed VnetFirewallRule and related operations to\n VirtualNetworkRule\n\n## 0.6.0 (2017-06-13)\n\n - Updated Servers api version from 2014-04-01 to 2015-05-01-preview,\n which is SDK compatible and includes support for server managed\n identity\n - Added support for server keys and encryption protectors\n - Added support for check server name availability\n - Added support for virtual network firewall rules\n - Updated server azure ad admin from swagger\n - Minor nonfunctional updates to database blob auditing\n - Breaking changes DatabaseMetrics and ServerMetrics renamed to\n DatabaseUsage and ServerUsage. These were misleadingly named because\n metrics is a different API.\n - Added database metrics and elastic pool metrics\n\n## 0.5.3 (2017-06-01)\n\n - Update minimal dependency to msrestazure 0.4.8\n\n## 0.5.2 (2017-05-31)\n\n**Features**\n\n - Added support for server active directory administrator, failover\n groups, and virtual network rules\n - Minor changes to database auditing support\n\n## 0.5.1 (2017-04-28)\n\n**Bugfixes**\n\n - Fix return exception in import/export\n\n## 0.5.0 (2017-04-19)\n\n**Breaking changes**\n\n - `SqlManagementClient.list_operations` is now\n `SqlManagementClient.operations.list`\n\n**New features**\n\n - Added elastic pool capabilities to capabilities API.\n\n**Notes**\n\n - This wheel package is now built with the azure wheel extension\n\n## 0.4.0 (2017-03-22)\n\nCapabilities and security policy features.\n\nAlso renamed several types and operations for improved clarify and\nconsistency.\n\nAdditions:\n\n - BlobAuditingPolicy APIs (e.g.\n databases.create_or_update_blob_auditing_policy)\n - ThreatDetectionPolicy APIs (e.g.\n databases.create_or_update_threat_detection_policy)\n - databases.list_by_server now supports $expand parameter\n - Capabilities APIs (e.g. capabilities.list_by_location)\n\nClasses and enums renamed:\n\n - ServerFirewallRule -> FirewallRule\n - DatabaseEditions -> DatabaseEdition\n - ElasticPoolEditions -> ElasticPoolEdition\n - ImportRequestParameters -> ImportRequest\n - ExportRequestParameters -> ExportRequest\n - ImportExportOperationResponse -> ImportExportResponse\n - OperationMode -> ImportOperationMode\n - TransparentDataEncryptionStates -> TransparentDataEncryptionStatus\n\nClasses removed:\n\n - Unused types: UpgradeHint, Schema, Table, Column\n\nOperations renamed:\n\n - servers.get_by_resource_group -> servers.get\n - servers.create_or_update_firewall_rule ->\n firewall_rules.create_or_update, and similar for get, list, and\n delete\n - databases.import -> databases.create_import_operation\n - servers.import -> databases.import\n - databases.pause_data_warehouse -> databases.pause\n - databases.resume_data_warehouse -> databases.resume\n - recommended_elastic_pools.list ->\n recommended_elastic_pools.list_by_server\n\nOperations removed:\n\n - Removed ImportExport operation results APIs since these are handled\n automatically by Azure async pattern.\n\n## 0.3.3 (2017-03-14)\n\n - Add database blob auditing and threat detection operations\n\n## 0.3.2 (2017-03-08)\n\n - Add import/export operations\n - Expanded documentation of create modes\n\n## 0.3.1 (2017-03-01)\n\n - Added ‘filter’ param to list databases\n\n## 0.3.0 (2017-02-27)\n\n**Breaking changes**\n\n - Enums:\n - createMode renamed to CreateMode\n - Added ReadScale, SampleName, ServerState\n - Added missing Database properties (failover_group_id,\n restore_point_in_time, read_scale, sample_name)\n - Added missing ElasticPoolActivity properties ([requested](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/sql/azure-mgmt-sql)*)\n - Added missing ReplicationLink properties (is_termination_allowed,\n replication_mode)\n - Added missing Server properties ([external_administrator](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/sql/azure-mgmt-sql)*,\n state)\n - Added operations APIs\n - Removed unused Database.upgrade_hint property\n - Removed unused RecommendedDatabaseProperties class\n - Renamed incorrect RecommendedElasticPool.databases_property to\n databases\n - Made firewall rule start/end ip address required\n - Added missing kind property to many resources\n - Many doc clarifications\n\n## 0.2.0 (2016-12-12)\n\n**Breaking changes**\n\n - Parameters re-ordering (list_database_activity)\n - Flatten create_or_update_firewall_rule from \"parameters\" to\n \"start_ip_address\" and \"end_ip_address\"\n\n## 0.1.0 (2016-11-02)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (>=0.6.1)", + "azure-common (>=1.1)", + "azure-mgmt-core (>=1.3.2)" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/93/48/f45075e39485d6cc2ef4ffa495cb45615bbee8bdcb5de8a73f9cf1493a60/azure_mgmt_sqlvirtualmachine-1.0.0b5-py3-none-any.whl", + "archive_info": { + "hash": "sha256=b41ae1c1419cd2b86e465cc2525b6dd978faf3fc9d0ff157edf01f6629e71575", + "hashes": { + "sha256": "b41ae1c1419cd2b86e465cc2525b6dd978faf3fc9d0ff157edf01f6629e71575" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-sqlvirtualmachine", + "version": "1.0.0b5", + "summary": "Microsoft Azure Sql Virtual Machine Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Sql Virtual Machine Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n \nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Sql Virtual Machine Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-sqlvirtualmachine%2FREADME.png)\n\n\n# Release History\n\n## 1.0.0b5 (2023-01-17)\n\n### Features Added\n\n - Added operation group SqlVirtualMachineTroubleshootOperations\n - Model ServerConfigurationsManagementSettings has a new parameter azure_ad_authentication_settings\n - Model SqlVirtualMachine has a new parameter troubleshooting_status\n\n## 1.0.0b4 (2022-09-26)\n\n### Features Added\n\n - Model AvailabilityGroupListener has a new parameter multi_subnet_ip_configurations\n - Model SQLInstanceSettings has a new parameter is_ifi_enabled\n - Model SQLInstanceSettings has a new parameter is_lpim_enabled\n - Model SQLTempDbSettings has a new parameter persist_folder\n - Model SQLTempDbSettings has a new parameter persist_folder_path\n - Model SqlVirtualMachine has a new parameter enable_automatic_upgrade\n - Model SqlVirtualMachine has a new parameter least_privilege_mode\n - Model SqlVirtualMachine has a new parameter wsfc_static_ip\n - Model WsfcDomainProfile has a new parameter cluster_subnet_type\n\n## 1.0.0b3 (2022-06-06)\n\n**Features**\n\n - Added model AssessmentDayOfWeek\n - Added model AutoBackupDaysOfWeek\n\n## 1.0.0b2 (2022-03-02)\n\n**Features**\n\n - Added operation SqlVirtualMachinesOperations.begin_redeploy\n - Added operation SqlVirtualMachinesOperations.begin_start_assessment\n - Model AutoBackupSettings has a new parameter days_of_week\n - Model AutoBackupSettings has a new parameter storage_container_name\n - Model AvailabilityGroupListener has a new parameter availability_group_configuration\n - Model AvailabilityGroupListener has a new parameter system_data\n - Model ServerConfigurationsManagementSettings has a new parameter sql_instance_settings\n - Model SqlVirtualMachine has a new parameter assessment_settings\n - Model SqlVirtualMachine has a new parameter system_data\n - Model SqlVirtualMachineGroup has a new parameter system_data\n - Model StorageConfigurationSettings has a new parameter sql_system_db_on_data_disk\n\n**Breaking changes**\n\n - Operation AvailabilityGroupListenersOperations.get has a new signature\n\n## 1.0.0b1 (2021-05-19)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.5.0 (2019-11-27)\n\n**Features**\n\n - Model SqlVirtualMachine has a new parameter\n storage_configuration_settings\n - Added operation\n SqlVirtualMachinesOperations.list_by_sql_vm_group\n\n## 0.4.0 (2019-07-04)\n\n**Features**\n\n - Model SqlVirtualMachine has a new parameter sql_management\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes if from some import. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - SqlVirtualMachineManagementClient cannot be imported from\n `azure.mgmt.sqlvirtualmachine.sql_virtual_machine_management_client`\n anymore (import from `azure.mgmt.sqlvirtualmachine` works like\n before)\n - SqlVirtualMachineManagementClientConfiguration import has been moved\n from\n `azure.mgmt.sqlvirtualmachine.sql_virtual_machine_management_client`\n to `azure.mgmt.sqlvirtualmachine`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.sqlvirtualmachine.models.my_class`\n (import from `azure.mgmt.sqlvirtualmachine.models` works like\n before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.sqlvirtualmachine.operations.my_class_operations`\n (import from `azure.mgmt.sqlvirtualmachine.operations` works like\n before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one client per process.\n\n## 0.3.0 (2019-06-03)\n\n**Features**\n\n - sql_image_sku is now writable\n\n## 0.2.0 (2018-12-07)\n\n**Features**\n\n - Model SqlStorageUpdateSettings has a new parameter\n starting_device_id\n\n**Breaking changes**\n\n - Model AdditionalFeaturesServerConfigurations no longer has parameter\n backup_permissions_for_azure_backup_svc\n\n## 0.1.0 (2018-11-27)\n\n - Initial Release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.7.1)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.2)", + "typing-extensions (>=4.3.0) ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/19/f7/7606b03de0af0464182d659f67ab4d4290226679522365f09f727e417ceb/azure_mgmt_storage-21.2.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=36b8ef99390b179dc60007b8f017f47a39d030c52e0ca16080012465faf6be51", + "hashes": { + "sha256": "36b8ef99390b179dc60007b8f017f47a39d030c52e0ca16080012465faf6be51" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-storage", + "version": "21.2.0", + "summary": "Microsoft Azure Storage Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Storage Management Client Library.\nThis package has been tested with Python 3.8+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.8+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-storage\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.storage import StorageManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = StorageManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Storage Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 21.2.0 (2024-06-17)\n\n### Features Added\n\n - Added operation group NetworkSecurityPerimeterConfigurationsOperations\n - Added operation group StorageTaskAssignmentInstancesReportOperations\n - Added operation group StorageTaskAssignmentsInstancesReportOperations\n - Added operation group StorageTaskAssignmentsOperations\n - Model LocalUser has a new parameter allow_acl_authorization\n - Model LocalUser has a new parameter extended_groups\n - Model LocalUser has a new parameter group_id\n - Model LocalUser has a new parameter is_nf_sv3_enabled\n - Model LocalUser has a new parameter user_id\n - Model LocalUsers has a new parameter next_link\n - Model StorageAccount has a new parameter enable_extended_groups\n - Model StorageAccountCreateParameters has a new parameter enable_extended_groups\n - Model StorageAccountUpdateParameters has a new parameter enable_extended_groups\n - Operation LocalUsersOperations.list has a new optional parameter filter\n - Operation LocalUsersOperations.list has a new optional parameter include\n - Operation LocalUsersOperations.list has a new optional parameter maxpagesize\n\n## 21.1.0 (2023-08-18)\n\n### Features Added\n\n - Added operation StorageAccountsOperations.begin_customer_initiated_migration\n - Added operation StorageAccountsOperations.get_customer_initiated_migration\n - Model BlobInventoryPolicyFilter has a new parameter creation_time\n - Model GeoReplicationStats has a new parameter can_planned_failover\n - Model GeoReplicationStats has a new parameter post_failover_redundancy\n - Model GeoReplicationStats has a new parameter post_planned_failover_redundancy\n - Model StorageAccount has a new parameter account_migration_in_progress\n - Model StorageAccount has a new parameter is_sku_conversion_blocked\n\n## 21.1.0b1 (2023-02-20)\n\n### Other Changes\n\n - Added generated samples in github repo\n - Drop support for python<3.7.0\n\n## 21.0.0 (2022-11-15)\n\n### Features Added\n\n - Model ManagementPolicyBaseBlob has a new parameter tier_to_cold\n - Model ManagementPolicyBaseBlob has a new parameter tier_to_hot\n - Model ManagementPolicySnapShot has a new parameter tier_to_cold\n - Model ManagementPolicySnapShot has a new parameter tier_to_hot\n - Model ManagementPolicyVersion has a new parameter tier_to_cold\n - Model ManagementPolicyVersion has a new parameter tier_to_hot\n\n### Breaking Changes\n\n - Operation EncryptionScopesOperations.list has a new parameter filter\n - Operation EncryptionScopesOperations.list has a new parameter include\n - Operation EncryptionScopesOperations.list has a new parameter maxpagesize\n - Operation StorageAccountsOperations.begin_failover has a new parameter failover_type\n\n## 20.1.0 (2022-08-09)\n\n**Features**\n\n - Added model AllowedMethods\n - Added model LeaseContainerRequestEnum\n\n## 20.0.0 (2022-04-06)\n\n**Features**\n\n - Model BlobInventoryPolicyFilter has a new parameter exclude_prefix\n - Model BlobInventoryPolicyFilter has a new parameter include_deleted\n - Model BlobInventoryPolicySchema has a new parameter destination\n - Model DateAfterCreation has a new parameter days_after_last_tier_change_greater_than\n - Model DateAfterModification has a new parameter days_after_creation_greater_than\n - Model DateAfterModification has a new parameter days_after_last_tier_change_greater_than\n - Model DeleteRetentionPolicy has a new parameter allow_permanent_delete\n - Model KeyVaultProperties has a new parameter current_versioned_key_expiration_timestamp\n - Model StorageAccount has a new parameter dns_endpoint_type\n - Model StorageAccount has a new parameter storage_account_sku_conversion_status\n - Model StorageAccountCreateParameters has a new parameter dns_endpoint_type\n - Model StorageAccountUpdateParameters has a new parameter dns_endpoint_type\n - Model Table has a new parameter signed_identifiers\n\n**Breaking changes**\n\n - Operation TableOperations.create has a new signature\n - Operation TableOperations.update has a new signature\n\n## 19.1.0 (2022-02-15)\n\n**Features**\n\n - Added operation group LocalUsersOperations\n - Model ActiveDirectoryProperties has a new parameter account_type\n - Model ActiveDirectoryProperties has a new parameter sam_account_name\n - Model EncryptionIdentity has a new parameter encryption_federated_identity_client_id\n - Model StorageAccount has a new parameter allowed_copy_scope\n - Model StorageAccount has a new parameter is_local_user_enabled\n - Model StorageAccount has a new parameter is_sftp_enabled\n - Model StorageAccountCreateParameters has a new parameter allowed_copy_scope\n - Model StorageAccountCreateParameters has a new parameter is_local_user_enabled\n - Model StorageAccountCreateParameters has a new parameter is_sftp_enabled\n - Model StorageAccountUpdateParameters has a new parameter allowed_copy_scope\n - Model StorageAccountUpdateParameters has a new parameter is_local_user_enabled\n - Model StorageAccountUpdateParameters has a new parameter is_sftp_enabled\n\n## 19.0.0 (2021-09-14)\n\n**Features**\n\n - Model BlobContainer has a new parameter enable_nfs_v3_root_squash\n - Model BlobContainer has a new parameter enable_nfs_v3_all_squash\n - Model UpdateHistoryProperty has a new parameter allow_protected_append_writes\n - Model UpdateHistoryProperty has a new parameter allow_protected_append_writes_all\n - Model StorageAccountUpdateParameters has a new parameter default_to_o_auth_authentication\n - Model StorageAccountUpdateParameters has a new parameter public_network_access\n - Model StorageAccountUpdateParameters has a new parameter immutable_storage_with_versioning\n - Model ImmutabilityPolicy has a new parameter allow_protected_append_writes_all\n - Model StorageAccountCreateParameters has a new parameter default_to_o_auth_authentication\n - Model StorageAccountCreateParameters has a new parameter public_network_access\n - Model StorageAccountCreateParameters has a new parameter immutable_storage_with_versioning\n - Model ListContainerItem has a new parameter enable_nfs_v3_root_squash\n - Model ListContainerItem has a new parameter enable_nfs_v3_all_squash\n - Model LegalHoldProperties has a new parameter protected_append_writes_history\n - Model ImmutabilityPolicyProperties has a new parameter allow_protected_append_writes_all\n - Model StorageAccount has a new parameter default_to_o_auth_authentication\n - Model StorageAccount has a new parameter public_network_access\n - Model StorageAccount has a new parameter immutable_storage_with_versioning\n - Model LegalHold has a new parameter allow_protected_append_writes_all\n - Added operation StorageAccountsOperations.begin_abort_hierarchical_namespace_migration\n - Added operation StorageAccountsOperations.begin_hierarchical_namespace_migration\n\n**Breaking changes**\n\n - Model AccessPolicy has a new signature\n\n## 18.0.0 (2021-05-13)\n\n**Features**\n\n - Model StorageAccountUpdateParameters has a new parameter allow_cross_tenant_replication\n - Model BlobContainer has a new parameter immutable_storage_with_versioning\n - Model FileShareItem has a new parameter lease_state\n - Model FileShareItem has a new parameter lease_duration\n - Model FileShareItem has a new parameter lease_status\n - Model FileShareItem has a new parameter signed_identifiers\n - Model FileShare has a new parameter lease_state\n - Model FileShare has a new parameter lease_duration\n - Model FileShare has a new parameter lease_status\n - Model FileShare has a new parameter signed_identifiers\n - Model StorageAccountCreateParameters has a new parameter allow_cross_tenant_replication\n - Model AzureFilesIdentityBasedAuthentication has a new parameter default_share_permission\n - Model StorageAccount has a new parameter allow_cross_tenant_replication\n - Model ListContainerItem has a new parameter immutable_storage_with_versioning\n - Added operation BlobContainersOperations.begin_object_level_worm\n - Added operation FileSharesOperations.lease\n\n**Breaking changes**\n\n - Operation FileSharesOperations.delete has a new signature\n - Model BlobInventoryPolicySchema no longer has parameter destination\n - Model BlobInventoryPolicyRule has a new required parameter destination\n - Model BlobInventoryPolicyDefinition has a new signature\n\n## 17.1.0 (2021-04-13)\n\n**Features**\n\n - Model StorageAccountKey has a new parameter creation_time\n - Model StorageAccountUpdateParameters has a new parameter sas_policy\n - Model StorageAccountUpdateParameters has a new parameter key_policy\n - Model StorageAccountCreateParameters has a new parameter sas_policy\n - Model StorageAccountCreateParameters has a new parameter key_policy\n - Model StorageAccount has a new parameter sas_policy\n - Model StorageAccount has a new parameter key_policy\n - Model StorageAccount has a new parameter key_creation_time\n\n## 17.0.0 (2021-02-20)\n\n**Features**\n\n - Model Encryption has a new parameter encryption_identity\n - Model Identity has a new parameter user_assigned_identities\n - Model ManagementPolicyBaseBlob has a new parameter enable_auto_tier_to_hot_from_cool\n - Model EncryptionScope has a new parameter require_infrastructure_encryption\n - Model StorageAccount has a new parameter extended_location\n - Model StorageAccount has a new parameter allow_shared_key_access\n - Model StorageAccount has a new parameter enable_nfs_v3\n - Model EncryptionScopeKeyVaultProperties has a new parameter current_versioned_key_identifier\n - Model EncryptionScopeKeyVaultProperties has a new parameter last_key_rotation_timestamp\n - Model DateAfterModification has a new parameter days_after_last_access_time_greater_than\n - Model StorageAccountUpdateParameters has a new parameter allow_shared_key_access\n - Model BlobServiceProperties has a new parameter last_access_time_tracking_policy\n - Model ChangeFeed has a new parameter retention_in_days\n - Model FileShare has a new parameter snapshot_time\n - Model ManagementPolicyAction has a new parameter version\n - Model StorageAccountCreateParameters has a new parameter extended_location\n - Model StorageAccountCreateParameters has a new parameter allow_shared_key_access\n - Model StorageAccountCreateParameters has a new parameter enable_nfs_v3\n - Model FileShareItem has a new parameter snapshot_time\n - Model FileServiceProperties has a new parameter protocol_settings\n - Model ManagementPolicySnapShot has a new parameter tier_to_archive\n - Model ManagementPolicySnapShot has a new parameter tier_to_cool\n - Model NetworkRuleSet has a new parameter resource_access_rules\n - Added operation group BlobInventoryPoliciesOperations\n - Added operation group DeletedAccountsOperations\n\n**Breaking changes**\n\n - Operation FileSharesOperations.create has a new signature\n - Operation FileSharesOperations.delete has a new signature\n - Operation FileSharesOperations.get has a new signature\n - Model ErrorResponse has a new signature\n\n## 16.0.0 (2020-09-15)\n\n**Features**\n\n - Model RestorePolicyProperties has a new parameter min_restore_time\n\n**Breaking changes**\n\n - Operation ManagementPoliciesOperations.create_or_update has a new signature\n - Operation ManagementPoliciesOperations.delete has a new signature\n - Operation ManagementPoliciesOperations.get has a new signature\n\n## 16.0.0b2 (2020-06-29)\n\nThis is beta preview version.\nFor detailed changelog please refer to equivalent stable version 11.1.0 (https://pypi.org/project/azure-mgmt-storage/11.1.0/)\n\n## 16.0.0b1 (2020-06-17)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 10.0.0 (2020-05-07)\n\n**Features**\n\n - Model ManagementPolicyFilter has a new parameter blob_index_match\n - Model FileShareItem has a new parameter access_tier_status\n - Model FileShareItem has a new parameter share_usage_bytes\n - Model FileShareItem has a new parameter deleted\n - Model FileShareItem has a new parameter deleted_time\n - Model FileShareItem has a new parameter access_tier\n - Model FileShareItem has a new parameter version\n - Model FileShareItem has a new parameter root_squash\n - Model FileShareItem has a new parameter enabled_protocols\n - Model FileShareItem has a new parameter access_tier_change_time\n - Model FileShareItem has a new parameter remaining_retention_days\n - Model RestorePolicyProperties has a new parameter last_enabled_time\n - Model FileShare has a new parameter access_tier_status\n - Model FileShare has a new parameter share_usage_bytes\n - Model FileShare has a new parameter deleted\n - Model FileShare has a new parameter deleted_time\n - Model FileShare has a new parameter access_tier\n - Model FileShare has a new parameter version\n - Model FileShare has a new parameter root_squash\n - Model FileShare has a new parameter enabled_protocols\n - Model FileShare has a new parameter access_tier_change_time\n - Model FileShare has a new parameter remaining_retention_days\n - Added operation FileSharesOperations.restore\n - Added operation PrivateEndpointConnectionsOperations.list\n - Added operation group ObjectReplicationPoliciesOperations\n\n**Breaking changes**\n\n - Operation FileSharesOperations.update has a new signature\n - Operation FileSharesOperations.create has a new signature\n - Operation FileSharesOperations.get has a new signature\n - Operation FileSharesOperations.list has a new signature\n - Operation FileSharesOperations.update has a new signature\n - Operation FileSharesOperations.create has a new signature\n\n## 9.0.0 (2020-03-27)\n\n**Features**\n\n - Model BlobContainer has a new parameter default_encryption_scope\n - Model BlobContainer has a new parameter deny_encryption_scope_override\n - Model ListContainerItem has a new parameter default_encryption_scope\n - Model ListContainerItem has a new parameter deny_encryption_scope_override\n - Model KeyVaultProperties has a new parameter last_key_rotation_timestamp\n - Model KeyVaultProperties has a new parameter current_versioned_key_identifier\n\n**Breaking changes**\n\n - Operation BlobContainersOperations.update has a new signature\n - Operation BlobContainersOperations.create has a new signature\n - Operation BlobContainersOperations.update has a new signature\n - Operation BlobContainersOperations.create has a new signature\n\n## 8.0.0 (2020-02-27)\n\n**Features**\n\n- Model ImmutabilityPolicyProperties has a new parameter allow_protected_append_writes\n- Model BlobServiceProperties has a new parameter container_delete_retention_policy\n- Model BlobServiceProperties has a new parameter is_versioning_enabled\n- Model ImmutabilityPolicy has a new parameter allow_protected_append_writes\n- Added operation group EncryptionScopesOperations\n\n**Breaking changes**\n\n- Operation BlobContainersOperations.create_or_update_immutability_policy has a new signature\n- Operation BlobContainersOperations.extend_immutability_policy has a new signature\n- Operation BlobContainersOperations.create_or_update_immutability_policy has a new signature\n\n## 7.2.0 (2020-02-10)\n\n**Features**\n\n - Model BlobServiceProperties has a new parameter restore_policy\n - Model StorageAccount has a new parameter blob_restore_status\n - Added operation StorageAccountsOperations.restore_blob_ranges\n\n## 7.1.0 (2020-01-09)\n\n**Features**\n\n - Model EncryptionService has a new parameter key_type\n\n## 7.0.0 (2019-12-04)\n\n**Features**\n\n - Model StorageAccountCreateParameters has a new parameter\n routing_preference\n - Model BlobServiceProperties has a new parameter sku\n - Model FileServiceProperties has a new parameter\n share_delete_retention_policy\n - Model FileServiceProperties has a new parameter sku\n - Model StorageAccount has a new parameter routing_preference\n - Model StorageAccountUpdateParameters has a new parameter\n routing_preference\n - Model Endpoints has a new parameter internet_endpoints\n - Model Endpoints has a new parameter microsoft_endpoints\n\n**Breaking changes**\n\n - Operation FileServicesOperations.set_service_properties has a new\n signature\n - Model Sku has a new signature\n\n## 6.0.0 (2019-10-25)\n\n**Features**\n\n - Model StorageAccount has a new parameter\n private_endpoint_connections\n - Added operation group PrivateEndpointConnectionsOperations\n - Added operation group PrivateLinkResourcesOperations\n\n**Breaking changes**\n\n - Operation FileSharesOperations.list has a new signature\n - Operation BlobContainersOperations.list has a new signature\n\n## 5.0.0 (2019-10-21)\n\n**Features**\n\n - Model AzureFilesIdentityBasedAuthentication has a new parameter\n active_directory_properties\n\n**Breaking changes**\n\n - Operation StorageAccountsOperations.list_keys has a new signature\n\n## 4.2.0 (2019-10-07)\n\n**Features**\n\n - Model StorageAccountCreateParameters has a new parameter\n large_file_shares_state\n - Model StorageAccountUpdateParameters has a new parameter\n large_file_shares_state\n - Model StorageAccount has a new parameter large_file_shares_state\n\n## 4.1.0 (2019-09-27)\n\n**Features**\n\n - Model BlobServiceProperties has a new parameter change_feed\n - Added operation BlobServicesOperations.list\n - Added operation group FileServicesOperations\n - Added operation group FileSharesOperations\n\n## 4.0.0 (2019-06-12)\n\n**Features**\n\n - Model StorageAccount has a new parameter\n azure_files_identity_based_authentication\n - Model StorageAccountCreateParameters has a new parameter\n azure_files_identity_based_authentication\n - Model StorageAccountUpdateParameters has a new parameter\n azure_files_identity_based_authentication\n\n**Breaking changes**\n\n - Model StorageAccount no longer has parameter\n enable_azure_files_aad_integration\n - Model StorageAccountCreateParameters no longer has parameter\n enable_azure_files_aad_integration\n - Model StorageAccountUpdateParameters no longer has parameter\n enable_azure_files_aad_integration\n\n**Breaking changes**\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes while using imports. In summary, some modules\nwere incorrectly visible/importable and have been renamed. This fixed\nseveral issues caused by usage of classes that were not supposed to be\nused in the first place.\n\n - StorageManagementClient cannot be imported from\n `azure.mgmt.storage.storage_management_client` anymore (import\n from `azure.mgmt.storage` works like before)\n - StorageManagementClientConfiguration import has been moved from\n `azure.mgmt.storage.network_management_client` to\n `azure.mgmt.storage`\n - StorageManagementClient cannot be imported from\n `azure.mgmt.storage.v20xx_yy_zz.network_management_client`\n anymore (import from `azure.mgmt.storage.v20xx_yy_zz` works like\n before)\n - StorageManagementClientConfiguration import has been moved from\n `azure.mgmt.storage.v20xx_yy_zz.network_management_client` to\n `azure.mgmt.storage.v20xx_yy_zz`\n - A model `MyClass` from a \"models\" sub-module cannot be imported\n anymore using `azure.mgmt.storage.v20xx_yy_zz.models.my_class`\n (import from `azure.mgmt.storage.v20xx_yy_zz.models` works like\n before)\n - An operation class `MyClassOperations` from an `operations`\n sub-module cannot be imported anymore using\n `azure.mgmt.storage.v20xx_yy_zz.operations.my_class_operations`\n (import from `azure.mgmt.storage.v20xx_yy_zz.operations` works\n like before)\n\nLast but not least, HTTP connection pooling is now enabled by default.\nYou should always use a client as a context manager, or call close(), or\nuse no more than one storage mgmt client per process.\n\n## 3.3.0 (2019-04-22)\n\n**Features**\n\n - Model BlobServiceProperties has a new parameter\n automatic_snapshot_policy_enabled\n - Added operation\n StorageAccountsOperations.revoke_user_delegation_keys\n - Added operation BlobContainerOperations.lease\n\n## 3.2.0 (2019-04-10)\n\n**Features**\n\n - Added operation BlobContainersOperations.lease for API versions\n 2018_02_01 and later\n\n## 3.1.1 (2019-01-02)\n\n**Bugfixes**\n\n - Fix #4013 - \"use_sub_domain\" should be \"use_sub_domain_name\"\n\n## 3.1.0 (2018-11-15)\n\n**Features**\n\n - Model StorageAccount has a new parameter geo_replication_stats\n - Model StorageAccount has a new parameter failover_in_progress\n - Added operation StorageAccountsOperations.failover\n - Added operation group BlobServicesOperations\n - Operation StorageAccountsOperations.get_properties now support\n expand parameter\n\n## 3.0.0 (2018-09-27)\n\n**Features**\n\n - Model StorageAccount has a new parameter\n enable_azure_files_aad_integration\n - Model StorageAccountCreateParameters has a new parameter\n enable_azure_files_aad_integration\n - Model StorageAccountUpdateParameters has a new parameter\n enable_azure_files_aad_integration\n - Added operation group ManagementPoliciesOperations. This is\n considered preview and breaking changes might happen.\n\n**Breaking changes**\n\n - \"usage\" has been renamed \"usages\", and the \"list\" operation has been\n replaced by \"list_by_location\". Ability to make usage requests\n locally is not available anymore.\n\n**Note**\n\n - azure-mgmt-nspkg is not installed anymore on Python 3 (PEP420-based\n namespace package)\n\n## 2.0.0 (2018-08-01)\n\n**Bugfixes**\n\n - Set the signed resource as optional instead of required\n\n## 2.0.0rc4 (2018-06-26)\n\n**Features (2018-02-01/2018-03-01-preview)**\n\nSupport HDFS feature and web endpoint in Account properties\n\n - Model StorageAccountCreateParameters has a new parameter\n is_hns_enabled\n - Model Endpoints has a new parameter web\n - Model Endpoints has a new parameter dfs\n - Model StorageAccount has a new parameter is_hns_enabled\n\n## 2.0.0rc3 (2018-05-30)\n\n**Features**\n\n - Add preview version of management policy (API 2018-03-01-preview\n only). This is considered preview and breaking changes might happen\n if you opt in for that Api Version.\n\n**Bugfixes**\n\n - Correct azure-common dependency\n\n## 2.0.0rc2 (2018-05-16)\n\n**Bugfixes**\n\n - Fix default \"models\" import to 2018-02-01\n\n## 2.0.0rc1 (2018-05-11)\n\n**Features**\n\n - Add blob containers operations, immutability policy\n - Add usage.list_by_location\n - Client now supports Azure profiles.\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n## 1.5.0 (2017-12-12)\n\n**Features**\n\n - Add StorageV2 as valid kind\n - Add official support for API version 2017-10-01\n\n## 1.4.0 (2017-09-26)\n\n**Bug fixes**\n\n - Add skus operations group to the generic client\n\n**Features**\n\n - Add official support for API version 2016-01-01\n\n## 1.3.0 (2017-09-08)\n\n**Features**\n\n - Adds list_skus operation (2017-06-01)\n\n**Breaking changes**\n\n - Rename the preview attribute \"network_acls\" to \"network_rule_set\"\n\n## 1.2.1 (2017-08-14)\n\n**Bugfixes**\n\n - Remove \"tests\" packaged by mistake (#1365)\n\n## 1.2.0 (2017-07-19)\n\n**Features**\n\n - Api version 2017-06-01 is now the default\n - This API version adds Network ACLs objects (2017-06-01 as preview)\n\n## 1.1.0 (2017-06-28)\n\n - Added support for https traffic only (2016-12-01)\n\n## 1.0.0 (2017-05-15)\n\n - Tag 1.0.0rc1 as stable (same content)\n\n## 1.0.0rc1 (2017-04-11)\n\n**Features**\n\nTo help customers with sovereign clouds (not general Azure), this\nversion has official multi ApiVersion support for 2015-06-15 and\n2016-12-01\n\n## 0.31.0 (2017-01-19)\n\n - New `list_account_sas` operation\n - New `list_service_sas` operation\n - Name syntax are now checked before RestAPI call, not the server\n (exception changed)\n\nBased on API version 2016-12-01.\n\n## 0.30.0 (2016-11-14)\n\n - Initial release. Based on API version 2016-01-01 Note that this is\n the same content as 0.30.0rc6, committed as 0.30.0.\n\n## 0.20.0 (2015-08-31)\n\n - Initial preview release. Based on API version 2015-05-01-preview.\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate (>=0.6.1)", + "azure-common (>=1.1)", + "azure-mgmt-core (>=1.3.2)" + ], + "requires_python": ">=3.8" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/d3/c9/01eeec86e7e16d79285b534d39cb79aeb26cfda5e0591e7983b4ee511ff1/azure_mgmt_synapse-2.1.0b5-py3-none-any.whl", + "archive_info": { + "hash": "sha256=bc49a3000b8412cb9f1651c43b7a0e12c227c843b02536066ec40700779982f4", + "hashes": { + "sha256": "bc49a3000b8412cb9f1651c43b7a0e12c227c843b02536066ec40700779982f4" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-synapse", + "version": "2.1.0b5", + "platform": [ + "UNKNOWN" + ], + "summary": "Microsoft Azure Synapse Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Synapse Management Client Library.\nThis package has been tested with Python 3.6+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n# Usage\n\n\nTo learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)\n\n\n\nFor docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)\nCode samples for this package can be found at [Synapse Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.\nAdditional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n# Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-synapse%2FREADME.png)\n\n\n# Release History\n\n## 2.1.0b5 (2022-04-15)\n\n**Features**\n\n - Added operation group WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettingsOperations\n\n## 2.1.0b4 (2022-01-11)\n\n**Features**\n\n - Model DynamicExecutorAllocation has a new parameter max_executors\n - Model DynamicExecutorAllocation has a new parameter min_executors\n - Model ExtendedServerBlobAuditingPolicy has a new parameter is_devops_audit_enabled\n - Model ManagedIntegrationRuntime has a new parameter id\n - Model ManagedIntegrationRuntime has a new parameter reference_name\n - Model ManagedIntegrationRuntime has a new parameter type_managed_virtual_network_type\n - Model SelfHostedIntegrationRuntimeStatus has a new parameter newer_versions\n - Model SelfHostedIntegrationRuntimeStatus has a new parameter service_region\n - Model ServerBlobAuditingPolicy has a new parameter is_devops_audit_enabled\n - Model Workspace has a new parameter trusted_service_bypass_enabled\n\n## 2.1.0b3 (2021-11-08)\n\n**Features**\n\n - Model EventHubDataConnection has a new parameter managed_identity_resource_id\n - Added operation KustoPoolsOperations.list_skus\n\n**Breaking changes**\n\n - Removed operation group KustoPoolOperations\n\n## 2.1.0b2 (2021-10-09)\n\n**Features**\n\n - Added operation group KustoPoolOperations\n - Added operation group KustoPoolChildResourceOperations\n - Added operation group KustoPoolsOperations\n - Added operation group KustoPoolAttachedDatabaseConfigurationsOperations\n - Added operation group KustoOperationsOperations\n - Added operation group KustoPoolDatabasesOperations\n - Added operation group KustoPoolDataConnectionsOperations\n - Added operation group KustoPoolPrincipalAssignmentsOperations\n - Added operation group KustoPoolDatabasePrincipalAssignmentsOperations\n\n## 2.1.0b1 (2021-09-06)\n\n**Features**\n\n - Model IntegrationRuntimeVNetProperties has a new parameter subnet_id\n - Model Workspace has a new parameter csp_workspace_admin_properties\n - Model Workspace has a new parameter settings\n - Model Workspace has a new parameter azure_ad_only_authentication\n - Model SqlPoolPatchInfo has a new parameter source_database_deletion_date\n - Model CustomerManagedKeyDetails has a new parameter kek_identity\n - Model DataLakeStorageAccountDetails has a new parameter resource_id\n - Model DataLakeStorageAccountDetails has a new parameter create_managed_private_endpoint\n - Model SqlPool has a new parameter source_database_deletion_date\n - Model ManagedIdentity has a new parameter user_assigned_identities\n - Model IntegrationRuntimeDataFlowProperties has a new parameter cleanup\n - Added operation IntegrationRuntimesOperations.list_outbound_network_dependencies_endpoints\n - Added operation PrivateEndpointConnectionsPrivateLinkHubOperations.get\n - Added operation group AzureADOnlyAuthenticationsOperations\n - Added operation group SparkConfigurationsOperations\n - Added operation group SparkConfigurationOperations\n\n## 2.0.0 (2021-04-07)\n\n**Features**\n\n - Model WorkspacePatchInfo has a new parameter public_network_access\n - Model Workspace has a new parameter public_network_access\n\n**Breaking changes**\n\n - Model WorkspacePatchInfo no longer has parameter network_settings\n - Model Workspace no longer has parameter network_settings\n\n## 1.0.0 (2021-03-10)\n\n**Features**\n\n - Model WorkspacePatchInfo has a new parameter network_settings\n - Model WorkspacePatchInfo has a new parameter encryption\n - Model SqlPoolPatchInfo has a new parameter storage_account_type\n - Model BigDataPoolResourceInfo has a new parameter dynamic_executor_allocation\n - Model BigDataPoolResourceInfo has a new parameter last_succeeded_timestamp\n - Model BigDataPoolResourceInfo has a new parameter cache_size\n - Model BigDataPoolResourceInfo has a new parameter custom_libraries\n - Model Workspace has a new parameter network_settings\n - Model Workspace has a new parameter adla_resource_id\n - Model SqlPoolColumn has a new parameter is_computed\n - Model WorkspaceRepositoryConfiguration has a new parameter tenant_id\n - Model WorkspaceRepositoryConfiguration has a new parameter last_commit_id\n - Model SqlPool has a new parameter storage_account_type\n - Model SensitivityLabel has a new parameter rank\n - Model SensitivityLabel has a new parameter schema_name\n - Model SensitivityLabel has a new parameter table_name\n - Model SensitivityLabel has a new parameter managed_by\n - Model SensitivityLabel has a new parameter column_name\n - Added operation DataMaskingRulesOperations.get\n - Added operation WorkspaceManagedIdentitySqlControlSettingsOperations.begin_create_or_update\n - Added operation SqlPoolSensitivityLabelsOperations.update\n - Added operation SqlPoolGeoBackupPoliciesOperations.create_or_update\n - Added operation SqlPoolsOperations.rename\n - Added operation group PrivateLinkHubPrivateLinkResourcesOperations\n - Added operation group SqlPoolRecommendedSensitivityLabelsOperations\n - Added operation group LibraryOperations\n - Added operation group LibrariesOperations\n - Added operation group SqlPoolMaintenanceWindowOptionsOperations\n - Added operation group SqlPoolMaintenanceWindowsOperations\n - Added operation group WorkspaceManagedSqlServerRecoverableSqlPoolsOperations\n - Added operation group WorkspaceManagedSqlServerEncryptionProtectorOperations\n\n**Breaking changes**\n\n - Model BigDataPoolResourceInfo no longer has parameter have_library_requirements_changed\n - Model ErrorResponse has a new signature\n - Model ErrorDetail has a new signature\n - Removed operation WorkspaceManagedIdentitySqlControlSettingsOperations.create_or_update\n - Removed operation group WorkspaceManagedSqlServerRecoverableSqlpoolsOperations\n\n## 1.0.0b1 (2020-12-10)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.5.0 (2020-11-23)\n\n**Features**\n\n - Model SelfHostedIntegrationRuntimeStatus has a new parameter node_communication_channel_encryption_mode\n - Model MetadataSyncConfig has a new parameter sync_interval_in_minutes\n - Model BigDataPoolResourceInfo has a new parameter spark_config_properties\n - Model BigDataPoolResourceInfo has a new parameter session_level_packages_enabled\n - Model BigDataPoolResourceInfo has a new parameter have_library_requirements_changed\n - Model Workspace has a new parameter workspace_uid\n - Model Workspace has a new parameter managed_virtual_network_settings\n - Model Workspace has a new parameter purview_configuration\n - Model Workspace has a new parameter workspace_repository_configuration\n - Model Workspace has a new parameter encryption\n - Model PrivateLinkHub has a new parameter private_endpoint_connections\n - Model WorkspacePatchInfo has a new parameter managed_virtual_network_settings\n - Model WorkspacePatchInfo has a new parameter purview_configuration\n - Model WorkspacePatchInfo has a new parameter workspace_repository_configuration\n - Added operation SqlPoolSecurityAlertPoliciesOperations.list\n - Added operation SqlPoolTransparentDataEncryptionsOperations.list\n - Added operation IntegrationRuntimesOperations.disable_interactive_query\n - Added operation IntegrationRuntimesOperations.enable_interactive_query\n - Added operation SqlPoolRestorePointsOperations.get\n - Added operation SqlPoolRestorePointsOperations.delete\n - Added operation SqlPoolReplicationLinksOperations.get_by_name\n - Added operation SqlPoolTablesOperations.get\n - Added operation SqlPoolBlobAuditingPoliciesOperations.list_by_sql_pool\n - Added operation SqlPoolVulnerabilityAssessmentScansOperations.get\n - Added operation IntegrationRuntimeObjectMetadataOperations.list\n - Added operation SqlPoolVulnerabilityAssessmentRuleBaselinesOperations.get\n - Added operation SqlPoolSchemasOperations.get\n - Added operation SqlPoolSensitivityLabelsOperations.get\n - Added operation SqlPoolGeoBackupPoliciesOperations.list\n - Added operation IntegrationRuntimeMonitoringDataOperations.list\n - Added operation group DataMaskingRulesOperations\n - Added operation group WorkspaceManagedSqlServerUsagesOperations\n - Added operation group WorkspaceManagedSqlServerBlobAuditingPoliciesOperations\n - Added operation group ExtendedSqlPoolBlobAuditingPoliciesOperations\n - Added operation group SqlPoolWorkloadGroupOperations\n - Added operation group DataMaskingPoliciesOperations\n - Added operation group KeysOperations\n - Added operation group WorkspaceManagedSqlServerExtendedBlobAuditingPoliciesOperations\n - Added operation group SqlPoolWorkloadClassifierOperations\n - Added operation group WorkspaceManagedSqlServerRecoverableSqlpoolsOperations\n - Added operation group WorkspaceSqlAadAdminsOperations\n - Added operation group RestorableDroppedSqlPoolsOperations\n - Added operation group WorkspaceManagedSqlServerVulnerabilityAssessmentsOperations\n - Added operation group PrivateEndpointConnectionsPrivateLinkHubOperations\n - Added operation group SqlPoolColumnsOperations\n - Added operation group WorkspaceManagedSqlServerSecurityAlertPolicyOperations\n\n**Breaking changes**\n\n - Operation PrivateEndpointConnectionsOperations.create has a new signature\n - Operation PrivateEndpointConnectionsOperations.create has a new signature\n - Operation SqlPoolMetadataSyncConfigsOperations.create has a new signature\n - Operation PrivateLinkHubsOperations.create_or_update has a new signature\n - Removed operation SqlPoolsOperations.rename\n - Removed operation IntegrationRuntimeObjectMetadataOperations.get\n - Removed operation IntegrationRuntimeMonitoringDataOperations.get\n\n## 0.4.0 (2020-09-25)\n\n**Features**\n\n - Model BigDataPoolResourceInfo has a new parameter is_compute_isolation_enabled\n - Model Workspace has a new parameter extra_properties\n - Model Sku has a new parameter capacity\n\n## 0.3.0 (2020-06-17)\n\n**Features**\n\n - Added operation group PrivateLinkHubsOperations\n\n## 0.2.0 (2020-04-09)\n\n**Features**\n\n - Model Workspace has a new parameter private_endpoint_connections\n - Model Workspace has a new parameter managed_virtual_network\n - Added operation IpFirewallRulesOperations.get\n - Added operation group IntegrationRuntimeCredentialsOperations\n - Added operation group IntegrationRuntimeAuthKeysOperations\n - Added operation group IntegrationRuntimeNodesOperations\n - Added operation group PrivateLinkResourcesOperations\n - Added operation group IntegrationRuntimeObjectMetadataOperations\n - Added operation group IntegrationRuntimeStatusOperations\n - Added operation group IntegrationRuntimeConnectionInfosOperations\n - Added operation group IntegrationRuntimeMonitoringDataOperations\n - Added operation group PrivateEndpointConnectionsOperations\n - Added operation group IntegrationRuntimeNodeIpAddressOperations\n - Added operation group IntegrationRuntimesOperations\n\n## 0.1.0 (2020-02-27)\n\n* Initial Release\n\n\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 4 - Beta", + "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", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "msrest (>=0.6.21)", + "azure-common (~=1.1)", + "azure-mgmt-core (<2.0.0,>=1.3.0)" + ], + "requires_python": ">=3.6" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/41/10/e993d8f92d2ad18d444e742728ba7d427e6af7f58d4aba6d1f7a699a293c/azure_mgmt_web-7.2.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=28e88602ad9d6d03ed3ba89f966f478b6148e28d292d165e5f371c92c59621df", + "hashes": { + "sha256": "28e88602ad9d6d03ed3ba89f966f478b6148e28d292d165e5f371c92c59621df" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-mgmt-web", + "version": "7.2.0", + "summary": "Microsoft Azure Web Apps Management Client Library for Python", + "description": "# Microsoft Azure SDK for Python\n\nThis is the Microsoft Azure Web Apps Management Client Library.\nThis package has been tested with Python 3.7+.\nFor a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).\n\n## _Disclaimer_\n\n_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_\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7+ is required to use this package.\n- [Azure subscription](https://azure.microsoft.com/free/)\n\n### Install the package\n\n```bash\npip install azure-mgmt-web\npip install azure-identity\n```\n\n### Authentication\n\nBy default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.\n\n- `AZURE_CLIENT_ID` for Azure client ID.\n- `AZURE_TENANT_ID` for Azure tenant ID.\n- `AZURE_CLIENT_SECRET` for Azure client secret.\n\nIn addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.\n\nWith above configuration, client can be authenticated by following code:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.mgmt.web import WebSiteManagementClient\nimport os\n\nsub_id = os.getenv(\"AZURE_SUBSCRIPTION_ID\")\nclient = WebSiteManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)\n```\n\n## Examples\n\nCode samples for this package can be found at:\n- [Search Web Apps Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com\n- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)\n\n\n## Troubleshooting\n\n## Next steps\n\n## Provide Feedback\n\nIf you encounter any bugs or have suggestions, please file an issue in the\n[Issues](https://github.com/Azure/azure-sdk-for-python/issues)\nsection of the project. \n\n\n# Release History\n\n## 7.2.0 (2023-11-20)\n\n### Features Added\n\n - Added operation WebSiteManagementClientOperationsMixin.list_ase_regions\n - Added operation group GetUsagesInLocationOperations\n - Model ResourceNameAvailabilityRequest has a new parameter environment_id\n - Model Site has a new parameter dapr_config\n - Model Site has a new parameter resource_config\n - Model Site has a new parameter workload_profile_name\n - Model SiteConfig has a new parameter min_tls_cipher_suite\n - Model SiteConfigResource has a new parameter min_tls_cipher_suite\n - Operation WebSiteManagementClientOperationsMixin.check_name_availability has a new optional parameter environment_id\n\n## 7.1.0 (2023-04-20)\n\n### Features Added\n\n - Added operation StaticSitesOperations.create_or_update_basic_auth\n - Added operation StaticSitesOperations.create_or_update_build_database_connection\n - Added operation StaticSitesOperations.create_or_update_database_connection\n - Added operation StaticSitesOperations.delete_build_database_connection\n - Added operation StaticSitesOperations.delete_database_connection\n - Added operation StaticSitesOperations.get_basic_auth\n - Added operation StaticSitesOperations.get_build_database_connection\n - Added operation StaticSitesOperations.get_build_database_connection_with_details\n - Added operation StaticSitesOperations.get_build_database_connections\n - Added operation StaticSitesOperations.get_build_database_connections_with_details\n - Added operation StaticSitesOperations.get_database_connection\n - Added operation StaticSitesOperations.get_database_connection_with_details\n - Added operation StaticSitesOperations.get_database_connections\n - Added operation StaticSitesOperations.get_database_connections_with_details\n - Added operation StaticSitesOperations.list_basic_auth\n - Added operation StaticSitesOperations.update_build_database_connection\n - Added operation StaticSitesOperations.update_database_connection\n - Added operation WebAppsOperations.deploy_workflow_artifacts\n - Added operation WebAppsOperations.deploy_workflow_artifacts_slot\n - Added operation WebAppsOperations.get_instance_workflow_slot\n - Added operation WebAppsOperations.get_workflow\n - Added operation WebAppsOperations.list_instance_workflows_slot\n - Added operation WebAppsOperations.list_workflows\n - Added operation WebAppsOperations.list_workflows_connections\n - Added operation WebAppsOperations.list_workflows_connections_slot\n - Model Site has a new parameter managed_environment_id\n - Model SiteConfig has a new parameter elastic_web_app_scale_limit\n - Model SiteConfig has a new parameter ip_security_restrictions_default_action\n - Model SiteConfig has a new parameter metadata\n - Model SiteConfig has a new parameter scm_ip_security_restrictions_default_action\n - Model SiteConfigResource has a new parameter elastic_web_app_scale_limit\n - Model SiteConfigResource has a new parameter ip_security_restrictions_default_action\n - Model SiteConfigResource has a new parameter metadata\n - Model SiteConfigResource has a new parameter scm_ip_security_restrictions_default_action\n - Model StaticSiteARMResource has a new parameter database_connections\n - Model StaticSiteBuildARMResource has a new parameter database_connections\n - Model StaticSitePatchResource has a new parameter database_connections\n\n## 7.0.0 (2022-07-04)\n\n**Features**\n\n - Added operation AppServiceEnvironmentsOperations.begin_upgrade\n - Added operation AppServiceEnvironmentsOperations.delete_ase_custom_dns_suffix_configuration\n - Added operation AppServiceEnvironmentsOperations.get_ase_custom_dns_suffix_configuration\n - Added operation AppServiceEnvironmentsOperations.test_upgrade_available_notification\n - Added operation AppServiceEnvironmentsOperations.update_ase_custom_dns_suffix_configuration\n - Added operation StaticSitesOperations.begin_link_backend\n - Added operation StaticSitesOperations.begin_link_backend_to_build\n - Added operation StaticSitesOperations.begin_validate_backend\n - Added operation StaticSitesOperations.begin_validate_backend_for_build\n - Added operation StaticSitesOperations.get_linked_backend\n - Added operation StaticSitesOperations.get_linked_backend_for_build\n - Added operation StaticSitesOperations.get_linked_backends\n - Added operation StaticSitesOperations.get_linked_backends_for_build\n - Added operation StaticSitesOperations.unlink_backend\n - Added operation StaticSitesOperations.unlink_backend_from_build\n - Added operation WebAppsOperations.begin_get_production_site_deployment_status\n - Added operation WebAppsOperations.begin_get_slot_site_deployment_status_slot\n - Added operation WebAppsOperations.get_auth_settings_v2_without_secrets_slot\n - Added operation WebAppsOperations.list_production_site_deployment_statuses\n - Added operation WebAppsOperations.list_slot_site_deployment_statuses_slot\n - Added operation group WorkflowRunActionRepetitionsOperations\n - Added operation group WorkflowRunActionRepetitionsRequestHistoriesOperations\n - Added operation group WorkflowRunActionScopeRepetitionsOperations\n - Added operation group WorkflowRunActionsOperations\n - Added operation group WorkflowRunsOperations\n - Added operation group WorkflowTriggerHistoriesOperations\n - Added operation group WorkflowTriggersOperations\n - Added operation group WorkflowVersionsOperations\n - Added operation group WorkflowsOperations\n - Model AppServiceEnvironment has a new parameter custom_dns_suffix_configuration\n - Model AppServiceEnvironment has a new parameter networking_configuration\n - Model AppServiceEnvironment has a new parameter upgrade_availability\n - Model AppServiceEnvironment has a new parameter upgrade_preference\n - Model AppServiceEnvironmentPatchResource has a new parameter custom_dns_suffix_configuration\n - Model AppServiceEnvironmentPatchResource has a new parameter networking_configuration\n - Model AppServiceEnvironmentPatchResource has a new parameter upgrade_availability\n - Model AppServiceEnvironmentPatchResource has a new parameter upgrade_preference\n - Model AppServiceEnvironmentResource has a new parameter custom_dns_suffix_configuration\n - Model AppServiceEnvironmentResource has a new parameter networking_configuration\n - Model AppServiceEnvironmentResource has a new parameter upgrade_availability\n - Model AppServiceEnvironmentResource has a new parameter upgrade_preference\n - Model AppServicePlan has a new parameter number_of_workers\n - Model AppServicePlanPatchResource has a new parameter number_of_workers\n - Model AseV3NetworkingConfiguration has a new parameter ftp_enabled\n - Model AseV3NetworkingConfiguration has a new parameter inbound_ip_address_override\n - Model AseV3NetworkingConfiguration has a new parameter remote_debug_enabled\n - Model ErrorResponse has a new parameter error\n - Model Site has a new parameter public_network_access\n - Model Site has a new parameter vnet_content_share_enabled\n - Model Site has a new parameter vnet_image_pull_enabled\n - Model Site has a new parameter vnet_route_all_enabled\n - Model StaticSiteARMResource has a new parameter linked_backends\n - Model StaticSiteARMResource has a new parameter public_network_access\n - Model StaticSiteBuildARMResource has a new parameter linked_backends\n - Model StaticSitePatchResource has a new parameter linked_backends\n - Model StaticSitePatchResource has a new parameter public_network_access\n - Model TriggeredWebJob has a new parameter public_network_access\n - Model TriggeredWebJob has a new parameter storage_account_required\n\n**Breaking changes**\n\n - Model CertificateEmail no longer has parameter id\n - Model CertificateEmail no longer has parameter kind\n - Model CertificateEmail no longer has parameter name\n - Model CertificateEmail no longer has parameter type\n - Model CertificateOrderAction no longer has parameter id\n - Model CertificateOrderAction no longer has parameter kind\n - Model CertificateOrderAction no longer has parameter name\n - Model CertificateOrderAction no longer has parameter type\n - Model ErrorResponse no longer has parameter code\n - Model ErrorResponse no longer has parameter message\n - Operation WebSiteManagementClientOperationsMixin.list_custom_host_name_sites has a new parameter hostname\n\n## 6.1.0 (2022-01-24)\n\n**Features**\n\n - Added operation WebAppsOperations.create_one_deploy_operation\n - Added operation WebAppsOperations.get_one_deploy_status\n\n## 6.0.0 (2022-01-10)\n\n**Features**\n\n - Added operation DomainsOperations.transfer_out\n - Added operation WebAppsOperations.get_auth_settings_v2_without_secrets\n - Added operation WebSiteManagementClientOperationsMixin.list_custom_host_name_sites\n - Added operation group ContainerAppsOperations\n - Added operation group ContainerAppsRevisionsOperations\n - Model KubeEnvironment has a new parameter container_apps_configuration\n - Model KubeEnvironment has a new parameter environment_type\n - Model KubeEnvironmentPatchResource has a new parameter container_apps_configuration\n - Model StaticSiteARMResource has a new parameter enterprise_grade_cdn_status\n - Model StaticSitePatchResource has a new parameter enterprise_grade_cdn_status\n\n**Breaking changes**\n\n - Removed operation WebSiteManagementClientOperationsMixin.generate_github_access_token_for_appservice_cli_async\n\n## 5.0.0 (2021-09-08)\n\n**Features**\n\n - Model AppServicePlan has a new parameter zone_redundant\n - Model AppServicePlanPatchResource has a new parameter zone_redundant\n - Model AppServiceEnvironmentPatchResource has a new parameter zone_redundant\n - Model AppServiceEnvironmentResource has a new parameter zone_redundant\n - Model AzureActiveDirectoryRegistration has a new parameter client_secret_certificate_issuer\n - Model AzureActiveDirectoryRegistration has a new parameter client_secret_certificate_subject_alternative_name\n - Model AseV3NetworkingConfiguration has a new parameter external_inbound_ip_addresses\n - Model AseV3NetworkingConfiguration has a new parameter internal_inbound_ip_addresses\n - Model AppServiceEnvironment has a new parameter zone_redundant\n - Model ErrorEntity has a new parameter target\n - Model ErrorEntity has a new parameter details\n\n**Breaking changes**\n\n - Model TokenStore no longer has parameter kind\n - Model TokenStore no longer has parameter id\n - Model TokenStore no longer has parameter name\n - Model TokenStore no longer has parameter type\n - Model IdentityProviders no longer has parameter kind\n - Model IdentityProviders no longer has parameter id\n - Model IdentityProviders no longer has parameter name\n - Model IdentityProviders no longer has parameter type\n - Model Google no longer has parameter kind\n - Model Google no longer has parameter id\n - Model Google no longer has parameter name\n - Model Google no longer has parameter type\n - Model Nonce no longer has parameter kind\n - Model Nonce no longer has parameter id\n - Model Nonce no longer has parameter name\n - Model Nonce no longer has parameter type\n - Model AppleRegistration no longer has parameter kind\n - Model AppleRegistration no longer has parameter id\n - Model AppleRegistration no longer has parameter name\n - Model AppleRegistration no longer has parameter type\n - Model ForwardProxy no longer has parameter kind\n - Model ForwardProxy no longer has parameter id\n - Model ForwardProxy no longer has parameter name\n - Model ForwardProxy no longer has parameter type\n - Model OpenIdConnectLogin no longer has parameter kind\n - Model OpenIdConnectLogin no longer has parameter id\n - Model OpenIdConnectLogin no longer has parameter name\n - Model OpenIdConnectLogin no longer has parameter type\n - Model AzureActiveDirectoryRegistration no longer has parameter kind\n - Model AzureActiveDirectoryRegistration no longer has parameter id\n - Model AzureActiveDirectoryRegistration no longer has parameter name\n - Model AzureActiveDirectoryRegistration no longer has parameter type\n - Model AzureActiveDirectoryLogin no longer has parameter kind\n - Model AzureActiveDirectoryLogin no longer has parameter id\n - Model AzureActiveDirectoryLogin no longer has parameter name\n - Model AzureActiveDirectoryLogin no longer has parameter type\n - Model TriggeredJobRun no longer has parameter kind\n - Model TriggeredJobRun no longer has parameter id\n - Model TriggeredJobRun no longer has parameter name\n - Model TriggeredJobRun no longer has parameter type\n - Model AppRegistration no longer has parameter kind\n - Model AppRegistration no longer has parameter id\n - Model AppRegistration no longer has parameter name\n - Model AppRegistration no longer has parameter type\n - Model VnetInfo no longer has parameter kind\n - Model VnetInfo no longer has parameter id\n - Model VnetInfo no longer has parameter name\n - Model VnetInfo no longer has parameter type\n - Model CustomOpenIdConnectProvider no longer has parameter kind\n - Model CustomOpenIdConnectProvider no longer has parameter id\n - Model CustomOpenIdConnectProvider no longer has parameter name\n - Model CustomOpenIdConnectProvider no longer has parameter type\n - Model TwitterRegistration no longer has parameter kind\n - Model TwitterRegistration no longer has parameter id\n - Model TwitterRegistration no longer has parameter name\n - Model TwitterRegistration no longer has parameter type\n - Model OpenIdConnectConfig no longer has parameter kind\n - Model OpenIdConnectConfig no longer has parameter id\n - Model OpenIdConnectConfig no longer has parameter name\n - Model OpenIdConnectConfig no longer has parameter type\n - Model AzureStaticWebApps no longer has parameter kind\n - Model AzureStaticWebApps no longer has parameter id\n - Model AzureStaticWebApps no longer has parameter name\n - Model AzureStaticWebApps no longer has parameter type\n - Model LegacyMicrosoftAccount no longer has parameter kind\n - Model LegacyMicrosoftAccount no longer has parameter id\n - Model LegacyMicrosoftAccount no longer has parameter name\n - Model LegacyMicrosoftAccount no longer has parameter type\n - Model AzureActiveDirectory no longer has parameter kind\n - Model AzureActiveDirectory no longer has parameter id\n - Model AzureActiveDirectory no longer has parameter name\n - Model AzureActiveDirectory no longer has parameter type\n - Model GitHub no longer has parameter kind\n - Model GitHub no longer has parameter id\n - Model GitHub no longer has parameter name\n - Model GitHub no longer has parameter type\n - Model HttpSettings no longer has parameter kind\n - Model HttpSettings no longer has parameter id\n - Model HttpSettings no longer has parameter name\n - Model HttpSettings no longer has parameter type\n - Model DetectorDefinition no longer has parameter kind\n - Model DetectorDefinition no longer has parameter id\n - Model DetectorDefinition no longer has parameter name\n - Model DetectorDefinition no longer has parameter type\n - Model Twitter no longer has parameter kind\n - Model Twitter no longer has parameter id\n - Model Twitter no longer has parameter name\n - Model Twitter no longer has parameter type\n - Model JwtClaimChecks no longer has parameter kind\n - Model JwtClaimChecks no longer has parameter id\n - Model JwtClaimChecks no longer has parameter name\n - Model JwtClaimChecks no longer has parameter type\n - Model CookieExpiration no longer has parameter kind\n - Model CookieExpiration no longer has parameter id\n - Model CookieExpiration no longer has parameter name\n - Model CookieExpiration no longer has parameter type\n - Model Apple no longer has parameter kind\n - Model Apple no longer has parameter id\n - Model Apple no longer has parameter name\n - Model Apple no longer has parameter type\n - Model OpenIdConnectRegistration no longer has parameter kind\n - Model OpenIdConnectRegistration no longer has parameter id\n - Model OpenIdConnectRegistration no longer has parameter name\n - Model OpenIdConnectRegistration no longer has parameter type\n - Model Login no longer has parameter kind\n - Model Login no longer has parameter id\n - Model Login no longer has parameter name\n - Model Login no longer has parameter type\n - Model Facebook no longer has parameter kind\n - Model Facebook no longer has parameter id\n - Model Facebook no longer has parameter name\n - Model Facebook no longer has parameter type\n - Model ClientRegistration no longer has parameter kind\n - Model ClientRegistration no longer has parameter id\n - Model ClientRegistration no longer has parameter name\n - Model ClientRegistration no longer has parameter type\n - Model GlobalValidation no longer has parameter kind\n - Model GlobalValidation no longer has parameter id\n - Model GlobalValidation no longer has parameter name\n - Model GlobalValidation no longer has parameter type\n - Model AuthPlatform no longer has parameter kind\n - Model AuthPlatform no longer has parameter id\n - Model AuthPlatform no longer has parameter name\n - Model AuthPlatform no longer has parameter type\n - Model FileSystemTokenStore has a new signature\n - Model AzureActiveDirectoryValidation has a new signature\n - Model LoginRoutes has a new signature\n - Model BlobStorageTokenStore has a new signature\n - Model OpenIdConnectClientCredential has a new signature\n - Model HttpSettingsRoutes has a new signature\n - Model LoginScopes has a new signature\n - Model AllowedAudiencesValidation has a new signature\n - Model AzureStaticWebAppsRegistration has a new signature\n\n## 4.0.0 (2021-08-03)\n\n**Features**\n\n - Model AppServicePlan has a new parameter elastic_scale_enabled\n - Added operation WebAppsOperations.update_swift_virtual_network_connection_with_check_slot\n - Added operation WebAppsOperations.create_or_update_swift_virtual_network_connection_with_check_slot\n - Added operation WebAppsOperations.update_swift_virtual_network_connection_with_check\n - Added operation WebAppsOperations.list_basic_publishing_credentials_policies\n - Added operation WebAppsOperations.list_basic_publishing_credentials_policies_slot\n\n**Breaking changes**\n\n - Removed operation WebAppsOperations.get_basic_publishing_credentials_policies_slot\n - Removed operation WebAppsOperations.get_basic_publishing_credentials_policies\n\n## 3.0.0 (2021-05-25)\n\n**Features**\n\n - Model SiteAuthSettings has a new parameter config_version\n - Model CertificatePatchResource has a new parameter domain_validation_method\n - Model StaticSiteBuildProperties has a new parameter github_action_secret_name_override\n - Model StaticSiteBuildProperties has a new parameter output_location\n - Model StaticSiteBuildProperties has a new parameter api_build_command\n - Model StaticSiteBuildProperties has a new parameter skip_github_action_workflow_generation\n - Model StaticSiteBuildProperties has a new parameter app_build_command\n - Model DetectorResponse has a new parameter status\n - Model DetectorResponse has a new parameter data_providers_metadata\n - Model DetectorResponse has a new parameter suggested_utterances\n - Model StaticSitePatchResource has a new parameter key_vault_reference_identity\n - Model StaticSitePatchResource has a new parameter private_endpoint_connections\n - Model StaticSitePatchResource has a new parameter user_provided_function_apps\n - Model StaticSitePatchResource has a new parameter allow_config_file_updates\n - Model StaticSitePatchResource has a new parameter template_properties\n - Model StaticSitePatchResource has a new parameter staging_environment_policy\n - Model StaticSitePatchResource has a new parameter content_distribution_endpoint\n - Model StaticSitePatchResource has a new parameter provider\n - Model SiteConfigResource has a new parameter key_vault_reference_identity\n - Model SiteConfigResource has a new parameter functions_runtime_scale_monitoring_enabled\n - Model SiteConfigResource has a new parameter acr_user_managed_identity_id\n - Model SiteConfigResource has a new parameter public_network_access\n - Model SiteConfigResource has a new parameter website_time_zone\n - Model SiteConfigResource has a new parameter acr_use_managed_identity_creds\n - Model SiteConfigResource has a new parameter minimum_elastic_instance_count\n - Model SiteConfigResource has a new parameter function_app_scale_limit\n - Model SiteConfigResource has a new parameter azure_storage_accounts\n - Model ValidateRequest has a new parameter app_service_environment\n - Model StaticSiteCustomDomainOverviewARMResource has a new parameter status\n - Model StaticSiteCustomDomainOverviewARMResource has a new parameter error_message\n - Model StaticSiteCustomDomainOverviewARMResource has a new parameter validation_token\n - Model AppServicePlan has a new parameter extended_location\n - Model AppServicePlan has a new parameter kube_environment_profile\n - Model StaticSiteBuildARMResource has a new parameter user_provided_function_apps\n - Model AppServiceCertificateOrder has a new parameter contact\n - Model VnetParameters has a new parameter subnet_resource_id\n - Model SkuCapacity has a new parameter elastic_maximum\n - Model ApplicationStackResource has a new parameter is_deprecated\n - Model StackMajorVersion has a new parameter site_config_properties_dictionary\n - Model StackMajorVersion has a new parameter app_settings_dictionary\n - Model StatusCodesBasedTrigger has a new parameter path\n - Model AppServiceCertificateOrderPatchResource has a new parameter contact\n - Model BillingMeter has a new parameter multiplier\n - Model IdentityProviders has a new parameter legacy_microsoft_account\n - Model IdentityProviders has a new parameter apple\n - Model IdentityProviders has a new parameter azure_static_web_apps\n - Model StaticSiteARMResource has a new parameter key_vault_reference_identity\n - Model StaticSiteARMResource has a new parameter private_endpoint_connections\n - Model StaticSiteARMResource has a new parameter user_provided_function_apps\n - Model StaticSiteARMResource has a new parameter identity\n - Model StaticSiteARMResource has a new parameter allow_config_file_updates\n - Model StaticSiteARMResource has a new parameter template_properties\n - Model StaticSiteARMResource has a new parameter staging_environment_policy\n - Model StaticSiteARMResource has a new parameter content_distribution_endpoint\n - Model StaticSiteARMResource has a new parameter provider\n - Model SitePatchResource has a new parameter virtual_network_subnet_id\n - Model SitePatchResource has a new parameter storage_account_required\n - Model SitePatchResource has a new parameter key_vault_reference_identity\n - Model ApiKVReference has a new parameter name\n - Model ApiKVReference has a new parameter active_version\n - Model ApiKVReference has a new parameter type\n - Model ApiKVReference has a new parameter id\n - Model ApiKVReference has a new parameter kind\n - Model VnetValidationFailureDetails has a new parameter message\n - Model VnetValidationFailureDetails has a new parameter warnings\n - Model Site has a new parameter virtual_network_subnet_id\n - Model Site has a new parameter storage_account_required\n - Model Site has a new parameter extended_location\n - Model Site has a new parameter key_vault_reference_identity\n - Model Certificate has a new parameter domain_validation_method\n - Model CsmOperationDescription has a new parameter is_data_action\n - Model AutoHealTriggers has a new parameter slow_requests_with_path\n - Model AutoHealTriggers has a new parameter status_codes_range\n - Model SiteConfig has a new parameter key_vault_reference_identity\n - Model SiteConfig has a new parameter functions_runtime_scale_monitoring_enabled\n - Model SiteConfig has a new parameter acr_user_managed_identity_id\n - Model SiteConfig has a new parameter public_network_access\n - Model SiteConfig has a new parameter website_time_zone\n - Model SiteConfig has a new parameter acr_use_managed_identity_creds\n - Model SiteConfig has a new parameter minimum_elastic_instance_count\n - Model SiteConfig has a new parameter function_app_scale_limit\n - Model SiteConfig has a new parameter azure_storage_accounts\n - Model SlowRequestsBasedTrigger has a new parameter path\n - Model AppServicePlanPatchResource has a new parameter elastic_scale_enabled\n - Model AppServicePlanPatchResource has a new parameter kube_environment_profile\n - Model ApplicationStack has a new parameter is_deprecated\n - Model SiteSourceControl has a new parameter git_hub_action_configuration\n - Added operation ProviderOperations.get_function_app_stacks\n - Added operation ProviderOperations.get_web_app_stacks_for_location\n - Added operation ProviderOperations.get_web_app_stacks\n - Added operation ProviderOperations.get_function_app_stacks_for_location\n - Added operation StaticSitesOperations.get_private_endpoint_connection_list\n - Added operation StaticSitesOperations.detach_user_provided_function_app_from_static_site_build\n - Added operation StaticSitesOperations.begin_create_or_update_static_site\n - Added operation StaticSitesOperations.create_or_update_static_site_build_app_settings\n - Added operation StaticSitesOperations.begin_create_or_update_static_site_custom_domain\n - Added operation StaticSitesOperations.list_static_site_app_settings\n - Added operation StaticSitesOperations.begin_delete_private_endpoint_connection\n - Added operation StaticSitesOperations.detach_user_provided_function_app_from_static_site\n - Added operation StaticSitesOperations.begin_register_user_provided_function_app_with_static_site\n - Added operation StaticSitesOperations.begin_create_zip_deployment_for_static_site\n - Added operation StaticSitesOperations.begin_register_user_provided_function_app_with_static_site_build\n - Added operation StaticSitesOperations.list_static_site_configured_roles\n - Added operation StaticSitesOperations.begin_create_zip_deployment_for_static_site_build\n - Added operation StaticSitesOperations.begin_detach_static_site\n - Added operation StaticSitesOperations.get_private_endpoint_connection\n - Added operation StaticSitesOperations.begin_validate_custom_domain_can_be_added_to_static_site\n - Added operation StaticSitesOperations.create_or_update_static_site_app_settings\n - Added operation StaticSitesOperations.begin_delete_static_site_custom_domain\n - Added operation StaticSitesOperations.get_user_provided_function_app_for_static_site_build\n - Added operation StaticSitesOperations.get_user_provided_function_app_for_static_site\n - Added operation StaticSitesOperations.begin_approve_or_reject_private_endpoint_connection\n - Added operation StaticSitesOperations.begin_delete_static_site_build\n - Added operation StaticSitesOperations.get_static_site_custom_domain\n - Added operation StaticSitesOperations.begin_delete_static_site\n - Added operation StaticSitesOperations.get_user_provided_function_apps_for_static_site\n - Added operation StaticSitesOperations.get_user_provided_function_apps_for_static_site_build\n - Added operation StaticSitesOperations.get_private_link_resources\n - Added operation StaticSitesOperations.list_static_site_build_app_settings\n - Added operation AppServiceEnvironmentsOperations.get_private_endpoint_connection_list\n - Added operation AppServiceEnvironmentsOperations.get_private_link_resources\n - Added operation AppServiceEnvironmentsOperations.get_ase_v3_networking_configuration\n - Added operation AppServiceEnvironmentsOperations.get_private_endpoint_connection\n - Added operation AppServiceEnvironmentsOperations.begin_approve_or_reject_private_endpoint_connection\n - Added operation AppServiceEnvironmentsOperations.begin_delete_private_endpoint_connection\n - Added operation AppServiceEnvironmentsOperations.update_ase_networking_configuration\n - Added operation WebAppsOperations.update_ftp_allowed_slot\n - Added operation WebAppsOperations.get_private_endpoint_connection_list\n - Added operation WebAppsOperations.get_private_link_resources_slot\n - Added operation WebAppsOperations.get_site_connection_string_key_vault_reference\n - Added operation WebAppsOperations.get_ftp_allowed_slot\n - Added operation WebAppsOperations.get_site_connection_string_key_vault_reference_slot\n - Added operation WebAppsOperations.get_app_settings_key_vault_references\n - Added operation WebAppsOperations.get_site_connection_string_key_vault_references_slot\n - Added operation WebAppsOperations.get_app_settings_key_vault_references_slot\n - Added operation WebAppsOperations.get_app_setting_key_vault_reference_slot\n - Added operation WebAppsOperations.get_app_setting_key_vault_reference\n - Added operation WebAppsOperations.update_scm_allowed_slot\n - Added operation WebAppsOperations.get_private_endpoint_connection_list_slot\n - Added operation WebAppsOperations.get_scm_allowed_slot\n - Added operation WebAppsOperations.get_basic_publishing_credentials_policies_slot\n - Added operation WebAppsOperations.create_or_update_swift_virtual_network_connection_with_check\n - Added operation WebAppsOperations.get_private_endpoint_connection_slot\n - Added operation WebAppsOperations.begin_approve_or_reject_private_endpoint_connection_slot\n - Added operation WebAppsOperations.get_site_connection_string_key_vault_references\n - Added operation WebAppsOperations.begin_delete_private_endpoint_connection_slot\n - Added operation group KubeEnvironmentsOperations\n - Added operation group GlobalOperations\n - Added operation group CertificateOrdersDiagnosticsOperations\n\n**Breaking changes**\n\n - Parameter id of model VirtualNetworkProfile is now required\n - Operation StaticSitesOperations.list_static_site_build_function_app_settings has a new signature\n - Operation StaticSitesOperations.list_static_site_build_functions has a new signature\n - Operation StaticSitesOperations.create_or_update_static_site_build_function_app_settings has a new signature\n - Operation StaticSitesOperations.get_static_site_build has a new signature\n - Operation CertificatesOperations.list has a new signature\n - Operation WebAppsOperations.delete_source_control has a new signature\n - Operation WebAppsOperations.delete_source_control_slot has a new signature\n - Model SwiftVirtualNetwork no longer has parameter system_data\n - Model CertificateOrderAction no longer has parameter system_data\n - Model GeoRegion no longer has parameter system_data\n - Model SiteAuthSettings no longer has parameter system_data\n - Model CsmPublishingCredentialsPoliciesCollection no longer has parameter system_data\n - Model AddressResponse no longer has parameter system_data\n - Model SiteLogsConfig no longer has parameter system_data\n - Model PrivateLinkConnectionApprovalRequestResource no longer has parameter system_data\n - Model PublicCertificate no longer has parameter system_data\n - Model Nonce no longer has parameter system_data\n - Model CertificatePatchResource no longer has parameter system_data\n - Model StorageMigrationOptions no longer has parameter system_data\n - Model DiagnosticCategory no longer has parameter system_data\n - Model DetectorResponse no longer has parameter system_data\n - Model CustomOpenIdConnectProvider no longer has parameter system_data\n - Model StaticSitePatchResource no longer has parameter system_data\n - Model CookieExpiration no longer has parameter system_data\n - Model MSDeployStatus no longer has parameter system_data\n - Model StaticSiteResetPropertiesARMResource no longer has parameter system_data\n - Model MSDeploy no longer has parameter system_data\n - Model DiagnosticDetectorResponse no longer has parameter system_data\n - Model DiagnosticAnalysis no longer has parameter system_data\n - Model SiteConfigResource no longer has parameter system_data\n - Model Recommendation no longer has parameter system_data\n - Model DeletedAppRestoreRequest no longer has parameter system_data\n - Model SlotConfigNamesResource no longer has parameter system_data\n - Model Domain no longer has parameter system_data\n - Model StorageMigrationResponse no longer has parameter system_data\n - Model VnetInfo no longer has parameter system_data\n - Model AzureActiveDirectoryLogin no longer has parameter system_data\n - Model SlotDifference no longer has parameter system_data\n - Model StaticSiteUserInvitationRequestResource no longer has parameter system_data\n - Model BackupRequest no longer has parameter system_data\n - Model PushSettings no longer has parameter system_data\n - Model StaticSiteCustomDomainOverviewARMResource no longer has parameter system_data\n - Model AppServicePlan no longer has parameter system_data\n - Model Google no longer has parameter system_data\n - Model Twitter no longer has parameter system_data\n - Model DomainOwnershipIdentifier no longer has parameter system_data\n - Model OpenIdConnectClientCredential no longer has parameter system_data\n - Model Identifier no longer has parameter system_data\n - Model RestoreRequest no longer has parameter system_data\n - Model SiteConfigurationSnapshotInfo no longer has parameter system_data\n - Model VnetRoute no longer has parameter system_data\n - Model StaticSiteBuildARMResource no longer has parameter system_data\n - Model SourceControl no longer has parameter system_data\n - Model AppServiceCertificateOrder no longer has parameter system_data\n - Model AzureActiveDirectory no longer has parameter system_data\n - Model DomainPatchResource no longer has parameter system_data\n - Model Resource no longer has parameter system_data\n - Model SiteAuthSettingsV2 no longer has parameter system_data\n - Model VnetParameters no longer has parameter system_data\n - Model ResourceMetricDefinition no longer has parameter system_data\n - Model LoginScopes no longer has parameter system_data\n - Model CertificateEmail no longer has parameter system_data\n - Model PremierAddOn no longer has parameter system_data\n - Model TriggeredJobRun no longer has parameter system_data\n - Model WebJob no longer has parameter system_data\n - Model StaticSiteUserARMResource no longer has parameter system_data\n - Model HybridConnectionKey no longer has parameter system_data\n - Model Deployment no longer has parameter system_data\n - Model PrivateAccess no longer has parameter system_data\n - Model VnetValidationTestFailure no longer has parameter system_data\n - Model StaticSitesWorkflowPreview no longer has parameter system_data\n - Model OpenIdConnectRegistration no longer has parameter system_data\n - Model ProxyOnlyResource no longer has parameter system_data\n - Model ApplicationStackResource no longer has parameter system_data\n - Model AzureStoragePropertyDictionaryResource no longer has parameter system_data\n - Model TwitterRegistration no longer has parameter system_data\n - Model RelayServiceConnectionEntity no longer has parameter system_data\n - Model CsmPublishingCredentialsPoliciesEntity no longer has parameter system_data\n - Model LoginRoutes no longer has parameter system_data\n - Model AnalysisDefinition no longer has parameter system_data\n - Model ReissueCertificateOrderRequest no longer has parameter system_data\n - Model User no longer has parameter system_data\n - Model AppServiceCertificateOrderPatchResource no longer has parameter system_data\n - Model TriggeredWebJob no longer has parameter system_data\n - Model HybridConnection no longer has parameter system_data\n - Model HttpSettingsRoutes no longer has parameter system_data\n - Model BillingMeter no longer has parameter system_data\n - Model SiteExtensionInfo no longer has parameter system_data\n - Model IdentityProviders no longer has parameter system_data\n - Model Snapshot no longer has parameter system_data\n - Model StaticSitesWorkflowPreviewRequest no longer has parameter system_data\n - Model HostNameBinding no longer has parameter system_data\n - Model AzureActiveDirectoryRegistration no longer has parameter system_data\n - Model StaticSiteARMResource no longer has parameter system_data\n - Model MigrateMySqlRequest no longer has parameter system_data\n - Model VnetGateway no longer has parameter system_data\n - Model ProcessInfo no longer has parameter system_data\n - Model WebSiteInstanceStatus no longer has parameter system_data\n - Model SitePatchResource no longer has parameter system_data\n - Model GitHub no longer has parameter system_data\n - Model TokenStore no longer has parameter system_data\n - Model ContinuousWebJob no longer has parameter system_data\n - Model FunctionEnvelope no longer has parameter system_data\n - Model BlobStorageTokenStore no longer has parameter system_data\n - Model PremierAddOnOffer no longer has parameter system_data\n - Model ProcessThreadInfo no longer has parameter system_data\n - Model ApiKVReference no longer has parameter location\n - Model AzureActiveDirectoryValidation no longer has parameter system_data\n - Model SnapshotRestoreRequest no longer has parameter system_data\n - Model DeletedSite no longer has parameter system_data\n - Model VnetValidationFailureDetails no longer has parameter system_data\n - Model Site no longer has parameter system_data\n - Model StaticSiteFunctionOverviewARMResource no longer has parameter system_data\n - Model RenewCertificateOrderRequest no longer has parameter system_data\n - Model Certificate no longer has parameter system_data\n - Model NetworkFeatures no longer has parameter system_data\n - Model ResourceHealthMetadata no longer has parameter system_data\n - Model DetectorDefinition no longer has parameter system_data\n - Model BackupItem no longer has parameter system_data\n - Model TriggeredJobHistory no longer has parameter system_data\n - Model Usage no longer has parameter system_data\n - Model MigrateMySqlStatus no longer has parameter system_data\n - Model ConnectionStringDictionary no longer has parameter system_data\n - Model CustomHostnameAnalysisResult no longer has parameter system_data\n - Model StringDictionary no longer has parameter system_data\n - Model TopLevelDomain no longer has parameter system_data\n - Model PremierAddOnPatchResource no longer has parameter system_data\n - Model AppServiceCertificatePatchResource no longer has parameter system_data\n - Model AllowedAudiencesValidation no longer has parameter system_data\n - Model Facebook no longer has parameter system_data\n - Model ClientRegistration no longer has parameter system_data\n - Model StaticSiteUserInvitationResponseResource no longer has parameter system_data\n - Model HybridConnectionLimits no longer has parameter system_data\n - Model RecommendationRule no longer has parameter system_data\n - Model ForwardProxy no longer has parameter system_data\n - Model Login no longer has parameter system_data\n - Model OpenIdConnectConfig no longer has parameter system_data\n - Model AppServiceCertificateResource no longer has parameter system_data\n - Model MSDeployLog no longer has parameter system_data\n - Model WorkerPoolResource no longer has parameter system_data\n - Model SitePhpErrorLogFlag no longer has parameter system_data\n - Model AppServicePlanPatchResource no longer has parameter system_data\n - Model OpenIdConnectLogin no longer has parameter system_data\n - Model SiteSourceControl no longer has parameter system_data\n - Model AuthPlatform no longer has parameter system_data\n - Model FileSystemTokenStore no longer has parameter system_data\n - Model AppRegistration no longer has parameter system_data\n - Model ProcessModuleInfo no longer has parameter system_data\n - Model HttpSettings no longer has parameter system_data\n - Model GlobalValidation no longer has parameter system_data\n - Model JwtClaimChecks no longer has parameter system_data\n - Model AppServiceEnvironmentResource has a new signature\n - Model AppServiceEnvironment has a new signature\n - Model DetectorInfo has a new signature\n - Model AppServiceEnvironmentPatchResource has a new signature\n - Removed operation StaticSitesOperations.create_or_update_static_site\n - Removed operation StaticSitesOperations.validate_custom_domain_can_be_added_to_static_site\n - Removed operation StaticSitesOperations.delete_static_site_custom_domain\n - Removed operation StaticSitesOperations.delete_static_site_build\n - Removed operation StaticSitesOperations.delete_static_site\n - Removed operation StaticSitesOperations.create_or_update_static_site_custom_domain\n - Removed operation StaticSitesOperations.detach_static_site\n - Removed operation WebAppsOperations.update_swift_virtual_network_connection\n - Removed operation WebAppsOperations.begin_copy_production_slot\n - Removed operation WebAppsOperations.create_or_update_swift_virtual_network_connection_slot\n - Removed operation WebAppsOperations.update_swift_virtual_network_connection_slot\n - Removed operation WebAppsOperations.create_or_update_swift_virtual_network_connection\n - Removed operation WebAppsOperations.begin_copy_slot\n\n## 2.0.0 (2021-02-25)\n\n**Features**\n\n - Model Usage has a new parameter system_data\n - Model StaticSiteFunctionOverviewARMResource has a new parameter system_data\n - Model HybridConnection has a new parameter system_data\n - Model GeoRegion has a new parameter system_data\n - Model IpSecurityRestriction has a new parameter headers\n - Model StaticSiteBuildARMResource has a new parameter system_data\n - Model PushSettings has a new parameter system_data\n - Model SlotDifference has a new parameter system_data\n - Model AppServiceCertificatePatchResource has a new parameter system_data\n - Model DiagnosticDetectorResponse has a new parameter system_data\n - Model MetricSpecification has a new parameter supported_aggregation_types\n - Model PremierAddOnPatchResource has a new parameter system_data\n - Model SitePatchResource has a new parameter custom_domain_verification_id\n - Model SitePatchResource has a new parameter system_data\n - Model SitePatchResource has a new parameter client_cert_mode\n - Model HostNameBinding has a new parameter system_data\n - Model CustomHostnameAnalysisResult has a new parameter system_data\n - Model VnetGateway has a new parameter system_data\n - Model MSDeployLog has a new parameter system_data\n - Model Site has a new parameter custom_domain_verification_id\n - Model Site has a new parameter system_data\n - Model Site has a new parameter client_cert_mode\n - Model PrivateEndpointConnectionResource has a new parameter system_data\n - Model ResourceHealthMetadata has a new parameter system_data\n - Model CertificatePatchResource has a new parameter system_data\n - Model WorkerPoolResource has a new parameter system_data\n - Model AppServiceEnvironmentResource has a new parameter system_data\n - Model DetectorResponse has a new parameter system_data\n - Model TriggeredWebJob has a new parameter system_data\n - Model SiteSourceControl has a new parameter is_git_hub_action\n - Model SiteSourceControl has a new parameter system_data\n - Model MSDeploy has a new parameter system_data\n - Model TriggeredJobHistory has a new parameter system_data\n - Model SiteConfigResource has a new parameter vnet_route_all_enabled\n - Model SiteConfigResource has a new parameter system_data\n - Model SiteConfigResource has a new parameter scm_min_tls_version\n - Model SiteConfigResource has a new parameter vnet_private_ports_count\n - Model BackupRequest has a new parameter system_data\n - Model DeletedSite has a new parameter system_data\n - Model RenewCertificateOrderRequest has a new parameter system_data\n - Model StorageMigrationResponse has a new parameter system_data\n - Model CsmPublishingCredentialsPoliciesCollection has a new parameter system_data\n - Model AddressResponse has a new parameter system_data\n - Model BillingMeter has a new parameter system_data\n - Model Deployment has a new parameter system_data\n - Model ProcessModuleInfo has a new parameter system_data\n - Model CertificateEmail has a new parameter system_data\n - Model Certificate has a new parameter system_data\n - Model StaticSitePatchResource has a new parameter system_data\n - Model SitePhpErrorLogFlag has a new parameter system_data\n - Model CsmPublishingCredentialsPoliciesEntity has a new parameter system_data\n - Model SwiftVirtualNetwork has a new parameter system_data\n - Model VnetRoute has a new parameter system_data\n - Model ConnectionStringDictionary has a new parameter system_data\n - Model WebSiteInstanceStatus has a new parameter system_data\n - Model WebSiteInstanceStatus has a new parameter health_check_url\n - Model HybridConnectionKey has a new parameter system_data\n - Model PremierAddOnOffer has a new parameter system_data\n - Model ContinuousWebJob has a new parameter system_data\n - Model SnapshotRestoreRequest has a new parameter system_data\n - Model SiteAuthSettings has a new parameter git_hub_client_id\n - Model SiteAuthSettings has a new parameter microsoft_account_client_secret_setting_name\n - Model SiteAuthSettings has a new parameter git_hub_client_secret\n - Model SiteAuthSettings has a new parameter is_auth_from_file\n - Model SiteAuthSettings has a new parameter auth_file_path\n - Model SiteAuthSettings has a new parameter google_client_secret_setting_name\n - Model SiteAuthSettings has a new parameter git_hub_client_secret_setting_name\n - Model SiteAuthSettings has a new parameter aad_claims_authorization\n - Model SiteAuthSettings has a new parameter system_data\n - Model SiteAuthSettings has a new parameter git_hub_o_auth_scopes\n - Model SiteAuthSettings has a new parameter client_secret_setting_name\n - Model SiteAuthSettings has a new parameter twitter_consumer_secret_setting_name\n - Model SiteAuthSettings has a new parameter facebook_app_secret_setting_name\n - Model DetectorDefinition has a new parameter system_data\n - Model SiteConfigurationSnapshotInfo has a new parameter system_data\n - Model PublicCertificate has a new parameter system_data\n - Model DomainOwnershipIdentifier has a new parameter system_data\n - Model StringDictionary has a new parameter system_data\n - Model PrivateLinkConnectionApprovalRequestResource has a new parameter system_data\n - Model SlotConfigNamesResource has a new parameter system_data\n - Model WebJob has a new parameter system_data\n - Model ApplicationStackResource has a new parameter system_data\n - Model ReissueCertificateOrderRequest has a new parameter system_data\n - Model User has a new parameter system_data\n - Model RestoreRequest has a new parameter system_data\n - Model StaticSiteUserInvitationRequestResource has a new parameter system_data\n - Model StorageMigrationOptions has a new parameter system_data\n - Model HybridConnectionLimits has a new parameter system_data\n - Model StaticSiteUserARMResource has a new parameter system_data\n - Model AppServiceCertificateResource has a new parameter system_data\n - Model AnalysisDefinition has a new parameter system_data\n - Model VnetInfo has a new parameter system_data\n - Model DomainPatchResource has a new parameter system_data\n - Model MSDeployStatus has a new parameter system_data\n - Model MigrateMySqlRequest has a new parameter system_data\n - Model Identifier has a new parameter system_data\n - Model SiteLogsConfig has a new parameter system_data\n - Model AppServiceCertificateOrder has a new parameter system_data\n - Model BackupItem has a new parameter system_data\n - Model ProcessInfo has a new parameter system_data\n - Model MigrateMySqlStatus has a new parameter system_data\n - Model StaticSiteResetPropertiesARMResource has a new parameter system_data\n - Model NetworkFeatures has a new parameter system_data\n - Model Recommendation has a new parameter system_data\n - Model ProcessThreadInfo has a new parameter system_data\n - Model AzureStoragePropertyDictionaryResource has a new parameter system_data\n - Model Domain has a new parameter system_data\n - Model StaticSiteARMResource has a new parameter system_data\n - Model ResourceMetricDefinition has a new parameter system_data\n - Model VnetValidationTestFailure has a new parameter system_data\n - Model StaticSiteUserInvitationResponseResource has a new parameter system_data\n - Model PrivateAccess has a new parameter system_data\n - Model SiteConfig has a new parameter vnet_route_all_enabled\n - Model SiteConfig has a new parameter vnet_private_ports_count\n - Model SiteConfig has a new parameter scm_min_tls_version\n - Model FunctionEnvelope has a new parameter system_data\n - Model TopLevelDomain has a new parameter system_data\n - Model RecommendationRule has a new parameter system_data\n - Model RelayServiceConnectionEntity has a new parameter system_data\n - Model ProxyOnlyResource has a new parameter system_data\n - Model Snapshot has a new parameter system_data\n - Model VnetParameters has a new parameter system_data\n - Model DiagnosticAnalysis has a new parameter system_data\n - Model CertificateOrderAction has a new parameter system_data\n - Model DeletedAppRestoreRequest has a new parameter system_data\n - Model AppServicePlan has a new parameter system_data\n - Model Resource has a new parameter system_data\n - Model StaticSiteCustomDomainOverviewARMResource has a new parameter system_data\n - Model PremierAddOn has a new parameter system_data\n - Model TriggeredJobRun has a new parameter system_data\n - Model LogSpecification has a new parameter log_filter_pattern\n - Model DiagnosticCategory has a new parameter system_data\n - Model SourceControl has a new parameter system_data\n - Model VnetValidationFailureDetails has a new parameter system_data\n - Model AppServiceEnvironmentPatchResource has a new parameter system_data\n - Model AppServiceCertificateOrderPatchResource has a new parameter system_data\n - Model SiteExtensionInfo has a new parameter system_data\n - Model AppServicePlanPatchResource has a new parameter system_data\n - Added operation WebAppsOperations.update_auth_settings_v2\n - Added operation WebAppsOperations.update_auth_settings_v2_slot\n - Added operation WebAppsOperations.get_auth_settings_v2\n - Added operation WebAppsOperations.get_auth_settings_v2_slot\n - Added operation StaticSitesOperations.preview_workflow\n - Added operation WebSiteManagementClientOperationsMixin.generate_github_access_token_for_appservice_cli_async\n\n**Breaking changes**\n\n - Model SiteConfigResource no longer has parameter acr_use_managed_identity_creds\n - Model SiteConfigResource no longer has parameter acr_user_managed_identity_id\n - Model SiteConfig no longer has parameter acr_use_managed_identity_creds\n - Model SiteConfig no longer has parameter acr_user_managed_identity_id\n - Model FunctionSecrets has a new signature\n - Removed operation WebAppsOperations.get_app_settings_key_vault_references\n - Removed operation WebAppsOperations.get_app_setting_key_vault_reference\n\n## 1.0.0 (2020-11-23)\n\n- GA release\n\n## 1.0.0b1 (2020-10-13)\n\nThis is beta preview version.\n\nThis version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).\n\n**General breaking changes**\n\n- Credential system has been completly revamped:\n\n - `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/\n - `credentials` parameter has been renamed `credential`\n\n- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of\n supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n- You can't import a `version` module anymore, use `__version__` instead\n- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.\n- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).\n- Most of the operation kwarg have changed. Some of the most noticeable:\n\n - `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user\n - For a complete set of\n supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)\n\n**General new features**\n\n- Type annotations support using `typing`. SDKs are mypy ready.\n- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.\n- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.\n\n## 0.48.0 (2020-09-22)\n\n**Features**\n\n - Model SiteConfig has a new parameter acr_use_managed_identity_creds\n - Model SiteConfig has a new parameter acr_user_managed_identity_id\n - Model SiteConfigResource has a new parameter acr_use_managed_identity_creds\n - Model SiteConfigResource has a new parameter acr_user_managed_identity_id\n\n## 0.47.0 (2020-06-03)\n\n**Features**\n\n - Added operation WebAppsOperations.get_basic_publishing_credentials_policies\n - Added operation WebAppsOperations.update_scm_allowed\n - Added operation WebAppsOperations.update_ftp_allowed\n - Added operation WebAppsOperations.get_scm_allowed\n - Added operation WebAppsOperations.get_ftp_allowed\n\n## 0.46.0 (2020-04-10)\n\n**Features**\n\n - Model SiteConfig has a new parameter power_shell_version\n - Model SiteConfigResource has a new parameter power_shell_version\n - Added operation WebAppsOperations.get_private_endpoint_connection\n - Added operation WebAppsOperations.get_private_link_resources\n - Added operation WebAppsOperations.delete_private_endpoint_connection\n - Added operation WebAppsOperations.approve_or_reject_private_endpoint_connection\n\n## 0.45.0 (2020-03-20)\n\n**Features**\n\n - Added operation WebAppsOperations.list_host_keys\n - Added operation WebAppsOperations.sync_functions\n - Added operation WebAppsOperations.list_function_keys_slot\n - Added operation WebAppsOperations.sync_functions_slot\n - Added operation WebAppsOperations.delete_function_secret\n - Added operation WebAppsOperations.delete_host_secret_slot\n - Added operation WebAppsOperations.list_host_keys_slot\n - Added operation WebAppsOperations.delete_function_secret_slot\n - Added operation WebAppsOperations.create_or_update_host_secret\n - Added operation WebAppsOperations.list_sync_status\n - Added operation WebAppsOperations.list_sync_status_slot\n - Added operation WebAppsOperations.create_or_update_function_secret_slot\n - Added operation WebAppsOperations.list_function_keys\n - Added operation WebAppsOperations.create_or_update_host_secret_slot\n - Added operation WebAppsOperations.create_or_update_function_secret\n - Added operation WebAppsOperations.delete_host_secret\n - Added operation group StaticSitesOperations\n\n## 0.44.0 (2019-11-08)\n\n**Features**\n\n - Model EndpointDetail has a new parameter is_accessible\n - Model Identifier has a new parameter value\n - Model VirtualIPMapping has a new parameter service_name\n - Model SiteConfig has a new parameter health_check_path\n - Model SiteConfig has a new parameter pre_warmed_instance_count\n - Model SiteConfig has a new parameter api_management_config\n - Model CertificatePatchResource has a new parameter canonical_name\n - Model ValidateRequest has a new parameter container_image_platform\n - Model ValidateRequest has a new parameter\n container_registry_password\n - Model ValidateRequest has a new parameter\n container_image_repository\n - Model ValidateRequest has a new parameter container_image_tag\n - Model ValidateRequest has a new parameter\n container_registry_base_url\n - Model ValidateRequest has a new parameter\n container_registry_username\n - Model MetricSpecification has a new parameter\n supported_time_grain_types\n - Model FunctionEnvelope has a new parameter invoke_url_template\n - Model FunctionEnvelope has a new parameter is_disabled\n - Model FunctionEnvelope has a new parameter language\n - Model FunctionEnvelope has a new parameter test_data_href\n - Model GeoRegion has a new parameter org_domain\n - Model Certificate has a new parameter canonical_name\n - Model StackMajorVersion has a new parameter is_deprecated\n - Model StackMajorVersion has a new parameter is_hidden\n - Model StackMajorVersion has a new parameter is_preview\n - Model SiteConfigResource has a new parameter health_check_path\n - Model SiteConfigResource has a new parameter\n pre_warmed_instance_count\n - Model SiteConfigResource has a new parameter api_management_config\n - Model HostingEnvironmentDiagnostics has a new parameter\n diagnostics_output\n - Model AddressResponse has a new parameter type\n - Model AddressResponse has a new parameter id\n - Model AddressResponse has a new parameter name\n - Model AddressResponse has a new parameter kind\n - Added operation AppServiceEnvironmentsOperations.get_vip_info\n - Added operation WebAppsOperations.copy_production_slot\n - Added operation WebAppsOperations.list_site_backups\n - Added operation\n WebAppsOperations.get_app_setting_key_vault_reference\n - Added operation\n WebAppsOperations.get_app_settings_key_vault_references\n - Added operation WebAppsOperations.copy_slot_slot\n - Added operation WebAppsOperations.get_instance_info_slot\n - Added operation WebAppsOperations.get_instance_info\n - Added operation WebAppsOperations.list_site_backups_slot\n\n**Breaking changes**\n\n - Operation\n WebAppsOperations.create_or_update_domain_ownership_identifier\n has a new signature\n - Operation\n WebAppsOperations.create_or_update_domain_ownership_identifier_slot\n has a new signature\n - Operation\n WebAppsOperations.update_domain_ownership_identifier_slot has a\n new signature\n - Operation WebAppsOperations.update_domain_ownership_identifier\n has a new signature\n - Model SitePatchResource no longer has parameter geo_distributions\n - Model Site no longer has parameter geo_distributions\n - Model EndpointDetail no longer has parameter is_accessable\n - Model ProcessThreadInfo no longer has parameter\n priviledged_processor_time\n - Model Identifier no longer has parameter identifier_id\n - Model SiteConfig no longer has parameter reserved_instance_count\n - Model SiteConfig no longer has parameter azure_storage_accounts\n - Model SiteConfigResource no longer has parameter\n reserved_instance_count\n - Model SiteConfigResource no longer has parameter\n azure_storage_accounts\n - Model HostingEnvironmentDiagnostics no longer has parameter\n diagnosics_output\n - Removed operation AppServicePlansOperations.list_metric_defintions\n - Removed operation AppServicePlansOperations.list_metrics\n - Removed operation\n WebSiteManagementClientOperationsMixin.validate_container_settings\n - Removed operation AppServiceEnvironmentsOperations.list_metrics\n - Removed operation\n AppServiceEnvironmentsOperations.list_worker_pool_instance_metrics\n - Removed operation\n AppServiceEnvironmentsOperations.list_multi_role_pool_instance_metrics\n - Removed operation\n AppServiceEnvironmentsOperations.list_multi_role_metrics\n - Removed operation AppServiceEnvironmentsOperations.list_vips\n - Removed operation\n AppServiceEnvironmentsOperations.list_web_worker_metrics\n - Removed operation\n AppServiceEnvironmentsOperations.list_metric_definitions\n - Removed operation WebAppsOperations.get_instance_process_thread\n - Removed operation WebAppsOperations.list_metrics\n - Removed operation WebAppsOperations.get_process_thread\n - Removed operation WebAppsOperations.list_hybrid_connection_keys\n - Removed operation WebAppsOperations.list_metric_definitions_slot\n - Removed operation WebAppsOperations.list_metrics_slot\n - Removed operation WebAppsOperations.get_process_thread_slot\n - Removed operation\n WebAppsOperations.list_hybrid_connection_keys_slot\n - Removed operation\n WebAppsOperations.get_instance_process_thread_slot\n - Removed operation WebAppsOperations.list_metric_definitions\n\n## 0.43.1 (2019-10-17)\n\n**General**\n\n - Fixed incorrectly generated multi-api package structure\n\n## 0.43.0 (2019-10-01)\n\n**Features**\n\n - Added operation group BillingMetersOperations\n - Added operation group WebSiteManagementClientOperationsMixin\n\n**General**\n\n - Package is now multiapi\n\n## 0.42.0 (2019-05-24)\n\n**Features**\n\n - Model SitePatchResource has a new parameter identity\n - Model ManagedServiceIdentity has a new parameter\n user_assigned_identities\n - Model CloningInfo has a new parameter source_web_app_location\n - Added operation\n AppServiceEnvironmentsOperations.get_inbound_network_dependencies_endpoints\n - Added operation\n AppServiceEnvironmentsOperations.get_outbound_network_dependencies_endpoints\n - Added operation DeletedWebAppsOperations.list_by_location\n - Added operation\n DeletedWebAppsOperations.get_deleted_web_app_by_location\n\n**Breaking changes**\n\n - Model ManagedServiceIdentity has a new parameter\n user_assigned_identities (renamed from identity_ids)\n\n## 0.41.0 (2019-02-13)\n\n**Features**\n\n - Model DeletedAppRestoreRequest has a new parameter\n use_dr_secondary\n - Model StackMinorVersion has a new parameter\n is_remote_debugging_enabled\n - Model IpSecurityRestriction has a new parameter subnet_traffic_tag\n - Model IpSecurityRestriction has a new parameter vnet_traffic_tag\n - Model IpSecurityRestriction has a new parameter\n vnet_subnet_resource_id\n - Model DeletedSite has a new parameter geo_region_name\n - Model SnapshotRestoreRequest has a new parameter use_dr_secondary\n - Model SiteAuthSettings has a new parameter\n client_secret_certificate_thumbprint\n - Model SiteConfig has a new parameter\n scm_ip_security_restrictions_use_main\n - Model SiteConfig has a new parameter scm_ip_security_restrictions\n - Model CorsSettings has a new parameter support_credentials\n - Model SiteConfigResource has a new parameter\n scm_ip_security_restrictions_use_main\n - Model SiteConfigResource has a new parameter\n scm_ip_security_restrictions\n - Model StackMajorVersion has a new parameter application_insights\n - Model AppServicePlanPatchResource has a new parameter\n maximum_elastic_worker_count\n - Model AppServicePlan has a new parameter\n maximum_elastic_worker_count\n - Model SitePatchResource has a new parameter geo_distributions\n - Model SitePatchResource has a new parameter\n in_progress_operation_id\n - Model SitePatchResource has a new parameter\n client_cert_exclusion_paths\n - Model SitePatchResource has a new parameter redundancy_mode\n - Model Site has a new parameter geo_distributions\n - Model Site has a new parameter in_progress_operation_id\n - Model Site has a new parameter client_cert_exclusion_paths\n - Model Site has a new parameter redundancy_mode\n - Model VnetInfo has a new parameter is_swift\n - Added operation WebAppsOperations.get_network_traces_slot_v2\n - Added operation\n WebAppsOperations.list_snapshots_from_dr_secondary_slot\n - Added operation WebAppsOperations.get_network_traces_slot\n - Added operation\n WebAppsOperations.start_web_site_network_trace_operation_slot\n - Added operation WebAppsOperations.get_network_trace_operation_v2\n - Added operation\n WebAppsOperations.start_web_site_network_trace_operation\n - Added operation WebAppsOperations.get_network_traces_v2\n - Added operation WebAppsOperations.stop_network_trace_slot\n - Added operation\n WebAppsOperations.get_network_trace_operation_slot_v2\n - Added operation\n WebAppsOperations.list_snapshots_from_dr_secondary\n - Added operation\n WebAppsOperations.get_network_trace_operation_slot\n - Added operation WebAppsOperations.stop_network_trace\n - Added operation WebAppsOperations.start_network_trace_slot\n - Added operation WebAppsOperations.get_network_trace_operation\n - Added operation WebAppsOperations.start_network_trace\n - Added operation WebAppsOperations.get_network_traces\n - Added operation\n RecommendationsOperations.list_recommended_rules_for_hosting_environment\n - Added operation\n RecommendationsOperations.list_history_for_hosting_environment\n - Added operation\n RecommendationsOperations.disable_all_for_hosting_environment\n - Added operation\n RecommendationsOperations.disable_recommendation_for_hosting_environment\n - Added operation\n RecommendationsOperations.reset_all_filters_for_hosting_environment\n - Added operation\n RecommendationsOperations.get_rule_details_by_hosting_environment\n\n**Breaking changes**\n\n - Model AppServicePlanPatchResource no longer has parameter\n admin_site_name\n - Model AppServicePlan no longer has parameter admin_site_name\n\n## 0.40.0 (2018-08-28)\n\n**General Breaking changes**\n\nThis version uses a next-generation code generator that *might*\nintroduce breaking changes.\n\n - Model signatures now use only keyword-argument syntax. All\n positional arguments must be re-written as keyword-arguments. To\n keep auto-completion in most cases, models are now generated for\n Python 2 and Python 3. Python 3 uses the \"*\" syntax for\n keyword-only arguments.\n - Enum types now use the \"str\" mixin (class AzureEnum(str, Enum)) to\n improve the behavior when unrecognized enum values are encountered.\n While this is not a breaking change, the distinctions are important,\n and are documented here:\n At a glance:\n - \"is\" should not be used at all.\n - \"format\" will return the string value, where \"%s\" string\n formatting will return `NameOfEnum.stringvalue`. Format syntax\n should be prefered.\n - New Long Running Operation:\n - Return type changes from\n `msrestazure.azure_operation.AzureOperationPoller` to\n `msrest.polling.LROPoller`. External API is the same.\n - Return type is now **always** a `msrest.polling.LROPoller`,\n regardless of the optional parameters used.\n - The behavior has changed when using `raw=True`. Instead of\n returning the initial call result as `ClientRawResponse`,\n without polling, now this returns an LROPoller. After polling,\n the final resource will be returned as a `ClientRawResponse`.\n - New `polling` parameter. The default behavior is\n `Polling=True` which will poll using ARM algorithm. When\n `Polling=False`, the response of the initial call will be\n returned without polling.\n - `polling` parameter accepts instances of subclasses of\n `msrest.polling.PollingMethod`.\n - `add_done_callback` will no longer raise if called after\n polling is finished, but will instead execute the callback right\n away.\n\n**General Features**\n\n - Client class can be used as a context manager to keep the underlying\n HTTP session open for performance\n\n**Features**\n\n - Model ValidateRequest has a new parameter is_xenon\n - Model SiteConfigResource has a new parameter\n reserved_instance_count\n - Model SiteConfigResource has a new parameter windows_fx_version\n - Model SiteConfigResource has a new parameter\n azure_storage_accounts\n - Model SiteConfigResource has a new parameter\n x_managed_service_identity_id\n - Model SiteConfigResource has a new parameter\n managed_service_identity_id\n - Model SiteConfigResource has a new parameter ftps_state\n - Model TriggeredWebJob has a new parameter web_job_type\n - Model CsmPublishingProfileOptions has a new parameter\n include_disaster_recovery_endpoints\n - Model SitePatchResource has a new parameter hyper_v\n - Model SitePatchResource has a new parameter is_xenon\n - Model StampCapacity has a new parameter is_linux\n - Model User has a new parameter scm_uri\n - Model SiteConfigurationSnapshotInfo has a new parameter snapshot_id\n - Model AppServiceEnvironmentPatchResource has a new parameter\n ssl_cert_key_vault_secret_name\n - Model AppServiceEnvironmentPatchResource has a new parameter\n has_linux_workers\n - Model AppServiceEnvironmentPatchResource has a new parameter\n ssl_cert_key_vault_id\n - Model BackupRequest has a new parameter backup_name\n - Model RecommendationRule has a new parameter id\n - Model RecommendationRule has a new parameter recommendation_name\n - Model RecommendationRule has a new parameter kind\n - Model RecommendationRule has a new parameter type\n - Model RecommendationRule has a new parameter category_tags\n - Model Site has a new parameter hyper_v\n - Model Site has a new parameter is_xenon\n - Model TriggeredJobRun has a new parameter web_job_id\n - Model TriggeredJobRun has a new parameter web_job_name\n - Model CertificateOrderAction has a new parameter action_type\n - Model SiteExtensionInfo has a new parameter\n installer_command_line_params\n - Model SiteExtensionInfo has a new parameter extension_id\n - Model SiteExtensionInfo has a new parameter extension_type\n - Model SiteAuthSettings has a new parameter validate_issuer\n - Model TriggeredJobHistory has a new parameter runs\n - Model ProcessInfo has a new parameter minidump\n - Model ProcessInfo has a new parameter total_cpu_time\n - Model ProcessInfo has a new parameter non_paged_system_memory\n - Model ProcessInfo has a new parameter working_set\n - Model ProcessInfo has a new parameter paged_memory\n - Model ProcessInfo has a new parameter private_memory\n - Model ProcessInfo has a new parameter user_cpu_time\n - Model ProcessInfo has a new parameter deployment_name\n - Model ProcessInfo has a new parameter peak_paged_memory\n - Model ProcessInfo has a new parameter peak_working_set\n - Model ProcessInfo has a new parameter peak_virtual_memory\n - Model ProcessInfo has a new parameter is_webjob\n - Model ProcessInfo has a new parameter privileged_cpu_time\n - Model ProcessInfo has a new parameter identifier\n - Model ProcessInfo has a new parameter paged_system_memory\n - Model ProcessInfo has a new parameter virtual_memory\n - Model ServiceSpecification has a new parameter log_specifications\n - Model ProcessThreadInfo has a new parameter identifier\n - Model ManagedServiceIdentity has a new parameter identity_ids\n - Model AppServicePlan has a new parameter\n free_offer_expiration_time\n - Model AppServicePlan has a new parameter hyper_v\n - Model AppServicePlan has a new parameter is_xenon\n - Model SiteConfig has a new parameter reserved_instance_count\n - Model SiteConfig has a new parameter windows_fx_version\n - Model SiteConfig has a new parameter azure_storage_accounts\n - Model SiteConfig has a new parameter\n x_managed_service_identity_id\n - Model SiteConfig has a new parameter managed_service_identity_id\n - Model SiteConfig has a new parameter ftps_state\n - Model WebJob has a new parameter web_job_type\n - Model Recommendation has a new parameter name\n - Model Recommendation has a new parameter id\n - Model Recommendation has a new parameter kind\n - Model Recommendation has a new parameter enabled\n - Model Recommendation has a new parameter type\n - Model Recommendation has a new parameter states\n - Model Recommendation has a new parameter category_tags\n - Model SlotConfigNamesResource has a new parameter\n azure_storage_config_names\n - Model SlotDifference has a new parameter level\n - Model AppServiceEnvironment has a new parameter\n ssl_cert_key_vault_secret_name\n - Model AppServiceEnvironment has a new parameter has_linux_workers\n - Model AppServiceEnvironment has a new parameter\n ssl_cert_key_vault_id\n - Model ContinuousWebJob has a new parameter web_job_type\n - Model AppServiceEnvironmentResource has a new parameter\n ssl_cert_key_vault_secret_name\n - Model AppServiceEnvironmentResource has a new parameter\n has_linux_workers\n - Model AppServiceEnvironmentResource has a new parameter\n ssl_cert_key_vault_id\n - Model AppServicePlanPatchResource has a new parameter\n free_offer_expiration_time\n - Model AppServicePlanPatchResource has a new parameter hyper_v\n - Model AppServicePlanPatchResource has a new parameter is_xenon\n - Model DeletedSite has a new parameter deleted_site_name\n - Model DeletedSite has a new parameter deleted_site_kind\n - Model DeletedSite has a new parameter kind\n - Model DeletedSite has a new parameter type\n - Model DeletedSite has a new parameter deleted_site_id\n - Added operation WebAppsOperations.put_private_access_vnet\n - Added operation\n WebAppsOperations.create_or_update_swift_virtual_network_connection\n - Added operation WebAppsOperations.update_azure_storage_accounts\n - Added operation WebAppsOperations.update_premier_add_on_slot\n - Added operation WebAppsOperations.get_container_logs_zip_slot\n - Added operation WebAppsOperations.discover_backup_slot\n - Added operation\n WebAppsOperations.update_swift_virtual_network_connection_slot\n - Added operation WebAppsOperations.get_private_access\n - Added operation WebAppsOperations.discover_backup\n - Added operation\n WebAppsOperations.create_or_update_swift_virtual_network_connection_slot\n - Added operation WebAppsOperations.delete_swift_virtual_network\n - Added operation WebAppsOperations.put_private_access_vnet_slot\n - Added operation WebAppsOperations.restore_from_deleted_app\n - Added operation WebAppsOperations.restore_from_backup_blob\n - Added operation\n WebAppsOperations.delete_swift_virtual_network_slot\n - Added operation WebAppsOperations.list_azure_storage_accounts\n - Added operation\n WebAppsOperations.list_azure_storage_accounts_slot\n - Added operation WebAppsOperations.restore_from_backup_blob_slot\n - Added operation\n WebAppsOperations.get_swift_virtual_network_connection\n - Added operation\n WebAppsOperations.get_swift_virtual_network_connection_slot\n - Added operation WebAppsOperations.get_container_logs_zip\n - Added operation WebAppsOperations.restore_snapshot\n - Added operation\n WebAppsOperations.update_swift_virtual_network_connection\n - Added operation WebAppsOperations.restore_snapshot_slot\n - Added operation WebAppsOperations.restore_from_deleted_app_slot\n - Added operation\n WebAppsOperations.update_azure_storage_accounts_slot\n - Added operation WebAppsOperations.get_private_access_slot\n - Added operation WebAppsOperations.update_premier_add_on\n - Added operation AppServiceEnvironmentsOperations.change_vnet\n - Added operation\n DiagnosticsOperations.list_site_detector_responses_slot\n - Added operation\n DiagnosticsOperations.get_site_detector_response_slot\n - Added operation DiagnosticsOperations.get_site_detector_response\n - Added operation\n DiagnosticsOperations.get_hosting_environment_detector_response\n - Added operation\n DiagnosticsOperations.list_site_detector_responses\n - Added operation\n DiagnosticsOperations.list_hosting_environment_detector_responses\n - Added operation\n RecommendationsOperations.disable_recommendation_for_subscription\n - Added operation\n RecommendationsOperations.disable_recommendation_for_site\n - Added operation group ResourceHealthMetadataOperations\n\n**Breaking changes**\n\n - Operation RecommendationsOperations.get_rule_details_by_web_app\n has a new signature\n - Operation\n WebAppsOperations.list_publishing_profile_xml_with_secrets has\n a new signature\n - Operation\n WebAppsOperations.list_publishing_profile_xml_with_secrets_slot\n has a new signature\n - Operation WebAppsOperations.delete_slot has a new signature\n - Operation WebAppsOperations.delete has a new signature\n - Operation RecommendationsOperations.list_history_for_web_app has\n a new signature\n - Operation WebAppsOperations.update_slot has a new signature\n - Operation WebAppsOperations.create_or_update_slot has a new\n signature\n - Operation WebAppsOperations.create_or_update has a new signature\n - Operation WebAppsOperations.update has a new signature\n - Model TriggeredWebJob no longer has parameter\n triggered_web_job_name\n - Model TriggeredWebJob no longer has parameter job_type\n - Model SitePatchResource no longer has parameter snapshot_info\n - Model User no longer has parameter user_name\n - Model SiteConfigurationSnapshotInfo no longer has parameter\n site_configuration_snapshot_info_id\n - Model BackupRequest no longer has parameter backup_request_name\n - Model BackupRequest no longer has parameter backup_request_type\n - Model ResourceMetricDefinition no longer has parameter\n resource_metric_definition_id\n - Model ResourceMetricDefinition no longer has parameter\n resource_metric_definition_name\n - Model RecommendationRule no longer has parameter tags\n - Model SourceControl no longer has parameter source_control_name\n - Model Site no longer has parameter snapshot_info\n - Model VnetRoute no longer has parameter vnet_route_name\n - Model Certificate no longer has parameter geo_region\n - Model TriggeredJobRun no longer has parameter\n triggered_job_run_id\n - Model TriggeredJobRun no longer has parameter\n triggered_job_run_name\n - Model CertificateOrderAction no longer has parameter\n certificate_order_action_type\n - Model SiteExtensionInfo no longer has parameter\n site_extension_info_id\n - Model SiteExtensionInfo no longer has parameter installation_args\n - Model SiteExtensionInfo no longer has parameter\n site_extension_info_type\n - Model PremierAddOnOffer no longer has parameter\n premier_add_on_offer_name\n - Model TriggeredJobHistory no longer has parameter\n triggered_job_runs\n - Model ProcessInfo no longer has parameter total_processor_time\n - Model ProcessInfo no longer has parameter user_processor_time\n - Model ProcessInfo no longer has parameter\n peak_paged_memory_size64\n - Model ProcessInfo no longer has parameter\n privileged_processor_time\n - Model ProcessInfo no longer has parameter\n paged_system_memory_size64\n - Model ProcessInfo no longer has parameter process_info_name\n - Model ProcessInfo no longer has parameter peak_working_set64\n - Model ProcessInfo no longer has parameter virtual_memory_size64\n - Model ProcessInfo no longer has parameter mini_dump\n - Model ProcessInfo no longer has parameter is_web_job\n - Model ProcessInfo no longer has parameter private_memory_size64\n - Model ProcessInfo no longer has parameter\n nonpaged_system_memory_size64\n - Model ProcessInfo no longer has parameter working_set64\n - Model ProcessInfo no longer has parameter process_info_id\n - Model ProcessInfo no longer has parameter paged_memory_size64\n - Model ProcessInfo no longer has parameter\n peak_virtual_memory_size64\n - Model GeoRegion no longer has parameter geo_region_name\n - Model FunctionEnvelope no longer has parameter\n function_envelope_name\n - Model ProcessThreadInfo no longer has parameter\n process_thread_info_id\n - Model CloningInfo no longer has parameter ignore_quotas\n - Model AppServicePlan no longer has parameter\n app_service_plan_name\n - Model CertificatePatchResource no longer has parameter geo_region\n - Model WebJob no longer has parameter job_type\n - Model WebJob no longer has parameter web_job_name\n - Model Usage no longer has parameter usage_name\n - Model Deployment no longer has parameter deployment_id\n - Model Recommendation no longer has parameter tags\n - Model PremierAddOn no longer has parameter premier_add_on_tags\n - Model PremierAddOn no longer has parameter\n premier_add_on_location\n - Model PremierAddOn no longer has parameter premier_add_on_name\n - Model SlotDifference no longer has parameter slot_difference_type\n - Model ContinuousWebJob no longer has parameter\n continuous_web_job_name\n - Model ContinuousWebJob no longer has parameter job_type\n - Model TopLevelDomain no longer has parameter domain_name\n - Model AppServicePlanPatchResource no longer has parameter\n app_service_plan_patch_resource_name\n - Model MetricDefinition no longer has parameter\n metric_definition_name\n - Model PerfMonSample no longer has parameter core_count\n - Removed operation WebAppsOperations.recover\n - Removed operation WebAppsOperations.recover_slot\n - Removed operation\n WebAppsOperations.get_web_site_container_logs_zip\n - Removed operation\n WebAppsOperations.get_web_site_container_logs_zip_slot\n - Removed operation WebAppsOperations.discover_restore\n - Removed operation WebAppsOperations.discover_restore_slot\n - Model IpSecurityRestriction has a new signature\n\n## 0.35.0 (2018-02-20)\n\n**Breaking changes**\n\n - Many models signature changed to expose correctly required\n parameters. Example (non exhaustive) list:\n - AppServiceCertificateOrderPatchResource now requires\n product_type\n - AppServicePlanPatchResource now requires\n app_service_plan_patch_resource_name\n - CertificatePatchResource now requires password\n - DomainPatchResource now requires contact_admin,\n contact_billing, contact_registrant, contact_tech, consent\n - MigrateMySqlRequest now requires connection_string,\n migration_type\n - PushSettings now requires is_push_enabled\n - get_available_stacks now returns a pageable object\n\n**Features**\n\n - Add certificate_registration_provider operations group\n - Add Diagnostics operations group\n - Add domain registration provider operations groups\n - All operations group have now a \"models\" attribute\n\n## 0.34.1 (2017-10-24)\n\n - MSI fixes\n\n## 0.34.0 (2017-10-16)\n\n - Add MSI support\n\n## 0.33.0 (2017-10-04)\n\n**Features**\n\n - Add providers.list_operations\n - Add verify_hosting_environment_vnet\n - Add web_apps.list_sync_function_triggers\n - Add web_apps.list_processes\n - Add web_apps.get_instance_process_module\n - Add web_apps.delete_process\n - Add web_apps.get_process_dump\n - Add web_apps continous web job operations\n - Add web_apps continous web job slots operations\n - Add web_apps public certificate operations\n - Add web_apps site_extension operations\n - Add web_apps functions operations\n - Add web_apps.list_function_secrets\n - Add web_apps.list_deployment_log\n - Add web_apps.list_deployment_log_slot\n - Add web_apps ms_deploy_status operations\n - Add web_apps ms_deploy_status_slot operations\n - Add web_apps ms_deploy_log_slot operations\n - Add web_apps instance_process_modules operations\n - Add web_apps instance_process_threads operations\n - Add web_apps instance_process_slot operations\n - Add web_apps instance_process_modules_slot operations\n - Add web_apps instance_process_threads_slot operations\n - Add web_apps.list_sync_function_triggers_slot\n - Add web_apps processes_slot operations\n - Add web_apps site_extensions_slot operations\n - Add web_apps triggered_web_jobs_slot operations\n - Add web_apps web_jobs_slot operations\n - Add web_apps triggered_web_jobs operations\n - Add web_apps web_jobs operations\n - Add web_apps.is_cloneable\n\n**Breaking changes**\n\n - Remove 'name' and 'type' from several models (was ignored by server\n as read-only parameters)\n - Remove completely 'location' parameter from several models (None was\n the only acceptable value)\n - Remove a lot of incorrect parameter into DeletedSite\n - Remove deleted_web_apps.list_by_resource_group\n - Change web_apps.update_application_settings method signature\n - Change web_apps.update_connection_strings method signature\n - Change web_apps.update_metadata method signature\n - web_apps.recover now recover from a delete app to a previous\n snapshot\n - web_apps.recover_slot now recover from a delete app to a previous\n snapshot\n\n## 0.32.0 (2017-04-26)\n\n - Support list web runtime stacks\n - Expose non resource based model type for SiteConfig,\n SiteAuthSettings, etc, to be used as property\n - Support list linux web available regions\n\n## 0.31.1 (2017-04-20)\n\nThis wheel package is now built with the azure wheel extension\n\n## 0.31.0 (2017-02-13)\n\n - Major refactoring and breaking changes\n - New API Version\n\n## 0.30.0 (2016-10-17)\n\n - Initial release\n", + "description_content_type": "text/markdown", + "keywords": [ + "azure", + "azure sdk" + ], + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "isodate <1.0.0,>=0.6.1", + "azure-common ~=1.1", + "azure-mgmt-core <2.0.0,>=1.3.2", + "typing-extensions >=4.3.0 ; python_version < \"3.8.0\"" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/77/f5/1976e2e9ee3b0d7c6c3da2ff42be3d495cd7b60e5453d9bd3da59d02ea76/azure_monitor_query-1.2.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=0d06f20316910b6e95f733a1e5007e1e4853792e1f6c8d8bf247c1ac11933176", + "hashes": { + "sha256": "0d06f20316910b6e95f733a1e5007e1e4853792e1f6c8d8bf247c1ac11933176" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-monitor-query", + "version": "1.2.0", + "summary": "Microsoft Azure Monitor Query Client Library for Python", + "description": "# Azure Monitor Query client library for Python\n\nThe Azure Monitor Query client library is used to execute read-only queries against [Azure Monitor][azure_monitor_overview]'s two data platforms:\n\n- [Logs](https://learn.microsoft.com/azure/azure-monitor/logs/data-platform-logs) - Collects and organizes log and performance data from monitored resources. Data from different sources such as platform logs from Azure services, log and performance data from virtual machines agents, and usage and performance data from apps can be consolidated into a single [Azure Log Analytics workspace](https://learn.microsoft.com/azure/azure-monitor/logs/data-platform-logs#log-analytics-and-workspaces). The various data types can be analyzed together using the [Kusto Query Language][kusto_query_language].\n- [Metrics](https://learn.microsoft.com/azure/azure-monitor/essentials/data-platform-metrics) - Collects numeric data from monitored resources into a time series database. Metrics are numerical values that are collected at regular intervals and describe some aspect of a system at a particular time. Metrics are lightweight and capable of supporting near real-time scenarios, making them useful for alerting and fast detection of issues.\n\n**Resources:**\n\n- [Source code][source]\n- [Package (PyPI)][package]\n- [Package (Conda)](https://anaconda.org/microsoft/azure-monitor-query/)\n- [API reference documentation][python-query-ref-docs]\n- [Service documentation][azure_monitor_overview]\n- [Samples][samples]\n- [Change log][changelog]\n\n## Getting started\n\n### Prerequisites\n\n- Python 3.7 or later\n- An [Azure subscription][azure_subscription]\n- A [TokenCredential](https://learn.microsoft.com/python/api/azure-core/azure.core.credentials.tokencredential?view=azure-python) implementation, such as an [Azure Identity library credential type](https://learn.microsoft.com/python/api/overview/azure/identity-readme?view=azure-python#credential-classes).\n- To query Logs, you need an [Azure Log Analytics workspace][azure_monitor_create_using_portal].\n- To query Metrics, you need an Azure resource of any kind (Storage Account, Key Vault, Cosmos DB, etc.).\n\n### Install the package\n\nInstall the Azure Monitor Query client library for Python with [pip][pip]:\n\n```bash\npip install azure-monitor-query\n```\n\n### Create the client\n\nAn authenticated client is required to query Logs or Metrics. The library includes both synchronous and asynchronous forms of the clients. To authenticate, create an instance of a token credential. Use that instance when creating a `LogsQueryClient` or `MetricsQueryClient`. The following examples use `DefaultAzureCredential` from the [azure-identity](https://pypi.org/project/azure-identity/) package.\n\n#### Synchronous clients\n\nConsider the following example, which creates synchronous clients for both Logs and Metrics querying:\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.monitor.query import LogsQueryClient, MetricsQueryClient\n\ncredential = DefaultAzureCredential()\nlogs_client = LogsQueryClient(credential)\nmetrics_client = MetricsQueryClient(credential)\n```\n\n#### Asynchronous clients\n\nThe asynchronous forms of the query client APIs are found in the `.aio`-suffixed namespace. For example:\n\n```python\nfrom azure.identity.aio import DefaultAzureCredential\nfrom azure.monitor.query.aio import LogsQueryClient, MetricsQueryClient\n\ncredential = DefaultAzureCredential()\nasync_logs_client = LogsQueryClient(credential)\nasync_metrics_client = MetricsQueryClient(credential)\n```\n\n#### Configure clients for non-public Azure clouds\n\nBy default, `LogsQueryClient` and `MetricsQueryClient` are configured to connect to the public Azure cloud. These can be configured to connect to non-public Azure clouds by passing in the correct `endpoint` argument: For example:\n\n```python\nlogs_client = LogsQueryClient(credential, endpoint=\"https://api.loganalytics.azure.cn/v1\")\nmetrics_client = MetricsQueryClient(credential, endpoint=\"https://management.chinacloudapi.cn\")\n```\n\n**Note**: Currently, `MetricsQueryClient` uses the Azure Resource Manager (ARM) endpoint for querying metrics, so you will need the corresponding management endpoint for your cloud when using this client. This is subject to change in the future.\n\n### Execute the query\n\nFor examples of Logs and Metrics queries, see the [Examples](#examples) section.\n\n## Key concepts\n\n### Logs query rate limits and throttling\n\nThe Log Analytics service applies throttling when the request rate is too high. Limits, such as the maximum number of rows returned, are also applied on the Kusto queries. For more information, see [Query API](https://learn.microsoft.com/azure/azure-monitor/service-limits#la-query-api).\n\nIf you're executing a batch logs query, a throttled request will return a `LogsQueryError` object. That object's `code` value will be `ThrottledError`.\n\n### Metrics data structure\n\nEach set of metric values is a time series with the following characteristics:\n\n- The time the value was collected\n- The resource associated with the value\n- A namespace that acts like a category for the metric\n- A metric name\n- The value itself\n- Some metrics may have multiple dimensions as described in multi-dimensional metrics. Custom metrics can have up to 10 dimensions.\n\n## Examples\n\n- [Logs query](#logs-query)\n - [Specify timespan](#specify-timespan)\n - [Handle logs query response](#handle-logs-query-response)\n- [Batch logs query](#batch-logs-query)\n- [Resource logs query](#resource-logs-query)\n- [Advanced logs query scenarios](#advanced-logs-query-scenarios)\n - [Set logs query timeout](#set-logs-query-timeout)\n - [Query multiple workspaces](#query-multiple-workspaces)\n - [Include statistics](#include-statistics)\n - [Include visualization](#include-visualization)\n- [Metrics query](#metrics-query)\n - [Handle metrics query response](#handle-metrics-query-response)\n - [Example of handling response](#example-of-handling-response)\n\n### Logs query\n\nThis example shows how to query a Log Analytics workspace. To handle the response and view it in a tabular form, the [pandas](https://pypi.org/project/pandas/) library is used. See the [samples][samples] if you choose not to use pandas.\n\n#### Specify timespan\n\nThe `timespan` parameter specifies the time duration for which to query the data. This value can be one of the following:\n\n- a `timedelta`\n- a `timedelta` and a start datetime\n- a start datetime/end datetime\n\nFor example:\n\n```python\nimport os\nimport pandas as pd\nfrom datetime import datetime, timezone\nfrom azure.monitor.query import LogsQueryClient, LogsQueryStatus\nfrom azure.identity import DefaultAzureCredential\nfrom azure.core.exceptions import HttpResponseError\n\ncredential = DefaultAzureCredential()\nclient = LogsQueryClient(credential)\n\nquery = \"\"\"AppRequests | take 5\"\"\"\n\nstart_time=datetime(2021, 7, 2, tzinfo=timezone.utc)\nend_time=datetime(2021, 7, 4, tzinfo=timezone.utc)\n\ntry:\n response = client.query_workspace(\n workspace_id=os.environ['LOG_WORKSPACE_ID'],\n query=query,\n timespan=(start_time, end_time)\n )\n if response.status == LogsQueryStatus.PARTIAL:\n error = response.partial_error\n data = response.partial_data\n print(error)\n elif response.status == LogsQueryStatus.SUCCESS:\n data = response.tables\n for table in data:\n df = pd.DataFrame(data=table.rows, columns=table.columns)\n print(df)\nexcept HttpResponseError as err:\n print(\"something fatal happened\")\n print(err)\n```\n\n#### Handle logs query response\n\nThe `query_workspace` API returns either a `LogsQueryResult` or a `LogsQueryPartialResult` object. The `batch_query` API returns a list that may contain `LogsQueryResult`, `LogsQueryPartialResult`, and `LogsQueryError` objects. Here's a hierarchy of the response:\n\n```\nLogsQueryResult\n|---statistics\n|---visualization\n|---tables (list of `LogsTable` objects)\n |---name\n |---rows\n |---columns\n |---columns_types\n\nLogsQueryPartialResult\n|---statistics\n|---visualization\n|---partial_error (a `LogsQueryError` object)\n |---code\n |---message\n |---details\n |---status\n|---partial_data (list of `LogsTable` objects)\n |---name\n |---rows\n |---columns\n |---columns_types\n```\n\nThe `LogsQueryResult` directly iterates over the table as a convenience. For example, to handle a logs query response with tables and display it using pandas:\n\n```python\nresponse = client.query(...)\nfor table in response:\n df = pd.DataFrame(table.rows, columns=[col.name for col in table.columns])\n```\n\nA full sample can be found [here](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_logs_single_query.py).\n\nIn a similar fashion, to handle a batch logs query response:\n\n```python\nfor result in response:\n if result.status == LogsQueryStatus.SUCCESS:\n for table in result:\n df = pd.DataFrame(table.rows, columns=table.columns)\n print(df)\n```\n\nA full sample can be found [here](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_batch_query.py).\n\n### Batch logs query\n\nThe following example demonstrates sending multiple queries at the same time using the batch query API. The queries can either be represented as a list of `LogsBatchQuery` objects or a dictionary. This example uses the former approach.\n\n```python\nimport os\nfrom datetime import timedelta, datetime, timezone\nimport pandas as pd\nfrom azure.monitor.query import LogsQueryClient, LogsBatchQuery, LogsQueryStatus\nfrom azure.identity import DefaultAzureCredential\n\ncredential = DefaultAzureCredential()\nclient = LogsQueryClient(credential)\nrequests = [\n LogsBatchQuery(\n query=\"AzureActivity | summarize count()\",\n timespan=timedelta(hours=1),\n workspace_id=os.environ['LOG_WORKSPACE_ID']\n ),\n LogsBatchQuery(\n query= \"\"\"bad query\"\"\",\n timespan=timedelta(days=1),\n workspace_id=os.environ['LOG_WORKSPACE_ID']\n ),\n LogsBatchQuery(\n query= \"\"\"let Weight = 92233720368547758;\n range x from 1 to 3 step 1\n | summarize percentilesw(x, Weight * 100, 50)\"\"\",\n workspace_id=os.environ['LOG_WORKSPACE_ID'],\n timespan=(datetime(2021, 6, 2, tzinfo=timezone.utc), datetime(2021, 6, 5, tzinfo=timezone.utc)), # (start, end)\n include_statistics=True\n ),\n]\nresults = client.query_batch(requests)\n\nfor res in results:\n if res.status == LogsQueryStatus.FAILURE:\n # this will be a LogsQueryError\n print(res.message)\n elif res.status == LogsQueryStatus.PARTIAL:\n ## this will be a LogsQueryPartialResult\n print(res.partial_error)\n for table in res.partial_data:\n df = pd.DataFrame(table.rows, columns=table.columns)\n print(df)\n elif res.status == LogsQueryStatus.SUCCESS:\n ## this will be a LogsQueryResult\n table = res.tables[0]\n df = pd.DataFrame(table.rows, columns=table.columns)\n print(df)\n\n```\n\n### Resource logs query\n\nThe following example demonstrates how to query logs directly from an Azure resource without the use of a Log Analytics workspace. Here, the `query_resource` method is used instead of `query_workspace`, and instead of a workspace ID, an Azure resource identifier is passed in (e.g. `/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}`).\n\n```python\nimport os\nimport pandas as pd\nfrom datetime import timedelta\nfrom azure.monitor.query import LogsQueryClient, LogsQueryStatus\nfrom azure.core.exceptions import HttpResponseError\nfrom azure.identity import DefaultAzureCredential\n\ncredential = DefaultAzureCredential()\nclient = LogsQueryClient(credential)\n\nquery = \"\"\"AzureActivity | take 5\"\"\"\n\ntry:\n response = client.query_resource(os.environ['LOGS_RESOURCE_ID'], query, timespan=timedelta(days=1))\n if response.status == LogsQueryStatus.PARTIAL:\n error = response.partial_error\n data = response.partial_data\n print(error)\n elif response.status == LogsQueryStatus.SUCCESS:\n data = response.tables\n for table in data:\n df = pd.DataFrame(data=table.rows, columns=table.columns)\n print(df)\nexcept HttpResponseError as err:\n print(\"something fatal happened\")\n print(err)\n```\n\n### Advanced logs query scenarios\n\n#### Set logs query timeout\n\nThe following example shows setting a server timeout in seconds. A gateway timeout is raised if the query takes more time than the mentioned timeout. The default is 180 seconds and can be set up to 10 minutes (600 seconds).\n\n```python\nimport os\nfrom azure.monitor.query import LogsQueryClient\nfrom azure.identity import DefaultAzureCredential\n\ncredential = DefaultAzureCredential()\nclient = LogsQueryClient(credential)\n\nresponse = client.query_workspace(\n os.environ['LOG_WORKSPACE_ID'],\n \"range x from 1 to 10000000000 step 1 | count\",\n timespan=timedelta(days=1),\n server_timeout=600 # sets the timeout to 10 minutes\n )\n```\n\n#### Query multiple workspaces\n\nThe same logs query can be executed across multiple Log Analytics workspaces. In addition to the Kusto query, the following parameters are required:\n\n- `workspace_id` - The first (primary) workspace ID.\n- `additional_workspaces` - A list of workspaces, excluding the workspace provided in the `workspace_id` parameter. The parameter's list items may consist of the following identifier formats:\n - Qualified workspace names\n - Workspace IDs\n - Azure resource IDs\n\nFor example, the following query executes in three workspaces:\n\n```python\nclient.query_workspace(\n ,\n query,\n timespan=timedelta(days=1),\n additional_workspaces=['', '']\n )\n```\n\nA full sample can be found [here](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_log_query_multiple_workspaces.py).\n\n#### Include statistics\n\nTo get logs query execution statistics, such as CPU and memory consumption:\n\n1. Set the `include_statistics` parameter to `True`.\n2. Access the `statistics` field inside the `LogsQueryResult` object.\n\nThe following example prints the query execution time:\n\n```python\nquery = \"AzureActivity | top 10 by TimeGenerated\"\nresult = client.query_workspace(\n ,\n query,\n timespan=timedelta(days=1),\n include_statistics=True\n )\n\nexecution_time = result.statistics.get(\"query\", {}).get(\"executionTime\")\nprint(f\"Query execution time: {execution_time}\")\n```\n\nThe `statistics` field is a `dict` that corresponds to the raw JSON response, and its structure can vary by query. The statistics are found within the `query` property. For example:\n\n```python\n{\n \"query\": {\n \"executionTime\": 0.0156478,\n \"resourceUsage\": {...},\n \"inputDatasetStatistics\": {...},\n \"datasetStatistics\": [{...}]\n }\n}\n```\n#### Include visualization\n\nTo get visualization data for logs queries using the [render operator](https://docs.microsoft.com/azure/data-explorer/kusto/query/renderoperator?pivots=azuremonitor):\n\n1. Set the `include_visualization` property to `True`.\n1. Access the `visualization` field inside the `LogsQueryResult` object.\n\nFor example:\n\n```python\nquery = (\n \"StormEvents\"\n \"| summarize event_count = count() by State\"\n \"| where event_count > 10\"\n \"| project State, event_count\"\n \"| render columnchart\"\n)\nresult = client.query_workspace(\n ,\n query,\n timespan=timedelta(days=1),\n include_visualization=True\n )\n\nprint(f\"Visualization result: {result.visualization}\")\n```\n\nThe `visualization` field is a `dict` that corresponds to the raw JSON response, and its structure can vary by query. For example:\n\n```python\n{\n \"visualization\": \"columnchart\",\n \"title\": \"the chart title\",\n \"accumulate\": False,\n \"isQuerySorted\": False,\n \"kind\": None,\n \"legend\": None,\n \"series\": None,\n \"yMin\": \"NaN\",\n \"yMax\": \"NaN\",\n \"xAxis\": None,\n \"xColumn\": None,\n \"xTitle\": \"x axis title\",\n \"yAxis\": None,\n \"yColumns\": None,\n \"ySplit\": None,\n \"yTitle\": None,\n \"anomalyColumns\": None\n}\n```\n\n### Metrics query\n\nThe following example gets metrics for an Event Grid subscription. The resource URI is that of an Event Grid topic.\n\nThe resource URI must be that of the resource for which metrics are being queried. It's normally of the format `/subscriptions//resourceGroups//providers//topics/`.\n\nTo find the resource URI:\n\n1. Navigate to your resource's page in the Azure portal.\n2. From the **Overview** blade, select the **JSON View** link.\n3. In the resulting JSON, copy the value of the `id` property.\n\n**NOTE**: The metrics are returned in the order of the metric_names sent.\n\n```python\nimport os\nfrom datetime import timedelta, datetime\nfrom azure.monitor.query import MetricsQueryClient\nfrom azure.identity import DefaultAzureCredential\n\ncredential = DefaultAzureCredential()\nclient = MetricsQueryClient(credential)\nstart_time = datetime(2021, 5, 25)\nduration = timedelta(days=1)\nmetrics_uri = os.environ['METRICS_RESOURCE_URI']\nresponse = client.query_resource(\n metrics_uri,\n metric_names=[\"PublishSuccessCount\"],\n timespan=(start_time, duration)\n )\n\nfor metric in response.metrics:\n print(metric.name)\n for time_series_element in metric.timeseries:\n for metric_value in time_series_element.data:\n print(metric_value.time_stamp)\n```\n\n#### Handle metrics query response\n\nThe metrics query API returns a `MetricsQueryResult` object. The `MetricsQueryResult` object contains properties such as a list of `Metric`-typed objects, `granularity`, `namespace`, and `timespan`. The `Metric` objects list can be accessed using the `metrics` param. Each `Metric` object in this list contains a list of `TimeSeriesElement` objects. Each `TimeSeriesElement` object contains `data` and `metadata_values` properties. In visual form, the object hierarchy of the response resembles the following structure:\n\n```\nMetricsQueryResult\n|---granularity\n|---timespan\n|---cost\n|---namespace\n|---resource_region\n|---metrics (list of `Metric` objects)\n |---id\n |---type\n |---name\n |---unit\n |---timeseries (list of `TimeSeriesElement` objects)\n |---metadata_values\n |---data (list of data points represented by `MetricValue` objects)\n```\n\n#### Example of handling response\n\n```python\nimport os\nfrom azure.monitor.query import MetricsQueryClient, MetricAggregationType\nfrom azure.identity import DefaultAzureCredential\n\ncredential = DefaultAzureCredential()\nclient = MetricsQueryClient(credential)\n\nmetrics_uri = os.environ['METRICS_RESOURCE_URI']\nresponse = client.query_resource(\n metrics_uri,\n metric_names=[\"MatchedEventCount\"],\n aggregations=[MetricAggregationType.COUNT]\n )\n\nfor metric in response.metrics:\n print(metric.name)\n for time_series_element in metric.timeseries:\n for metric_value in time_series_element.data:\n if metric_value.count != 0:\n print(\n \"There are {} matched events at {}\".format(\n metric_value.count,\n metric_value.time_stamp\n )\n )\n```\n\n## Troubleshooting\n\nSee our [troubleshooting guide][troubleshooting_guide] for details on how to diagnose various failure scenarios.\n\n## Next steps\n\nTo learn more about Azure Monitor, see the [Azure Monitor service documentation][azure_monitor_overview].\n\n### Samples\n\nThe following code samples show common scenarios with the Azure Monitor Query client library.\n\n#### Logs query samples\n\n- [Send a single query with LogsQueryClient and handle the response as a table](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_logs_single_query.py) ([async sample](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/async_samples/sample_log_query_async.py))\n- [Send a single query with LogsQueryClient and handle the response in key-value form](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_logs_query_key_value_form.py)\n- [Send a single query with LogsQueryClient without pandas](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_single_log_query_without_pandas.py)\n- [Send a single query with LogsQueryClient across multiple workspaces](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_log_query_multiple_workspaces.py)\n- [Send multiple queries with LogsQueryClient](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_batch_query.py)\n- [Send a single query with LogsQueryClient using server timeout](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_server_timeout.py)\n\n#### Metrics query samples\n\n- [Send a query using MetricsQueryClient](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_metrics_query.py) ([async sample](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/async_samples/sample_metrics_query_async.py))\n- [Get a list of metric namespaces](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_metric_namespaces.py) ([async sample](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/async_samples/sample_metric_namespaces_async.py))\n- [Get a list of metric definitions](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/sample_metric_definitions.py) ([async sample](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/samples/async_samples/sample_metric_definitions_async.py))\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla].\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments.\n\n\n\n[azure_core_exceptions]: https://aka.ms/azsdk/python/core/docs#module-azure.core.exceptions\n[azure_core_ref_docs]: https://aka.ms/azsdk/python/core/docs\n[azure_monitor_create_using_portal]: https://learn.microsoft.com/azure/azure-monitor/logs/quick-create-workspace\n[azure_monitor_overview]: https://learn.microsoft.com/azure/azure-monitor/\n[azure_subscription]: https://azure.microsoft.com/free/python/\n[changelog]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-query/CHANGELOG.md\n[kusto_query_language]: https://learn.microsoft.com/azure/data-explorer/kusto/query/\n[package]: https://aka.ms/azsdk-python-monitor-query-pypi\n[pip]: https://pypi.org/project/pip/\n[python_logging]: https://docs.python.org/3/library/logging.html\n[python-query-ref-docs]: https://aka.ms/azsdk/python/monitor-query/docs\n[samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-query/samples\n[source]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/\n[troubleshooting_guide]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/monitor/azure-monitor-query/TROUBLESHOOTING.md\n\n[cla]: https://cla.microsoft.com\n[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/\n[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/\n[coc_contact]: mailto:opencode@microsoft.com\n\n\n# Release History\n\n## 1.2.0 (2023-05-09)\n\n### Features Added\n\n- Add the `query_resource` method to `LogsQueryClient` to allow users to query Azure resources directly without the context of a workspace. ([#29365](https://github.com/Azure/azure-sdk-for-python/pull/29365))\n\n### Bugs Fixed\n\n- Fixed an inconsistent keyword argument name in the `LogsTable` constructor, changing `column_types` to `columns_types`. Note that this is a class that is typically only instantiated internally, and not by users. ([#29076](https://github.com/Azure/azure-sdk-for-python/pull/29076))\n\n### Other Changes\n\n- Improved client configuration logic for non-public Azure clouds where credential scope will be determined based on the configured endpoint. ([#29602](https://github.com/Azure/azure-sdk-for-python/pull/29602))\n\n## 1.1.1 (2023-02-13)\n\n### Bugs Fixed\n\n- Fixed a bug where the incorrect key `time_stamp` (should be `timeStamp`) was used in the creation of `MetricValue` objects (thanks @jamespic). ([#28777](https://github.com/Azure/azure-sdk-for-python/pull/28777))\n\n## 1.1.0 (2023-02-07)\n\n### Bugs Fixed\n\n* Error details are now propagated inside the `LogsQueryError` object. ([#25137](https://github.com/Azure/azure-sdk-for-python/issues/25137))\n\n### Other Changes\n\n* Python 3.6 is no longer supported. Please use Python version 3.7 or later. For more details, see [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).\n* Removed `msrest` dependency.\n* Bumped minimum dependency on `azure-core` to `>=1.24.0`.\n* Added requirement for `isodate>=0.6.0` (`isodate` was required by `msrest`).\n* Added requirement for `typing-extensions>=4.0.1`.\n\n## 1.0.3 (2022-07-07)\n\n### Bugs Fixed\n\n- Fixed a bug where `query_resource` in metrics client is throwing an error with unexpected `metric_namespace` argument.\n\n## 1.0.2 (2022-05-06)\n\n- This version and all future versions will require Python 3.6+. Python 2.7 is no longer supported.\n\n### Bugs Fixed\n\n- Fixed a bug where having a None value in datetime throws\n\n## 1.0.1 (2021-11-09)\n\n### Bugs Fixed\n\n- Fixed a bug where Metadata values in timestamp don't show up sometimes.\n\n## 1.0.0 (2021-10-06)\n\n### Features Added\n\n- Added `LogsQueryPartialResult` and `LogsQueryError` to handle errors.\n- Added `status` attribute to `LogsQueryResult`.\n- Added `LogsQueryStatus` Enum to describe the status of a result.\n- Added a new `LogsTableRow` type that represents a single row in a table.\n- Items in `metrics` list in `MetricsQueryResult` can now be accessed by metric names.\n\n### Breaking Changes\n\n- `LogsQueryResult` now iterates over the tables directly as a convenience.\n- `query` API in logs is renamed to `query_workspace`\n- `query` API in metrics is renamed to `query_resource`\n- `query_workspace` API now returns a union of `LogsQueryPartialResult` and `LogsQueryResult`.\n- `query_batch` API now returns a union of `LogsQueryPartialResult`, `LogsQueryError` and `LogsQueryResult`.\n- `metric_namespace` is renamed to `namespace` and is a keyword-only argument in `list_metric_definitions` API.\n- `MetricsResult` is renamed to `MetricsQueryResult`.\n\n## 1.0.0b4 (2021-09-09)\n\n### Features Added\n\n- Added additional `display_description` attribute to the `Metric` type.\n- Added a `MetricClass` enum to provide the class of a metric.\n- Added a `metric_class` attribute to the `MetricDefinition` type.\n- Added a `MetricNamespaceClassification` enum to support the `namespace_classification` attribute on `MetricNamespace` type.\n- Added a `MetricUnit` enum to describe the unit of the metric.\n\n### Breaking Changes\n\n- Rename `batch_query` to `query_batch`.\n- Rename `LogsBatchQueryRequest` to `LogsBatchQuery`.\n- `include_render` is now renamed to `include_visualization` in the query API.\n- `LogsQueryResult` now returns `visualization` instead of `render`.\n- `start_time`, `duration` and `end_time` are now replaced with a single param called `timespan`\n- `resourceregion` is renamed to `resource_region` in the MetricResult type.\n- `top` is renamed to `max_results` in the metric's `query` API.\n- `metric_namespace_name` is renamed to `fully_qualified_namespace`\n- `is_dimension_required` is renamed to `dimension_required`\n- `interval` and `time_grain` are renamed to `granularity`\n- `orderby` is renamed to `order_by`\n- `LogsQueryResult` now returns `datetime` objects for a time values.\n- `LogsBatchQuery` doesn't accept a `request_id` anymore.\n- `MetricsMetadataValues` is removed. A dictionary is used instead.\n- `time_stamp` is renamed to `timestamp` in `MetricValue` type.\n- `AggregationType` is renamed to `MetricAggregationType`.\n- Removed `LogsBatchResultError` type.\n- `LogsQueryResultTable` is named to `LogsTable`\n- `LogsTableColumn` is now removed. Column labels are strings instead.\n- `start_time` in `list_metric_namespaces` API is now a datetime.\n- The order of params in `LogsBatchQuery` is changed. Also, `headers` is no longer accepted.\n- `timespan` is now a required keyword-only argument in logs APIs.\n- batch api now returns a list of `LogsQueryResult` objects.\n\n### Bugs Fixed\n\n- `include_statistics` and `include_visualization` args can now work together.\n\n## 1.0.0b3 (2021-08-09)\n\n### Features Added\n\n- Added enum `AggregationType` which can be used to specify aggregations in the query API.\n- Added `LogsBatchQueryResult` model that is returned for a logs batch query.\n- Added `error` attribute to `LogsQueryResult`.\n\n### Breaking Changes\n\n- `aggregation` param in the query API is renamed to `aggregations`\n- `batch_query` API now returns a list of responses.\n- `LogsBatchResults` model is now removed.\n- `LogsQueryRequest` is renamed to `LogsBatchQueryRequest`\n- `LogsQueryResults` is now renamed to `LogsQueryResult`\n- `LogsBatchQueryResult` now has 4 additional attributes - `tables`, `error`, `statistics` and `render` instead of `body` attribute.\n\n## 1.0.0b2 (2021-07-06)\n\n### Breaking Changes\n\n- `workspaces`, `workspace_ids`, `qualified_names` and `azure_resource_ids` are now merged into a single `additional_workspaces` list in the query API.\n- The `LogQueryRequest` object now takes in a `workspace_id` and `additional_workspaces` instead of `workspace`.\n- `aggregation` param is now a list instead of a string in the `query` method.\n- `duration` must now be provided as a timedelta instead of a string.\n\n\n## 1.0.0b1 (2021-06-10)\n\n **Features**\n - Version (1.0.0b1) is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Monitor Query.\n For more information about this, and preview releases of other Azure SDK libraries, please visit https://azure.github.io/azure-sdk/releases/latest/python.html.\n - Added `~azure.monitor.query.LogsQueryClient` to query log analytics along with `~azure.monitor.query.aio.LogsQueryClient`.\n - Implements the `~azure.monitor.query.MetricsQueryClient` for querying metrics, listing namespaces and metric definitions along with `~azure.monitor.query.aio.MetricsQueryClient`.\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/Azure/azure-sdk-for-python", + "author": "Microsoft Corporation", + "author_email": "azpysdkhelp@microsoft.com", + "license": "MIT License", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "azure-core (<2.0.0,>=1.24.0)", + "isodate (>=0.6.0)", + "typing-extensions (>=4.0.1)" + ], + "requires_python": ">=3.7" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/0b/70/b84f9944a03964a88031ef6ac219b6c91e8ba2f373362329d8770ef36f02/semver-2.13.0-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4", + "hashes": { + "sha256": "ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "semver", + "version": "2.13.0", + "platform": [ + "UNKNOWN" + ], + "summary": "Python helper for Semantic Versioning (http://semver.org/)", + "description": "Quickstart\n==========\n\n.. teaser-begin\n\nA Python module for `semantic versioning`_. Simplifies comparing versions.\n\n|build-status| |python-support| |downloads| |license| |docs| |black|\n\n.. teaser-end\n\n.. warning::\n\n As anything comes to an end, this project will focus on Python 3.x only.\n New features and bugfixes will be integrated into the 3.x.y branch only.\n\n Major version 3 of semver will contain some incompatible changes:\n\n * removes support for Python 2.7 and 3.3\n * removes deprecated functions.\n\n The last version of semver which supports Python 2.7 and 3.4 will be\n 2.10.x. However, keep in mind, version 2.10.x is frozen: no new\n features nor backports will be integrated.\n\n We recommend to upgrade your workflow to Python 3.x to gain support,\n bugfixes, and new features.\n\nThe module follows the ``MAJOR.MINOR.PATCH`` style:\n\n* ``MAJOR`` version when you make incompatible API changes,\n* ``MINOR`` version when you add functionality in a backwards compatible manner, and\n* ``PATCH`` version when you make backwards compatible bug fixes.\n\nAdditional labels for pre-release and build metadata are supported.\n\nTo import this library, use:\n\n.. code-block:: python\n\n >>> import semver\n\nWorking with the library is quite straightforward. To turn a version string into the\ndifferent parts, use the ``semver.VersionInfo.parse`` function:\n\n.. code-block:: python\n\n >>> ver = semver.VersionInfo.parse('1.2.3-pre.2+build.4')\n >>> ver.major\n 1\n >>> ver.minor\n 2\n >>> ver.patch\n 3\n >>> ver.prerelease\n 'pre.2'\n >>> ver.build\n 'build.4'\n\nTo raise parts of a version, there are a couple of functions available for\nyou. The function ``semver.VersionInfo.bump_major`` leaves the original object untouched, but\nreturns a new ``semver.VersionInfo`` instance with the raised major part:\n\n.. code-block:: python\n\n >>> ver = semver.VersionInfo.parse(\"3.4.5\")\n >>> ver.bump_major()\n VersionInfo(major=4, minor=0, patch=0, prerelease=None, build=None)\n\nIt is allowed to concatenate different \"bump functions\":\n\n.. code-block:: python\n\n >>> ver.bump_major().bump_minor()\n VersionInfo(major=4, minor=1, patch=0, prerelease=None, build=None)\n\nTo compare two versions, semver provides the ``semver.compare`` function.\nThe return value indicates the relationship between the first and second\nversion:\n\n.. code-block:: python\n\n >>> semver.compare(\"1.0.0\", \"2.0.0\")\n -1\n >>> semver.compare(\"2.0.0\", \"1.0.0\")\n 1\n >>> semver.compare(\"2.0.0\", \"2.0.0\")\n 0\n\n\nThere are other functions to discover. Read on!\n\n\n.. |latest-version| image:: https://img.shields.io/pypi/v/semver.svg\n :alt: Latest version on PyPI\n :target: https://pypi.org/project/semver\n.. |build-status| image:: https://travis-ci.com/python-semver/python-semver.svg?branch=master\n :alt: Build status\n :target: https://travis-ci.com/python-semver/python-semver\n.. |python-support| image:: https://img.shields.io/pypi/pyversions/semver.svg\n :target: https://pypi.org/project/semver\n :alt: Python versions\n.. |downloads| image:: https://img.shields.io/pypi/dm/semver.svg\n :alt: Monthly downloads from PyPI\n :target: https://pypi.org/project/semver\n.. |license| image:: https://img.shields.io/pypi/l/semver.svg\n :alt: Software license\n :target: https://github.com/python-semver/python-semver/blob/master/LICENSE.txt\n.. |docs| image:: https://readthedocs.org/projects/python-semver/badge/?version=latest\n :target: http://python-semver.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n.. _semantic versioning: http://semver.org/\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/psf/black\n :alt: Black Formatter\n\n\n", + "description_content_type": "text/x-rst", + "home_page": "https://github.com/python-semver/python-semver", + "download_url": "https://github.com/python-semver/python-semver/downloads", + "author": "Kostiantyn Rybnikov", + "author_email": "k-bx@k-bx.com", + "license": "BSD", + "classifier": [ + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "project_url": [ + "Documentation, https://python-semver.rtfd.io", + "Releases, https://github.com/python-semver/python-semver/releases", + "Bug Tracker, https://github.com/python-semver/python-semver/issues" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/7e/23/5940808a891282e7fdd240d689aedc91bc945b4eb653c15e694f45a4babc/azure_cli_telemetry-1.1.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=2fc12608c0cf0ea6e69b392af9cab92f1249340b8caff7e9674cf91b3becb337", + "hashes": { + "sha256": "2fc12608c0cf0ea6e69b392af9cab92f1249340b8caff7e9674cf91b3becb337" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "azure-cli-telemetry", + "version": "1.1.0", + "summary": "Microsoft Azure CLI Telemetry Package", + "description": "Microsoft Azure CLI Telemetry Package\n=====================================\n\nThis is the Microsoft Azure CLI Telemetry package. It is not intended to be installed directly by the end user.\n\nThis package includes:\n1. Support API for Azure CLI to gather telemetry.\n2. Telemetry upload process.\n\n\n\n.. :changelog:\n\nRelease History\n===============\n1.1.0\n+++++\n* Drop telemetry cache strategy. Records will be uploaded immediately\n\n1.0.8\n+++++\n* Keep storing telemetry to CLI AppInsights in local cache but send telemetry to other AppInsights immediately\n\n1.0.7\n+++++\n* Support specifying `telemetry.push_interval_in_hours` to force push telemetry cache file\n\n1.0.6\n+++++\n* Add `__version__` in `__init__.py`\n\n1.0.5\n+++++\n* Support PEP420 namespace package\n\n1.0.4\n+++++\n* MANIFEST file change to fix wheel install\n\n1.0.3\n+++++\n* Indicate Python 3.7 support\n\n1.0.2\n+++++\n* Minor fixes\n\n1.0.1\n+++++\n* Minor fixes\n\n1.0.0\n+++++\n* Initialize the azure-cli-telemetry package.\n", + "home_page": "https://github.com/Azure/azure-cli", + "author": "Microsoft Corporation", + "author_email": "azpycli@microsoft.com", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "applicationinsights (<0.12,>=0.11.1)", + "portalocker (<3,>=1.6)" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/e5/37/5a2b3e526817bf2a5800767114c10fe75f21b044fe61f50e4cb4ffa921b4/msal-1.28.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=563c2d70de77a2ca9786aab84cb4e133a38a6897e6676774edc23d610bfc9e7b", + "hashes": { + "sha256": "563c2d70de77a2ca9786aab84cb4e133a38a6897e6676774edc23d610bfc9e7b" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "msal", + "version": "1.28.1", + "summary": "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect.", + "description": "# Microsoft Authentication Library (MSAL) for Python\n\n| `dev` branch | Reference Docs | # of Downloads per different platforms | # of Downloads per recent MSAL versions | Benchmark Diagram |\n|:------------:|:--------------:|:--------------------------------------:|:---------------------------------------:|:-----------------:|\n [![Build status](https://github.com/AzureAD/microsoft-authentication-library-for-python/actions/workflows/python-package.yml/badge.svg?branch=dev)](https://github.com/AzureAD/microsoft-authentication-library-for-python/actions) | [![Documentation Status](https://readthedocs.org/projects/msal-python/badge/?version=latest)](https://msal-python.readthedocs.io/en/latest/?badge=latest) | [![Downloads](https://static.pepy.tech/badge/msal)](https://pypistats.org/packages/msal) | [![Download monthly](https://static.pepy.tech/badge/msal/month)](https://pepy.tech/project/msal) | [📉](https://azuread.github.io/microsoft-authentication-library-for-python/dev/bench/)\n\nThe Microsoft Authentication Library for Python enables applications to integrate with the [Microsoft identity platform](https://aka.ms/aaddevv2). It allows you to sign in users or apps with Microsoft identities ([Microsoft Entra ID](https://www.microsoft.com/security/business/identity-access/microsoft-entra-id), [External identities](https://www.microsoft.com/security/business/identity-access/microsoft-entra-external-id), [Microsoft Accounts](https://account.microsoft.com) and [Azure AD B2C](https://azure.microsoft.com/services/active-directory-b2c/) accounts) and obtain tokens to call Microsoft APIs such as [Microsoft Graph](https://graph.microsoft.io/) or your own APIs registered with the Microsoft identity platform. It is built using industry standard OAuth2 and OpenID Connect protocols\n\nNot sure whether this is the SDK you are looking for your app? There are other Microsoft Identity SDKs\n[here](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Microsoft-Authentication-Client-Libraries).\n\nQuick links:\n\n| [Getting Started](https://learn.microsoft.com/azure/active-directory/develop/web-app-quickstart?pivots=devlang-python)| [Docs](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki) | [Samples](https://aka.ms/aaddevsamplesv2) | [Support](README.md#community-help-and-support) | [Feedback](https://forms.office.com/r/TMjZkDbzjY) |\n| --- | --- | --- | --- | --- |\n\n## Scenarios supported\n\nClick on the following thumbnail to visit a large map with clickable links to proper samples.\n\n[![Map effect won't work inside github's markdown file, so we have to use a thumbnail here to lure audience to a real static website](https://raw.githubusercontent.com/AzureAD/microsoft-authentication-library-for-python/dev/docs/thumbnail.png)](https://msal-python.readthedocs.io/en/latest/)\n\n## Installation\n\nYou can find MSAL Python on [Pypi](https://pypi.org/project/msal/).\n\n1. If you haven't already, [install and/or upgrade the pip](https://pip.pypa.io/en/stable/installing/)\n of your Python environment to a recent version. We tested with pip 18.1.\n1. As usual, just run `pip install msal`.\n\n## Versions\n\nThis library follows [Semantic Versioning](http://semver.org/).\n\nYou can find the changes for each version under\n[Releases](https://github.com/AzureAD/microsoft-authentication-library-for-python/releases).\n\n## Usage\n\nBefore using MSAL Python (or any MSAL SDKs, for that matter), you will have to\n[register your application with the Microsoft identity platform](https://docs.microsoft.com/azure/active-directory/develop/quickstart-v2-register-an-app).\n\nAcquiring tokens with MSAL Python follows this 3-step pattern.\n(Note: That is the high level conceptual pattern.\nThere will be some variations for different flows. They are demonstrated in\n[runnable samples hosted right in this repo](https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/dev/sample).\n)\n\n\n1. MSAL proposes a clean separation between\n [public client applications, and confidential client applications](https://tools.ietf.org/html/rfc6749#section-2.1).\n So you will first create either a `PublicClientApplication` or a `ConfidentialClientApplication` instance,\n and ideally reuse it during the lifecycle of your app. The following example shows a `PublicClientApplication`:\n\n ```python\n from msal import PublicClientApplication\n app = PublicClientApplication(\n \"your_client_id\",\n authority=\"https://login.microsoftonline.com/Enter_the_Tenant_Name_Here\")\n ```\n\n Later, each time you would want an access token, you start by:\n ```python\n result = None # It is just an initial value. Please follow instructions below.\n ```\n\n2. The API model in MSAL provides you explicit control on how to utilize token cache.\n This cache part is technically optional, but we highly recommend you to harness the power of MSAL cache.\n It will automatically handle the token refresh for you.\n\n ```python\n # We now check the cache to see\n # whether we already have some accounts that the end user already used to sign in before.\n accounts = app.get_accounts()\n if accounts:\n # If so, you could then somehow display these accounts and let end user choose\n print(\"Pick the account you want to use to proceed:\")\n for a in accounts:\n print(a[\"username\"])\n # Assuming the end user chose this one\n chosen = accounts[0]\n # Now let's try to find a token in cache for this account\n result = app.acquire_token_silent([\"your_scope\"], account=chosen)\n ```\n\n3. Either there is no suitable token in the cache, or you chose to skip the previous step,\n now it is time to actually send a request to AAD to obtain a token.\n There are different methods based on your client type and scenario. Here we demonstrate a placeholder flow.\n\n ```python\n if not result:\n # So no suitable token exists in cache. Let's get a new one from AAD.\n result = app.acquire_token_by_one_of_the_actual_method(..., scopes=[\"User.Read\"])\n if \"access_token\" in result:\n print(result[\"access_token\"]) # Yay!\n else:\n print(result.get(\"error\"))\n print(result.get(\"error_description\"))\n print(result.get(\"correlation_id\")) # You may need this when reporting a bug\n ```\n\nRefer the [Wiki](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki) pages for more details on the MSAL Python functionality and usage.\n\n## Migrating from ADAL\n\nIf your application is using ADAL Python, we recommend you to update to use MSAL Python. No new feature work will be done in ADAL Python.\n\nSee the [ADAL to MSAL migration](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Migrate-to-MSAL-Python) guide.\n\n## Roadmap\n\nYou can follow the latest updates and plans for MSAL Python in the [Roadmap](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Roadmap) published on our Wiki.\n\n## Samples and Documentation\n\nMSAL Python supports multiple [application types and authentication scenarios](https://docs.microsoft.com/azure/active-directory/develop/authentication-flows-app-scenarios).\nThe generic documents on\n[Auth Scenarios](https://docs.microsoft.com/azure/active-directory/develop/authentication-scenarios)\nand\n[Auth protocols](https://docs.microsoft.com/azure/active-directory/develop/active-directory-v2-protocols)\nare recommended reading.\n\nWe provide a [full suite of sample applications](https://aka.ms/aaddevsamplesv2) and [documentation](https://aka.ms/aaddevv2) to help you get started with learning the Microsoft identity platform.\n\n## Community Help and Support\n\nWe leverage Stack Overflow to work with the community on supporting Microsoft Entra and its SDKs, including this one!\nWe highly recommend you ask your questions on Stack Overflow (we're all on there!)\nAlso browser existing issues to see if someone has had your question before.\n\nWe recommend you use the \"msal\" tag so we can see it!\nHere is the latest Q&A on Stack Overflow for MSAL:\n[http://stackoverflow.com/questions/tagged/msal](http://stackoverflow.com/questions/tagged/msal)\n\n## Submit Feedback\n\nWe'd like your thoughts on this library. Please complete [this short survey.](https://forms.office.com/r/TMjZkDbzjY)\n\n## Security Reporting\n\nIf you find a security issue with our libraries or services please report it to [secure@microsoft.com](mailto:secure@microsoft.com) with as much detail as possible. Your submission may be eligible for a bounty through the [Microsoft Bounty](http://aka.ms/bugbounty) program. Please do not post security issues to GitHub Issues or any other public site. We will contact you shortly upon receiving the information. We encourage you to get notifications of when security incidents occur by visiting [this page](https://technet.microsoft.com/security/dd252948) and subscribing to Security Advisory Alerts.\n\n## Contributing\n\nAll code is licensed under the MIT license and we triage actively on GitHub. We enthusiastically welcome contributions and feedback. Please read the [contributing guide](./contributing.md) before starting.\n\n## We Value and Adhere to the Microsoft Open Source Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/AzureAD/microsoft-authentication-library-for-python", + "author": "Microsoft Corporation", + "author_email": "nugetaad@microsoft.com", + "license": "MIT", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent" + ], + "requires_dist": [ + "requests <3,>=2.0.0", + "PyJWT[crypto] <3,>=1.0.0", + "cryptography <45,>=2.5", + "pymsalruntime <0.17,>=0.13.2 ; (python_version >= \"3.6\" and platform_system == \"Windows\") and extra == 'broker'" + ], + "requires_python": ">=3.7", + "project_url": [ + "Changelog, https://github.com/AzureAD/microsoft-authentication-library-for-python/releases", + "Documentation, https://msal-python.readthedocs.io/", + "Questions, https://stackoverflow.com/questions/tagged/azure-ad-msal+python", + "Feature/Bug Tracker, https://github.com/AzureAD/microsoft-authentication-library-for-python/issues" + ], + "provides_extra": [ + "broker" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/51/c6/8445bae0bcc1b55251df64e4ba0f526e2f644e7ed2342469729ea2965f26/msal_extensions-1.2.0b1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=217f391bb549de11b19abe8029a8375fe3ca0556aa8cce004b2083f00a569b71", + "hashes": { + "sha256": "217f391bb549de11b19abe8029a8375fe3ca0556aa8cce004b2083f00a569b71" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "msal-extensions", + "version": "1.2.0b1", + "summary": "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism.", + "description": "\n# Microsoft Authentication Extensions for Python\n\nThe Microsoft Authentication Extensions for Python offers secure mechanisms for client applications to perform cross-platform token cache serialization and persistence. It gives additional support to the [Microsoft Authentication Library for Python (MSAL)](https://github.com/AzureAD/microsoft-authentication-library-for-python).\n\nMSAL Python supports an in-memory cache by default and provides the [SerializableTokenCache](https://msal-python.readthedocs.io/en/latest/#msal.SerializableTokenCache) to perform cache serialization. You can read more about this in the MSAL Python [documentation](https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-python-token-cache-serialization). Developers are required to implement their own cache persistance across multiple platforms and Microsoft Authentication Extensions makes this simpler.\n\nThe supported platforms are Windows, Mac and Linux.\n- Windows - [DPAPI](https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-use-data-protection) is used for encryption.\n- MAC - The MAC KeyChain is used.\n- Linux - [LibSecret](https://wiki.gnome.org/Projects/Libsecret) is used for encryption.\n\n> Note: It is recommended to use this library for cache persistance support for Public client applications such as Desktop apps only. In web applications, this may lead to scale and performance issues. Web applications are recommended to persist the cache in session. Take a look at this [webapp sample](https://github.com/Azure-Samples/ms-identity-python-webapp).\n\n## Installation\n\nYou can find Microsoft Authentication Extensions for Python on [Pypi](https://pypi.org/project/msal-extensions/).\n1. If you haven't already, [install and/or upgrade the pip](https://pip.pypa.io/en/stable/installing/)\n of your Python environment to a recent version. We tested with pip 18.1.\n2. Run `pip install msal-extensions`.\n\n## Versions\n\nThis library follows [Semantic Versioning](http://semver.org/).\n\nYou can find the changes for each version under\n[Releases](https://github.com/AzureAD/microsoft-authentication-extensions-for-python/releases).\n\n## Usage\n\n### Creating an encrypted token cache file to be used by MSAL\n\nThe Microsoft Authentication Extensions library provides the `PersistedTokenCache` which accepts a platform-dependent persistence instance. This token cache can then be used to instantiate the `PublicClientApplication` in MSAL Python.\n\nThe token cache includes a file lock, and auto-reload behavior under the hood.\n\n\n\nHere is an example of this pattern for multiple platforms (taken from the complete [sample here](https://github.com/AzureAD/microsoft-authentication-extensions-for-python/blob/dev/sample/token_cache_sample.py)):\n\n```python\ndef build_persistence(location, fallback_to_plaintext=False):\n \"\"\"Build a suitable persistence instance based your current OS\"\"\"\n try:\n return build_encrypted_persistence(location)\n except:\n if not fallback_to_plaintext:\n raise\n logging.warning(\"Encryption unavailable. Opting in to plain text.\")\n return FilePersistence(location)\n\npersistence = build_persistence(\"token_cache.bin\")\nprint(\"Type of persistence: {}\".format(persistence.__class__.__name__))\nprint(\"Is this persistence encrypted?\", persistence.is_encrypted)\n\ncache = PersistedTokenCache(persistence)\n```\nNow you can use it in an MSAL application like this:\n```python\napp = msal.PublicClientApplication(\"my_client_id\", token_cache=cache)\n```\n\n### Creating an encrypted persistence file to store your own data\n\nHere is an example of this pattern for multiple platforms (taken from the complete [sample here](https://github.com/AzureAD/microsoft-authentication-extensions-for-python/blob/dev/sample/persistence_sample.py)):\n\n```python\ndef build_persistence(location, fallback_to_plaintext=False):\n \"\"\"Build a suitable persistence instance based your current OS\"\"\"\n try:\n return build_encrypted_persistence(location)\n except: # pylint: disable=bare-except\n if not fallback_to_plaintext:\n raise\n logging.warning(\"Encryption unavailable. Opting in to plain text.\")\n return FilePersistence(location)\n\npersistence = build_persistence(\"storage.bin\", fallback_to_plaintext=False)\nprint(\"Type of persistence: {}\".format(persistence.__class__.__name__))\nprint(\"Is this persistence encrypted?\", persistence.is_encrypted)\n\ndata = { # It can be anything, here we demonstrate an arbitrary json object\n \"foo\": \"hello world\",\n \"bar\": \"\",\n \"service_principle_1\": \"blah blah...\",\n }\n\npersistence.save(json.dumps(data))\nassert json.loads(persistence.load()) == data\n```\n\n## Python version support policy\n\nPython versions which are 6 months older than their\n[end-of-life cycle defined by Python Software Foundation (PSF)](https://devguide.python.org/versions/#versions)\nwill not receive new feature updates from this library.\n\n\n## Community Help and Support\n\nWe leverage Stack Overflow to work with the community on supporting Azure Active Directory and its SDKs, including this one!\nWe highly recommend you ask your questions on Stack Overflow (we're all on there!).\nAlso browse existing issues to see if someone has had your question before.\n\nWe recommend you use the \"msal\" tag so we can see it!\nHere is the latest Q&A on Stack Overflow for MSAL:\n[http://stackoverflow.com/questions/tagged/msal](http://stackoverflow.com/questions/tagged/msal)\n\n\n## Contributing\n\nAll code is licensed under the MIT license and we triage actively on GitHub.\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\n\n## We value and adhere to the Microsoft Open Source Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n", + "description_content_type": "text/markdown", + "license": "MIT License", + "classifier": [ + "License :: OSI Approved :: MIT License", + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12" + ], + "requires_dist": [ + "msal <1.29,>=1.27", + "portalocker <3,>=1.4" + ], + "requires_python": ">=3.7", + "project_url": [ + "Changelog, https://github.com/AzureAD/microsoft-authentication-extensions-for-python/releases" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/f0/5d/a734ff6bd2ed2e865396fc3dffc2cfbc691ea88504fb3a5953000b6b3c63/azureml_core-1.56.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=490fb3289f7ed3d661382c4e45c2d5565963aacc3d2c0c32e255a798654b8532", + "hashes": { + "sha256": "490fb3289f7ed3d661382c4e45c2d5565963aacc3d2c0c32e255a798654b8532" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "azureml-core", + "version": "1.56.0", + "summary": "Azure Machine Learning core packages, modules, and classes", + "description": "\r\nThe azureml-core provides core packages, modules, and classes for Azure Machine Learning and includes the following:\r\n\r\n- Creating/managing workspaces and experiments, and submitting/accessing model runs and run output/logging.\r\n- Creating/managing Machine learning compute targets and resources\r\n- Models, images and web services.\r\n- Modules supporting data representation for Datastore and Dataset in Azure Machine Learning.\r\n- Azure Machine Learning exception classes.\r\n- Module used internally to prepare the Azure ML SDK for remote environments.\r\n\r\n*****************\r\nSetup\r\n*****************\r\nFollow these `instructions `_ to install the Azure ML SDK on your local machine, create an Azure ML workspace, and set up your notebook environment, which is required for the next step.\r\n\r\nOnce you have set up your environment, install the Azure ML core package:\r\n\r\n.. code-block:: python\r\n\r\n pip install azureml-core\r\n\r\n\r\n", + "description_content_type": "text/x-rst", + "home_page": "https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py", + "author": "Microsoft Corp", + "license": "https://aka.ms/azureml-sdk-license", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10" + ], + "requires_dist": [ + "pytz", + "backports.tempfile", + "pathspec <1.0.0", + "requests[socks] <3.0.0,>=2.19.1", + "msal <2.0.0,>=1.15.0", + "msal-extensions <=2.0.0,>=0.3.0", + "knack <0.12.0", + "azure-core <2.0.0", + "pkginfo", + "argcomplete <4", + "humanfriendly <11.0,>=4.7", + "paramiko <4.0.0,>=2.0.8", + "azure-mgmt-resource <=24.0.0,>=15.0.0", + "azure-mgmt-containerregistry <11,>=8.2.0", + "azure-mgmt-storage <=22.0.0,>=16.0.0", + "azure-mgmt-keyvault <11.0.0,>=0.40.0", + "azure-mgmt-authorization <5,>=0.40.0", + "azure-mgmt-network <=26.0.0", + "azure-graphrbac <1.0.0,>=0.40.0", + "azure-common <2.0.0,>=1.1.12", + "msrest <=0.7.1,>=0.5.1", + "msrestazure <=0.6.4,>=0.4.33", + "urllib3 <3.0.0,>1.26.17", + "packaging <=25.0,>=20.0", + "python-dateutil <3.0.0,>=2.7.3", + "ndg-httpsclient <=0.5.1", + "SecretStorage <4.0.0", + "jsonpickle <4.0.0", + "contextlib2 <22.0.0", + "docker <8.0.0", + "PyJWT <3.0.0", + "adal <=1.2.7,>=1.2.0", + "pyopenssl <25.0.0", + "jmespath <2.0.0" + ], + "requires_python": ">=3.8,< 4.0" + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", + "archive_info": { + "hash": "sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", + "hashes": { + "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "requests", + "version": "2.32.3", + "summary": "Python HTTP for Humans.", + "description": "# Requests\n\n**Requests** is a simple, yet elegant, HTTP library.\n\n```python\n>>> import requests\n>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))\n>>> r.status_code\n200\n>>> r.headers['content-type']\n'application/json; charset=utf8'\n>>> r.encoding\n'utf-8'\n>>> r.text\n'{\"authenticated\": true, ...'\n>>> r.json()\n{'authenticated': True, ...}\n```\n\nRequests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your `PUT` & `POST` data — but nowadays, just use the `json` method!\n\nRequests is one of the most downloaded Python packages today, pulling in around `30M downloads / week`— according to GitHub, Requests is currently [depended upon](https://github.com/psf/requests/network/dependents?package_id=UGFja2FnZS01NzA4OTExNg%3D%3D) by `1,000,000+` repositories. You may certainly put your trust in this code.\n\n[![Downloads](https://static.pepy.tech/badge/requests/month)](https://pepy.tech/project/requests)\n[![Supported Versions](https://img.shields.io/pypi/pyversions/requests.svg)](https://pypi.org/project/requests)\n[![Contributors](https://img.shields.io/github/contributors/psf/requests.svg)](https://github.com/psf/requests/graphs/contributors)\n\n## Installing Requests and Supported Versions\n\nRequests is available on PyPI:\n\n```console\n$ python -m pip install requests\n```\n\nRequests officially supports Python 3.8+.\n\n## Supported Features & Best–Practices\n\nRequests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today.\n\n- Keep-Alive & Connection Pooling\n- International Domains and URLs\n- Sessions with Cookie Persistence\n- Browser-style TLS/SSL Verification\n- Basic & Digest Authentication\n- Familiar `dict`–like Cookies\n- Automatic Content Decompression and Decoding\n- Multi-part File Uploads\n- SOCKS Proxy Support\n- Connection Timeouts\n- Streaming Downloads\n- Automatic honoring of `.netrc`\n- Chunked HTTP Requests\n\n## API Reference and User Guide available on [Read the Docs](https://requests.readthedocs.io)\n\n[![Read the Docs](https://raw.githubusercontent.com/psf/requests/main/ext/ss.png)](https://requests.readthedocs.io)\n\n## Cloning the repository\n\nWhen cloning the Requests repository, you may need to add the `-c\nfetch.fsck.badTimezone=ignore` flag to avoid an error about a bad commit (see\n[this issue](https://github.com/psf/requests/issues/2690) for more background):\n\n```shell\ngit clone -c fetch.fsck.badTimezone=ignore https://github.com/psf/requests.git\n```\n\nYou can also apply this setting to your global Git config:\n\n```shell\ngit config --global fetch.fsck.badTimezone ignore\n```\n\n---\n\n[![Kenneth Reitz](https://raw.githubusercontent.com/psf/requests/main/ext/kr.png)](https://kennethreitz.org) [![Python Software Foundation](https://raw.githubusercontent.com/psf/requests/main/ext/psf.png)](https://www.python.org/psf)\n", + "description_content_type": "text/markdown", + "home_page": "https://requests.readthedocs.io", + "author": "Kenneth Reitz", + "author_email": "me@kennethreitz.org", + "license": "Apache-2.0", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Software Development :: Libraries" + ], + "requires_dist": [ + "charset-normalizer <4,>=2", + "idna <4,>=2.5", + "urllib3 <3,>=1.21.1", + "certifi >=2017.4.17", + "PySocks !=1.5.7,>=1.5.6 ; extra == 'socks'", + "chardet <6,>=3.0.2 ; extra == 'use_chardet_on_py3'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Documentation, https://requests.readthedocs.io", + "Source, https://github.com/psf/requests" + ], + "provides_extra": [ + "security", + "socks", + "use_chardet_on_py3" + ] + }, + "requested_extras": [ + "socks" + ] + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/ef/15/88e46eb9387e905704b69849618e699dc2f54407d8953cc4ec4b8b46528d/setuptools-70.3.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc", + "hashes": { + "sha256": "fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": true, + "metadata": { + "metadata_version": "2.1", + "name": "setuptools", + "version": "70.3.0", + "summary": "Easily download, build, install, upgrade, and uninstall Python packages", + "description": ".. |pypi-version| image:: https://img.shields.io/pypi/v/setuptools.svg\n :target: https://pypi.org/project/setuptools\n\n.. |py-version| image:: https://img.shields.io/pypi/pyversions/setuptools.svg\n\n.. |test-badge| image:: https://github.com/pypa/setuptools/actions/workflows/main.yml/badge.svg\n :target: https://github.com/pypa/setuptools/actions?query=workflow%3A%22tests%22\n :alt: tests\n\n.. |ruff-badge| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. |docs-badge| image:: https://img.shields.io/readthedocs/setuptools/latest.svg\n :target: https://setuptools.pypa.io\n\n.. |skeleton-badge| image:: https://img.shields.io/badge/skeleton-2024-informational\n :target: https://blog.jaraco.com/skeleton\n\n.. |codecov-badge| image:: https://img.shields.io/codecov/c/github/pypa/setuptools/master.svg?logo=codecov&logoColor=white\n :target: https://codecov.io/gh/pypa/setuptools\n\n.. |tidelift-badge| image:: https://tidelift.com/badges/github/pypa/setuptools?style=flat\n :target: https://tidelift.com/subscription/pkg/pypi-setuptools?utm_source=pypi-setuptools&utm_medium=readme\n\n.. |discord-badge| image:: https://img.shields.io/discord/803025117553754132\n :target: https://discord.com/channels/803025117553754132/815945031150993468\n :alt: Discord\n\n|pypi-version| |py-version| |test-badge| |ruff-badge| |docs-badge| |skeleton-badge| |codecov-badge| |discord-badge|\n\nSee the `Quickstart `_\nand the `User's Guide `_ for\ninstructions on how to use Setuptools.\n\nQuestions and comments should be directed to `GitHub Discussions\n`_.\nBug reports and especially tested patches may be\nsubmitted directly to the `bug tracker\n`_.\n\n\nCode of Conduct\n===============\n\nEveryone interacting in the setuptools project's codebases, issue trackers,\nchat rooms, and fora is expected to follow the\n`PSF Code of Conduct `_.\n\n\nFor Enterprise\n==============\n\nAvailable as part of the Tidelift Subscription.\n\nSetuptools and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.\n\n`Learn more `_.\n", + "description_content_type": "text/x-rst", + "keywords": [ + "CPAN", + "PyPI", + "distutils", + "eggs", + "package", + "management" + ], + "author_email": "Python Packaging Authority ", + "classifier": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: System :: Archiving :: Packaging", + "Topic :: System :: Systems Administration", + "Topic :: Utilities" + ], + "requires_dist": [ + "sphinx >=3.5 ; extra == 'doc'", + "jaraco.packaging >=9.3 ; extra == 'doc'", + "rst.linker >=1.9 ; extra == 'doc'", + "furo ; extra == 'doc'", + "sphinx-lint ; extra == 'doc'", + "jaraco.tidelift >=1.4 ; extra == 'doc'", + "pygments-github-lexers ==0.0.5 ; extra == 'doc'", + "sphinx-favicon ; extra == 'doc'", + "sphinx-inline-tabs ; extra == 'doc'", + "sphinx-reredirects ; extra == 'doc'", + "sphinxcontrib-towncrier ; extra == 'doc'", + "sphinx-notfound-page <2,>=1 ; extra == 'doc'", + "pyproject-hooks !=1.1 ; extra == 'doc'", + "pytest !=8.1.*,>=6 ; extra == 'test'", + "pytest-checkdocs >=2.4 ; extra == 'test'", + "pytest-cov ; extra == 'test'", + "pytest-mypy ; extra == 'test'", + "pytest-enabler >=2.2 ; extra == 'test'", + "virtualenv >=13.0.0 ; extra == 'test'", + "wheel ; extra == 'test'", + "pip >=19.1 ; extra == 'test'", + "packaging >=23.2 ; extra == 'test'", + "jaraco.envs >=2.2 ; extra == 'test'", + "pytest-xdist >=3 ; extra == 'test'", + "jaraco.path >=3.2.0 ; extra == 'test'", + "build[virtualenv] >=1.0.3 ; extra == 'test'", + "filelock >=3.4.0 ; extra == 'test'", + "ini2toml[lite] >=0.14 ; extra == 'test'", + "tomli-w >=1.0.0 ; extra == 'test'", + "pytest-timeout ; extra == 'test'", + "pytest-home >=0.5 ; extra == 'test'", + "mypy ==1.10.0 ; extra == 'test'", + "tomli ; extra == 'test'", + "importlib-metadata ; extra == 'test'", + "pytest-subprocess ; extra == 'test'", + "pyproject-hooks !=1.1 ; extra == 'test'", + "jaraco.test ; extra == 'test'", + "jaraco.develop >=7.21 ; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == 'test'", + "pytest-ruff >=0.3.2 ; (sys_platform != \"cygwin\") and extra == 'test'", + "pytest-perf ; (sys_platform != \"cygwin\") and extra == 'test'" + ], + "requires_python": ">=3.8", + "project_url": [ + "Source, https://github.com/pypa/setuptools", + "Documentation, https://setuptools.pypa.io/", + "Changelog, https://setuptools.pypa.io/en/stable/history.html" + ], + "provides_extra": [ + "certs", + "doc", + "ssl", + "test" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/49/8d/58008a9a86075827f99aa8bb75d8db515bb9c34654f95e647cda31987db7/adal-1.2.7-py2.py3-none-any.whl", + "archive_info": { + "hash": "sha256=2a7451ed7441ddbc57703042204a3e30ef747478eea022c70f789fc7f084bc3d", + "hashes": { + "sha256": "2a7451ed7441ddbc57703042204a3e30ef747478eea022c70f789fc7f084bc3d" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "adal", + "version": "1.2.7", + "platform": [ + "UNKNOWN" + ], + "summary": "Note: This library is already replaced by MSAL Python, available here: https://pypi.org/project/msal/ .ADAL Python remains available here as a legacy. The ADAL for Python library makes it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources.", + "description": "---\n\nThis library, ADAL for Python, will no longer receive new feature improvements. Instead, use the new library\n[MSAL for Python](https://github.com/AzureAD/microsoft-authentication-library-for-python).\n\n* If you are starting a new project, you can get started with the\n [MSAL Python docs](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki)\n for details about the scenarios, usage, and relevant concepts.\n* If your application is using the previous ADAL Python library, you can follow this\n [migration guide](https://docs.microsoft.com/en-us/azure/active-directory/develop/migrate-python-adal-msal)\n to update to MSAL Python.\n* Existing applications relying on ADAL Python will continue to work.\n\n---\n\n\n# Microsoft Azure Active Directory Authentication Library (ADAL) for Python\n\n `master` branch | `dev` branch | Reference Docs\n--------------------|-----------------|---------------\n[![Build Status](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python.svg?branch=master)](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python) | [![Build Status](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python.svg?branch=dev)](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python) | [![Documentation Status](https://readthedocs.org/projects/adal-python/badge/?version=latest)](https://adal-python.readthedocs.io/en/latest/?badge=latest)\n\n|[Getting Started](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki)| [Docs](https://aka.ms/aaddev)| [Python Samples](https://github.com/Azure-Samples?q=active-directory&language=python)| [Support](README.md#community-help-and-support) | [Feedback](https://forms.office.com/r/wX0UuEF8kX)\n| --- | --- | --- | --- | --- |\n\n\nThe ADAL for Python library enables python applications to authenticate with Azure AD and get tokens to access Azure AD protected web resources.\n\nYou can learn in detail about ADAL Python functionality and usage documented in the [Wiki](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki).\n\n## Installation and Usage\n\nYou can find the steps to install and basic usage of the library under [ADAL Basics](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki/ADAL-basics) page in the Wiki.\n\n## Samples and Documentation\nWe provide a full suite of [Python sample applications on GitHub](https://github.com/Azure-Samples?q=active-directory&language=python) to help you get started with learning the Azure Identity system. This will include tutorials for native clients and web applications. We also provide full walkthroughs for authentication flows such as OAuth2, OpenID Connect and for calling APIs such as the Graph API.\n\nThere are also some [lightweight samples existing inside this repo](https://github.com/AzureAD/azure-activedirectory-library-for-python/tree/dev/sample).\n\nYou can find the relevant samples by scenarios listed in this [wiki page for acquiring tokens using ADAL Python](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki/Acquire-tokens#adal-python-apis-for-corresponding-flows).\n\nThe documents on [Auth Scenarios](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-scenarios#application-types-and-scenarios) and [Auth protocols](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-openid-connect-code) are recommended reading.\n\n## Versions\n\nThis library follows [Semantic Versioning](https://semver.org/).\n\nYou can find the changes for each version under [Releases](https://github.com/AzureAD/azure-activedirectory-library-for-python/releases).\n\n## Community Help and Support\n\nWe leverage [Stack Overflow](https://stackoverflow.com/) to work with the community on supporting Azure Active Directory and its SDKs, including this one! We highly recommend you ask your questions on Stack Overflow (we're all on there!) Also browser existing issues to see if someone has had your question before.\n\nWe recommend you use the \"adal\" tag so we can see it! Here is the latest Q&A on Stack Overflow for ADAL: [https://stackoverflow.com/questions/tagged/adal](https://stackoverflow.com/questions/tagged/adal)\n\n## Submit Feedback\nWe'd like your thoughts on this library. Please complete [this short survey.](https://forms.office.com/r/wX0UuEF8kX)\n\n## Security Reporting\n\nIf you find a security issue with our libraries or services please report it to [secure@microsoft.com](mailto:secure@microsoft.com) with as much detail as possible. Your submission may be eligible for a bounty through the [Microsoft Bounty](https://aka.ms/bugbounty) program. Please do not post security issues to GitHub Issues or any other public site. We will contact you shortly upon receiving the information. We encourage you to get notifications of when security incidents occur by visiting [this page](https://technet.microsoft.com/en-us/security/dd252948) and subscribing to Security Advisory Alerts.\n\n## Contributing\n\nAll code is licensed under the MIT license and we triage actively on GitHub. We enthusiastically welcome contributions and feedback. Please read the [contributing guide](./contributing.md) before starting.\n\n## We Value and Adhere to the Microsoft Open Source Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n\n", + "description_content_type": "text/markdown", + "home_page": "https://github.com/AzureAD/azure-activedirectory-library-for-python", + "author": "Microsoft Corporation", + "author_email": "nugetaad@microsoft.com", + "license": "MIT", + "classifier": [ + "Development Status :: 6 - Mature", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "requires_dist": [ + "PyJWT (<3,>=1.0.0)", + "requests (<3,>=2.0.0)", + "python-dateutil (<3,>=2.1.0)", + "cryptography (>=1.1.0)" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/57/09/0c2874e3e8c53250b40afa7399c70acf7d23cac80138f1792ea3797f7452/antlr4_python3_runtime-4.13.1-py3-none-any.whl", + "archive_info": { + "hash": "sha256=78ec57aad12c97ac039ca27403ad61cb98aaec8a3f9bb8144f889aa0fa28b943", + "hashes": { + "sha256": "78ec57aad12c97ac039ca27403ad61cb98aaec8a3f9bb8144f889aa0fa28b943" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "antlr4-python3-runtime", + "version": "4.13.1", + "summary": "ANTLR 4.13.1 runtime for Python 3", + "author": "Terence Parr, Sam Harwell", + "author_email": "Eric Vergnaud ", + "license": "BSD", + "requires_dist": [ + "typing ; python_version < \"3.5\"" + ], + "project_url": [ + "Homepage, http://www.antlr.org" + ] + } + }, + { + "download_info": { + "url": "https://files.pythonhosted.org/packages/db/fb/feb8456bef211621ed410909df4a3ab66d688be821dfcb1080956158d0cb/argcomplete-3.3.0-py3-none-any.whl", + "archive_info": { + "hash": "sha256=c168c3723482c031df3c207d4ba8fa702717ccb9fc0bfe4117166c1f537b4a54", + "hashes": { + "sha256": "c168c3723482c031df3c207d4ba8fa702717ccb9fc0bfe4117166c1f537b4a54" + } + } + }, + "is_direct": false, + "is_yanked": false, + "requested": false, + "metadata": { + "metadata_version": "2.1", + "name": "argcomplete", + "version": "3.3.0", + "platform": [ + "MacOS X", + "Posix" + ], + "summary": "Bash tab completion for argparse", + "description": "argcomplete - Bash/zsh tab completion for argparse\n==================================================\n*Tab complete all the things!*\n\nArgcomplete provides easy, extensible command line tab completion of arguments for your Python application.\n\nIt makes two assumptions:\n\n* You're using bash or zsh as your shell\n* You're using `argparse `_ to manage your command line arguments/options\n\nArgcomplete is particularly useful if your program has lots of options or subparsers, and if your program can\ndynamically suggest completions for your argument/option values (for example, if the user is browsing resources over\nthe network).\n\nInstallation\n------------\n::\n\n pip install argcomplete\n activate-global-python-argcomplete\n\nSee `Activating global completion`_ below for details about the second step.\n\nRefresh your shell environment (start a new shell).\n\nSynopsis\n--------\nAdd the ``PYTHON_ARGCOMPLETE_OK`` marker and a call to ``argcomplete.autocomplete()`` to your Python application as\nfollows:\n\n.. code-block:: python\n\n #!/usr/bin/env python\n # PYTHON_ARGCOMPLETE_OK\n import argcomplete, argparse\n parser = argparse.ArgumentParser()\n ...\n argcomplete.autocomplete(parser)\n args = parser.parse_args()\n ...\n\nRegister your Python application with your shell's completion framework by running ``register-python-argcomplete``::\n\n eval \"$(register-python-argcomplete my-python-app)\"\n\nQuotes are significant; the registration will fail without them. See `Global completion`_ below for a way to enable\nargcomplete generally without registering each application individually.\n\nargcomplete.autocomplete(*parser*)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThis method is the entry point to the module. It must be called **after** ArgumentParser construction is complete, but\n**before** the ``ArgumentParser.parse_args()`` method is called. The method looks for an environment variable that the\ncompletion hook shellcode sets, and if it's there, collects completions, prints them to the output stream (fd 8 by\ndefault), and exits. Otherwise, it returns to the caller immediately.\n\n.. admonition:: Side effects\n\n Argcomplete gets completions by running your program. It intercepts the execution flow at the moment\n ``argcomplete.autocomplete()`` is called. After sending completions, it exits using ``exit_method`` (``os._exit``\n by default). This means if your program has any side effects that happen before ``argcomplete`` is called, those\n side effects will happen every time the user presses ```` (although anything your program prints to stdout or\n stderr will be suppressed). For this reason it's best to construct the argument parser and call\n ``argcomplete.autocomplete()`` as early as possible in your execution flow.\n\n.. admonition:: Performance\n\n If the program takes a long time to get to the point where ``argcomplete.autocomplete()`` is called, the tab completion\n process will feel sluggish, and the user may lose confidence in it. So it's also important to minimize the startup time\n of the program up to that point (for example, by deferring initialization or importing of large modules until after\n parsing options).\n\nSpecifying completers\n---------------------\nYou can specify custom completion functions for your options and arguments. Two styles are supported: callable and\nreadline-style. Callable completers are simpler. They are called with the following keyword arguments:\n\n* ``prefix``: The prefix text of the last word before the cursor on the command line.\n For dynamic completers, this can be used to reduce the work required to generate possible completions.\n* ``action``: The ``argparse.Action`` instance that this completer was called for.\n* ``parser``: The ``argparse.ArgumentParser`` instance that the action was taken by.\n* ``parsed_args``: The result of argument parsing so far (the ``argparse.Namespace`` args object normally returned by\n ``ArgumentParser.parse_args()``).\n\nCompleters can return their completions as an iterable of strings or a mapping (dict) of strings to their\ndescriptions (zsh will display the descriptions as context help alongside completions). An example completer for names\nof environment variables might look like this:\n\n.. code-block:: python\n\n def EnvironCompleter(**kwargs):\n return os.environ\n\nTo specify a completer for an argument or option, set the ``completer`` attribute of its associated action. An easy\nway to do this at definition time is:\n\n.. code-block:: python\n\n from argcomplete.completers import EnvironCompleter\n\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--env-var1\").completer = EnvironCompleter\n parser.add_argument(\"--env-var2\").completer = EnvironCompleter\n argcomplete.autocomplete(parser)\n\nIf you specify the ``choices`` keyword for an argparse option or argument (and don't specify a completer), it will be\nused for completions.\n\nA completer that is initialized with a set of all possible choices of values for its action might look like this:\n\n.. code-block:: python\n\n class ChoicesCompleter(object):\n def __init__(self, choices):\n self.choices = choices\n\n def __call__(self, **kwargs):\n return self.choices\n\nThe following two ways to specify a static set of choices are equivalent for completion purposes:\n\n.. code-block:: python\n\n from argcomplete.completers import ChoicesCompleter\n\n parser.add_argument(\"--protocol\", choices=('http', 'https', 'ssh', 'rsync', 'wss'))\n parser.add_argument(\"--proto\").completer=ChoicesCompleter(('http', 'https', 'ssh', 'rsync', 'wss'))\n\nNote that if you use the ``choices=`` option, argparse will show\nall these choices in the ``--help`` output by default. To prevent this, set\n``metavar`` (like ``parser.add_argument(\"--protocol\", metavar=\"PROTOCOL\",\nchoices=('http', 'https', 'ssh', 'rsync', 'wss'))``).\n\nThe following `script `_ uses\n``parsed_args`` and `Requests `_ to query GitHub for publicly known members of an\norganization and complete their names, then prints the member description:\n\n.. code-block:: python\n\n #!/usr/bin/env python\n # PYTHON_ARGCOMPLETE_OK\n import argcomplete, argparse, requests, pprint\n\n def github_org_members(prefix, parsed_args, **kwargs):\n resource = \"https://api.github.com/orgs/{org}/members\".format(org=parsed_args.organization)\n return (member['login'] for member in requests.get(resource).json() if member['login'].startswith(prefix))\n\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--organization\", help=\"GitHub organization\")\n parser.add_argument(\"--member\", help=\"GitHub member\").completer = github_org_members\n\n argcomplete.autocomplete(parser)\n args = parser.parse_args()\n\n pprint.pprint(requests.get(\"https://api.github.com/users/{m}\".format(m=args.member)).json())\n\n`Try it `_ like this::\n\n ./describe_github_user.py --organization heroku --member \n\nIf you have a useful completer to add to the `completer library\n`_, send a pull request!\n\nReadline-style completers\n~~~~~~~~~~~~~~~~~~~~~~~~~\nThe readline_ module defines a completer protocol in rlcompleter_. Readline-style completers are also supported by\nargcomplete, so you can use the same completer object both in an interactive readline-powered shell and on the command\nline. For example, you can use the readline-style completer provided by IPython_ to get introspective completions like\nyou would get in the IPython shell:\n\n.. _readline: http://docs.python.org/3/library/readline.html\n.. _rlcompleter: http://docs.python.org/3/library/rlcompleter.html#completer-objects\n.. _IPython: http://ipython.org/\n\n.. code-block:: python\n\n import IPython\n parser.add_argument(\"--python-name\").completer = IPython.core.completer.Completer()\n\n``argcomplete.CompletionFinder.rl_complete`` can also be used to plug in an argparse parser as a readline completer.\n\nPrinting warnings in completers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nNormal stdout/stderr output is suspended when argcomplete runs. Sometimes, though, when the user presses ````, it's\nappropriate to print information about why completions generation failed. To do this, use ``warn``:\n\n.. code-block:: python\n\n from argcomplete import warn\n\n def AwesomeWebServiceCompleter(prefix, **kwargs):\n if login_failed:\n warn(\"Please log in to Awesome Web Service to use autocompletion\")\n return completions\n\nUsing a custom completion validator\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nBy default, argcomplete validates your completions by checking if they start with the prefix given to the completer. You\ncan override this validation check by supplying the ``validator`` keyword to ``argcomplete.autocomplete()``:\n\n.. code-block:: python\n\n def my_validator(completion_candidate, current_input):\n \"\"\"Complete non-prefix substring matches.\"\"\"\n return current_input in completion_candidate\n\n argcomplete.autocomplete(parser, validator=my_validator)\n\nGlobal completion\n-----------------\nIn global completion mode, you don't have to register each argcomplete-capable executable separately. Instead, the shell\nwill look for the string **PYTHON_ARGCOMPLETE_OK** in the first 1024 bytes of any executable that it's running\ncompletion for, and if it's found, follow the rest of the argcomplete protocol as described above.\n\nAdditionally, completion is activated for scripts run as ``python