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 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.

    Configuration file format:

    vendor:  # One of "domain" or "vendor-id" fields are expected
      domain: pelion.com  # FW owner domain. Expected to include a dot (".")
                          # Will be used to generate a vendor UUID
      # 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
                                  # Will be used to generate a device-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  # File storage URL for devices to
                                              # acquire the FW candidate
      file-path: ./my.fw.bin  # Update candidate local file - for digest
                              # calculation & signing
      format: raw-binary  # one of following:
                          #  raw-binary - for full image update campaigns
                          #  arm-patch-stream - for delta update campaigns
    
    component: MAIN  # [Optional] The name of the component to be updated - only relevant for manifest v3 format.
                     # If omitted "MAIN" component name will be used 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)
                      # When omitted False value is assumed
    

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
    
  • 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 can be between 0.0.1 and 999.999.999 and must be bigger 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 \
    --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 Portal to run a full update campaign.

The command:

  1. Uploads the payload to Device Management Portal 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 in Device Management Portal (expired, userstopped, or quotaallocationfailed).
  6. If you pass the --wait-for-completion argument without the --no-cleanup flag, the tool removes the uploaded test resources from Device Management Portal 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 Portal.

    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 Portal. 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 Portal. 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.2.0rc3.tar.gz (82.0 kB view details)

Uploaded Source

Built Distributions

manifest_tool-2.2.0rc3-cp39-cp39-win_amd64.whl (75.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

manifest_tool-2.2.0rc3-cp39-cp39-win32.whl (76.8 kB view details)

Uploaded CPython 3.9 Windows x86

manifest_tool-2.2.0rc3-cp39-cp39-manylinux2010_x86_64.whl (333.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

manifest_tool-2.2.0rc3-cp39-cp39-manylinux1_x86_64.whl (333.9 kB view details)

Uploaded CPython 3.9

manifest_tool-2.2.0rc3-cp39-cp39-macosx_10_9_x86_64.whl (95.0 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

manifest_tool-2.2.0rc3-cp38-cp38-win_amd64.whl (75.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

manifest_tool-2.2.0rc3-cp38-cp38-win32.whl (76.8 kB view details)

Uploaded CPython 3.8 Windows x86

manifest_tool-2.2.0rc3-cp38-cp38-manylinux2010_x86_64.whl (334.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

manifest_tool-2.2.0rc3-cp38-cp38-manylinux1_x86_64.whl (334.1 kB view details)

Uploaded CPython 3.8

manifest_tool-2.2.0rc3-cp38-cp38-macosx_10_9_x86_64.whl (95.0 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

manifest_tool-2.2.0rc3-cp37-cp37m-win_amd64.whl (75.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

manifest_tool-2.2.0rc3-cp37-cp37m-win32.whl (76.8 kB view details)

Uploaded CPython 3.7m Windows x86

manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2010_x86_64.whl (335.2 kB view details)

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

manifest_tool-2.2.0rc3-cp37-cp37m-manylinux1_x86_64.whl (335.2 kB view details)

Uploaded CPython 3.7m

manifest_tool-2.2.0rc3-cp37-cp37m-macosx_10_9_x86_64.whl (94.9 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

manifest_tool-2.2.0rc3-cp36-cp36m-win_amd64.whl (75.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

manifest_tool-2.2.0rc3-cp36-cp36m-win32.whl (76.8 kB view details)

Uploaded CPython 3.6m Windows x86

manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2010_x86_64.whl (334.2 kB view details)

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

manifest_tool-2.2.0rc3-cp36-cp36m-manylinux1_x86_64.whl (334.2 kB view details)

Uploaded CPython 3.6m

manifest_tool-2.2.0rc3-cp36-cp36m-macosx_10_9_x86_64.whl (94.9 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file manifest-tool-2.2.0rc3.tar.gz.

File metadata

  • Download URL: manifest-tool-2.2.0rc3.tar.gz
  • Upload date:
  • Size: 82.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest-tool-2.2.0rc3.tar.gz
Algorithm Hash digest
SHA256 fdba01d55f692d6acbf0345a4d7ebf94860a8501ec5cab16d09e9cef48cad82a
MD5 303ee0c0eb7ca9b15c18fb11d68119b8
BLAKE2b-256 cd38514a6e2f7ded93f9f0fc338195a7ede18b4fb7f29a1a985a72f6e6673a71

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b571ad5fff6f8fada02eb65ebe12ef2d9f28521ce35abc5ac670fb70532c0001
MD5 1754ae4670247b81d03ddeb4a0affdd0
BLAKE2b-256 c1db4a52c8a8805a25b331270a9434c9b68b3d9802133b16895a9f91cade414c

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp39-cp39-win32.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 76.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 86343fcf12b246ffc15f8561581b281d040a7652157c72280e036cd5fccee3ee
MD5 17f24dd3cfbf0feff012d8c6d230983f
BLAKE2b-256 325d55a048ea3a46ca755d991ca48957532d7d48ec303ff95ea3480bdd2fc3c9

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 330.4 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38b27523ec73fe621d45dccde1ce0d95a222c456fc6fde8cef63610c4024e78c
MD5 e8e8fd19443333c3fac1ddc8a103fd24
BLAKE2b-256 6026a3df94416fdebbaa7890198a4129bfecbca414db47bd7f74ee7322cfebd1

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 333.9 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 053554f422bad78d72427206dae44fbc6f25056890fcb60547e5d81b0e3be9ce
MD5 bca20b07dc1693cd17f24ab7b14f2231
BLAKE2b-256 eac5885ecc6d579aaa21f3e49347602d220d5a99f9b673480bde4c017fb68cfa

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp39-cp39-manylinux1_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp39-cp39-manylinux1_x86_64.whl
  • Upload date:
  • Size: 333.9 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d6d43307750cc0b4a972bef65dabd7937bfb7f3d42a71e4dd48d9169a5b19fc7
MD5 450a427f8a1ee152cc8c1dedc227c977
BLAKE2b-256 24ff15dc88ee7b8c76e241971e824efbd5ab1201cb1bdc7950ac95f6dfe5cfbd

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 95.0 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fcd95afe13bff4560f64d464171694c16dc3199a8c200b5e60edade6641541f2
MD5 af78a27c75a57d0d7395701acc19cffa
BLAKE2b-256 527abd77e81a8bfdcb25f4dbfb19e329482a1ad3acf7d9b14531f20e0dfc9467

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c0770629a4026af3c65724658083dbf608a92000a0e567cafc3b1965ed053069
MD5 8c50bbcd41770f08d9e35060409b186f
BLAKE2b-256 44288110ef03c1d4318f631f8b21eae6bdd259d2e1b191ede0d2d23e8c7e18c3

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp38-cp38-win32.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 76.8 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 2b2ded4e42d604c8a9f84a210127d6d15f9dd299cb97132236e8d714db0b59ed
MD5 83140291475e836437bcab655c1c5427
BLAKE2b-256 ce2902bf899207f230d4df8f9bfe44d43d0c2ed9832305a3d8c5af667b5d6b2f

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 330.6 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 661c3836a67eff63e9c873ca225b32371ec9bf0d16bd0f82e1f8d6d2b007eb55
MD5 21a9617d3e81aa9bed6a5a1f0eed3e89
BLAKE2b-256 0a4c8be1da0f8a27680989a230b3db9ed89d0d4ef8636f76c33ca2c2d28b50ad

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 334.1 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 880a59094086ad221ad6709018654e3cfa3d8ba27a4f8a7b2554d799fc0a1962
MD5 c61d299f14bb9e77620831e30fa47be4
BLAKE2b-256 7adc2cbdb0a6cc986c23fbc68f63cda9a139873d3fe0439170403e2af5e4fd7c

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 334.1 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 18f86f9270bc9ca5c22544b695c7f178c1047d232a99c09f65300b073f95b0fc
MD5 feea438307a7b3fce9482522a173c498
BLAKE2b-256 34110634df02bdd3b93c0869afe605c561affa12e98227681826ab93f66c6017

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 95.0 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 359310342e52b525c46210129444460c3496a097c8916852176723ae9bc7a89c
MD5 fc9d5eafd723e3444a32df418bbf782e
BLAKE2b-256 1822970df1586f04c9592b5f87ea21706c6fd493f1ebf65ce0e45f02e53ec0be

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6242977ba7c47c497fe8d3f6a88f34c1ac2c362e0841df14a47f91a85e9e9110
MD5 2c80a1f518c288dad20397884c638654
BLAKE2b-256 4772d74056c3de0dcd4d6f678bbd46d3cf6c7d67c1d0d23c8db1df96dc7c9b16

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 76.8 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 ce752787081a2af64371e3dbca79a7e94b4a4935944709416d0f8f8ef2d0289c
MD5 f945a5c739e0a9013798ac34981e6c06
BLAKE2b-256 0e656966c85d6f862091d8b14535b1efcf64a104732a7b36deaed7ec95b18c81

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 331.8 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b59648cc87961a6891084f1b9a350dcc7b56da0c74209dcadc9f341b10efd89
MD5 ae4368211a0dc338835b7908aaef999a
BLAKE2b-256 e458397896b40ab1389869b2241569acda759e847b1881afa1696b878efd682d

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 335.2 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a6b4ef7c2400e43f57a49f5cb2275643c59a4bec9d5a9b4218d1f7fa1505bf22
MD5 29f97f8727ea59499c3b47051248c301
BLAKE2b-256 de3fe5511754126987d6242ec6f4d9154404d208f6284552467667b8411eba2f

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 335.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 10178cf7456937f37b0d8c45d32906c045419f72d23d730475db846b1c9fe0b0
MD5 35890b3ba617bbffaa33d4bebcda3020
BLAKE2b-256 43332fd30c0708a5d0f226b3884f1bdaacc95641c21e59a108fd61c5b1df1078

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 94.9 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 65c4d1a4a98f6ac8d60387d7db52f34344fd3e22d9a657a6f11cc7867f59b1de
MD5 000f516ff1f501e2851ba3de18756421
BLAKE2b-256 2bf45befd267002e700c16c15c4cc6d2d5b97287c7bb76fe1503a312051120c9

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d501519e06a75e6b93d791a76d8d8f361da2de8beb1b72c818aac94b4448e361
MD5 cbf8a059aa19c61f50fe6c951b190b8f
BLAKE2b-256 4a9825efb81ccd46a545ebb81a3d77639e8b9026b697e3f652a5151a41172ae0

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp36-cp36m-win32.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 76.8 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 c96e99db4a54b27fbca45bc8c7c714eb24a365ba10d1e4b6054ccb08f20cad54
MD5 2d1f5dd3dd9f4ce0add2e3fdd31a6bb7
BLAKE2b-256 d33d2961168500faa337d94acf859c1e573acba73e08e4521241713367fcb705

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 330.8 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb60fa00d7c4930ceb4434d1b07cdd550a56db7646a8489e2597339369b7730d
MD5 f7698b026aac0e09693936a57a8e21ef
BLAKE2b-256 8a5c0222faca78c89e09283a383ef19f48a237b900124ef07109e58751352615

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 334.2 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 919bf47fdfbd5ed3e52f6b5752540469ac7b707608bb0b1e64cf2686c5b84692
MD5 01db041c1592c4aa1f90803fe23b1f72
BLAKE2b-256 1eed022d45a6f292e350e11b8eb63d0b2b0d194e280d8fb38c320f9380436754

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 334.2 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e4c0ea60688a43b8149f812b12f99e36a585957ee8840e7338db955c66d9071b
MD5 db3f90387ae646171696976f6ad520bd
BLAKE2b-256 d2ffb453f80b7d5ade9eb0d6bf5fc53c699288bb9f0404be31283219b65c6074

See more details on using hashes here.

File details

Details for the file manifest_tool-2.2.0rc3-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: manifest_tool-2.2.0rc3-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 94.9 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for manifest_tool-2.2.0rc3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aedf8b9f4fc05ced9f21e475ee0b181e3a85ba0f241785f1bf76c572fe55f940
MD5 994470123f5916961d2d61c4ff4723b4
BLAKE2b-256 95c0c3f7668c3de9da3307d2f623122be39ec3c57a2d0158e0a410ea20aba4fa

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