Skip to main content

Microsoft Azure Batch Client Library for Python

Project description

Microsoft Azure SDK for Python

This is the Microsoft Azure Batch Client Library.

This package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7.

For a more complete set of Azure libraries, see the azure bundle package.


IMPORTANT: If you have an earlier version of the azure package (version < 1.0), you should uninstall it before installing this package.

You can check the version using pip:

pip freeze

If you see azure==0.11.0 (or any version below 1.0), uninstall it first:

pip uninstall azure


For code examples, see the Batch samples repo on GitHub or see Batch on

Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.

Release History

5.1.1 (2018-10-16)


  • Fix authentication class to allow HTTP session to be re-used


  • azure-nspkg is not installed anymore on Python 3 (PEP420-based namespace package)

5.1.0 (2018-08-28)

  • Update operation TaskOperations.add_collection with the following added functionality:
    • Retry server side errors.
    • Automatically chunk lists of more than 100 tasks to multiple requests.
    • If tasks are too large to be submitted in chunks of 100, reduces number of tasks per request.
    • Add a parameter to specify number of threads to use when submitting tasks.

5.0.0 (2018-08-24)

  • Using REST API version 2018-08-01.7.0. - Added node_agent_info in ComputeNode to return the node agent information - Breaking Removed the validation_status property from TaskCounts. - Breaking The default caching type for DataDisk and OSDisk is now read_write instead of none.
  • BatchServiceClient can be used as a context manager to keep the underlying HTTP session open for performance.
  • Breaking Model signatures are now using only keywords-arguments syntax. Each positional argument must be rewritten as a keyword argument.
  • Breaking The following operations signatures are changed:
    • Operation PoolOperations.enable_auto_scale
    • Operation TaskOperations.update
    • Operation ComputeNodeOperations.reimage
    • Operation ComputeNodeOperations.disable_scheduling
    • Operation ComputeNodeOperations.reboot
    • Operation JobOperations.terminate
  • Enum types now use the “str” mixin (class AzureEnum(str, Enum)) to improve the behavior when unrecognized enum values are encountered.

4.1.3 (2018-04-24)

  • Update some APIs’ comments
  • New property leaving_pool in node_counts type.

4.1.2 (2018-04-23)


  • Compatibility of the sdist with wheel 0.31.0
  • Compatibility with msrestazure 0.4.28

4.1.1 (2018-03-26)

  • Fix regression on method enable_auto_scale.

4.1.0 (2018-03-07)

  • Using REST API version 2018-03-01.6.1.
  • Added the ability to query pool node counts by state, via the new list_pool_node_counts method.
  • Added the ability to upload Azure Batch node agent logs from a particular node, via the upload_batch_service_logs method.
    • This is intended for use in debugging by Microsoft support when there are problems on a node.

4.0.0 (2017-09-25)

  • Using REST API version 2017-09-01.6.0.
  • Added the ability to get a discount on Windows VM pricing if you have on-premises licenses for the OS SKUs you are deploying, via license_type on VirtualMachineConfiguration.
  • Added support for attaching empty data drives to VirtualMachineConfiguration based pools, via the new data_disks attribute on VirtualMachineConfiguration.
  • Breaking Custom images must now be deployed using a reference to an ARM Image, instead of pointing to .vhd files in blobs directly. - The new virtual_machine_image_id property on ImageReference contains the reference to the ARM Image, and OSDisk.image_uris no longer exists. - Because of this, image_reference is now a required attribute of VirtualMachineConfiguration.
  • Breaking Multi-instance tasks (created using MultiInstanceSettings) must now specify a coordination_commandLine, and number_of_instances is now optional and defaults to 1.
  • Added support for tasks run using Docker containers. To run a task using a Docker container you must specify a container_configuration on the VirtualMachineConfiguration for a pool, and then add container_settings on the Task.

3.1.0 (2017-07-24)

  • Added a new operation job.get_task_counts to retrieve the number of tasks in each state.
  • Added suuport for inbound endpoint configuration on a pool - there is a new pool_endpoint_configuration attribute on NetworkConfiguration. This property is only supported on pools that use virtual_machine_configuration.
  • A ComputeNode now also has an endpoint_configuration attribute with the details of the applied endpoint configuration for that node.

3.0.0 (2017-05-10)

  • Added support for the new low-priority node type; AddPoolParameter and PoolSpecification now have an additional property target_low_priority_nodes.
  • target_dedicated and current_dedicated on CloudPool, AddPoolParameter and PoolSpecification have been renamed to target_dedicated_nodes and current_dedicated_nodes.
  • resize_error on CloudPool is now a collection called resize_errors.
  • Added a new is_dedicated property on ComputeNode, which is false for low-priority nodes.
  • Added a new allow_low_priority_node property to JobManagerTask, which if true allows the JobManagerTask to run on a low-priority compute node.
  • PoolResizeParameter now takes two optional parameters, target_dedicated_nodes and target_low_priority_nodes, instead of one required parameter target_dedicated. At least one of these two parameters must be specified.
  • Added support for uploading task output files to persistent storage, via the OutputFiles property on CloudTask and JobManagerTask.
  • Added support for specifying actions to take based on a task’s output file upload status, via the file_upload_error property on ExitConditions.
  • Added support for determining if a task was a success or a failure via the new result property on all task execution information objects.
  • Renamed scheduling_error on all task execution information objects to failure_information. TaskFailureInformation replaces TaskSchedulingError and is returned any time there is a task failure. This includes all previous scheduling error cases, as well as nonzero task exit codes, and file upload failures from the new output files feature.
  • Renamed SchedulingErrorCategory enum to ErrorCategory.
  • Renamed scheduling_error on ExitConditions to pre_processing_error to more clearly clarify when the error took place in the task life-cycle.
  • Added support for provisioning application licenses to your pool, via a new application_licenses property on PoolAddParameter, CloudPool and PoolSpecification. Please note that this feature is in gated public preview, and you must request access to it via a support ticket.
  • The ssh_private_key attribute of a UserAccount object has been replaced with an expanded LinuxUserConfiguration object with additional settings for a user ID and group ID of the user account.
  • Removed unmapped enum state from AddTaskStatus, CertificateFormat, CertificateVisibility, CertStoreLocation, ComputeNodeFillType, OSType, and PoolLifetimeOption as they were not ever used.
  • Improved and clarified documentation.

2.0.1 (2017-04-19)

  • This wheel package is now built with the azure wheel extension

2.0.0 (2017-02-23)

  • AAD token authentication now supported.
  • Some operation names have changed (along with their associated parameter model classes): * pool.list_pool_usage_metrics -> pool.list_usage_metrics * pool.get_all_pools_lifetime_statistics -> pool.get_all_lifetime_statistics * job.get_all_jobs_lifetime_statistics -> job.get_all_lifetime_statistics * file.get_node_file_properties_from_task -> file.get_properties_from_task * file.get_node_file_properties_from_compute_node -> file.get_properties_from_compute_node
  • The attribute ‘file_name’ in relation to file operations has been renamed to ‘file_path’.
  • Change in naming convention for enum values to use underscores: e.g. StartTaskState.waitingforstarttask -> StartTaskState.waiting_for_start_task.
  • Support for running tasks under a predefined or automatic user account. This includes tasks, job manager tasks, job preparation and release tasks and pool start tasks. This feature replaces the previous ‘run_elevated’ option on a task.
  • Tasks now have an optional scoped authentication token (only applies to tasks and job manager tasks).
  • Support for creating pools with a list of user accounts.
  • Support for creating pools using a custom VM image (only supported on accounts created with a “User Subscription” pool allocation mode).

1.1.0 (2016-09-15)

  • Added support for task reactivation

1.0.0 (2016-08-09)

  • Added support for joining a CloudPool to a virtual network on using the network_configuration property.
  • Added support for application package references on CloudTask and JobManagerTask.
  • Added support for automatically terminating jobs when all tasks complete or when a task fails, via the on_all_tasks_complete property and the CloudTask exit_conditions property.


  • Initial Release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for azure-batch, version 5.1.1
Filename, size File type Python version Upload date Hashes
Filename, size azure_batch-5.1.1-py2.py3-none-any.whl (593.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size (602.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page