Skip to main content

Tool/lib to create and parse manifests

Reason this release was yanked:

Yank old pre-release

Project description

Device Management manifest CLI tool

This document explains how to install and use the manifest tool.

Note: Please see the changelog for the list of all changes between release versions.

Manifest tool overview

Device Management lets you perform Firmware Over-the-Air (FOTA) updates on managed devices.

On the device side, the firmware update process begins when the device receives an update manifest. The OEM (original equipment manufacturer) or update author cryptographically signs the manifest with a private key paired to a public key that exists on the device, enabling the device to authenticate the manifest before it accepts the firmware update.

Device Management supports:

  • Full updates - Deliver new firmware and install it on the device.
  • Delta updates - The manifest tool executes a diff algorithm that produces a small delta patch file. The client constructs a new firmware image based on the delta patch file and the firmware currently present on the device. This technique saves traffic bandwidth.

The manifest-tool Python package includes these command line tools:

Installing the manifest tool

We recommend installing the manifest-tool Python package in a isolated Python virtual environment.

Installing the manifest tool from PyPi

Prerequisites:

pip install manifest-tool

Installing from local source tree

Prerequisites:

$ git clone https://github.com/PelionIoT/manifest-tool.git
$ pip install <path to manifest-tool's local source tree>

Note: Run $ pip install --editable <manifest-tool> to install the package in Python setuptools development mode. For more information, please see the setuptools development mode documentation.

Using the manifest tool

This section explains how to use the CLI tools included in the manifest-tool Python package:

manifest-tool

manifest-tool commands:

Note: Run manifest-tool --help for more information about all commands, or manifest-tool <command> --help for more information about a specific command, including its parameters and how to use them.

manifest-tool create

Creates a manifest. The manifest tool receives a configuration file describing the update type.

Prerequisites

  • An update private key and public key certificate.

    Keep the private key secret because it allows installing new firmware images on your devices.

    Provision the public key to the device.

    • To generate a private key, run:

      $ openssl ecparam -genkey -name prime256v1 -outform PEM -out my.priv.key.pem
      
    • To generate a public key in uncompressed point format (X9.62), use the manifest-tool public-key command.

  • Upload the new firmware image to a server that your devices can access.

  • A configuration file in JSON or YAML format.

    Configuration file format:

    vendor:  # One of "domain" or "vendor-id" fields are expected.
      domain: pelion.com  # FW owner domain. Used to generate a vendor UUID.
                          # Expected to include a dot (".").
      # OR
      vendor-id: fa6b4a53d5ad5fdfbe9de663e4d41ffe  # Valid vendor UUID.
      custom-data-path: my.custom-data.bin # Vendor's custom data file
                                           #  to be passed to the target devices.
                                           # Only relevant for manifest v3 format.
    
    device:  # One of "model-name" or "class-id" fields are expected
      model-name: Smart Slippers  # A device model name. Used to generate a class UUID.
      # OR
      class-id: 327c726ac6e54f7a82fbf1d3beda80f0  # Valid device-class UUID.
    
    priority: 1  # Update priority as will be passed to authorization callback.
                 # Implemented by application on a device side.
    
    payload:
      url: http://some-url.com/files?id=1234  # Address from which the device downloads
                                              #  the candidate payload.
                                              # Obtained by clicking "Copy HTTP URL" on 
                                              # the Firmware image details screen 
                                              # in Device Management Portal,
                                              #  or by copying the `datafile` attribute.
      file-path: ./my.fw.bin  # Local path to the candidate payload file
                              #  or the delta patch file.
                              # Used for digest calculation & signing.
      format: raw-binary  # One of following:
                          #  raw-binary       - full image update campaigns.
                          #  arm-patch-stream - delta patch update campaigns.
                          # For manifest v3 only:
                          #  encrypted-raw    - full image update with encrypted image.
      encrypted:  # Required for 'encrypted-raw' format.
        digest: 3725565932eb5b9fbd5767a3a534cb6a1a87813e0b4a76deacb9b36695c71307
                      # The encrypted payload digest.
                      # Obtained by copying the `encrypted_datafile_checksum` attribute
                      # from the Firmware image details screen in Device Management Portal.
        size: 471304  # The encrypted payload size.
                      # Obtained by copying the `encrypted_datafile_size` attribute
                      # from the Firmware image details screen in Device Management Portal.
    
    component: MAIN  # [Optional] The name of the component to be updated
                     #  only relevant for manifest v3 format.
                     # Set to "MAIN" by default for updating
                     #  the main application image.
    
    sign-image: True  # [Optional] Boolean field accepting True/False values.
                      # Only relevant for manifest v3 format.
                      # When Set to True - 64 Bytes raw signature over the installed
                      #  image will be added to the manifest.
                      # Image signature can be used for cases when device bootloader
                      #  expects to work with signed images (e.g. secure-boot).
                      # Set to False by default.
    

Example

  • For this configuration file, called my.config.yaml:

    vendor:
      domain: pelion.com
    device:
      model-name: Smart Flip-flops
    priority: 1
    payload:
      url: http://some-url.com/files?id=1234
      file-path: ./my.fw.bin
      format: raw-binary
    component: MAIN
    
  • Run:

    manifest-tool create \
        --config my.config.yaml \
        --key my.priv.key.pem \
        --fw-version 1.2.3 \
        --output my.manifest.bin
    

Note: The value of --fw-version refers to the firmware version of the component to be updated. The value can be between 0.0.1 and 999.999.999 and must be greater than the firmware version currently installed on the device.

manifest-tool create-v1

Older versions of Device Management update client use manifest schema V1 and assume the public key is packaged in a x.509 certificate.

Prerequisites

  • An update private key and public key certificate.

    Keep the private key secret because it allows installing new firmware images on your devices.

    Provision the public key to the device.

    • To generate a private key, run:

      $ openssl ecparam -genkey -name prime256v1 -outform PEM -out my.priv.key.pem
      
    • To generate a public key x.509 certificate, run:

      $ openssl req -new -sha256 \
            -key my.priv.key.pem \
            -inform PEM \
            -out my.csr.csr
      $ openssl req -x509 -sha256 \
            -days 7300 \
            -key my.priv.key.pem \
            -in my.csr.csr \
            -outform der \
            -out my.x509.certificate.der
      

      Note: Device Management update client treats the x.509 certificate as a container ONLY and does not enforce its validity - expiration, chain of trust, and so on - although it may be validated by other Device Management components. For production, we recommend creating a certificate with a lifespan greater than the product's expected lifespan (for example, 20 years).

  • Upload the new firmware binary to a server that your devices can access, and obtain the URL for the uploaded firmware binary.

  • A configuration file in JSON or YAML format (same as manifest-tool create).

Example

  • Run:

    manifest-tool create-v1 \
        --config my.config.yaml \
        --key my.priv.key.pem \
        --update-certificate my.x509.certificate.der \
        --output my.manifest.bin
    

manifest-tool parse

Parses and validates existing manifest files.

Prerequisites

  • A manifest file (in our example my.manifest.bin).
  • Optionally, an update private key or public key or certificate to validate the manifest signature.

Example

$ manifest-tool parse \
  my.manifest.bin \
  --private-key my.priv.key.pem
----- Manifest dump start -----
Manifest:
vendor-id=fa6b4a53d5ad5fdfbe9de663e4d41ffe
class-id=3da0f138173350eba6f665498eace1b1
update-priority=15
payload-version=1572372313
payload-digest=b5f07d6c646a7c014cc8c03d2c9caf066bd29006f1356eaeaf13b7d889d3502b
payload-size=512
payload-uri=https://my.server.com/some.file?new=1
payload-format=raw-binary
----- Manifest dump end -----
2019-10-29 20:05:13,478 INFO Signature verified!

manifest-tool schema

Prints the input validation JSON schema bundled with the current tool. The manifest tool contains an input validation schema, which you can use as a self-documenting tool to better understand and validate the manifest tool input configuration.

Example

$ manifest-tool schema

manifest-tool public-key

Create a public key file in uncompressed point format. Provisioning this file to the device enables the device to verify the manifest signature.

Example

manifest-tool public-key my.priv.key.pem --out my.pub.key.bin

manifest-delta-tool

Use this tool to generate delta patch files for delta updates.

Run manifest-delta-tool --help for more information about usage and arguments.

Prerequisites

  • The firmware currently installed on the device and the updated firmware image. Required for calculating the delta patch.

Example

$ manifest-delta-tool -c current_fw.bin -n new_fw.bin -o delta-patch.bin

Note 1: Additional configuration file with same name but with .yaml extension will be generated. Both files are required by the manifest-tool. Only the output file specified by --output argument should be uploaded to Pelion storage.

Note 2: Compression block size has a direct impact on the amount of memory required by the device receiving the update. The device requires twice the amount of RAM in runtime to decompress and apply the patch.

Note 3: Compression block must be aligned with network (COAP/HTTP) buffer size used for download. Misalignment in sizes may result in device failure to process the delta patch file.

manifest-dev-tool

manifest-dev-tool is a developer tool for running a simplified update campaign.

Use manifest-dev-tool for development flows only.

manifest-dev-tool commands:

Note: Run manifest-dev-tool --help for more information about all commands, or manifest-dev-tool <command> --help for more information about a specific command, including its parameters and how to use them.

manifest-dev-tool init

Initializes the developer environment.

  • Generates credentials and a configuration file in the tool's cache directory:

    • dev.key.pem - An update private key.
    • dev.cert.der - An update public key certificate.
    • dev.cfg.yaml - Developer configuration file.

    The default cache directory name is .manifest-dev-tool.

  • Generates an update resource C file with symbols that allow bypassing the provisioning step in the developer flow. Default name is update_default_resources.c.

Note 1: Use the credentials generated by manifest-dev-tool init in the development stage only.

Note 2: You can keep your access key in the .pelion-dev-presets.yaml file in your home directory and pass it using the --gw-preset option.

Example of .pelion-dev-presets.yaml:

usa:
    host: https://api.us-east-1.mbedcloud.com
    access_key: ak_SOME_VERY_SECRET_ACCESS_KEY
japan:
    host: https://api.ap-northeast-1.mbedcloud.com
    access_key: ak_SOME_OTHER_VERY_SECRET_ACCESS_KEY

To obtain an access key and API host URL, in Device Management Portal, click Access Management > Access keys > New access key. Limit access to the .pelion-dev-presets.yaml file to your user only.

Example

manifest-dev-tool init --access-key [Device Management access key]

Or

manifest-dev-tool init --gw-preset usa

manifest-dev-tool create

Creates developer manifest files without requiring an input configuration file.

Example

manifest-dev-tool create \
    --payload-url http://test.pdmc.pelion.com?fileId=1256 \
    --payload-path new_fw.bin \
    --fw-version 1.2.3 \
    --component-name MAIN \
    --output update-manifest.bin

Note: To run a delta update, specifiy the manifest-delta-tool output in the --payload-path argument and make sure the .yaml output with the same name sit next to that output file.

Note: Add the --sign-image argument to update a device with a secure bootloader, which requires an image signature.

manifest-dev-tool create-v1

Creates developer manifest files in v1 format without requiring an input configuration file.

Example

manifest-dev-tool create-v1 \
    --payload-url http://test.pdmc.pelion.com?fileId=1256 \
    --payload-path new-fw.bin \
    --output update-manifest.bin

Note: To run a delta update, specifiy the manifest-delta-tool output in the --payload-path argument and make sure the .yaml output with the same name sit next to that output file.

manifest-dev-tool update

Same as manifest-dev-tool create but also lets you interact with Device Management to run a full update campaign.

The command:

  1. Uploads the payload to Device Management and obtains the URL.
  2. Creates a manifest file with the URL from the previous step and obtains a manifest URL.
  3. Creates an update campaign with the manifest URL from the previous step.
  4. Starts the update campaign if you pass the --start-campaign or --wait-for-completion argument.
  5. If you pass the --wait-for-completion argument, the tool waits for campaign completion for the time period specified by --timeout or until the campaign reaches one of its terminating states.
  6. If you pass the --wait-for-completion argument without the --no-cleanup flag, the tool removes the uploaded test resources from Device Management before exiting.

Example

manifest-dev-tool update \
    --payload-path my_new_fw.bin \
    --fw-version 1.2.3 \
    --wait-for-completion

Note: The tool creates the device filter for the campaign based on the unique class-id and vendor-id fields the manifest-dev-tool init command generates.

manifest-dev-tool update-v1

Same as manifest-dev-tool update with a v1-format manifest.

Example

manifest-dev-tool update-v1 \
    --payload-path my_new_fw.bin \
    --wait-for-completion

Developer workflow example for mbed-os devices

  1. Clone the https://github.com/PelionIoT/mbed-cloud-client-example repository.

  2. From within the repository, execute:

    manifest-dev-tool init -a $MY_ACCESS_KEY
    

    The tool initializes the developer environment and generates a update_default_resources.c file.

  3. Build the firmware image for your device.

  4. Save the mbed-cloud-client-example_update.bin file.

  5. Flash the mbed-cloud-client-example.bin to the device.

  6. Wait for the device to register in the cloud.

  7. Make some changes to the source of the firmware application.

  8. Build the firmware update candidate for your device.

    • To test delta update, create delta patch:
      manifest-delta-tool -c <original mbed-cloud-client-example_update.bin> -n <new mbed-cloud-client-example_update.bin> -o delta.bin
      
  9. Issue an update campaign:

    manifest-dev-tool update --payload-path <new mbed-cloud-client-example_update.bin or delta.bin> --wait-for-completion
    

Upgrading from manifest tool v1.5.2 and lower

Manifest tool v2.0.0 is not compatible with previous versions.

This section explains how to migrate your existing configuration and credentials for use with manifest-tool version 2.2.0 and higher.

  • Initializing the development environment using previously-defined configuration and credentials

    Run the manifest-dev-tool init command as follow:

    manifest-dev-tool init --api-url <API URL> \
                           --access-key <Access key> \
                           --vendor-id <Vendor ID> \
                           --class-id <Class ID> \
                           --key <private key path> \
                           --update-certificate <certificate path>
    

    Where <API URL> and <Access key> are the values from the previous .mbed_cloud_config.json file, <Vendor ID> and <Class ID> are the values from the previous .manifest_tool.json file, and <private key path> and <certificate path> are the paths to your private key and update certificate, respectively.

    When the command finishes successfully, you can remove the previously-created files.

  • Adapting the create manifest configuration

    If you use manifest-tool (not manifest-dev-tool), create a new configuration file, as described in manifest-tool create, and copy the relevant information from your existing .manifest_tool.json file.

Troubleshooting

  • Getting more context on unexpected errors.

    When the tool exits with a non-zero return code, it may be helpful to get more context on the failure.

    Solution: execute the tool with the --debug flag at the top argument parser level. For example:

    manifest-dev-tool --debug update
    
  • manifest-dev-tool update ... --wait-for-completion takes longer than expected.

    manifest-dev-tool update creates a unique class-id and vendor-id generated per developer. Device Management expects a single device with these properties to connect to Device Management.

    In rare cases, during development, a device's device-id might change after you re-flash it. This may result in two devices having the same class-id and vendor-id in Device Management. In this scenario, Device Management will detect both devices and try to update them both, although one of them no longer exists

    Solution: Manually delete the unwanted device from Device Management. Alternatively, run manifest-dev-tool update ... --wait-for-completion with --device-id DEVICE_ID to override the default campaign filter and target a specific device by its ID.

  • Update fails and manifest-dev-tool update ... --wait-for-completion cleans all resources.

    You might want to leave the resources (firmware image candidate, update manifest and update campaign) on a service for further investigation/retry.

    Solution: Execute manifest-dev-tool update ... --wait-for-completion with the --no-cleanup flag.

  • Device does not support this manifest schema

    Solution: Your device does not support the created manifest schema. Switch from the create or update command to the create-v1 or update-v1 command respectively and vice versa.

Project details


Download files

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

Source Distribution

manifest-tool-2.3.0rc1.tar.gz (86.7 kB view details)

Uploaded Source

Built Distributions

manifest_tool-2.3.0rc1-cp39-cp39-win_amd64.whl (77.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

manifest_tool-2.3.0rc1-cp39-cp39-win32.whl (78.3 kB view details)

Uploaded CPython 3.9 Windows x86

manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (331.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (223.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (217.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (335.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp39-cp39-macosx_10_9_x86_64.whl (96.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

manifest_tool-2.3.0rc1-cp38-cp38-win_amd64.whl (77.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

manifest_tool-2.3.0rc1-cp38-cp38-win32.whl (78.3 kB view details)

Uploaded CPython 3.8 Windows x86

manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (332.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (224.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (217.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (335.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp38-cp38-macosx_10_9_x86_64.whl (96.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

manifest_tool-2.3.0rc1-cp37-cp37m-win_amd64.whl (77.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

manifest_tool-2.3.0rc1-cp37-cp37m-win32.whl (78.3 kB view details)

Uploaded CPython 3.7m Windows x86

manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (333.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (225.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (217.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (336.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl (96.7 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

manifest_tool-2.3.0rc1-cp36-cp36m-win_amd64.whl (77.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

manifest_tool-2.3.0rc1-cp36-cp36m-win32.whl (78.3 kB view details)

Uploaded CPython 3.6m Windows x86

manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (332.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (224.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (217.1 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (335.8 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

manifest_tool-2.3.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl (96.7 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file manifest-tool-2.3.0rc1.tar.gz.

File metadata

  • Download URL: manifest-tool-2.3.0rc1.tar.gz
  • Upload date:
  • Size: 86.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest-tool-2.3.0rc1.tar.gz
Algorithm Hash digest
SHA256 c3e0cb32c6f159b763d7f0a7a34a0f1663a0715d41078440045defd3b015e9a5
MD5 50815c6979a8bba347f4ceb550d8f79d
BLAKE2b-256 d15dfd6a40fffdc03e9aa0ae67dfb6570359796762fa8c5edc14581edf3c5b1b

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2dc01e204cac30a79e60fd5e3dc00d2f3fe126f0aacbf6c982107efce4f142c0
MD5 94ebf2a24f8dbfb5a7045b00976119a3
BLAKE2b-256 27fc6ee0fa47ac86ea40f832f6180159372f87be202164bb97f904852ea32cad

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-win32.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 78.3 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 d8ef77a061084d71d10b15c2cdf52b10602902c5d322ab54e20828b8d61dfe10
MD5 bab6f76bc7dc0b1337858d7a19c411f5
BLAKE2b-256 414056575e229b5072f4c756bf27c29e0d21bf7304d4ca71958b64a3ddf69af8

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 723facdd84416378179b92e8b51af4767288dad2b8fbdb9a6ef83a2a88a10b16
MD5 d79a25e1ca7949549f07c384e93cb727
BLAKE2b-256 5bb21fec7138781c3642108f9825457f8ca64e77211f4aab55d03568e816eb9e

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 fd9a78b523b9285c30578f367ddf5b08910dc80033803dd3f6b48d1ed40409bc
MD5 df5a548577aa890d8f6bf0a5311a831e
BLAKE2b-256 1317315617402a928189267416e79b77d816c5eea80027cfbd86a0b9cf8aed56

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 482e632d3ad04ab2d179f9ffaff713c4668350bdc82804bb3c16dfc94a9c781a
MD5 447d6cacd2baf420714c42bd1b8d46f6
BLAKE2b-256 3cafb27848f2617f8c01116a45943d4a71c7cdfd6c883c11617cce17eb875bd6

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1e4f8c1c84b94816973b8ca6f70b7bdc51aee89c286f50946bd65fac6ea59af9
MD5 89e0d97e6582ff949594ed02ceed0281
BLAKE2b-256 fd66b244c0d1c1abfbc5ed2e7d7c102f5a1c2d9535556b4416010330ddab80bd

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 96.8 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 648c17ffa9b6da40c8997eb48ab5636821df2f2d90291ec2579e65f924fd888b
MD5 a4116f787f2721a18c83ea1c11435192
BLAKE2b-256 9e5c2f9b3390ba6c1a52933c836004d7cf525d5a4dde13ce6418f1889fca5fa4

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 285d652ca6094d83ae9c95500745ebf0fd626d58fe7773b5115b9dee8b9c3369
MD5 3059158ce7bd794806688b406c8ee2d6
BLAKE2b-256 b909f0fc2a5b0d7e08470f328f22852888032d9e89cc47b055250ef69add6bcb

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-win32.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 78.3 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 3b2ec296b95d098aa77eb120881502bb013bed51ed34ac1f13f7b1e73f5e48be
MD5 334738131889143bdbc4c1e1f93fc000
BLAKE2b-256 601108ee91f2e700a2c85e12aaa7cdf1b4bb280d9e0bc395ae7b533360c52fc8

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4605236b8ea3dac5c1cf84db05654440f9b37a197cb8b7882895ea02b8c1f11a
MD5 ef87a176c2d68bfe6ac0a5d93712b846
BLAKE2b-256 314ef0411e02664df55896dfee6b7879719db0a47524b9d58793cac68cfcf4c3

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 47fead93f07ddbdcd9a55af9093aea259e8165ff8e500b1bc05916efff384374
MD5 bbc7e1319bceda92e1d3918d57b3f2b8
BLAKE2b-256 96a69af8e26879dd32b078a6768f045e4289c30575b0bcf0905d7e6a2aae3d4f

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bed44e9ca1ec16e454d4a2d397720aef4333e40da2cd17c342fe90f86a012913
MD5 b6bb877415708c083ac16eb46133f8b4
BLAKE2b-256 8d68840be37fa4b7f96434815e685443321a3ea555683836ef2d4b30095b0cc8

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 901bd63563a6e2b041b59a255c2bd8b188e2f0e0f0d4b8d92dfef64ae15c5517
MD5 6c4d24b508808ed40e3b133347a39b3c
BLAKE2b-256 ae5776c377ac96a3ae0abed1303ee7147973d48acfb027ecce8348c2eec8032f

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 96.8 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 611c7f4dd59cccc8811850f3546f1fd106c2a0deac0c0af5e69e879fceb4ec2b
MD5 7dce493e527e8fd341fd536bb3e613ec
BLAKE2b-256 a8bc7bb09458ac811e22b172fddd21867acc050f9b07069eb4101e4f2dfbb136

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 1c15c39c6c62ff323474a6d76a4d51680d86783a59e0e7758e03598705563bab
MD5 ca37a10a79c73908f591fe77d57323a4
BLAKE2b-256 328484fb929d84a283cb0a9e757de3a92ce2a3702660f568c95bbb2b682cd664

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 78.3 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 2948d225521984db496ee82a8d774dcbfa65de69a0388c1e94378ea04b15e097
MD5 008bf839c27a1b0ca0b3cc9317a53685
BLAKE2b-256 a6839f59a8733f81efeb129b2c809b369223996feeb08f0ed79bd368d2da323b

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3e7ebd03bd04c06f0ddde40bd4988c58fda6ea2c45acc70888ef37ae9505074
MD5 5272087e5c99ff44b041d342d56130d6
BLAKE2b-256 8e1946171d895dc3966218b69c98d40716e815c75c93c66c75a5578975b33dbe

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 2e9a0215642e5124744c84654d4e61434a6d68376c21d651772f6b0d9aa224c7
MD5 01bfa1575c08339936234838882bee60
BLAKE2b-256 a0b8a99dce2fa536e9810989e5700e1e6e9441da53834b1abdacbcc5991386a4

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 36afd3fe7b95c98a97c756c2d55007b05cc96bf7ce1673ee6ce05136ac548464
MD5 520307530804da6a1e44e19480bdeac8
BLAKE2b-256 f97763e989d82267bdfceefc3f992bee87511a9726c8302a894be71a70a08c53

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a3690426d2b8c19b232b835b5978a5f26b72b4af9671e709e44748d694df837d
MD5 d84bd4d8ed0854ccddac277ffc3fdfe9
BLAKE2b-256 4c40869724f49ff4451297a165616efabebb063771bd90bb27bb5bf2fd514b39

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 96.7 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b913d96009eee34a704bcdac36e01eddc17a2ed29f5c025e0bfe6994e236f0f5
MD5 8b653765257ad064cd1b24339736770d
BLAKE2b-256 5bbc8ed0e0cfc632a149930a9042cdfd0e5a2c5802f00f5981d22692f20ba1ee

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0184b581ba2a942d61b481a8f604a105612654624415af196e656a02ee54c89f
MD5 07b3619f92b22885d0d13ddd0ea276c9
BLAKE2b-256 d84191ca95984a9a47644ca50d0843bd7dea62f18209e375f4fa2eba9487d0c4

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-win32.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 78.3 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 ba7c9c9d42f6f7902ddcdfaafcb6d8943507501922ac6c5a7bcb1682ba275bdf
MD5 ae3b42a2f107d768a7f6092334f584f2
BLAKE2b-256 83e71928f758062463d17245575cfd1e78e2f72a8e1d2a1585fc50f3b919292d

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93a7d54a825fde09df87a57ef0c6777a627da5ec8f739eec2e7914d7fc2a6d64
MD5 0dab2b7a1b4ae663d68cdd8d15338b02
BLAKE2b-256 5ef84b9e09ea0574ce0a723ed2c7eacb696ecd410648fa696055ff1bda6aec88

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 46a6d33579e42972e73d2588dab73051745e3b6974f33f8b53223638d4d43884
MD5 77b71f24c198be3c47628fcd57c51390
BLAKE2b-256 da3f9b27d5fe9d80ad5ee76fe42e34c5377972b472a70d932da5da5eab5497cc

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 44786f9c483a64881a541a7173a83514bad6043f2edcce17cdac16d04d949931
MD5 654daab823dd13c6a33eab8516f87b82
BLAKE2b-256 d6fa5242a3a74655d299e3da218a28320c92ce32772c2fdf4c568a4ded094764

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 54a16011a27845ccbfd78396b69533383517ea1a51e64e9f8d39463621288814
MD5 6a7431ebb57bc59d63a4cb0ea9818e36
BLAKE2b-256 e2b65ab0e6df4c2b6c9efd92d5fd17c91fe8764766b1f1e567868227be90bea8

See more details on using hashes here.

File details

Details for the file manifest_tool-2.3.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.3.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 96.7 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.3.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5edb92c60ac5d5ef4e6654c0a6b35d7b1c9e380cf4f691f289c7d3d35cb76a08
MD5 47d817703f1efee636abfedffbd425ba
BLAKE2b-256 177dd1d51cdc5508cea0f1e16f82cd71f552b66130aaf202745fa8952f9723c9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page