# packages

pkgId: 40612f1c4d8fa2a1b17184e4ed56921e202ec9317e6cfc488a09c8921db9b6d8
name: python-cfn-lsp-extra
arch: src
version: 0.7.1
epoch: 0
release: 1
summary: Cfn Lsp Extra
url: https://github.com/laurencewarne/cfn-lsp-extra
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfn-lsp-extra-0.7.1-1.src.rpm
checksum_type: sha256
description:
  ![Python Version](https://img.shields.io/pypi/pyversions/cfn-lsp-extra) [![PyPI](https://img.shields.io/pypi/v/cfn-lsp-extra)](CHANGELOG.md) [![codecov](https://codecov.io/gh/LaurenceWarne/cfn-lsp-extra/branch/master/graph/badge.svg?token=48ixiDIBpq)](https://codecov.io/gh/LaurenceWarne/cfn-lsp-extra)

  An experimental cloudformation language server (with support for SAM templates) built on top of [cfn-lint](https://github.com/aws-cloudformation/cfn-lint) and the [Cloudformation user guide](https://github.com/awsdocs/aws-cloudformation-user-guide), aiming to provide hovering, completion, etc.  YAML and JSON are supported, though YAML has more features currently implemented (for example snippets) and will give a better experience.  Trust me.

  https://user-images.githubusercontent.com/17688577/176939586-df1d9ed8-5ec6-46d5-9f26-7222644047bd.mp4



  | Method                            | Status                                                                                                                                                             |
  |-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | `textDocument/hover`              | Done for resources (in particular, required properties for a resource will be auto-expanded), resource properties, subproperties, `!Ref`s and intrinsic functions. |
  | `textDocument/completion`         | Done for resources, resource properties, subproperties, property values (for enums), refs, !GetAtts and intrinsic functions. *TODO* `Fn::GetAtt`.                  |
  | `textDocument/definition`         | Done for `!Ref`s and `!GetAtt`s.  *TODO* mappings.                                                                                                                 |
  | `textDocument/publishDiagnostics` | Done through `cfnlint`.                                                                                                                                            |

  Also checkout the [changelog](/CHANGELOG.md).



  First install the executable, [`pipx`](https://pypa.github.io/pipx/) is recommended, but you can use `pip` instead if you like to live dangerously:

  ```bash
  pipx install cfn-lsp-extra
  ```

  Or get the bleeding edge from source:

  ```bash
  pipx install git+https://github.com/laurencewarne/cfn-lsp-extra.git@$(git ls-remote git@github.com:laurencewarne/cfn-lsp-extra.git | head -1 | cut -f1)
  ```

  Updating:

  ```bash
  pipx upgrade cfn-lsp-extra
  ```



  Updates to `cfn-lsp-extra` typically lag behind [cfnlint](https://github.com/aws-cloudformation/cfn-lint) which it uses for diagnostics, which can become an irritation when it leads diagnostics from `cfn-lsp-extra` becoming outdated and new desirable lint rules not showing.  Assuming you installed `cfnlint` using `pipx`, you can use:

  ```bash
  alias cfn-lsp-extra='env PYTHONPATH=$HOME/.local/pipx/venvs/cfn-lint/lib/python<PYTHON_VERSION>/site-packages/ cfn-lsp-extra'
  ```

  To ensure `cfn-lsp-extra` uses your system `cfnlint` version.  **Note** This comes with some risk with respect to clashing dependencies, but I would expect it to generally work as long as `cfnlint` and `cfn-lsp-extra` aren't wildly out of date.



  Install the [lsp-cfn.el](https://github.com/LaurenceWarne/lsp-cfn.el) package.



  Make sure you're running at least `0.8`, then add the following in `~/.config/nvim/filetype.lua`:

  ```lua
  vim.filetype.add {
    pattern = {
      ['.*'] = {
        priority = math.huge,
        function(path, bufnr)
          local line1 = vim.filetype.getlines(bufnr, 1)
          local line2 = vim.filetype.getlines(bufnr, 2)
          if vim.filetype.matchregex(line1, [[^AWSTemplateFormatVersion]] ) or
             vim.filetype.matchregex(line1, [[AWS::Serverless-2016-10-31]] ) then
            return 'yaml.cloudformation'
          elseif vim.filetype.matchregex(line1, [[["']AWSTemplateFormatVersion]] ) or
             vim.filetype.matchregex(line2, [[["']AWSTemplateFormatVersion]] ) or
             vim.filetype.matchregex(line1, [[AWS::Serverless-2016-10-31]] ) or
             vim.filetype.matchregex(line2, [[AWS::Serverless-2016-10-31]] ) then
            return 'json.cloudformation'
          end
        end,
      },
    },
  }
  ```

  Then you can use one of:

  1. Neovim's [built-in LSP client](https://neovim.io/doc/user/lsp.html):

  ```lua
  require('lspconfig.configs').cfn_lsp = {
    default_config = {
      cmd = { os.getenv("HOME") .. '/.local/bin/cfn-lsp-extra' },
      filetypes = { 'yaml.cloudformation', 'json.cloudformation' },
      root_dir = function(fname)
        return require('lspconfig').util.find_git_ancestor(fname) or vim.fn.getcwd()
      end,
      settings = {
        documentFormatting = false,
      },
    },
  }
  require('lspconfig').cfn_lsp.setup{}
  ```

  2. [LanguageClient-neovim](https://github.com/autozimu/LanguageClient-neovim):

  ```vim
  let g:LanguageClient_serverCommands = {
      \ 'yaml.cloudformation': ['~/.local/bin/cfn-lsp-extra'],
      \ 'json.cloudformation': ['~/.local/bin/cfn-lsp-extra']
      \ }
  ```

  Patches documenting integration for other editors are very welcome!



  `cfn-lsp-extra` uses [nox](https://github.com/wntrblm/nox) for virtualenv management and [poetry](https://github.com/python-poetry/poetry) for dependency management.  You can install both of them using:

  ```bash
  pipx install nox
  pipx install poetry
  ```

  And then run tests, linting, etc (switching `3.9` for whichever Python version):

  ```bash
  nox --session tests-3.9              # unit tests
  nox --session integration-tests-3.9  # integration tests
  nox --session lint-3.9               # flake8 lints
  nox --session mypy-3.9               # mypy checks
  ```







  Note this is used by `cfn-lsp-extra` under the hood to generate [diagnostics](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnostic).  One difference with `cfn-lsp-extra` is that diagnostics will be refreshed every time you make a change to the document, in other words you don't need to save the file.



  You can use `yamlls` in conjunction with the Cloudformation schema at https://www.schemastore.org/json/ as an alternative.  For Emacs, `lsp-mode` can install `yamlls` for you, from there you could do something like:

  ```elisp
  (defun my-yamlls-cloudformation-setup ()
    ;; There's also one for serverless
    (lsp-yaml-set-buffer-schema "https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json")
    (setq-local
     lsp-yaml-custom-tags
     ["!And"
      "!Base64"
      "!Cidr"
      "!Equals"
      "!FindInMap sequence"
      "!GetAZs"
      "!GetAtt"
      "!If"
      "!ImportValue"
      "!Join sequence"
      "!Not"
      "!Or"
      "!Ref Scalar"
      "!Ref"
      "!Select"
      "!Split"
      "!Sub"
      "!fn"]))

  ;; Using the mode defined by https://www.emacswiki.org/emacs/CfnLint
  (add-hook 'cfn-yaml-mode-hook #'my-yamlls-cloudformation-setup)
  (add-hook 'cfn-yaml-mode-hook #'lsp-deferred)
  ```

  This will give you completions (and some support for value completions?), though no hover documentation.


pkgId: 2168e711ff371a3eb8468d662f1047ac9f3e9aaaf629c248ed2087bcb1730d75
name: python-cfn-policy-validator
arch: src
version: 0.0.35
epoch: 0
release: 1
url: https://github.com/awslabs/aws-cloudformation-iam-policy-validator
rpm_license: MIT-0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfn-policy-validator-0.0.35-1.src.rpm
checksum_type: sha256
summary:
  Parses IAM identity-based and resource-based policies from a CloudFormation template and runs them through IAM Access Analyzer checks.

description:
  A command line tool that takes a CloudFormation template, parses the IAM policies attached to IAM roles, users, groups, and resources then runs them through IAM Access Analyzer for basic policy validation checks and for custom policy checks. Note that a charge is associated with each custom policy check. For more details about pricing, see [IAM Access Analyzer pricing](https://aws.amazon.com/iam/access-analyzer/pricing/).



  Installation:

  Python 3.6+ is supported.

  ```
  pip install cfn-policy-validator
  ```
  Basic usage:
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1
  ```

  Interactive workshop that walks through use of the cfn-policy-validator tool in a CI/CD pipeline:
  https://workshops.aws/card/Integrating%20IAM%20Access%20Analyzer



  The cfn-policy-validator is designed to prevent the deployment of unwanted IAM identity-based and resource-based policies to your AWS environment.

  CloudFormation templates commonly use [intrinsic functions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) in templates that create least privilege IAM policies.  Take a look at the template below which creates an SQS queue with an attached SQS queue policy.

  ```json
  {
    "Resources": {
      "MyQueue": {
        "Type": "AWS::SQS::Queue"
      },
      "MyQueuePolicy": {
        "Type": "AWS::SQS::QueuePolicy",
        "Properties": {
          "PolicyDocument": {
            "Version": "2012-10-17",
            "Statement": [{
                "Action": [
                  "sqs:SendMessage",
                  "sqs:ReceiveMessage"
                ],
                "Effect": "Allow",
                "Resource": {
                  "Fn::GetAtt": ["MyQueue", "Arn"]
                },
                "Principal": "*"
              }]
          },
          "Queues": [{"Ref": "MyQueue"}]
        }
      }
    }
  }
  ```

  Extracting the queue policy from this template as is would not give you a valid IAM policy.  The line `Fn:GetAtt: ["MyQueue", "Arn"]` is not valid IAM policy syntax - this is syntax specific to CloudFormation. The IAM Policy Validator for AWS CloudFormation (cfn-policy-validator) evaluates these intrinsic functions, like Fn:GetAtt, substituting similar or identical values to what you will get when you deploy the template.  This allows it to extract the IAM policies from the template and send them to IAM Access Analyzer, which validates the policies against checks for best practices, external access, and your custom security standard.

  The cfn-policy-validator returns a non-zero exit code when findings in IAM policies are detected and is designed to be run in a CI/CD pipeline to prevent the deployment of unwanted IAM policies to your AWS environment.




  **validate**

  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1
  ```

  Parses IAM identity-based and resource-based policies from AWS CloudFormation templates and evaluated CloudFormation intrinsic functions and pseudo parameters. Then runs the policies through IAM Access Analyzer for validation. Returns the findings from validation in JSON format.
  Exits with a non-zero error code if any findings categorized as blocking are found in your template.  Exits with an error code of zero if all findings are non-blocking or there are no findings.


  | Arguments | Required |  Options | Description |
  | --------- | -------- | ---------| ----------- |
  | --template-path | Yes | FILE_NAME | The path to the CloudFormation template. |
  | --region | Yes | REGION | The destination region the resources will be deployed to. |
  | --parameters | | KEY=VALUE [KEY=VALUE ...] | Keys and values for CloudFormation template parameters.  Only parameters that are referenced by IAM policies in the template are required. |
  | --template-configuration-file | | FILE_PATH.json | A JSON formatted file that specifies template parameter values, a stack policy, and tags. Only parameters are used from this file.  Everything else is ignored. Identical values passed in the --parameters flag override parameters in this file. See CloudFormation documentation for file format: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab1c21c15c15
  | --profile | | PROFILE | The named profile to use for AWS API calls. |
  | --enable-logging | | | Enables log output to stdout |
  | --ignore-finding | | FINDING_CODE,RESOURCE_NAME,RESOURCE_NAME.FINDING_CODE | Allow validation failures to be ignored. Specify as a comma separated list of findings to be ignored. Can be individual finding codes (e.g. "PASS_ROLE_WITH_STAR_IN_RESOURCE"), a specific resource name (e.g. "MyResource"), or a combination of both separated by a period.(e.g. "MyResource.PASS_ROLE_WITH_STAR_IN_RESOURCE").  Names of finding codes may change in IAM Access Analyzer over time.
  | --treat-finding-type-as-blocking | | ERROR,SECURITY_WARNING,WARNING,SUGGESTION,NONE | Specify which finding types should be treated as blocking. Other finding types are treated as nonblocking.  If the tool detects any blocking finding types, it will exit with a non-zero exit code.  If all findings are nonblocking or there are no findings, the tool exits with an exit code of 0.  Defaults to "ERROR" and "SECURITY_WARNING". Specify as a comma separated list of finding types that should be blocking. Pass "NONE" to ignore all findings. |
  | --allow-external-principals | | ACCOUNT,ARN | A comma separated list of external principals that should be ignored.  Specify as a comma separated list of a 12 digit AWS account ID, a federated web identity user, a federated SAML user, or an ARN. Specify "*" to allow anonymous access. (e.g. 123456789123,arn:aws:iam::111111111111:role/MyOtherRole,graph.facebook.com) |
  | --allow-dynamic-ref-without-version | | | Override the default behavior and allow dynamic SSM references without version numbers.  The version number ensures that the SSM parameter value that was validated is the one that is deployed. |
  | --exclude-resource-types | | AWS::SERVICE::RESOURCE, AWS::SERVICE::RESOURCE | List of comma-separated resource types. Resource types should be the same as Cloudformation template resource names such as AWS::IAM::Role, AWS::S3::Bucket |

  **check-no-new-access**

  ```bash
  cfn-policy-validator check-no-new-access --template-path ./my-template.json --region us-east-1 --reference-policy ./my-reference-policy.json --reference-policy-type identity
  ```

  Parses IAM identity-based and resource-based policies from AWS CloudFormation templates and evaluated CloudFormation intrinsic functions and pseudo parameters. Then runs the policies through IAM Access Analyzer for a custom check against a reference policy. Returns the findings from the custom check in JSON format. Exits with a non-zero error code if any findings categorized as blocking, based on new access, are found in your template. Exits with an error code of zero if all findings are non-blocking or there are no findings. You can find examples for reference policies and learn how to set up and run a custom policy check for new access in the [IAM Access Analyzer custom policy checks samples](https://github.com/aws-samples/iam-access-analyzer-custom-policy-check-samples) repository on GitHub.


  | Arguments | Required |  Options | Description |
  | --------- | -------- | ---------| ----------- |
  | --template-path | Yes | FILE_NAME | The path to the CloudFormation template. |
  | --region | Yes | REGION | The destination region the resources will be deployed to. |
  | --parameters | | KEY=VALUE [KEY=VALUE ...] | Keys and values for CloudFormation template parameters.  Only parameters that are referenced by IAM policies in the template are required. |
  | --template-configuration-file | | FILE_PATH.json | A JSON formatted file that specifies template parameter values, a stack policy, and tags. Only parameters are used from this file.  Everything else is ignored. Identical values passed in the --parameters flag override parameters in this file. See CloudFormation documentation for file format: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab1c21c15c15
  | --profile | | PROFILE | The named profile to use for AWS API calls. |
  | --enable-logging | | | Enables log output to stdout |
  | --ignore-finding | | FINDING_CODE,RESOURCE_NAME,RESOURCE_NAME.FINDING_CODE | Allow validation failures to be ignored. Specify as a comma separated list of findings to be ignored. Can be individual finding codes (e.g. "PASS_ROLE_WITH_STAR_IN_RESOURCE"), a specific resource name (e.g. "MyResource"), or a combination of both separated by a period.(e.g. "MyResource.PASS_ROLE_WITH_STAR_IN_RESOURCE").  Names of finding codes may change in IAM Access Analyzer over time.
  | --reference-policy | Yes | FILE_PATH.json | A JSON formatted file that specifies the path to the reference policy that is used for a permissions comparison.   |
  | --reference-policy-type | Yes | IDENTITY or RESOURCE | The policy type associated with the IAM policy under analysis and the reference policy.  |
  | --treat-findings-as-non-blocking | | | When not specified, the tool detects any findings, it will exit with a non-zero exit code. When specified, the tool exits with an exit code of 0. |
  | --allow-dynamic-ref-without-version | | | Override the default behavior and allow dynamic SSM references without version numbers.  The version number ensures that the SSM parameter value that was validated is the one that is deployed. |
  | --exclude-resource-types | | AWS::SERVICE::RESOURCE, AWS::SERVICE::RESOURCE | List of comma-separated resource types. Resource types should be the same as Cloudformation template resource names such as AWS::IAM::Role, AWS::S3::Bucket |

  **check-access-not-granted**
  ```bash
  cfn-policy-validator check-access-not-granted --template-path ./my-template.json --region us-east-1 --actions "secretsmanager:DeleteSecret"
  ```

  Parses IAM identity-based and resource-based policies from AWS CloudFormation templates. Then runs the policies through IAM Access Analyzer for a custom check against a list of IAM actions and/or resource ARNs. If both actions and resources are provided, a custom check will be run to determine whether access is granted to allow the specified actions on the specified resources. Returns the findings from the custom check in JSON format. Exits with a non-zero error code if any findings categorized as blocking, based on access granted to at least one of the listed IAM actions and/or resources, are found in your template. Exits with an error code of zero if all findings are non-blocking or there are no findings.

  | Arguments | Required |  Options | Description |
  | --------- | -------- | ---------| ----------- |
  | --template-path | Yes | FILE_NAME | The path to the CloudFormation template. |
  | --region | Yes | REGION | The destination region the resources will be deployed to. |
  | --parameters | | KEY=VALUE [KEY=VALUE ...] | Keys and values for CloudFormation template parameters.  Only parameters that are referenced by IAM policies in the template are required. |
  | --template-configuration-file | | FILE_PATH.json | A JSON formatted file that specifies template parameter values, a stack policy, and tags. Only parameters are used from this file.  Everything else is ignored. Identical values passed in the --parameters flag override parameters in this file. See CloudFormation documentation for file format: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab1c21c15c15
  | --profile | | PROFILE | The named profile to use for AWS API calls. |
  | --enable-logging | | | Enables log output to stdout |
  | --ignore-finding | | FINDING_CODE,RESOURCE_NAME,RESOURCE_NAME.FINDING_CODE | Allow validation failures to be ignored. Specify as a comma separated list of findings to be ignored. Can be individual finding codes (e.g. "PASS_ROLE_WITH_STAR_IN_RESOURCE"), a specific resource name (e.g. "MyResource"), or a combination of both separated by a period.(e.g. "MyResource.PASS_ROLE_WITH_STAR_IN_RESOURCE").  Names of finding codes may change in IAM Access Analyzer over time.
  | --actions | At least one of actions or resources is required. | ACTION,ACTION,ACTION | List of comma-separated actions. |
  | -- resources | At least one of actions or resources is required. | RESOURCE,RESOURCE,RESOURCE | List of comma-separated resource ARNs, maximum 100 resources ARNs. |
  | --treat-findings-as-non-blocking | | | When not specified, the tool detects any findings, it will exit with a non-zero exit code. When specified, the tool exits with an exit code of 0. |
  | --allow-dynamic-ref-without-version | | | Override the default behavior and allow dynamic SSM references without version numbers.  The version number ensures that the SSM parameter value that was validated is the one that is deployed. |
  | --exclude-resource-types | | AWS::SERVICE::RESOURCE, AWS::SERVICE::RESOURCE | List of comma-separated resource types. Resource types should be the same as Cloudformation template resource names such as AWS::IAM::Role, AWS::S3::Bucket |

  **check-no-public-access**
  ```bash
  cfn-policy-validator check-no-public-access --template-path ./my-template.json --region us-east-1
  ```

  Parses resource-based policies from AWS CloudFormation templates. Then runs the policies through IAM Access Analyzer for a custom check for public access to resources. Returns the findings from the custom check in JSON format. Exits with a non-zero error code if any findings categorized as blocking, based on whether public access is granted to at least one of the resources, are found in your template. Exits with an error code of zero if all findings are non-blocking or there are no findings.

  | Arguments | Required |  Options | Description |
  | --------- | -------- | ---------| ----------- |
  | --template-path | Yes | FILE_NAME | The path to the CloudFormation template. |
  | --region | Yes | REGION | The destination region the resources will be deployed to. |
  | --parameters | | KEY=VALUE [KEY=VALUE ...] | Keys and values for CloudFormation template parameters.  Only parameters that are referenced by IAM policies in the template are required. |
  | --template-configuration-file | | FILE_PATH.json | A JSON formatted file that specifies template parameter values, a stack policy, and tags. Only parameters are used from this file.  Everything else is ignored. Identical values passed in the --parameters flag override parameters in this file. See CloudFormation documentation for file format: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab1c21c15c15
  | --profile | | PROFILE | The named profile to use for AWS API calls. |
  | --enable-logging | | | Enables log output to stdout |
  | --ignore-finding | | FINDING_CODE,RESOURCE_NAME,RESOURCE_NAME.FINDING_CODE | Allow validation failures to be ignored. Specify as a comma separated list of findings to be ignored. Can be individual finding codes (e.g. "PASS_ROLE_WITH_STAR_IN_RESOURCE"), a specific resource name (e.g. "MyResource"), or a combination of both separated by a period.(e.g. "MyResource.PASS_ROLE_WITH_STAR_IN_RESOURCE").  Names of finding codes may change in IAM Access Analyzer over time.
  | --treat-findings-as-non-blocking | | | When not specified, the tool detects any findings, it will exit with a non-zero exit code. When specified, the tool exits with an exit code of 0. |
  | --allow-dynamic-ref-without-version | | | Override the default behavior and allow dynamic SSM references without version numbers.  The version number ensures that the SSM parameter value that was validated is the one that is deployed. |
  | --exclude-resource-types | | AWS::SERVICE::RESOURCE, AWS::SERVICE::RESOURCE | List of comma-separated resource types. Resource types should be the same as Cloudformation template resource names such as AWS::IAM::Role, AWS::S3::Bucket |

  **parse**

  ```bash
  cfn-policy-validator parse --template-path ./my-template.json --region us-east-1
  ```

  Parses IAM identity-based and resource-based policies from AWS CloudFormation templates and evaluates CloudFormation intrinsic functions and pseudo parameters.  Returns the parsed file in JSON format.  This command does not make any calls to IAM Access Analyzer.  Parse can be a useful troubleshooting tool or useful if you just want the CloudFormation function evaluation.

  | Arguments | Required |  Options | Description |
  | --------- | -------- | ---------| ----------- |
  | --template-path | Yes | FILE_NAME | The path to the CloudFormation template. |
  | --region | Yes | REGION | The destination region the resources will be deployed to. |
  | --parameters | | KEY=VALUE [KEY=VALUE ...] | Keys and values for CloudFormation template parameters.  Only parameters that are referenced by IAM policies in the template are required. |
  | --template-configuration-file | | FILE_PATH.json | A JSON formatted file that specifies template parameter values, a stack policy, and tags. Everything except for parameters are ignored from this file. Identical values passed in the --parameters flag override parameters in this file. See CloudFormation documentation for file format: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab1c21c15c15
  | --profile | | PROFILE | The named profile to use for AWS API calls. |
  | --enable-logging | | | Enables log output to stdout |
  | --allow-dynamic-ref-without-version | | | Override the default behavior and allow dynamic SSM references without version numbers.  The version number ensures that the SSM parameter value that was validated is the one that is deployed. |
  | --exclude-resource-types | | AWS::SERVICE::RESOURCE, AWS::SERVICE::RESOURCE | List of comma-separated resource types. Resource types should be the same as Cloudformation template resource names such as AWS::IAM::Role, AWS::S3::Bucket |



  | CloudFormation Resource Type | Policy best practice checks | Access previews (check for external access) | Custom Policy Check (public access)
  | ---------------------------- | :----------------: | :-----------------------------------------: | :-----------------------------------------:
  | AWS::KMS::Key                | x                  | x | x |
  | AWS::Lambda::Permission      | x                  | | x |
  | AWS::Lambda::LayerVersionPermission | x           | | x |
  | AWS::S3::BucketPolicy        | x                  | x | x |
  | AWS::S3::AccessPoint         | x                  | x | x |
  | AWS::S3::MultiRegionAccessPoint | x | x |
  | AWS::SQS::QueuePolicy        | x                  | x | x |
  | AWS::SNS::TopicPolicy        | x                  | | x |
  | AWS::SecretsManager::ResourcePolicy | x           | | x |
  | AWS::IAM::Role (trust policy) | x | x | x |



  The functions in the following list can be used within IAM identity-based or resource-based policies.  The tool only attempts to evaluate intrinsic functions within policies, so you can still use intrinsic functions not on this list elsewhere in your template.

  Supported intrinsic functions
  - Fn::FindInMap
  - Fn::GetAtt
  - Fn::ImportValue
  - Fn::Join
  - Fn::Select
  - Fn::Split
  - Fn::Sub
  - Ref
  - Fn::If
  - Fn::Equals
  - Condition
  - Fn::Not
  - Fn::And
  - Fn::Or

  Supported pseudo parameters:
  - AWS::Region
  - AWS::AccountId
  - AWS::Partition
  - AWS::StackName (returns the literal string "StackName")
  - AWS::NoValue

  [Dynamic SSM references](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) are supported, but must have a version number.  This is to help ensure the same parameter that is validated is the one that is deployed.  This restriction can be overridden with the --allow-dynamic-ref-without-version argument.

  SSM-Secure and SecretsManager dynamic references are not yet supported.

  Notes:
  - Fn::Transform (includes macros and AWS::Serverless/SAM transforms) not yet supported
  - References (Ref/GetAtt) to CloudFormation modules are not yet supported
  - A [condition function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html) may have different behavior when deployed if you use the ```Ref``` function in the condition. This is because the tool is unable to accurately provide a value for references that are not known until deployment.



  The cfn-policy-validator should be run using credentials from the AWS account that you plan to deploy the CloudFormation template to. The tool uses boto3 to interact with your AWS account. You can use one of the following methods to specify credentials:

  - Environment variables
  - Shared credential file (~/.aws/credentials)
  - AWS config file (~/.aws/config)
  - Assume Role provider
  - Instance metadata service on an Amazon EC2 instance that has an IAM role configured.

  [Read more about these options](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)

  You can also specify a [named profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) using the --profile command line flag.

  The principal used to execute the cfn-policy-validator requires the following permissions.



  ```json
  {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "access-analyzer:ListAnalyzers",
                "access-analyzer:ValidatePolicy",
                "access-analyzer:CreateAccessPreview",
                "access-analyzer:GetAccessPreview",
                "access-analyzer:ListAccessPreviewFindings",
                "access-analyzer:CreateAnalyzer",
                "access-analyzer:CheckNoNewAccess",
                "access-analyzer:CheckAccessNotGranted",
                "access-analyzer:CheckNoPublicAccess",
                "s3:ListAllMyBuckets",
                "cloudformation:ListExports",
                "ssm:GetParameter"
              ],
              "Resource": "*"
          },
          {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "iam:AWSServiceName": "access-analyzer.amazonaws.com"
              }
            }
          }
      ]
  }
  ```

  | Action Name| Justification |
  | ---------- | ------------- |
  | iam:GetPolicy | Read IAM managed policies from your environment if included in an IAM user, role, or group. |
  | iam:GetPolicyVersion | Read IAM managed policies from your environment if included in an IAM user, role, or group. |
  | access-analyzer:ListAnalyzers | Detect if there is an existing analyzer in your account.  |
  | access-analyzer:ValidatePolicy | Called for each policy to validate against IAM policy best practices. |
  | access-analyzer:CreateAccessPreview | Generate access previews. |
  | access-analyzer:GetAccessPreview | Retrieve generated access previews.  |
  | access-analyzer:ListAccessPreviewFindings | Retrieve findings from access preview. |
  | access-analyzer:CreateAnalyzer | (Optional) Create an analyzer if one does not already exist in the account.  Optional if account has analyzer already. |
  | access-analyzer:CheckNoNewAccess | Called for each policy to validate against a reference policy to compare permissions. |
  | access-analyzer:CheckAccessNotGranted | Called for each policy to validate that it does not grant access to a list of IAM actions, considered as critical permissions, provided as input. |
  | access-analyzer:CheckNoPublicAccess | Called for each policy to validate that it does not grant public access to supported resource types. |
  | iam:CreateServiceLinkedRole | (Optional) Create a service linked role if an analyzer must be created in account.  Optional if account has analyzer already. |
  | s3:ListAllMyBuckets | Retrieve the canonical ID of the account. |
  | cloudformation:ListExports | List CloudFormation exports to be used with Fn::ImportValue  |
  | ssm:GetParameter | Resolution of dynamic ssm parameter references |





  One of the biggest challenges of parsing IAM policies within a CloudFormation template is dealing with Ref and Fn::GetAtt references to other resources within the template. These references commonly return ARNs whose exact value is unknown until the resource is created.

  The tool deals with this by autogenerating appropriate ARNs for the referenced resource.  The autogenerated ARN will have a valid ARN structure for that resource and a randomly generated name.  The tool can do this and still provide valid IAM finding results because the structure of the ARN is what is important, not the value of the resource name.

  The tool maps AWS CloudFormation resource types to ARN patterns and does token replacement on the patterns.  The mapping can be seen in cfn_policy_validator/parsers/utils/cfn_to_arn_map.json



  The cfn-policy-validator will create an analyzer for you if you don't have one in your account.  Analyzers for access previews are per account and not per organization.



  Access previews take in the entire context of your AWS account, not just the S3 bucket policy.  If your account level block public access flag is enabled, IAM Access Analyzer correctly classifies your bucket as not publicly accessible and no findings are reported.



  Creating an access preview for a SecretsManager Secret requires a KMSKeyId.  The cfn-policy-validator does not yet support parsing the KMS Key from the environment.  When no KMSKeyId is supplied, the CreateAccessPreview API uses the default CMK in the account which is not externally accessible.



  CheckNoPublicAccess custom policy checks differ from Access Previews because CheckNoPublicAccess checks do not require any account or external access analyzer context. Note that a charge is associated with each custom policy check.




  Basic validate call
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1
  ```

  Basic custom policy check calls
  ```bash
  cfn-policy-validator check-no-new-access --template-path ./my-template.json --region us-east-1 --reference-policy ./my-reference-policy.json --reference-policy-type identity
  cfn-policy-validator check-access-not-granted --template-path ./my-template.json --region us-east-1 --actions "secretsmanager:DeleteSecret"
  ```

  Basic parse call
  ```bash
  cfn-policy-validator parse --template-path ./my-template.json --region us-east-1
  ```

  Validate with parameters
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --parameters MyParameter1=MyValue1 MyParameter2=MyValue2
  ```

  Custom policy check with parameters
  ```bash
  cfn-policy-validator check-no-new-access --template-path ./my-template.json --region us-east-1 --reference-policy ./my-reference-policy.json --reference-policy-type identity --parameters MyParameter1=MyValue1 MyParameter2=MyValue2
  cfn-policy-validator check-access-not-granted --template-path ./my-template.json --region us-east-1 --actions "secretsmanager:DeleteSecret" --parameters MyParameter1=MyValue1 MyParameter2=MyValue2
  ```

  Validate with template configuration file
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --template-configuration-file ./template-configuration-file.json
  ```

  Validate and ignore findings for a specific finding code for all resources
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --ignore-finding PASS_ROLE_WITH_STAR_IN_RESOURCE
  ```

  Validate and ignore findings for a specific resource
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --ignore-finding MyResource1
  ```

  Custom policy check and ignore findings for a specific resource
  ```bash
  cfn-policy-validator check-no-new-access --template-path ./my-template.json --region us-east-1 --reference-policy ./my-reference-policy.json --reference-policy-type identity --ignore-findings MyResource1
  cfn-policy-validator check-access-not-granted --template-path ./my-template.json --region us-east-1 --actions "secretsmanager:DeleteSecret" --ignore-findings MyResource1
  ```

  Custom policy check and ignore findings for a specific resource
  ```bash
  cfn-policy-validator check-no-new-access --template-path ./my-template.json --region us-east-1 --reference-policy ./my-reference-policy.json --reference-policy-type identity --ignore-findings MyResource1
  cfn-policy-validator check-access-not-granted --template-path ./my-template.json --region us-east-1 --actions "secretsmanager:DeleteSecret" --ignore-findings MyResource1
  ```

  Validate and ignore all findings for `MyResource1` and finding code `PASS_ROLE_WITH_STAR_IN_RESOURCE` for all resources
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --ignore-finding MyResource1,PASS_ROLE_WITH_STAR_IN_RESOURCE
  ```

  Validate and treat warnings as blocking in addition to ERROR and SECURITY_WARNING (defaults)
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --treat-finding-type-as-blocking ERROR,SECURITY_WARNING,WARNING
  ```

  Custom policy check and treat findings as non-blocking
  ```bash
  cfn-policy-validator check-no-new-access --template-path ./my-template.json --region us-east-1 --reference-policy ./my-reference-policy.json --reference-policy-type identity --treat-findings-as-non-blocking
  cfn-policy-validator check-access-not-granted --template-path ./my-template.json --region us-east-1 --actions "secretsmanager:DeleteSecret" --ignore-findings MyResource1 --treat-findings-as-non-blocking
  ```

  Validate and ignore findings from account 123456789123 for cross account access
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --allow-external-principals 123456789123
  ```

  Validate and ignore findings from a role in another account
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --allow-external-principals arn:aws:iam::111111111111:role/MyOtherRole
  ```

  Validate and allow anonymous access (this is usually not what you want, make sure you have a good reason to allow anonymous access)
  ```bash
  cfn-policy-validator validate --template-path ./my-template.json --region us-east-1 --allow-external-principals "*"
  ```


pkgId: a1fa2ba89d6c86030bc4186ae8fde44db3a56feb83b5cd94b739a87dc901268f
name: python-cfn-resource-provider
arch: src
version: 1.2.1
epoch: 0
release: 1
summary: A base class for AWS CloudFormation Custom Resource Providers.
url: https://github.com/binxio/cfn-resource-provider
rpm_license: UNKNOWN
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfn-resource-provider-1.2.1-1.src.rpm
checksum_type: sha256
description:
  This ResourceProvider base class makes it very simple to implement a Custom CloudFormation Resource.

  First, you inherit from the base class and specify a JSON schema which defines the resource properties you require::

      from cfn_resource_provider import ResourceProvider

      class SecretProvider(ResourceProvider):
          def __init__(self):
                  super(SecretProvider, self).__init__()
                  self.request_schema =  {
                      "type": "object",
                      "required": ["Name"],
                      "properties": {
                          "Name": {"type": "string",
                                   "minLength": 1,
                                   "pattern": "[a-zA-Z0-9_/]+",
                                   "description": "the name of the value in the parameters store"},
                          "Description": {"type": "string",
                                          "default": "",
                                          "description": "the description of the value in the parameter store"},
                          "Alphabet": {"type": "string",
                                       "default": "abcdfghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_",
                                       "description": "the characters from which to generate the secret"},
                          "ReturnSecret": {"type": "boolean",
                                           "default": False,
                                           "description": "return secret as attribute 'Secret'"},
                          "KeyAlias": {"type": "string",
                                       "default": "alias/aws/ssm",
                                       "description": "KMS key to use to encrypt the value"},
                          "Length": {"type": "integer",
                                     "minimum": 1, "maximum": 512,
                                     "default": 30,
                                     "description": "length of the secret"}
                      }
                  }

  The JSON schema allows you to specify the expected properties, constraints and default values.
  After that, you only need to implement the methods `create`, `update` and `delete`::

      class SecretProvider(ResourceProvider):
          ...
          def create(self):
              try:
                  value = "".join(choice(self.get('Alphabet') for x in range(0, self.get('Length')))
                  self.ssm.put_parameter(Name=self.get('Name'), KeyId=self.get('KeyAlias'),
                                         Type='SecureString', Overwrite=False, Value=value)
                  self.set_attribute('Arn', self.arn)
                  if self.get('ReturnSecret'):
                      self.set_attribute('Secret', value)

                  self.physical_resource_id = self.arn
              except ClientError as e:
                  self.physical_resource_id = 'could-not-create'
                  self.fail(str(e))

          def update(self):
              ....

          def delete(self):
              ....

  In these methods, you can safely access all the properties defined in your JSON schema. The methods
  are only called after validation of the request against your schema.

  - to return values which can be accessed by `Fn::GetAtt`, you can call the method `set_attribute`.
  - to return a resource id for your resource, you can set the property `physical_resource_id`.
  - to indicate a failed request, you can call the method `fail`.
  - to indicate a succesful request, you can call the method `success`.

  Finally, at the end of your module implement the AWS Lambda handle function::

      provider = SecretProvider()
      def handle(request, context):
          provider.handle(request, context)


  **Processing boolean and integer properties**

  AWS CloudFormation passes all properties in  string format, eg 'true', 'false', '123'. This does not go down well with the json schema validator. Therefore, before the validator is called, it calls the method `convert_property_types`. Use this method to do the conversion of the non string properties::

     def convert_property_types(self):
          try:
              if 'Length' in self.properties and isinstance(self.properties['Length'], (str, unicode,)):
                  self.properties['Length'] = int(self.properties['Length'])
              if 'ReturnSecret' in self.properties and isinstance(self.properties['ReturnSecret'], (str, unicode,)):
                  self.properties['ReturnSecret'] = (self.properties['ReturnSecret'] == 'true')
          except ValueError as e:
              log.error('failed to convert property types %s', e)

  it is ok if you cannot convert the values: the validator will report the error for you :-)

  Alternatively, you may use the `heuristic_convert_property_types` method::

     def convert_property_types(self):
          self.heuristic_convert_property_types(self.properties)

  it will convert all integer strings to int type, and 'true' and 'false' strings to a boolean type. Recurses through your dictionary.

  **Using SNS Backed custom resource provider**

  Next to AWS Lambda you can also use a SNS Topic to handle your custom resources. AWS calls these `Amazon Simple Notification Service-backed custom resources <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources-sns.html>`_.
  When you subscribe your AWS Lambda function to this topic the `event` structure is different than when you directly invoke the Lambda function using a custom resource.
  The payload of a Lambda function that is invoked via a SNS Topic contains 1 or more events. For this reason we provide a `SnsEnvelope` class that will process each event in the event::

      def handler(request, context):
          provider = SnsEnvelope(SampleProvider)
          requests = provider.handle(request, context)

  The `SampleProvider` is the same provider that you directly would use. But by passing it into the envelope class it will be used for each event in the payload.


pkgId: bb90172a2e176a88b26e409145a734e03fa1a34cf89ce6c35d884d299152567f
name: python-cfn-sync
arch: src
version: 0.0.11
epoch: 0
release: 1
summary: Deploy CloudFormation stacks synchronously and watch the events
url: https://github.com/samjarrett/cfn-sync
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfn-sync-0.0.11-1.src.rpm
checksum_type: sha256
description:
  Deploy CloudFormation stacks synchronously using syntax similar to `aws cloudformation deploy`, and watch the events
  scroll until the create or update completes.


pkgId: 3a29c699ea70636da390c9488a6f9739ca0c7937632959ba40e0c44376d71ed7
name: python-cfn-tools
arch: src
version: 0.1.6
epoch: 0
release: 1
summary: Tools for AWS CloudFormation
url: https://github.com/boroivanov/cfn-tools
rpm_license: MIT license
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfn-tools-0.1.6-1.src.rpm
checksum_type: sha256
description:
  * GitHub: https://github.com/boroivanov/cfn-tools
  * PyPI: https://pypi.python.org/pypi/cfn-tools
  Tools for AWS CloudFormation
  * list stacks
  * diff a stack and a template
  * diff two stacks
  * validate a template


pkgId: ac87f269913a3bf434f9d17035808244b7ed6e74097ac9d32fd8e1761cde69de
name: python-cfn_resource
arch: src
version: 0.2.3
epoch: 0
release: 1
summary: Wrapper decorators for building CloudFormation custom resources
url: https://github.com/ryansb/cfn-wrapper-python
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfn_resource-0.2.3-1.src.rpm
checksum_type: sha256
description:
  This project is a decorator and validation system that takes the drudgery out
  of writing custom resources. You still have access to the context and event as
  normal, but the decorator handles serializing your response and communicating
  results to CloudFormation.

  See [cfn-lambda](https://github.com/andrew-templeton/cfn-lambda) from Andrew
  Templeton if you're looking to write your custom resources in Node.js.



  1. Copy `cfn_resource.py` into the directory of your lambda function handler.py
  1. Use the `cfn_resource.Resource` event decorators to decorate your handler
     like in `example.py`
  1. Zip up the contents and upload to Lambda

  Once the function is up, copy its ARN and use it as the ServiceToken for your
  [custom resource][rsrc]. For more on the requests you may receive, see
  [this document][reqdocs]

  ```json
  {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Resources": {
          "FakeThing": {
              "Type": "Custom::MyResource",
              "Properties": {
                  "ServiceToken": "arn:aws:lambda:SOME-REGION:ACCOUNT:function:FunctionName",
                  "OtherThing": "foobar",
                  "AnotherThing": 2
              }
          }
      }
  }
  ```

  For more on how custom resources work, see the [AWS docs][docs]



  For this example, you need to have your handler in Lambda set as
  `filename.handler` where filename has the below contents.

  ```
  import cfn_resource


  handler = cfn_resource.Resource()

  @handler.create
  def create_thing(event, context):
      
      return {"PhysicalResourceId": "arn:aws:fake:myID"}

  @handler.update
  def update_thing(event, context):
      
      return {"PhysicalResourceId": "arn:aws:fake:myID"}
  ```



  To run the tests locally, you need Python 2.7 and `pip`. Ideally, you should
  use a virtualenv.

  ```
  $ pip install -r test-requirements.txt
  $ py.test
  ```

  The tests use `mock` and `py.test` and will give you a terminal coverage
  report. Currently the tests cover ~90% of the (very small) codebase.



  This code is released under the MIT software license, see LICENSE.txt for
  details. No warranty of any kind is included, and the copyright notice must be
  included in redistributions.

  [rsrc]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html
  [docs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html
  [reqdocs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html


pkgId: 2c65ac3ff440f099331efdb5733491a7496c69b1cae921d1b2c5875f7bc928d2
name: python-cfncluster
arch: src
version: 1.6.1
epoch: 0
release: 1
summary: A simple tool to launch and manage HPC clusters as CloudFormation stacks.
url: https://github.com/awslabs/cfncluster
rpm_license: Apache License 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfncluster-1.6.1-1.src.rpm
checksum_type: sha256
description:
  cfncluster is an example framework for launching clusters.

      usage: cfncluster [-h]
                        {create,update,delete,start,stop,status,list,instances,ssh,configure,version}
                        ...

      cfncluster is a tool to launch and manage a cluster.

      positional arguments:
        {create,update,delete,start,stop,status,list,instances,ssh,configure,version}
          create              creates a cluster
          update              update a running cluster
          delete              delete a cluster
          start               start the compute fleet that has been stopped
          stop                stop the compute fleet, but leave the master server
                              running for debugging/development
          status              pull the current status of the cluster
          list                display a list of stacks associated with cfncluster
          instances           display a list of all instances in a cluster
          ssh                 connect to the master server using SSH
          configure           creating initial cfncluster configuration
          version             display version of cfncluster

      optional arguments:
        -h, --help            show this help message and exit

      For command specific flags run cfncluster [command] --help


pkgId: 0843b89cfcc3ce61cdee1fe1f476a46e4b168e675e8d5033bcda98013a5a95a0
name: python-cfnresponse
arch: src
version: 1.1.5
epoch: 0
release: 1
summary: Send a response object to a custom resource by way of an Amazon S3 presigned URL
url: https://github.com/gene1wood/cfnresponse
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfnresponse-1.1.5-1.src.rpm
checksum_type: sha256
description:
  [![PyPi Version](https://badgen.net/pypi/v/cfnresponse)](https://pypi.org/project/cfnresponse/)

  This package contains the Amazon Web Services (AWS) cfnresponse module which is
  available in Python AWS Lambda environments.

  The code for this module can be found [in the AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html#w2ab1c23c23c16b9c15)
  and in the [awslabs GitHub repo](https://github.com/awslabs/aws-cloudformation-templates/blob/master/aws/services/CloudFormation/MacrosExamples/StackMetrics/lambda/cfnresponse.py)

  You can compare the code in `awslabs` with this pypi package with this command

  ```
  if [ "$(curl -s https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/services/CloudFormation/MacrosExamples/StackMetrics/lambda/cfnresponse.py | sha256sum)" = "$(curl -s https://raw.githubusercontent.com/gene1wood/cfnresponse/master/cfnresponse/__init__.py | sha256sum)" ]; then echo "GitHub matches AWS"; else echo "GitHub does not match AWS"; fi
  if [ "$(curl -s https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/services/CloudFormation/MacrosExamples/StackMetrics/lambda/cfnresponse.py | sha256sum)" = "$(wget --quiet https://files.pythonhosted.org/packages/f9/b7/76b0abe8003a797ab535cae77e39568092eff18ac0e8e10fa9ffa245e5d3/cfnresponse-1.1.4-py2.py3-none-any.whl && unzip -p cfnresponse-1.1.4-py2.py3-none-any.whl cfnresponse/__init__.py | sha256sum && rm cfnresponse-1.1.4-py2.py3-none-any.whl)" ]; then echo "PyPi matches AWS"; else echo "PyPi does not match AWS"; fi
  ```

  This module [used to use the vendored version of `requests`](https://github.com/awslabs/aws-cloudformation-templates/blob/dd484dd32680fcbfc52b34de45923f78b5626e39/aws/services/CloudFormation/MacrosExamples/StackMetrics/lambda/cfnresponse.py)
  provided by `botocore` but this changed in
  [April 2020](https://github.com/awslabs/aws-cloudformation-templates/commit/44b76a1f694f82eeee14fe804bf9dc973fdc2230#diff-f6c57142d56d8704aaf1d429ff1a06a6dd3f2ee6d80f0572ada8af010ff17124)
  to instead use `urllib3` as
  [`botocore.vendored.requests` was removed](https://github.com/boto/botocore/pull/1829).


pkgId: a174d22411f594839561c6d777f564beac2ba83aff3be863f1fcc43af35367cf
name: python-cfpack
arch: src
version: 0.3.5
epoch: 0
release: 1
summary: Christoph Federrath (CF) python package (cfpack)
url: https://www.mso.anu.edu.au/~chfeder/codes/cfpack/cfpack.html
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfpack-0.3.5-1.src.rpm
checksum_type: sha256
description:
  See LICENSE file.



  * Christoph Federrath (christoph.federrath@anu.edu.au)



  * https://www.mso.anu.edu.au/~chfeder/codes/cfpack/cfpack.html



  This software is provided "as is", with use at your own risk. No warranties as to performance, fitness for a particular purpose, or any other warranties are made, whether expressed or implied.


pkgId: 856dd4a55ceb7e2b64fb6a39a10239cd7d47cdaa430430f580c59267bb73d690
name: python-cfr
arch: src
version: 2024.11.11
epoch: 0
release: 1
summary: cfr: a Python package for Climate Field Reconstruction
url: https://github.com/fzhu2e/cfr
rpm_license: BSD 3-Clause
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfr-2024.11.11-1.src.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/cfr.svg)](https://badge.fury.io/py/cfr)
  [![PyPI](https://img.shields.io/badge/python-3.11-blue.svg)]()
  [![license](https://img.shields.io/github/license/fzhu2e/cfr.svg)]()
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7855587.svg)](https://doi.org/10.5281/zenodo.7855587)



  > [!NOTE]
  > If you use `cfr` in any way for your publications, please cite:
  >
  > + Zhu, F., Emile-Geay, J., Hakim, G. J., Guillot, D., Khider, D., Tardif, R., & Perkins, W. A. (2024). cfr (v2024.1.26): a Python package for climate field reconstruction. Geoscientific Model Development, 17(8), 3409–3431. https://doi.org/10.5194/gmd-17-3409-2024
  > + Zhu, F., Emile-Geay, J., Anchukaitis, K.J., McKay, N.P., Stevenson, S., Meng, Z., 2023. A pseudoproxy emulation of the PAGES 2k database using a hierarchy of proxy system models. Sci Data 10, 624. https://doi.org/10.1038/s41597-023-02489-1

  `cfr` aims to provide a universal framework for climate field reconstruction (CFR).
  It provides a toolkit for

  + the processing and visualization of the proxy records, climate model simulations, and instrumental observations,
  + the calibration and running of the proxy system models (PSMs, [Evans et al., 2013](https://doi.org/10.1016/j.quascirev.2013.05.024)),
  + the preparation and running of the multiple reconstruction frameworks/algorithms, such as LMR ([Hakim et al., 2016](https://doi.org/10.1002/2016JD024751); [Tardif et al., 2019](https://doi.org/https://doi.org/10.5194/cp-15-1251-2019)) and GraphEM ([Guillot et al., 2015](https://doi.org/10.1214/14-AOAS794)), and
  + the validation of the reconstructions, etc.

  For more details, please refer to the documentation linked below.



  + Homepage: https://fzhu2e.github.io/cfr
  + Installation: https://fzhu2e.github.io/cfr/ug-installation.html


pkgId: abc2fc9d6a427c8ddce3d09548234ab3b030376b00c62fd7b84c94b0b0374102
name: python-cfractions
arch: src
version: 2.3.0
epoch: 0
release: 1
summary: please add a summary manually as the author left a blank one
url: https://github.com/lycantropos/cfractions/
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfractions-2.3.0-1.src.rpm
checksum_type: sha256
description:
  [![](https://github.com/lycantropos/cfractions/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/lycantropos/cfractions/actions/workflows/ci.yml "Github Actions")
  [![](https://codecov.io/gh/lycantropos/cfractions/branch/master/graph/badge.svg)](https://codecov.io/gh/lycantropos/cfractions "Codecov")
  [![](https://img.shields.io/github/license/lycantropos/cfractions.svg)](https://github.com/lycantropos/cfractions/blob/master/LICENSE "License")
  [![](https://badge.fury.io/py/cfractions.svg)](https://badge.fury.io/py/cfractions "PyPI")

rpm_license:
  MIT License  Copyright (c) 2021 Azat Ibrakov  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


pkgId: 3ca6d84bf58ac8c29329f5f387ea1e308405828d57cafa7a23596a326979ff68
name: python-cfripper
arch: src
version: 1.16.0
epoch: 0
release: 1
summary: Library and CLI tool for analysing CloudFormation templates and check them for security compliance.
url: https://pypi.org/project/cfripper/
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfripper-1.16.0-1.src.rpm
checksum_type: sha256
description:
  <p align="center">
  <img src="https://raw.githubusercontent.com/Skyscanner/cfripper/master/docs/img/logo.png" width="200" alt="cfripper logo">
  </p>



  ![Build Status](https://github.com/Skyscanner/cfripper/workflows/PyPI%20release/badge.svg)
  [![PyPI version](https://badge.fury.io/py/cfripper.svg)](https://badge.fury.io/py/cfripper)
  [![homebrew version](https://img.shields.io/homebrew/v/cfripper)](https://formulae.brew.sh/formula/cfripper)
  ![License](https://img.shields.io/github/license/skyscanner/cfripper)

  CFRipper is a Library and CLI security analyzer for AWS CloudFormation templates. You can use CFRipper to prevent deploying insecure AWS resources into your Cloud environment. You can write your own compliance checks by adding new custom plugins.

  Docs and more details available in https://cfripper.readthedocs.io/





  ```bash
  $ cfripper /tmp/root.yaml /tmp/root_bypass.json --format txt
  Analysing /tmp/root.yaml...
  Not adding CrossAccountTrustRule failure in rootRole because no AWS Account ID was found in the config.
  Valid: False
  Issues found:
   - FullWildcardPrincipalRule: rootRole should not allow full wildcard '*', or wildcard in account ID like 'arn:aws:iam::*:12345' at '*'
   - IAMRolesOverprivilegedRule: Role 'rootRole' contains an insecure permission '*' in policy 'root'
  Analysing /tmp/root_bypass.json...
  Valid: True
  ```



  ```bash
  $ cfripper /tmp/root.yaml /tmp/root_bypass.json --format txt --resolve
  Analysing /tmp/root.yaml...
  Not adding CrossAccountTrustRule failure in rootRole because no AWS Account ID was found in the config.
  Valid: False
  Issues found:
   - FullWildcardPrincipalRule: rootRole should not allow full wildcard '*', or wildcard in account ID like 'arn:aws:iam::*:12345' at '*'
   - IAMRolesOverprivilegedRule: Role 'rootRole' contains an insecure permission '*' in policy 'root'
  Analysing /tmp/root_bypass.json...
  Not adding CrossAccountTrustRule failure in rootRole because no AWS Account ID was found in the config.
  Valid: False
  Issues found:
   - IAMRolesOverprivilegedRule: Role 'rootRole' contains an insecure permission '*' in policy 'root'
  Monitored issues found:
   - PartialWildcardPrincipalRule: rootRole contains an unknown principal: 123456789012
   - PartialWildcardPrincipalRule: rootRole should not allow wildcard, account-wide or root in resource-id like 'arn:aws:iam::12345:root' at 'arn:aws:iam::123456789012:root'
  ```



  ```bash
  $ cfripper /tmp/root.yaml /tmp/root_bypass.json --format json --resolve --output-folder /tmp
  Analysing /tmp/root.yaml...
  Not adding CrossAccountTrustRule failure in rootRole because no AWS Account ID was found in the config.
  Result saved in /tmp/root.yaml.cfripper.results.json
  Analysing /tmp/root_bypass.json...
  Not adding CrossAccountTrustRule failure in rootRole because no AWS Account ID was found in the config.
  Result saved in /tmp/root_bypass.json.cfripper.results.json
  ```



  ```bash
  $ cfripper tests/test_templates/config/security_group_firehose_ips.json --rules-config-file cfripper/config/rule_configs/example_rules_config_for_cli.py
  Analysing tests/test_templates/config/security_group_firehose_ips.json...
  Valid: True
  ```



  ```bash
  $ cfripper tests/test_templates/config/security_group_firehose_ips.json --rules-filters-folder cfripper/config/rule_configs/
  example_rules_config_for_cli.py loaded
  Analysing tests/test_templates/config/security_group_firehose_ips.json...
  Valid: True
  ```



  ```python
  """
  Analyse AWS Cloudformation templates passed by parameter.
  Exit codes:
    - 0 = all templates valid and scanned successfully
    - 1 = error / issue in scanning at least one template
    - 2 = at least one template is not valid according to CFRipper (template scanned successfully)
    - 3 = unknown / unhandled exception in scanning the templates
  """
  ```

rpm_license:
  Apache License Version 2.0, January 2004 http://www.apache.org/licenses/  TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION  1. Definitions.  "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.  "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.  "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.  "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.  "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.  "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.  "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).  "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.  "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."  "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.  2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.  3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.  4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:  (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and  (b) You must cause any modified files to carry prominent notices stating that You changed the files; and  (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and  (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.  You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.  5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.  6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.  7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.  8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.  9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.  END OF TERMS AND CONDITIONS  APPENDIX: How to apply the Apache License to your work.  To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!)  The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.  Copyright 2018-2020 Skyscanner Ltd  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at  http://www.apache.org/licenses/LICENSE-2.0  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


pkgId: 7f9920fc4c158b98dfdef176e3204dd145ee4b5bf97b27854fbccade6350a859
name: python-cfscrape
arch: src
version: 2.1.1
epoch: 0
release: 1
url: https://github.com/Anorov/cloudflare-scrape
rpm_license: UNKNOWN
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfscrape-2.1.1-1.src.rpm
checksum_type: sha256
summary:
  A simple Python module to bypass Cloudflare's anti-bot page. See https://github.com/Anorov/cloudflare-scrape for more information.

description:
  A simple Python module to bypass Cloudflare's anti-bot page (also known as "I'm Under Attack Mode", or IUAM), implemented with [Requests](https://github.com/kennethreitz/requests). Python versions 2.6 - 3.7 are supported. Cloudflare changes their techniques periodically, so I will update this repo frequently.
  This can be useful if you wish to scrape or crawl a website protected with Cloudflare. Cloudflare's anti-bot page currently just checks if the client supports JavaScript, though they may add additional techniques in the future.
  Due to Cloudflare continually changing and hardening their protection page, cloudflare-scrape requires Node.js to solve JavaScript challenges. This allows the script to easily impersonate a regular web browser without explicitly deobfuscating and parsing Cloudflare's JavaScript.
  Note: This only works when regular Cloudflare anti-bots is enabled (the "Checking your browser before accessing..." loading page). If there is a reCAPTCHA challenge, you're out of luck. Thankfully, the JavaScript check page is much more common.
  For reference, this is the default message Cloudflare uses for these sorts of pages:
      Checking your browser before accessing website.com.
      This process is automatic. Your browser will redirect to your requested content shortly.
      Please allow up to 5 seconds...
  Any script using cloudflare-scrape will sleep for 5 seconds for the first visit to any site with Cloudflare anti-bots enabled, though no delay will occur after the first request.


pkgId: 34800b1cc877d6a25ee470277862cce86be0a9fd6a220fd3ac43f19ad7b10898
name: python-cfspopcon
arch: src
version: 7.0.2
epoch: 0
release: 1
summary: Empirically-derived scoping of tokamak operational space.
url: https://pypi.org/project/cfspopcon/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfspopcon-7.0.2-1.src.rpm
checksum_type: sha256
description:
  [![Build Status](https://github.com/cfs-energy/cfspopcon/actions/workflows/workflow_actions.yml/badge.svg)](https://github.com/cfs-energy/cfspopcon/actions)
  [![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
  [![Documentation Status](https://readthedocs.org/projects/cfspopcon/badge/?version=latest)](https://cfspopcon.readthedocs.io/en/latest/?badge=latest)
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/cfs-energy/cfspopcon/HEAD)
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10054879.svg)](https://doi.org/10.5281/zenodo.10054879)
  POPCONs (Plasma OPerating CONtours) is a tool developed to explore the performance and constraints of tokamak designs based on 0D scaling laws, model plasma kinetic profiles, and physics assumptions on the properties and behavior of the core plasma.
  All of our documentation is available at [cfspopcon.readthedocs.io](https://cfspopcon.readthedocs.io/en/latest/). There, you can find installation instructions, instructions for how to run `cfsPOPCON` via the command-line-interface and also explanations of the example Jupyter notebooks in [docs/doc_sources](docs/doc_sources).


pkgId: 3072f57c22065de9290444ca9029212415ce2245a93e3a15253eb50e96268db2
name: python-cfunctions
arch: src
version: 0.1.196
epoch: 0
release: 1
summary: cfunctions
url: https://github.com/eladb/cfunctions.git
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfunctions-0.1.196-1.src.rpm
checksum_type: sha256
description:
  CFunctions (cloud functions, compute functions, construct functions) are a
  building block of the [constructs programming model] which can be used to
  package JavaScript code and run it on a cloud system.

  Let's take a look at a simple CFunction:

  ```python
  const { CFunction } = require('cfunctions');

  const cfunc = new CFunction({
    capture: [ 'x', 'y' ],
    code: 'x + y'
  });

  console.log('outfile:', cfunc.outfile);
  console.log('env:', cfunc.env);
  ```

  The output will look like this:

  ```shell
  outfile: /tmp/.cf.out.TAJEO8/cf.js
  env: { __CF__x__: '100', __CF__y__: '200' }
  ```

  The `cf.js` file is a a self-contained JavaScript module which can be loaded
  through a `require()` statement and returns an async function that executes the
  code after binding it from a set of environment variables.

  Let's execute our cfunction:

  ```shell
  $ export __CF__x__=123
  $ export __CF__y__=10
  $ node -e "require('/tmp/.cf.out.TAJEO8/cf.js')().then(result => console.log(result))"
  12310
  ```

  The `CFunction.exec()` static method can also be used to execute the function:

  ```js
  const result = CFunction.exec('/tmp/.cf.out.TAJEO8/cf.js', {
    env: {
      __CF__x__: 123,
      __CF__y__: 10
    }
  });

  console.log(result);
  ```



  Licensed under the [Apache 2.0](./LICENSE) license.


pkgId: a79df71490612d2fc7f5ed9d8307a43e6f50a56da786b277e4782725d68d0c29
name: python-cfutils
arch: src
version: 0.0.0.dev61
epoch: 0
release: 1
summary: Chromatogram File Utils
url: https://github.com/yech1990/cfutils
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cfutils-0.0.0.dev61-1.src.rpm
checksum_type: sha256
description:
  [![Readthedocs](https://readthedocs.org/projects/cfutils/badge/?version=latest)](https://cfutils.readthedocs.io/en/latest/?badge=latest)
  [![Pypi Releases](https://img.shields.io/pypi/v/cfutils.svg)](https://pypi.python.org/pypi/cfutils)
  [![Downloads](https://static.pepy.tech/badge/cfutils)](https://pepy.tech/project/cfutils)

  **Chromatogram File Utils**

  For Sanger sequencing data visualizing, alignment, mutation calling, and trimming etc.



  ![plot chromatogram with mutation](https://raw.githubusercontent.com/y9c/cfutils/master/data/plot.png)

  > command to generate the demo above

  ```bash
  cfutils mut --query ./data/B5-M13R_B07.ab1 --subject ./data/ref.fa --outdir ./data/ --plot
  ```



  - You can have mutation detection and visualization in one step using the command line.

  ```bash
  cfutils mut --help
  ```

  - You can also integrate the result matplotlib figures and use it as a python module.

  An example:

  ```python
  import matplotlib.pyplot as plt
  import numpy as np

  from cfutils.parser import parse_abi
  from cfutils.show import plot_chromatograph

  seq = parse_abi("./data/B5-M13R_B07.ab1")
  peaks = seq.annotations["peak positions"][100:131]

  fig, axes = plt.subplots(2, 1, figsize=(12, 6), sharex=True)
  plot_chromatograph(
      seq,
      region=(100, 130),
      ax=axes[0],
      show_bases=True,
      show_positions=True,
      color_map=dict(zip("ATGC", ["C0", "C2", "C1", "C4"])),
  )
  axes[1].bar(peaks, np.random.randn(len(peaks)), color="0.66")
  plt.show()
  ```

  ![plot chromatogram in_matplotlib](https://raw.githubusercontent.com/y9c/cfutils/master/data/matplotlib_example.png)





  _(use this way ONLY, if you don't know what's going on)_

  ```bash
  pip install --user cfutils
  ```



  - clone from github

  ```bash
  git clone git@github.com:y9c/cfutils.git
  ```

  - install the dependence

  ```bash
  make init
  ```

  - do unittest

  ```bash
  make test
  ```



  - Reverse completement the chromatogram file. (Inspired by Snapgene)
  - build as python package for pypi
  - fix bug that highlighting wrong base
  - replace blastn with buildin python aligner



  - [ ] call mutation by alignment and plot Chromatogram graphic
  - [ ] add a doc
  - [x] change xaxis by peak location
  - [ ] fix bug that chromatogram switch pos after trim
  - [x] wrap as a cli app
  - [ ] return quality score in output
  - [ ] fix issue that selected base is not in the middle
  - [ ] fix plot_chromatograph rendering bug

  - [ ] add projection feature to make align and assemble possible


pkgId: 8b5b86035ff38ddb5a8bfa4661b296baa17940d26cb46293c4ec2f1a52f1a2ec
name: python-cg
arch: src
version: 64.4.18
epoch: 0
release: 1
summary: Clinical Genomics command center
url: https://github.com/Clinical-Genomics/cg
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cg-64.4.18-1.src.rpm
checksum_type: sha256
description:
  ![Build Status - Github][gh-actions-badge]
  [![Coverage Status][coveralls-image]][coveralls-url]
  [![GitHub issues-closed][closed-issues-img]][closed-issues-url]
  [![Average time to resolve an issue][ismaintained-resolve-img]][ismaintained-resolve-url]
  [![Percentage of issues still open][ismaintained-open-rate-img]][ismaintained-open-rate-url]
  [![CodeFactor][codefactor-badge]][codefactor-url]
  [![Code style: black][black-image]][black-url]


  `cg` stands for _Clinical Genomics_; a clinical sequencing platform under [SciLifeLab][scilife]

  In this context, `cg` provides the interface between these tools to facilitate automation and other necessary cross-talk. It also exposes some APIs:

  - HTTP REST for powering the web portal: [clinical.scilifelab.se][portal]
  - CLI for interactions on the command line



  Please check out our [guide for contributing to cg](CONTRIBUTING.md)



  Cg written in Python 3.9+ and is available on the [Python Package Index][pypi] (PyPI).

  ```bash
  pip install cg
  ```

  If you would like to install the latest development version, use [poetry](https://python-poetry.org/docs/).

  ```bash
  git clone https://github.com/Clinical-Genomics/cg
  cd cg
  poetry install
  ```


  [portal]: https://clinical.scilifelab.se/
  [trailblazer]: https://github.com/Clinical-Genomics/trailblazer
  [housekeeper]: https://github.com/Clinical-Genomics/housekeeper
  [genotype]: https://github.com/Clinical-Genomics/genotype
  [scilife]: https://www.scilifelab.se/
  [pypi]: https://pypi.org/


  [black]: https://black.readthedocs.io/en/stable/

  <!-- badges -->

  [coveralls-url]: https://coveralls.io/github/Clinical-Genomics/cg
  [coveralls-image]: https://coveralls.io/repos/github/Clinical-Genomics/cg/badge.svg?branch=master

  [gh-actions-badge]: https://github.com/Clinical-Genomics/cg/workflows/Tests%20and%20coveralls/badge.svg
  [closed-issues-img]: https://img.shields.io/github/issues-closed/Clinical-Genomics/cg.svg
  [closed-issues-url]: https://GitHub.com/Clinical-Genomics/cg/issues?q=is%3Aissue+is%3Aclosed
  [ismaintained-resolve-img]: http://isitmaintained.com/badge/resolution/Clinical-Genomics/cg.svg
  [ismaintained-resolve-url]: http://isitmaintained.com/project/Clinical-Genomics/cg
  [ismaintained-open-rate-img]: http://isitmaintained.com/badge/open/Clinical-Genomics/cg.svg
  [ismaintained-open-rate-url]: http://isitmaintained.com/project/Clinical-Genomics/cg
  [codefactor-badge]: https://www.codefactor.io/repository/github/clinical-genomics/cg/badge
  [codefactor-url]: https://www.codefactor.io/repository/github/clinical-genomics/cg
  [black-image]: https://img.shields.io/badge/code%20style-black-000000.svg
  [black-url]: https://github.com/psf/black


pkgId: a378b420aa0cd04366952290a0c026976ff6de9b3e2c92d267547bb97e726bcd
name: python-cg-django-uaa
arch: src
version: 2.1.5
epoch: 0
release: 1
summary: A cloud.gov UAA authentication backend for Django
url: https://github.com/cloud-gov/cg-django-uaa
rpm_license: CC0 1.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cg-django-uaa-2.1.5-1.src.rpm
checksum_type: sha256
description:
  This is a cloud.gov UAA authentication backend for Django. It also
  includes a handy "fake cloud.gov" that makes it easy to log in
  as any user during development.

  For documentation, please visit [cg-django-uaa.readthedocs.io](http://cg-django-uaa.readthedocs.io/)



  See <https://cg-django-uaa.readthedocs.io/en/main/developing.html>



  All notable changes to this project will be documented in this file,
  which uses the format described in
  [keepachangelog.com](http://keepachangelog.com/). This project adheres
  to [Semantic Versioning](http://semver.org/).





  * Update Django dependency to `>=4.0,<5.0`



  * Update PyJWT version to >= `2.4.0` to [address vulnerability](https://security.snyk.io/vuln/SNYK-PYTHON-PYJWT-2840625)



  * Fix packaging issue



  * Added support for Django 3.2 LTS



  * correctly specify django versions in setup.py
  * code formatting



  * Added support for Django 3.0 and 3.1
  * Pinned upper version for PyJWT to fix install issues



  * Added support for Django 2.2

  * Removed support for Django 2.0 and 1.X



  * Added support for Django 2.0.

  * Added the `uaa_client.decorators.staff_login_required` decorator
    and a "Fixing admin login" section to the quick start guide
    that documents how to use it.



  * An info-level message is logged when users authenticate.



  * The library no longer raises spurious `ImproperlyConfigured` errors
    during test suite runs.

  * Added an optional `UAA_APPROVED_DOMAINS` setting, allowing users to
    be auto-created if their email is from an approved list of domains. See
    the quick start for more details.

  * Added more documented methods to `UaaBackend` for easier customization.
    Static methods have also been converted to class methods for easier
    subclassing.



  This is a hotfix release to fix a broken pypi build.





  * Added support for automatic refreshing of access tokens, which
    is required for security. This involves adding
    `uaa_client.middleware.UaaRefreshMiddleware` to your
    middleware setting, after Django's session and authentication
    middleware. For more details, see the quick start guide.

  * The example app now supports an optional `settings_local.py`,
    so it's easy to e.g. connect to the real cloud.gov for manual
    testing.



  Initial release.

  [unreleased]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.1.5...HEAD
  [2.1.5]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.1.4...v2.1.5
  [2.1.4]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.1.3...v2.1.4
  [2.1.3]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.1.2...v2.1.3
  [2.1.2]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.1.1...v2.1.2
  [2.1.1]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.1.0...v2.1.1
  [2.1.0]: https://github.com/cloud-gov/cg-django-uaa/compare/v2.0.0...v2.1.0
  [2.0.0]: https://github.com/cloud-gov/cg-django-uaa/compare/v1.3.0...v2.0.0
  [1.3.0]: https://github.com/cloud-gov/cg-django-uaa/compare/v1.2.0...v1.3.0
  [1.2.0]: https://github.com/cloud-gov/cg-django-uaa/compare/v1.1.0...v1.2.0
  [1.1.0]: https://github.com/cloud-gov/cg-django-uaa/compare/v1.0.1...v1.1.0
  [1.0.1]: https://github.com/cloud-gov/cg-django-uaa/compare/v1.0.0...v1.0.1
  [1.0.0]: https://github.com/cloud-gov/cg-django-uaa/compare/v0.0.1...v1.0.0

  As a work of the United States Government, this project is in the
  public domain within the United States.

  Additionally, we waive copyright and related rights in the work
  worldwide through the CC0 1.0 Universal public domain dedication.



  This is a human-readable summary of the
  [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode).



  The person who associated a work with this deed has dedicated the work to
  the public domain by waiving all of his or her rights to the work worldwide
  under copyright law, including all related and neighboring rights, to the
  extent allowed by law.

  You can copy, modify, distribute and perform the work, even for commercial
  purposes, all without asking permission.



  In no way are the patent or trademark rights of any person affected by CC0,
  nor are the rights that other persons may have in the work or in how the
  work is used, such as publicity or privacy rights.

  Unless expressly stated otherwise, the person who associated a work with
  this deed makes no warranties about the work, and disclaims liability for
  all uses of the work, to the fullest extent permitted by applicable law.
  When using or citing the work, you should not imply endorsement by the
  author or the affirmer.


pkgId: ef3cd1239d31916ed5242fd7df495f021f34b1d9cfd9320e2f62b30db6e68e49
name: python-cg-janus
arch: src
version: 0.1.21
epoch: 0
release: 1
summary: please add a summary manually as the author left a blank one
url: https://github.com/Clinical-Genomics/janus
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cg-janus-0.1.21-1.src.rpm
checksum_type: sha256
description:
  In ancient Roman religion and myth, Janus ( JAY-nəs; Latin: Ianvs [ˈi̯aːnʊs]) is the god of beginnings, gates, transitions, time, duality, doorways, passages, frames, and endings. He is usually depicted as having two faces. The month of January is named for Janus (Ianuarius). Janus presided over the beginning and ending of conflict, and hence war and peace.


pkgId: 5df8738316017917472dfde91fe396f56b22c9f9dff0a6c577cecc39210a658f
name: python-cg-lims
arch: src
version: 6.8.0
epoch: 0
release: 1
summary: Lims code for Clinical Genomics
url: https://github.com/Clinical-Genomics/cg_lims
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cg-lims-6.8.0-1.src.rpm
checksum_type: sha256
description:
  A package for lims interactions. The aim is to replace all other lims interactions at CG with this new package.


  The lims ststem is built upon a postgress database. Illumina provides a [REST API](https://clinical-lims-stage.scilifelab.se/api/v2/) for accessing the database. On top of that there is a python API, the [genologics](https://github.com/SciLifeLab/genologics) packge wich simply translates the rest into python. cg_lims is hevily depending upon the genologics python API.



  cg_lims is using github flow release model as described in our development manual.




  1) Get you PR approved.
  2) Append the version bump to PR title. Eg. __Update README__ becomes __Update Readme (patch)__
  3) Select __squash and merge__
  4) Write a change log comment.
  5) Merge.



  The genologics package requires a config: **~/.genologicsrc**
  Read about this [here](https://github.com/SciLifeLab/genologics).





  The production lims system is set up on hippocampus and the stage lims system is set up on amygdala.

  ssh into the servers:

  `ssh gls@clinical-lims-stage.scilifelab.se`

  `ssh gls@clinical-lims.scilifelab.se`

  You will need a password wich is kept in the safety locker at clinical genomics.

  Testing of new code or new workflows takes place on the stage server.





  [Arnold](https://github.com/Clinical-Genomics/arnold) is a  REST-API and database with two collections - `sample` and `step`. Currently soring lims-data only.

  Data is continuously pushed into the database from lims steps via cg_lims commands, using the arnold REST-API.

  So why do we want to store lims data in another database?
  Two reasons: The design of the lims postgres database doesn't fit the kind of queries that we often need to do at cg. And
  we are not allowed to redesign the original postgres database on wich our lims is built.


  The problem with the design of the lims postgres database is that there is nothing linking two versions of a master step,
  protocol or workflow. But when we update a version of a workflow in lims, we are obviously still working within the same
  lab process in real life.

  This lack of linking creates problems when you want to track lims data over time. Say you need to look at some volume
  measured in the Buffer Exchange step in the TWIST workflow over time. In order to get those concentrations, you need to
  know the name of all versions of the Buffer Exchange master steps that has been.

  In the writing moment we have 33 distinct lims-protocols where each protocol has approximately four distinct steps and
  where each step exist in several versions and continuously get new versions. There are a lot of master step names to keep
  track of if we want to trend stuff!

  In Arnold, steps contains two general fields **workflow** and **step_type**, which solve the problem above.

  Example: The lims workflows: "Twist v1", "TWist v2", "TWIST_v3", ect, are all just twist workflows in arnold

  Example: The steps "cg001 Buffer Exchange",  "Buffer Exchange v1" and  "Buffer Exchange v2" are all just buffer_exchange steps in arnold.

  A arnold step is allso allways part of a specific prep (or sequencing workflow), with a specific **prep_id** (or sequencing id. Not in place yet.)


  Labb prep steps in arnold are joind by prep_id. The prep_id is created from the step where the arnold prep is being uploaded.

  Ex. the upload of a arnold WGS prep is being run from the last prep step in the WGS workflow, before sequecning *Aggregate QC (Library Validation)*.

  The step id together with the sample id creates the prep id for that sample: <sample_id>_< the id of the last step in prep workflow>

  All steps that are being created, defined by the WGS prep model, will get the same prep id. Note that if a sample has run through the same step several times, its the last step that will be picked up as part of the prep and be loaded into arnold with the prep_id.

  This means a prep will allways have only one of each step_type that defines the preop. And all the steps withion the same sample prep will have the same prep_id.


  A step document in arnold is sample_id-step_id specific. We have collected all the information that we from experience
  know are relevant for us, into one sample-step centric document.

  This is the general model for a arnold step document.

  ```
  class Step(BaseModel):
      id: str = Field(..., alias="_id")
      prep_id: str
      step_type: str
      sample_id: str
      workflow: str
      lims_step_name: Optional[str]
      step_id: str
      well_position: Optional[str]
      artifact_name: Optional[str]
      container_name: Optional[str]
      container_id: Optional[str]
      container_type: Optional[str]
      index_name: Optional[str]
      nr_samples_in_pool: Optional[int]
      date_run: Optional[datetime]
      artifact_udfs: Optional[dict]
      process_udfs: Optional[dict]
  ```



  So the step model above is general for all steps and each step-type inherits from the general step model, but has some extra constraints to it - making it step-type specific.
  This is to enforce eg a buffer-exchange step to always hold the specific buffer-exchange data.
  Each step type has its own definition - Model.
  The arnold models are all stored under [cg_lims/cg_lims/models/arnold/prep/](https://github.com/Clinical-Genomics/cg_lims/tree/master/cg_lims/models/arnold/prep).

  ```
  ├── prep
  │    ├── base_step.py
  │    ├── microbial_prep
  │    │    ├── buffer_exchange.py
  │    │    ├── microbial_library_prep_nextera.py
  │    │    ├── normailzation_of_microbial_samples_for_sequencing.py
  │    │    ├── normalization_of_microbial_samples.py
  │    │    ├── post_pcr_bead_purification.py
  │    │    └── reception_control.py
  │    ├── rna
  │    │    ├── a_tailing_and_adapter_ligation.py
  │    │    ├── aliquot_samples_for_fragmentation.py
  │    │    ├── normalization_of_samples_for_sequencing.py
  │    │    └── reception_control.py
  │    ├── sars_cov_2_prep
  │    │    ├── library_preparation.py
  │    │    ├── pooling_and_cleanup.py
  │    │    └── reception_control.py
  │    ├── twist
  │    │    ├── aliquot_samples_for_enzymatic_fragmentation_twist.py
  │    │    ├── amplify_captured_libraries.py
  │    │    ├── bead_purification_twist.py
  │    │    ├── buffer_exchange.py
  │    │    ├── capture_and_wash_twist.py
  │    │    ├── enzymatic_fragmentation_twist.py
  │    │    ├── hybridize_library_twist.py
  │    │    ├── kapa_library_preparation_twist.py
  │    │    ├── pool_samples_twist.py
  │    │    └── reception_control.py
  │    └── wgs
  │    │    ├── aliquot_sampels_for_covaris.py
  │    │    ├── endrepair_size_selection_a_tailing_adapter_ligation.py
  │    │    ├── fragment_dna_truseq_dna.py
  │    │    └── reception_control.py

  ```



  What defines a stpe type model beside the step_type and workflow fields, are the *process udfs* and *artifact udfs* relevant to the step.


  >**NOTE** Not all process and artifact udfs from a lims process are being stoired in the arnold step, only the once that are important for cg outside the lims system - eg. for trending, trouble shooting, report generation etc.


  The models need to be up to date with our lims system all the time, meaning that if a master step gets a new version, the new version neame needs to be updated in the step model. If a process or artifact udf is removed from step in lims, it needs to be removed from the arnold step model as well. And the same if new UFDs are added to lims - if we want them as part of the arnold step, they obvously need to be added to the step model.


  Example: This is a step modle for Post-PCR bead purification.


  <img width="554" alt="Skärmavbild 2022-03-13 kl  08 11 54" src="https://user-images.githubusercontent.com/1306333/158049460-b6846201-6099-4737-ae6a-c16715de9f07.png">

  If you remove the artifact udf 'Average Size (bp)' from the process in lims, it needs to be removed from ther step model.

  If you update the master step 'Post-PCR bead purification v1' in lims to 'Post-PCR bead purification v2', it needs to be updated in the step model.




  The External Program Plug-in (EPP) is a script that is configured to be run from within a lims step.

  Clinical Genomics LIMS is using both scripts that are developed and maintained by Genologics, and scripts that are developed by developers at Clinical Genomics. Scripts developed and maintained by Clinical Genomics are located in [cg_lims/cg_lims/EPPs](https://github.com/Clinical-Genomics/cg_lims/tree/master/cg_lims/EPPs).

  Development of new EPPs is preferably done locally, but the final testing is done on the stage server.




  The procedure for installing is the same on both servers.

  Curently cg_lims is cloned into `/home/glsai/opt/` and installed by the glsai user under the conda environment `cg_lims`.

  ```
  sudo -iu glsai
  source activate cg_lims
  pip install -U "git+https://github.com/Clinical-Genomics/cg_lims@<branch name>"
  ```
  The branch that has been installed is now avalibe from within the [lims web interface](https://clinical-lims-stage.scilifelab.se/clarity/).

  Test it from the command line:

  ```
  (python3)glsai@clinical-lims-stage:~$ epps --help
  Usage: epps [OPTIONS] COMMAND [ARGS]...

  Options:
    -l, --log TEXT      Path to log file.  [required]
    -p, --process TEXT  Lims id for current Process.  [required]
    --help              Show this message and exit.

  Commands:
    move-samples              Script to move aritfats to another stage.
    place-samples-in-seq-agg  Queueing artifacts with given udf==True, to...
    rerun-samples             Script to requeue samples for sequencing.
  ```






  The branch with the new script has been installed, and you want to test the script through the web interface. (Or deploy it to production. The procedure is the same.)

  Let us call the new script we want to test: `move-samples`. Running it from the command line looks like this:

  ```
  (python3)glsai@clinical-lims-stage:~$ epps -p 'some-process' -l 'log' move-samples  --help
  Usage: epps move-samples [OPTIONS]

    Script to move aritfats to another stage.

    Queueing artifacts with <udf==True>, to stage with <stage-id> in workflow
    with <workflow-id>. Raising error if quiueing fails.

  Options:
    -w, --workflow-id TEXT  Destination workflow id.  [required]
    -s, --stage-id TEXT     Destination stage id.  [required]
    -u, --udf TEXT          UDF that will tell wich artifacts to move.
                            [required]

    -i, --input-artifacts   Use this flag if you want to queue the input
                            artifacts of the current process. Default is to
                            queue the output artifacts (analytes) of the
                            process.

    --help                  Show this message and exit.

  ```

  When the script is configured in the lims step, arguments bust be replaced by `tokens`. They function as placeholders that are replaced with actual values at runtime. You can read more about tokens [here](https://genologics.zendesk.com/hc/en-us/articles/115000028563-Step-Automation-Tokens.

  To make the new script avalible in the [web interface](https://clinical-lims-stage.scilifelab.se/clarity), go to the `CONFIGURATON` tab and then select `AUTOMATION`. Klick the `NEW AUTOMATON` button.

  - Choose a Automation Name
  - Channel Name should always be `limsserver`.
  - Enter the command line string. If you need help selecting a token for an argument, klick the `TOKENS` tab wich will show the list of avalible tokens. In this case the string is
  `bash -c "source activate python3 && epps -l {compoundOutputFileLuid0} -p {processLuid} move-samples -w '801' -s '1532' -u 'HiSeq2500'"`
  - Under `AUTOMATION USE`, select master step(s) in which the new EPP should be available.
  - Save


  ![](img/Automation_details.png)


  Once the EPP is in place on the master step you need to configure its usage. This can be done both on master step and on step level.

  Klick the `LAB WORK` tab and select a step in which you have enabeled the EPP.


  ![](img/configuration_labwork.png)



  Choose `STEP` or `MASTER STEP`, and scroll down to the `AUTOMATION` section. The new EPP should be seen there.


  ![](img/step_settings.png)


  Select Trigger Location - at what point in the step the script should be run, and Trigger Style - how the script should be triggered.

  The script is now avalible from within the step. Queue some samples to the step to try it!

  ![](img/record_details_view.png)

  Read more about EPPs in the [Clarity LIMS API Cookbook](https://genologics.zendesk.com/hc/en-us/restricted?return_to=https%3A%2F%2Fgenologics.zendesk.com%2Fhc%2Fen-us%2Fcategories%2F201688743-Clarity-LIMS-API-Cookbook)




  When a script is failing, usually as a developer, you will get this information from the lims user who has run the script from within a specific lims step. It´s easiest to trouble shoot if the step is still opened.

  **Trouble shooting - step by step:**
  * Ask the user to keep the step opened for you to trouble shoot, if possible. (Sometimes they need to continue the step)
  * Go to the step to see what EPP was failing. The name of the EPP is the label on blue button. In this case: **1. Copy UDFs from AggregateQC - Twist**
  * Go to configuration/automation in the web interface and search for the button name. There might be many buttons with the same name. Find the button that is active in the masterstep tht you are debugging.
  * The issue can be in how the script has been configured (the "command line" text box), it can be some bug in the script, or it can be that the script is expecting the artifacts/process/samples/containers or whatever has some fields or features that are not in place.
  * One way to debug is to run the script from command line. ssh into productuoin as described above and run the script with the same argument that are given in the "command line" text box. The process id {processLuid} is allmost allways asked for.


  `{processLuid} = <prefix>-<the last section of the url of the step>`

  In this case: 24-144356.

  Prefixes:

  24- for configured processes

  122- for pooling processes

  151- for indexing/reagent tag processes

  ```
  cd /home/glsai/opt/cg_lims/EPPs/
  python copyUDFs_from_aggregateQC.py -p '24-144356' -l testlog -u 'Concentration' 'Amount (ng)' -q 'Aggregate QC (DNA) TWIST v1'
  ```



  In our Clinical Genomics lims system we are also using a fiew scripts that are developed and maintained by Illumina.
  Programs written and maintained by Illumina are located in

  Java scripts:
  `/opt/gls/clarity/extensions/ngs-common/`

  Python scripts:
  `/opt/gls/clarity/customextensions`

  Don't thouch these directories. Insted, if a script developed by Illumina is failing, contact them for help support.


pkgId: 42fa72307ad708dce92b67cdd7139e9556598a8f251c03713cfa98db1c671d66
name: python-cgcloud-mesos
arch: src
version: 1.6.0
epoch: 0
release: 1
summary: Setup and manage a Apache Mesos cluster in EC2
url: https://github.com/BD2KGenomics/cgcloud
rpm_license: UNKNOWN
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgcloud-mesos-1.6.0-1.src.rpm
checksum_type: sha256
description:
  The ``cgcloud-mesos`` package requires that the ``cgcloud-core`` package and
  its prerequisites_ are present.


pkgId: 27fbf88a301fadf17cffeee59956d0ff80e0a940dfc5059bd3b8b4d7d0dd83c8
name: python-cgcloud-spark
arch: src
version: 1.6.0
epoch: 0
release: 1
summary: Setup and manage a Apache Spark cluster in EC2
url: https://github.com/BD2KGenomics/cgcloud
rpm_license: UNKNOWN
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgcloud-spark-1.6.0-1.src.rpm
checksum_type: sha256
description:
  The ``cgcloud-spark`` package requires that the ``cgcloud-core`` package and
  its prerequisites_ are present.


pkgId: 0bbb4821b71a1529d112028846aad657fc54d9fa34694463073ee6562bda86d1
name: python-cgcloud-toil
arch: src
version: 1.6.0
epoch: 0
release: 1
summary: Setup and manage a toil and Apache Mesos cluster in EC2
url: https://github.com/BD2KGenomics/cgcloud
rpm_license: UNKNOWN
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgcloud-toil-1.6.0-1.src.rpm
checksum_type: sha256
description:
  The ``cgcloud-toil`` package requires that the ``cgcloud-core`` package and
  its prerequisites_ are present.


pkgId: 38dd81ab3905cd6a55ffb8ac596cc01ef8d6423633a0ba02a8bbe623eaa4e761
name: python-cgcsdk
arch: src
version: 1.2.0
epoch: 0
release: 1
summary: CGC Core REST API client
url: https://cgc.comtegra.cloud/
rpm_license: BSD 2-clause
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgcsdk-1.2.0-1.src.rpm
checksum_type: sha256
description:
  CGC Clinet is complete solution to create and manage your compute resources through CLI interface and python code. It incorporates CLI and SDK in one package.

  CGC CLI is a command line interface for Comtegra GPU Cloud. CGC CLI enables management of your Comtegra GPU Cloud resources. Current version of the app provides support for compute, storage and network resurces to be created, listed and deleted. Every compute resource is given to you as an URL, which is accessible from open Internet.

  To enable better access to your storage resources, every account has the ability to spawn free of charge filebrowser which is local implementation of dropbox. Remember to mount newely created volumes to it.

  For now, we provide the ability to spawn compute resources like:

  1. [Jupyter notebook](https://jupyter.org/) with tensorflow or pytorch installed as default
  2. [Triton inferencing server](https://docs.nvidia.com/deeplearning/triton-inference-server/) for large scale inferencing
  3. [Label studio](https://labelstud.io/) for easy management of your data annotation tasks with variety of modes
  4. [Rapids](https://rapids.ai/) suite of accelerated libraries for data processing

  Notebooks are equiped with all CUDA libraries and GPU drivers which enables the usage of GPU for accelerated computations.
  Apart from compute resources, we provide the database engines accessible from within your namespace:

  1. [PostgreSQL](https://www.postgresql.org/)
  2. [Weaviate](https://weaviate.io/)

  More are coming!
  Please follow instructions to get started.



  If you'd like to know more visit:

  - [Comtegra GPU Website](https://cgc.comtegra.cloud)
  - [Docs](https://docs.cgc.comtegra.cloud)


pkgId: 3f65b0e95094ea97822e3ba23d9d1ce18804323d4bfe3763d48a5f1b46b61f2f
name: python-cgdat
arch: src
version: 2.4.2
epoch: 0
release: 1
summary: A simple csv data analyse tool.
url: https://github.com/rickstaa/CGDAT
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgdat-2.4.2-1.src.rpm
checksum_type: sha256
description:
  This package contains a simple csv data analyse GUI which I created for a friend of mine to help him with his data analysis.
  |


pkgId: d2a14971d06457442e3bd72b10744f5e83a29127f2a5aaad26026d00202d9af8
name: python-cgePy
arch: src
version: 0.7.5
epoch: 0
release: 1
summary: A lightweight terminal graphics engine
url: https://github.com/catbox305/cge
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgePy-0.7.5-1.src.rpm
checksum_type: sha256
description:
  ***

  Looking for a simple, lightweight package? Easily managable features?

  cgepy will handle that, with a sturdy system to build interfaces on top of.
  ***
  Current features:
  * A flexible grid system where you can swap between multiple canvases.
  * Custom coloring that is applicable to all text
  * Higher resolution display capabilities vs. colored unicode full blocks.
  * A basic sprite system for easier manipulation of the canvas.
  * Multiple screen clearing methods for greater control of your programs.
  ***
  Upcoming features:
  * The sprite system will be revamped entirely to allow systematic loading and manipulation of many points at once.
  * A stroke function to eliminate repeated write operations, save time, and serve as a replacement for the old map system.
  * Text will be added back as a more integrated feature that will come built into the existing grid framework.

  ***


pkgId: 1784938d23c3ba050d1595847833d15f3015e0155b54e39177ccfa130fbd3f76
name: python-cgecore
arch: src
version: 1.5.6
epoch: 0
release: 1
summary: Center for Genomic Epidemiology Core Module
url: https://bitbucket.org/genomicepidemiology/cge_core_module
rpm_license: Apache License, Version 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgecore-1.5.6-1.src.rpm
checksum_type: sha256
description:
  Core module for the Center for Genomic Epidemiology

  This module contains classes and functions needed to run the service wrappers and pipeline scripts

  The pypi project can be found here:
  https://pypi.org/project/cgecore/


  1. Make changes to the modules
  2. Bump the version number accordingly in cgecore/__init__.py
  3. Install package locally
  4. Test the changes locally (for both python2 and python3)
  5. Distribute to Pypi


  python2 setup.py install

  python3 setup.py install


  python3 setup.py sdist bdist_wheel

  twine upload dist/*

  *deprecated:*
  ~~python setup.py sdist upload -r pypi~~


pkgId: 2b02ed421a94e24cf7f4cc7249531c68bae15d7caaec3fb82a51fb0794870ab0
name: python-cgen
arch: src
version: 2020.1
epoch: 0
release: 1
summary: C/C++ source generation from an AST
url: http://documen.tician.de/cgen/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgen-2020.1-1.src.rpm
checksum_type: sha256
description:
  cgen offers a simple abstract syntax tree for C and related languages
  (C++/CUDA/OpenCL) to allow structured code generation from Python.
  To represent mathematical expressions, cgen can be used with `pymbolic
  <https://github.com/inducer/pymbolic>`_.
  Places on the web related to cgen:
  * `Python package index <http://pypi.python.org/pypi/cgen>`_ (download releases)
  * `Documentation <http://documen.tician.de/cgen>`_ (read how things work)
  * `Github <http://github.com/inducer/cgen>`_ (get latest source code, file bugs)
  cgen is licensed under the liberal `MIT license
  <http://en.wikipedia.org/wiki/MIT_License>`_ and free for commercial, academic,
  and private use. All of cgen's dependencies can be automatically installed from
  the package index after using::
      pip install cgen


pkgId: 30340e36fa9d38da7b65dade3bd5f910ce15de2e3e6454b9e6952aa451a2be86
name: python-cgen2gmx
arch: src
version: 1.1.0
epoch: 0
release: 1
summary: A small commandline tool for managing forcefield parameters used in molecular dynamics simulations
url: https://github.com/chrispy67/cgen2gmx
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgen2gmx-1.1.0-1.src.rpm
checksum_type: sha256
description:
  1. **Generate CGenFF output**
     Input a properly formatted and protonated .mol2 file to [CGenFF](https://cgenff.com/) (recently moved to SilcsBio) and retrieve the .str file with parameters. Check this file carefully for poor estimations and high penalty approximations! This script is flexible enough to recognize most commented-out and unnecessary lines, but the output of the .str file can vary. If there are any issues with parse_cgen(), make sure all lines that aren't parameters are commented out.
     **Be sure to include ALL parameters, not just the parameters that aren't already in CHARMM!** SilcsBio has no knowledge of what parameters exist in your CHARMM build, especially if an older version is being used.
  3. **Familiarize yourself with `ffbonded.itp` file and prepare to add new parameters**
      Understand how `ffbonded.itp` is formatted and which entries go where. These are large files with standard formatting rules and any unexpected lines or inconsistencies may cause issues with parse_ff(). Sample files are provided to show original up to date .itp files, as well as a slightly modified .itp to demonstrate the formatting rules.
  4. **Use the cgen2gmx.py script**
     Generate an output file that contains unique entries-new entries to be added to the existing .itp file that will not clash with existing entries-with specified units and column order for CHARMM forcefields for GROMACS.
     From the directory containing `cgen2gmx.py` if repo is cloned:
     > python cgen2gmx.py --itp demo/ffbonded-36m_jul2022.itp --cgen demo/CGEN_OUTPUT/CRO_ex.str --output cgen2gmx_DEMO.dat --kJ
     **if installed via pip, `cgen2gmx` allows you to interact with the module anywhere. Enter `cgen2gmx --help` for more information.**
     This command takes in a current, unmodified `ffbonded.itp` file, searches for duplicates found in a raw CGenFF output file, and outputs unique entries in the proper order and units for GROMACS simulations (kJ and nm).
     > python cgen2gmx.py --itp demo/ffbonded-36m_jul2022.itp --cgen demo/CGEN_OUTPUT/CRO_ex.str --output cgen2gmx_DEMO.dat
     This command does the exact same thing as the previous one, but leaves the units as-is from CGenFF (kcal and Å). This should add flexibility in case this script needs to be adapted for other MD engines. However, the header column order is hardcoded and fixed to follow the format present in CHARMM forcefields.
  5. **Add unique entries to `ffbonded.itp` with a text editor**
     `cgen2gmx_DEMO.dat` will contain the unique entries, complete with consistent formatting to blend in with existing entires and headers with units. Headers will be printed regardless if there are any unique entries. Use your text editor of choice to add the unique entries under the proper bracketed heading, [ bondtypes ], [ angletypes ], and so forth.

   If this was useful to you in any way, whether parameterizing small molecules for a research project or just to see how someone else accomplished this, please let me know! I used a clunkier, less flexible version of this code to deal with MD parameters for chromophores in fluorescent proteins for my MS thesis. Polishing and publishing this script was a great exercise in building reusable code, as well as an opprotunity to showcase my Python abilities.
   While `parse_cgen()` and `classes.py` handle the atom types and topolgy information found in the CGenFF output, that information is not used by the script. There are issues translating the atom types used by different MD engines, and the topologies found in CGenFF are GENERALLY compatible. Future releases may target this information for greater functionality.
   If you think this this repository would fit in well with an existing codebase, please let me know and I would be happy to contribute to more estabished software packages for visibility!


pkgId: 52e2900bab9f4de178b4ab7ae1b915141834a2c31a1bec5f9d7d5a183984b7f2
name: python-cgeniepy
arch: src
version: 0.14.7
epoch: 0
release: 1
summary: A Python package to read, analyse and visualise cGENIE Earth System Model output
url: https://pypi.org/project/cgeniepy/
rpm_license: GPL-3.0-only
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgeniepy-0.14.7-1.src.rpm
checksum_type: sha256
description:
  <p align="center">
    <img src="logo.png"/>
  </p>

  [![Documentation Status](https://readthedocs.org/projects/cgeniepy/badge/?version=latest)](https://cgeniepy.readthedocs.io/en/latest/?badge=latest)
  [![PyPI version](https://badge.fury.io/py/cgeniepy.svg)](https://badge.fury.io/py/cgeniepy)
  ![PyPI - Downloads](https://img.shields.io/pypi/dm/cgeniepy)
  [![DOI](https://joss.theoj.org/papers/10.21105/joss.06762/status.svg)](https://doi.org/10.21105/joss.06762)
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13799838.svg)](https://doi.org/10.5281/zenodo.13799838)
  [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

  `cgeniepy` is a Python package to analyse the output of [cGENIE Earth System Model](https://www.seao2.info/mymuffin.html). It aims to provide a set of convenient tools for the post-simulation work, including analysing the model output, plotting publication-quality figures, and conducting model-data comparison.

  ⚠ `cgeniepy` is in beta stage with main functionalities being accompolished.




  1. Install from [PyPI](https://pypi.org/project/cgeniepy/).

  ```bash
  python3 -m pip install cgeniepy
  ```

  2. Install from GitHub:

  ```bash
  python3 -m pip install git+https://github.com/ruiying-ocean/cgeniepy.git@master
  ```

  3. Install extra dependency
  ```bash
  python3 -m pip install "cgeniepy[extra]"
  ```



  I have uploaded a sample model run, which is a [preindustrial spinup configuration](https://doi.org/10.5194/gmd-17-1729-2024) with marine ecosystem and biogeochemistry enabled (C, P, Fe, Si, O).

  ```python
  import cgeniepy
  from cgeniepy.model import GenieModel

  model = cgeniepy.sample_model()

  model = GenieModel("directory_to_your_model_output")


  model.get_var('ocn_sur_temp').isel(time=-1).plot(colorbar=True)
  ```

  * If you want to try other cGENIE model runs, you may go to this zenodo record (https://zenodo.org/records/10575295).
  * If you want to try non-cGENIE model, I have also uploaded two example files to here (https://zenodo.org/records/13786014).




  [An online documentation is hosted in readthedoc.](https://cgeniepy.readthedocs.io/en/latest/)





  Ying, R. (2024). cgeniepy: A Python package for analysing cGENIE Earth System Model output. Journal of Open Source Software, 9(101), 6762. https://doi.org/10.21105/joss.06762



  Logo is designed by me using free **righteous** font.


  * Prof. Andy Ridgwell's [muffinplot](https://github.com/derpycode/muffinplot)
  * Dr. Alex Phol's [genie_basicdiags](https://github.com/alexpohl/genie_basicdiags/)



  Please use GitHub's Issues to raise a bug. This makes the issues traceable so that future users having the same problem can find the answer in the public domain.



  [How to contribute](CONTRIBUTING.md)


pkgId: 3f6cf3b02727bbcbb27155b255e8ec38442bb5d3542cf7ac0010856a92711c2e
name: python-cgg
arch: src
version: 0.4.0
epoch: 0
release: 1
url: https://gguf.us
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgg-0.4.0-1.src.rpm
checksum_type: sha256
summary:
  cgg is a short form of call gguf model/file; cgg is a cmd-based app built on gguf-connector, which allows users interacting with large language model (i.e., chatgpt) via a simple command without coding a long long syntax

description:
  [<img src="https://raw.githubusercontent.com/calcuis/cgg/master/cgg.gif" width="128" height="128">](https://github.com/calcuis/cgg)
  [![Static Badge](https://img.shields.io/badge/cgg-release-blue?logo=github)](https://github.com/calcuis/cgg/releases)

  This package is a GGUF (GPT-Generated Unified Format) file/model caller. Perfect to run in low end device(s).

  ```
  pip install cgg
  ```
  If your c/c++ compiler cannot build the engine wheel successfully; could opt to get it [here](https://github.com/abetlen/llama-cpp-python/releases) straight; or try [core](https://pypi.org/project/gguf-core).

  ```
  pip install cgg --upgrade
  ```

  This is a cmd-based (command line) package, you can find the user manual by adding the flag -h or --help.
  ```
  cgg -h
  ```

  ```
  cgg -v
  ```

  ```
  cgg menu
  ```

  Simple GUI to interact with a chat model for generating responses (recommended).

  ```
  cgg cpp
  ```

  ```
  cgg c
  ```

  CLI input also provided for expert/advanced user(s).

  ```
  cgg gpp
  ```

  ```
  cgg g
  ```

  ```
  cgg v
  ```

  GGUF file(s) in the same directory will automatically be detected by the caller, hence, a selection menu will be shown in the console as below.

  [<img src="https://raw.githubusercontent.com/calcuis/chatgpt-model-selector/master/demo.gif" width="350" height="280">](https://github.com/calcuis/chatgpt-model-selector/blob/main/demo.gif)
  [<img src="https://raw.githubusercontent.com/calcuis/chatgpt-model-selector/master/demo1.gif" width="350" height="280">](https://github.com/calcuis/chatgpt-model-selector/blob/main/demo1.gif)


  You can check model metadata by:
  ```
  cgg r
  ```
  Or try the model analyzor by:
  ```
  cgg a
  ```

  ```
  cgg clone [url]
  ```
  With this fast clone feature, you can clone any (GGUF model) file from URL, save it automatically in the current directory, and get it ready to connect locally (run it with your own machine offline); depends on the file size, as well as the network connectivity, it may take a while to complete the clone process; and you are able to see a dynamic progress bar showing the downloading status.

  If you are a mac newbie, you might encounter ssl cert. issue while executing clone command or while entering the lazylist below; a practical solution: click Install Certificates.command under your Python version folder; details please refer to the [issues](https://github.com/calcuis/cgg/issues/1) reported.


  For general purpose
  [chat.gguf] (size: around 2GB or less)
  ```
  cgg clone https://huggingface.co/calcuis/chat/resolve/main/chat.gguf
  ```
  For coding assistance
  [code.gguf] (size: around 3GB or more)
  ```
  cgg clone https://huggingface.co/calcuis/code_mini/resolve/main/code.gguf
  ```
  For health/medical advice
  [medi.gguf] (size: around 3GB or more)
  ```
  cgg clone https://huggingface.co/calcuis/medi_mini/resolve/main/medi.gguf
  ```
  For law/legal opinion
  [law.gguf] (size: around 3GB or more)
  ```
  cgg clone https://huggingface.co/calcuis/law_mini/resolve/main/law.gguf
  ```
  For wealth/financial plan
  [finance.gguf] (size: around 3GB or more)
  ```
  cgg clone https://huggingface.co/calcuis/gguf/resolve/main/finance.gguf
  ```
  For calculation/math solution
  [math.gguf] (size: around 3GB or more)
  ```
  cgg clone https://huggingface.co/calcuis/gguf/resolve/main/math.gguf
  ```
  ***those are all experimental models; no guarantee on quality


  You can either use the clone feature above or opt it straight from the lazy list by:
  ```
  cgg s
  ```
  [<img src="https://raw.githubusercontent.com/calcuis/gguf-connector/master/demo2.gif" width="350" height="225">](https://github.com/calcuis/gguf-connector/blob/main/demo2.gif)


  Download [comfy](https://github.com/calcuis/comfy) GGUF windows portable pack by:
  ```
  cgg y
  ```


  You can load PDF into the model for analysis right away by (analyzor c):
  ```
  cgg pc
  ```
  Or by (analyzor p):
  ```
  cgg pp
  ```

  You can prompt voice/speech (wav file) as input by (recognizor c):
  ```
  cgg vc
  ```
  Or by (recognizor p):
  ```
  cgg vp
  ```
  Or by (online recognizor c):
  ```
  cgg oc
  ```
  Or by (online recognizor p):
  ```
  cgg op
  ```

  Click [gguf.org](https://gguf.org) (mirror of gguf.us) or launch it straight from console by:
  ```
  cgg org
  ```
  Click [gguf.io](https://gguf.io) (mirror of gguf.us) or launch it straight from console by:
  ```
  cgg io
  ```
  Click [gguf.us](https://gguf.us) or launch it straight from console by:
  ```
  cgg us
  ```


pkgId: 3bb5513372359edc0930fa5eb72dcb36799a3691c47a517c689cd2e5fe646c88
name: python-cgiproxy
arch: src
version: 20.11.14
epoch: 0
release: 1
summary: The simple HTTP proxy.
url: https://github.com/Datamart/CGI-Proxy
rpm_license: Apache 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgiproxy-20.11.14-1.src.rpm
checksum_type: sha256
description:
  [![Build Status](https://travis-ci.org/Datamart/CGI-Proxy.svg?branch=master)](https://travis-ci.org/Datamart/CGI-Proxy) [![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) [![PyPI Version](https://img.shields.io/pypi/v/cgiproxy.svg)](https://pypi.org/project/cgiproxy/) [![Python Versions](https://img.shields.io/pypi/pyversions/cgiproxy.svg)](https://pypi.org/project/cgiproxy/) [![PyPI Downloads](https://img.shields.io/pypi/dm/cgiproxy.svg?style=flat)](https://pypi.org/project/cgiproxy/) [![PyPI Format](https://img.shields.io/pypi/format/cgiproxy.svg?style=flat)](https://pypi.org/project/cgiproxy/) [![PyPI Status](https://img.shields.io/pypi/status/cgiproxy.svg?style=flat)](https://pypi.org/project/cgiproxy/)

  Simple CGI HTTP Proxy.
  * Sets the `X-Forwarded-For` header with the client IP address;
  * Sets the `User-Agent` header with the client' `User-Agent` string;
  * Decodes `gzip`-ed content;
  * Prints all errors to `stderr`;
  * Uses `urllib2` for Python 2 and `urllib.request` for Python 3.



  Install from PyPI using `pip`:

  ```bash
  $ pip install cgiproxy
  ```





  Performs `GET` request.

  **Arguments:**
  * `url` - The request URL as `str`.
  * `headers` - Optional HTTP request headers as `dict`.

  **Returns:**
  * A tuple of `(content, status_code, response_headers)`



  Performs `HEAD` request.

  **Arguments:**
  * `url` - The request URL as `str`.
  * `headers` - Optional HTTP request headers as `dict`.

  **Returns:**
  * A tuple of `(content='', status_code, response_headers)`



  Performs `POST` request. Converts query to `POST` params if `data` is `None`.

  **Arguments:**
  * `url` - The request URL as `str`.
  * `data` - Optional HTTP POST data as URL-encoded `str`.
  * `headers` - Optional HTTP request headers as `dict`.

  **Returns:**
  * A tuple of `(content, status_code, response_headers)`



  Gets HTTP status code.

  **Arguments:**
  * `url` - The request URL as `str`.
  * `headers` - Optional HTTP request headers as `dict`.

  **Returns:**
  * An HTTP status code.



  Gets HTTP response headers.

  **Arguments:**
  * `url` - The request URL as `str`.
  * `headers` - Optional HTTP request headers as `dict`.

  **Returns:**
  * An HTTP response headers as `dict`.




  ```python
  import cgiproxy

  status = cgiproxy.get_http_status('https://www.pageportrait.com/')
  print(200 == status)

  headers = cgiproxy.get_response_headers('https://komito.net/')
  print(headers.get('content-type'))

  content, status, headers = cgiproxy.do_head('https://www.dtm.io/')
  print('' == content)
  print(200 == status)
  print(headers.get('content-type'))

  content, status, headers = cgiproxy.do_get('https://www.dtm.io/', headers={
      'User-Agent': 'Mozilla/5.0 (compatible; Darwin/18.2.0) cgiproxy/18.12',
      'X-Custom-Header': 'value'
  })
  print('' != content)
  print(200 == status)
  print(headers.get('content-type'))

  content, status, headers = cgiproxy.do_post('https://example.com/', data='aaa%3Dbbb%26ccc%3Dddd')
  print('' != content)
  print(200 == status)
  print(headers.get('content-type'))
  ```


pkgId: 763b11d9dadcb54f4731237a410c7ba4fb41655a9c41a282c2e976ca8bd66404
name: python-cgiw
arch: src
version: 0.2.3
epoch: 0
release: 1
summary: A framework for building python cgi scripts
url: https://github.com/JamesRao98/cgiw
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgiw-0.2.3-1.src.rpm
checksum_type: sha256
description:
  This is a lightweight, extensible framework for writing CGI scripts in python.



  ```
  pip install cgiw
  ```



  This package takes care of parsing the query, headers and body (if post). It parses some basic mime types such as ```application/json``` and ```application/x-www-form-urlencoded```, and allows the developer to use custom parsers. All handlers must return a tuple containing three items: the status string, a dictionary of headers, and the body. There are some basic response functions implemented to avoid having to construct this tuple from scratch.


  Here is an example that demonstrates the functionality of the framework.

  ```python


  from cgiw import run
  from cgiw.responses import redirect
  from cgiw.decorators import wrap_headers, wrap_body


  def process_headers(headers):
      
      return headers

  def process_body(body):
      
      return body

  @wrap_headers(process_headers)
  @wrap_body(process_body)
  def handler(query, headers, body):
      
      return redirect('/test', {'query': 'string'})

  run(post=handler)
  ```


pkgId: 765ace5d0ad2d8bac6d9859d9ecca73390abae6534b2257032894ada2ea5522e
name: python-cgmodels
arch: src
version: 0.11.0
epoch: 0
release: 1
summary: please add a summary manually as the author left a blank one
url: https://github.com/Clinical-Genomics/cgmodels
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgmodels-0.11.0-1.src.rpm
checksum_type: sha256
description:
  ![Tests][tests-badge] [![codecov][codecov-badge]][codecov-url][![CodeFactor][codefactor-badge]][codefactor-url][![Code style: black][black-badge]][black-url]

  Library that work as an interface between services at Clinical Genomics.
  In most cases where multiple services needs access to a common API, those models should be defined here.



  Currently **cgmodels** support contracts for the following applications:

  - crunchy
  - demultiplex





  ```
  pip install cgmodels
  ```



  Install [poetry][poetry]

  ```
  git clone https://github.com/Clinical-Genomics/cgmodels
  poetry install
  ```


  [black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
  [black-url]: https://github.com/psf/black
  [codefactor-badge]: https://www.codefactor.io/repository/github/clinical-genomics/cgmodels/badge
  [codefactor-url]: https://www.codefactor.io/repository/github/clinical-genomics/cgmodels
  [tests-badge]: https://github.com/Clinical-Genomics/cgmodels/workflows/Tests/badge.svg
  [codecov-badge]: https://codecov.io/gh/Clinical-Genomics/cgmodels/branch/main/graph/badge.svg?token=MA62EOQTX7
  [codecov-url]: https://codecov.io/gh/Clinical-Genomics/cgmodels
  [poetry]: https://python-poetry.org/docs/#installation


pkgId: cd7d424c0872352d435801e70e0b1ca358216abf588802c8637d4eba14d39310
name: python-cgpa-calculator
arch: src
version: 2.2.0
epoch: 0
release: 1
summary: A Python-based CGPA Calculator to manage courses and calculate weighted CGPA.
url: https://github.com/Mustakim-Taki/cgpa_calculator
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgpa-calculator-2.2.0-1.src.rpm
checksum_type: sha256
description:
  Library Link: https://pypi.org/project/cgpa-calculator/1.0.0/

  `pip install cgpa-calculator-2`

  A Python-based CGPA Calculator that helps you manage your courses, calculate your CGPA based on GPAs and credits, and display detailed course-wise results. The tool is simple, efficient, and easy to use.


  - Add multiple courses with GPA and credit values.
  - Calculate weighted CGPA based on the entered courses and credits.
  - Display detailed results for each course, including course name, GPA, and credit hours.
  - Input validation for GPA (0.0–4.0) and credit values (positive numbers).




  - Python 3.x installed on your system.


  1. Clone this repository or download the `CGPACalculator.py` file:
     ```bash
     https://github.com/Mustakim-Taki/cgpa_calculator
     cd cgpa_calculator


  Ensure Python is installed and properly configured.<br>

  1. Add Courses
  Use the add_course method to add a course with:

  Course Name (string)
  GPA (float, 0.0–4.0)
  Credit Hours (positive integer)<br>
  `from cgpa_calculator import CGPACalculator`
  `calculator = CGPACalculator()`

  `calculator.add_course("CSE110", 4.0, 3)` <br>
  `calculator.add_course("CSE370", 3.7, 3)` <br>
  2. Calculate CGPA<br>
  Call the calculate_cgpa method to compute your CGPA:<br>
  `calculator.calculate_cgpa()`
  3. Show Course Results
  Display all added courses with their details using the show_results method:
  `calculator.show_results()`


  ```
  Your CGPA is: 3.90
  Course Results:
  Course: CSE110 || Credit: 3 || GPA: 4.0
  Course: CSE370 || Credit: 3 || GPA: 3.7
  ```


pkgId: bccaf92cc157d4c5bb81d3986fe9d6d721bf3ac48c50f8faf0de836d8ed29663
name: python-cgpt
arch: src
version: 1.2.11
epoch: 0
release: 1
summary: Cgpt
url: https://github.com/ainayves/cgpt
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgpt-1.2.11-1.src.rpm
checksum_type: sha256
description:
  ![PyPI](https://img.shields.io/pypi/v/cgpt)
  ![python](https://img.shields.io/badge/Python-3.10-blue.svg)
  ![commit activity](https://img.shields.io/github/commit-activity/m/ainayves/cgpt?color=blue)
  [![Build Status](https://img.shields.io/badge/Build%20status-Passing-green)](https://github.com/ainayves/cgpt/actions)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

  <center><h2>🤖 MAKE AI POWERED SEARCH INSIDE YOUR CLI 💻</h2></center>
  </br>



  - [AI conversation exactly the same as in openai website](#descriptions)
  - [LAN support](#cgpt-inside-a-local-area-network)
  - [Docker support](#run-with-docker)
  - [Devbox support](#devbox-support)

  </br>

  ![cgpt](https://i.imgflip.com/8hg7fs.jpg)

  </br>



  - `cgpt` is a [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) tool that allows you to use AI directly in your favorite Terminal.
  - `cgpt` is based on [CLICK](https://github.com/pallets/click) for creating beautiful command line interfaces in a composable way.



  - python >=3.10
  - openai API KEY :
    You need to register on openai to receive your own api key , here : [api_key](https://platform.openai.com/account/api-keys).

    > This tool is still using `gpt-3.5-turbo` ,
    > `gpt-4` and `gpt-4-turbo` are on the way. 😉





  You can directly install the latest version from pypi.

  ```
  $ pip install cgpt
  ```

  ```
  $ cgpt
  ```



  You can also use cgpt inside a LAN.

  - You just need one Host (`connected to internet`) to be the server.
  - Other Hosts (`not connected to internet`) can ALWAYS use the AI  as `client`.

  > For more information , look [here](https://cgpt.readthedocs.io/en/latest/index.html#use-it-inside-a-local-network).




  Pull the image
  ```
  $ docker pull ainayves/cgpt:latest
  ```

  Run the docker image by using your openai [api_key](https://platform.openai.com/account/api-keys) :

  ```
  $ docker run -e OPENAI_API_KEY="yourapikey" -i -t ainayves/cgpt:latest
  ```
  To run the LAN mode in docker :

  ```
  $ docker run -e OPENAI_API_KEY="yourapikey" -i -t ainayves/cgpt:latest poetry run cgpt --lan
  ```



  To make life easier for contributors , you can install and use [Devbox](https://www.jetpack.io/devbox/docs/installing_devbox/).

  Then , run this command in the root directory of the project:

  ```
  $ devbox run start
  ```
  > # ⚠️ Warning for users only
  > Development of MacOS compatibility for `cgpt` is still ongoing and undergoing enhancements.



  Please feel free to leave feedback in issues/PRs.


pkgId: da4d7bdaff63505dc1b887a55e93a303e918a1b7e4a6a7362e69b68a372b5eaf
name: python-cgroups-exporter
arch: src
version: 0.8.8
epoch: 0
release: 1
summary: prometheus exporter for cgroups v1
url: https://github.com/mosquito/cgroups-exporter
rpm_license: Apache Software License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgroups-exporter-0.8.8-1.src.rpm
checksum_type: sha256
description:
  Exporter for CGroups metrics, for LXD/Docker/systemd.
  Collects metrics for all cgroups based containers or SystemD services
  on the host machine, without the need to install separate exporters
  inside each container.


pkgId: 52237d2b291b7d010914eddbf19f70251a824d8789020aadcb801e8ae751f79a
name: python-cgroupspy
arch: src
version: 0.2.3
epoch: 0
release: 1
summary: Python library for managing cgroups
url: https://github.com/cloudsigma/cgroupspy
rpm_license: New BSD
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgroupspy-0.2.3-1.src.rpm
checksum_type: sha256
description:
  Python library for managing cgroups
  The library provides a pythonic way to manage and represent cgroups. It provides interfaces that convert
  python objects to cgroups compatible strings and vise versa.


pkgId: c3b6f88d3dbaffbf8a23f7597d26ef860f082fde443e031bb85d437af84a7b11
name: python-cgt
arch: src
version: 0.4.3
epoch: 0
release: 1
summary: Tools for representing genomes in sage
url: https://github.com/js51/Circular-genome-tools
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgt-0.4.3-1.src.rpm
checksum_type: sha256
description:
  [![](https://img.shields.io/pypi/v/cgt.svg)](https://pypi.org/project/cgt/) [![](https://github.com/js51/Circular-genome-tools/actions/workflows/python-publish.yml/badge.svg)](https://github.com/js51/Circular-genome-tools/actions/workflows/python-publish.yml)

  A sage package for working with circular genomes represented by signed or unsigned permutations. It includes tools for converting between representations as well as visualisations using matplotlib.

  To install and use this package, paste the following command in your terminal

  `sage -pip install cgt`

  and use `import cgt` in a sage script or environment.

  If you would like to contribute to `cgt`, please see [`CONTRIBUTING.md`](CONTRIBUTING.md) for how to get set up.

  If you use this software in your work, please cite it use the citation function on the github page or see [`CITATION.cff`](CITATION.cff)

  **Note:** you will need to at least have Sage version 9.0 installed. If you aren't sure how to do this, see the installation instructions in [`INSTALL.md`](INSTALL.md).


pkgId: 152667de364066586a592cfd29043d117317988df3b88f3fa13a987994c19372
name: python-cgt-calc
arch: src
version: 1.13.0
epoch: 0
release: 1
summary: UK capital gains tax calculator for Charles Schwab and Trading 212 accounts
url: https://github.com/KapJI/capital-gains-calculator
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cgt-calc-1.13.0-1.src.rpm
checksum_type: sha256
description:
  [![CI](https://github.com/KapJI/capital-gains-calculator/actions/workflows/ci.yml/badge.svg)](https://github.com/KapJI/capital-gains-calculator/actions)
  [![PyPI version](https://img.shields.io/pypi/v/cgt-calc)](https://pypi.org/project/cgt-calc/)



  Calculate capital gains tax by transaction history exported from Charles Schwab, Trading 212 and Morgan Stanley. Generate PDF report with calculations.

  Automatically convert all prices to GBP and apply HMRC rules to calculate capital gains tax: "same day" rule, "bed and breakfast" rule, section 104 holding.



  [calculations_example.pdf](https://github.com/KapJI/capital-gains-calculator/blob/main/calculations_example.pdf)



  Install it with [pipx](https://pypa.github.io/pipx/) (or regular pip):

  ```shell
  pipx install cgt-calc
  ```



  -   Python 3.8 or above.
  -   `pdflatex` is required to generate the report.
  -   [Optional] Docker





  ```shell
  brew install --cask mactex-no-gui
  ```



  ```shell
  apt install texlive-latex-base
  ```



  [Install MiKTeX.](https://miktex.org/download)



  These steps will build and run the calculator in a self-contained environment, in case you would rather not have a systemwide LaTeX installation (or don't want to interfere with an existing one).
  The following steps are tested on an Apple silicon Mac and may need to be slightly modified on other platforms.
  With the cloned repository as the current working directory:

  ```shell
  $ docker buildx build --platform linux/amd64 --tag capital-gains-calculator .
  ```

  Now you've built and tagged the calculator image, you can drop into a shell with `cgt-calc` installed on `$PATH`. Navigate to where you store your transaction data, and run:

  ```shell
  $ cd ~/Taxes/Transactions
  $ docker run --rm -it -v "$PWD":/data capital-gains-calculator:latest
  a4800eca1914:/data# cgt-calc [...]
  ```

  This will create a temporary Docker container with the current directory on the host (where your transaction data is) mounted inside the container at `/data`. Follow the usage instructions below as normal,
  and when you're done, simply exit the shell. You will be dropped back into the shell on your host, with your output report pdf etc..



  You will need several input files:

  -   Exported transaction history from Schwab in CSV format since the beginning.
      Or at least since you first acquired the shares, which you were holding during the tax year. Schwab only allows to download transaction for the last 4 years so keep it safe. After that you may need to restore transactions from PDF statements.
      [See example](https://github.com/KapJI/capital-gains-calculator/blob/main/tests/test_data/schwab_transactions.csv).
  -   Exported transaction history from Schwab Equity Awards (e.g. for Alphabet/Google employees) since the beginning (Note: Schwab now allows for the whole history of Equity Awards account transactions to be downloaded). These are to be downloaded in JSON format. Instructions are available at the top of the [parser file](../main/cgt_calc/parsers/schwab_equity_award_json.py).
  -   Exported transaction history from Trading 212.
      You can use several files here since Trading 212 limit the statements to 1 year periods.
      [See example](https://github.com/KapJI/capital-gains-calculator/tree/main/tests/test_data/trading212).
  -   Exported transaction history from Morgan Stanley.
      Since Morgan Stanley generates multiple files in a single report, please specify a directory produced from the report download page.
  -   Exported transaction history from Sharesight
      Sharesight is a portfolio tracking tool with support for multiple brokers.

      You will need the "All Trades" and "Taxable Income" reports since the beginning.
      Make sure to select "Since Inception" for the period, and "Not Grouping".
      Export both reports to Excel or Google Sheets, save as CSV, and place them in the same folder.

      Sharesight aggregates transactions from multiple brokers, but doesn't necessarily have balance information.
      Use the `--no-balance-check` flag to avoid spurious errors.

      Since there is no direct support for equity grants, add `Stock Activity` as part of the comment associated with any vesting transactions - making sure they have the grant price filled.

      [See example](https://github.com/KapJI/capital-gains-calculator/tree/main/tests/test_data/sharesight).

  -   CSV file with initial stock prices in USD at the moment of vesting, split, etc.
      [`initial_prices.csv`](https://github.com/KapJI/capital-gains-calculator/blob/main/cgt_calc/resources/initial_prices.csv) comes pre-packaged, you need to use the same format.
  -   (Optional) Monthly exchange rates prices from [gov.uk](https://www.gov.uk/government/collections/exchange-rates-for-customs-and-vat).
      `exchange_rates.csv` gets generated automatically using HMRC API, you need to use the same format if you want to override it.

  Then run (you can omit the brokers you don't use):

  ```shell
  cgt-calc --year 2020 --schwab schwab_transactions.csv --trading212 trading212/ --mssb mmsb_report/
  ```

  See `cgt-calc --help` for the full list of settings.



  Please be aware that I'm not a tax adviser so use this data at your own risk.



  All contributions are highly welcomed.
  If you notice any bugs please open an issue or send a PR to fix it.

  Feel free to add new parsers to support transaction history from more brokers.



  This project uses [Poetry](https://python-poetry.org/) for managing dependencies.

  -   For local testing you need to [install it](https://python-poetry.org/docs/#installation).
  -   After that run `poetry install` to install all dependencies.
  -   Then activate `pre-commit` hook: `poetry run pre-commit install`

  You can also run all linters and tests manually with this command:

  ```shell
  poetry run pre-commit run --all-files
  ```


pkgId: 32e4cc1579b7558711b97354e7a03b6a27d8fc7e8029f0978c402b13c70c352e
name: python-ch.zbindenonline.weatherstation
arch: src
version: 1.7.4
epoch: 0
release: 1
summary: Collects data from tinkerforge outdoor weather station and saves it to sqlite database.
url: https://pypi.org/project/ch.zbindenonline.weatherstation/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-ch.zbindenonline.weatherstation-1.7.4-1.src.rpm
checksum_type: sha256
description:
  source env/bin/activate deactivate


  python3 -m pip install --user --upgrade setuptools wheel

  rm -Rf dist

  python3 setup.py sdist bdist_wheel

  python3 -m pip install --user --upgrade twine

  python3 -m twine upload dist/*


pkgId: 49a390fccfe89b3683ca4771d5db243b78de4e9eb584fbbbc63673a3083e2524
name: python-ch5mpy
arch: src
version: 0.4.6
epoch: 0
release: 1
summary: Collection of helper tools for reading or writing to h5 files using the h5py library.
url: https://pypi.org/project/ch5mpy/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-ch5mpy-0.4.6-1.src.rpm
checksum_type: sha256
description:
  Pronounced "champy".
  This library provides a set of helper tools for easily reading or writing even complex objects to h5 files using the h5py library. It implements wrappers around h5py objects providing APIs identical to regular Python lists and dicts and to numpy ndarrays.

  See the complete documentation at https://ch5mpy.readthedocs.io/en/latest/ for more details.



  Ch5mpy provides a set of abstractions over h5py's (https://docs.h5py.org/en/stable/) objects for handling them as more commonly used objects :
  - H5Dict: an object behaving as regular Python dictionaries, for exploring Files and Groups.
  - H5List: an object behaving as regular Python lists for storing any set of objects.
  - H5Array: an object behaving as Numpy ndarrays for dealing effortlessly with Datasets while keeping the memory usage low. This works by applying numpy functions to small chunks of the whole Dataset at a time.
  - AttributeManager: a dict-like object for accessing an h5 object's metadata.
  - read/write utily functions for effortlessly storing any object to an h5 file.

  Pickling has also been added to base h5 objects.


  Ch5mpy provides Datasets, Groups and Files objects wrapping the h5py's equivalents to allow pickling. Those objects can be directly imported from `ch5mpy`:

  ```python
  >>> from ch5mpy import File
  >>> from ch5mpy import Group
  >>> from ch5mpy import Dataset
  ```

  The `H5Mode` enum lists valid modes for opening an h5 file:

  ```python
  >>> from ch5mpy import H5Mode
  ```

  ```python
  class H5Mode(str, Enum):
      READ = "r"  # Readonly, file must exist
      READ_WRITE = "r+"  # Read/write, file must exist
      WRITE_TRUNCATE = "w"  # Create file, truncate if exists
      WRITE = "w-"  # Create file, fail if exists
      READ_WRITE_CREATE = "a"  # Read/write if exists, create otherwise
  ```


  Metadata on Datasets, Groups and Files can be obtained and modified through the `.attrs` attribute, returning an `AttributeManager` object. `AttributeManagers` behave like Python dictionaries for getting and setting any value.

  ```python
  >>> from ch5mpy import File
  >>> f = File('some/file.h5')
  >>> f.attrs
  AttributeManager{value: 1,
                   creation: '02/08/2021',
                   parent: None}
  >>> f.attrs['value']
  1
  ```

  `AttributeManagers` correctly handle `None` values.


  An `H5Dict` allows to explore the content of an H5 File or Group as if it was a regular Python dict. Any value can be set in an `H5Dict`. However, keys in an `H5Dict` are not loaded into memory until they are directly requested. `Datasets` are wrapped and accessed as `H5Arrays` (see section [H5Arrays](#h5array)).

  To create an `H5Dict`, a `File` or `Group` object must be provided as argument:

  ```python
  >>> from ch5mpy import File
  >>> from ch5mpy import H5Dict
  >>> from ch5mpy import H5Mode
  >>>
  >>> dct = H5Dict(File("dict.h5", H5Mode.READ_WRITE))
  >>> dct
  H5Dict{
      a: 1,
      b: H5Array([1, 2, 3], shape=(3,), dtype=int64),
      c: {...}
  }
  ```

  Here, `dct` is an `H5Dict` with 3 keys `a, b and c` where :
  - `a` maps to the value `1`
  - `b` maps to a 1D Dataset
  - `c` maps to a sub H5Dict with keys and values not loaded yet

  Alternatively, an `H5Dict` can be created directly from a path to an h5 file:

  ```python
  >>> H5Dict.read("dict.h5")
  H5Dict{
      a: 1,
      b: H5Array([1, 2, 3], shape=(3,), dtype=int64),
      c: {...}
  }
  ```


  An `H5List` behave as regular Python lists, allowing to store and access any kind of object in an h5 file. `H5Lists` are usually created when regular lists are stored in an h5 file.

  As for [H5Dicts](#h5dict), `H5Lists` can be created by providing a `File` or by calling the `.read()` method:

  ```python
  >>> from ch5mpy import File
  >>> from ch5mpy import H5List
  >>> from ch5mpy import H5Mode
  >>>
  >>> lst = H5List(File("backed_list.h5", H5Mode.READ_WRITE))
  >>> lst
  H5List[1.0, 2, '4.']
  ```

  ```python
  class O_:
      def __init__(self, v: float):
          self._v = v

      def __repr__(self) -> str:
          return f"O({self._v})"
  ```

  ```python
  >>> lst.append(O(5.0))
  >>> lst
  H5List[1.0, 2, '4.', O(5.0)]
  ```

  `H5Lists` can store regular integers, floats and strings, but can also store any object (such as the `O` object at index 3 in this example).


  `H5Arrays` wrap `Datasets` and implement numpy ndarrays' interface to behave as numpy ndarrays while controlling the amount of RAM used. The maximum amount of available RAM for performing operations can be set with the function `set_options(max_memory_usage=...)`, using suffixes `B`, `K`, `M` and `G` for expressing amounts in bytes.

  H5Arrays can be created by passing a `Dataset` as argument.

  ```python
  >>> from ch5mpy import File
  >>> from ch5mpy import H5Mode
  >>> from ch5mpy import H5Array
  >>> h5_array = H5Array(File("h5_arrays", H5Mode.READ_WRITE)["integers"])
  >>> h5_array
  H5Array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]], shape=(3, 3), dtype=int64)
  >>> h5_array = H5Array(File("h5_arrays", H5Mode.READ_WRITE)["strings"])
  >>> h5_array
  H5Array(['blue', 'red', 'yellow'], shape=(3,), dtype='<U6')
  ```



  Then, all usual numpy indexing and methods can be used. To keep the memory footprint small, those methods will be applied repeatedly on small chunks of the underlying Dataset.

  To load an H5Array into memory as a numpy array, simply run :

  ```python
  np.array(h5_array)
  ```




  To store any array-like object (object which could be converted to a numpy ndarray), functions `write_dataset()` and `write_datasets()` respectively allow to store one or many such objects.

  To store any other object, call functions `write_object()` and `write_objects()`.
  To dertermine how the object will be stored in the h5 file, the following rules are applied:
  - objects implementing the [Storing API](#storing-api) will be stored by calling the `__h5_write__()` function
  - objects that can be converted to numpy arrays will be saved by calling `write_dataset()`
  - numbers and strings will be stored directly
  - all other objects will be stored as binary data by first pickling them


  To define by hand how an object is stored and read from an h5 file, you can implement the `__h5_write__()` and `__h5_read__()` methods:

  ```python
  class YourObject:
      ...

      def __h5_write__(self, values: ch5mpy.H5Dict[Any]) -> None:
          ...

      @classmethod
      def __h5_read__(cls, values: ch5mpy.H5Dict[Any]) -> YourObject:
          ...
  ```

  Both `__h5_write__()` and `__h5_read__()` receive as input an `H5Dict` in which to store or retreive your object. Please note that `__h5_read__()` is a classmethod, called as `YourObject.__h5_read__()` and which is responsible for both reading data from the `H5Dict` and reconstructing an instance of `YourObject`.



  Numpy methods to implement for `H5Arrays`:

  Logic functions
  - [x] np.all
  - [x] np.any
  - [x] np.isfinite
  - [x] np.isinf
  - [x] np.isnan
  - [ ] np.isnat
  - [x] np.isneginf
  - [x] np.isposinf
  - [ ] np.iscomplex
  - [ ] np.iscomplexobj
  - [ ] np.isfortran
  - [ ] np.isreal
  - [ ] np.isrealobj
  - [ ] np.isscalar
  - [x] np.logical_and
  - [x] np.logical_or
  - [x] np.logical_not
  - [x] np.logical_xor
  - [ ] np.allclose
  - [ ] np.isclose
  - [x] np.array_equal
  - [ ] np.array_equiv
  - [x] np.greater
  - [x] np.greater_equal
  - [x] np.less
  - [x] np.less_equal
  - [x] np.equal
  - [x] np.not_equal

  Binary operations
  - [ ] np.bitwize_and
  - [ ] np.bitwize_or
  - [ ] np.bitwize_xor
  - [ ] np.invert
  - [ ] np.left_shift
  - [ ] np.right_shift
  - [ ] np.packbits
  - [ ] np.unpackbits
  - [ ] np.binary_repr

  String operations
  - [x] np.char.add
  - [x] np.char.multiply
  - [x] np.char.mod
  - [ ] np.char.capitalize
  - [ ] np.char.center
  - [ ] np.char.decode
  - [ ] np.char.encode
  - [ ] np.char.expandtabs
  - [ ] np.char.join
  - [ ] np.char.ljust
  - [ ] np.char.lower
  - [ ] np.char.lstrip
  - [ ] np.char.partition
  - [ ] np.char.replace
  - [ ] np.char.rjust
  - [ ] np.char.rpartition
  - [ ] np.char.rsplit
  - [ ] np.char.rstrip
  - [ ] np.char.split
  - [ ] np.char.splitlines
  - [ ] np.char.strip
  - [ ] np.char.swapcase
  - [ ] np.char.title
  - [ ] np.char.translate
  - [ ] np.char.upper
  - [ ] np.char.zfill
  - [x] np.char.equal
  - [x] np.char.not_equal
  - [x] np.char.greater_equal
  - [x] np.char.less_equal
  - [x] np.char.greater
  - [x] np.char.less
  - [ ] np.char.compare_chararrays
  - [ ] np.char.count
  - [ ] np.char.endswith
  - [ ] np.char.find
  - [ ] np.char.index
  - [ ] np.char.isalpha
  - [ ] np.char.isalnum
  - [ ] np.char.isdecimal
  - [ ] np.char.isdigit
  - [ ] np.char.islower
  - [ ] np.char.isnumeric
  - [ ] np.char.isspace
  - [ ] np.char.istitle
  - [ ] np.char.isupper
  - [ ] np.char.rfind
  - [ ] np.char.rindex
  - [ ] np.char.startswith
  - [ ] np.char.str_len
  - [ ] np.char.array
  - [ ] np.char.asarray
  - [ ] np.char.chararray

  Mathematical functions
  - [x] np.sin
  - [x] np.cos
  - [x] np.tan
  - [x] np.arcsin
  - [x] np.arccos
  - [x] np.arctan
  - [ ] np.hypot
  - [ ] np.arctan2
  - [ ] np.degrees
  - [ ] np.radians
  - [ ] np.unwrap
  - [ ] np.deg2rad
  - [ ] np.rad2deg
  - [x] np.sinh
  - [x] np.cosh
  - [x] np.tanh
  - [x] np.arcsinh
  - [x] np.arccosh
  - [x] np.arctanh
  - [ ] np.around
  - [ ] np.rint
  - [ ] np.fix
  - [x] np.floor
  - [x] np.ceil
  - [x] np.trunc
  - [x] np.prod
  - [x] np.sum
  - [ ] np.nanprod
  - [ ] np.nansum
  - [ ] np.cumprod
  - [x] np.cumsum
  - [ ] np.nancumprod
  - [ ] np.nancumsum
  - [x] np.diff
  - [ ] np.ediff1d
  - [ ] np.gradient
  - [ ] np.cross
  - [ ] np.trapz
  - [x] np.exp
  - [x] np.expm1
  - [x] np.exp2
  - [x] np.log
  - [x] np.log10
  - [x] np.log2
  - [x] np.log1p
  - [ ] np.logaddexp
  - [ ] np.logaddexp2
  - [ ] np.i0
  - [ ] np.sinc
  - [ ] np.signbit
  - [ ] np.copysign
  - [ ] np.frexp
  - [ ] np.ldexp
  - [ ] np.nextafter
  - [ ] np.spacing
  - [ ] np.lcm
  - [ ] np.gcd
  - [x] np.add
  - [ ] np.reciprocal
  - [x] np.positive
  - [x] np.negative
  - [x] np.multiply
  - [x] np.divide
  - [x] np.power
  - [x] np.subtract
  - [x] np.true_divide
  - [x] np.floor_divide
  - [x] np.float_power
  - [x] np.fmod
  - [x] np.mod
  - [ ] np.modf
  - [ ] np.remainder
  - [ ] np.divmod
  - [ ] np.angle
  - [ ] np.real
  - [ ] np.imag
  - [ ] np.conj
  - [ ] np.conjugate
  - [x] np.maximum
  - [x] np.fmax
  - [x] np.amax
  - [ ] np.nanmax
  - [x] np.minimum
  - [x] np.fmin
  - [x] np.amin
  - [ ] np.nanmin
  - [ ] np.convolve
  - [ ] np.clip
  - [x] np.sqrt
  - [x] np.cbrt
  - [x] np.square
  - [x] np.absolute
  - [x] np.fabs
  - [x] np.sign
  - [ ] np.heaviside
  - [ ] np.nan_to_num
  - [ ] np.real_if_close
  - [ ] np.interp

  Set routines
  - [x] np.unique
  - [x] np.in1d
  - [ ] np.intersect1d
  - [x] np.isin
  - [ ] np.setdiff1d
  - [ ] np.setxor1d
  - [ ] np.union1d

  Array creation routines
  - [ ] np.empty
    - [x] ch5mpy.empty
  - [ ] np.empty_like
  - [ ] np.eye
  - [ ] np.identity
  - [ ] np.ones
    - [x] ch5mpy.ones
  - [x] np.ones_like
  - [ ] np.zeros
    - [x] ch5mpy.zeros
  - [x] np.zeros_like
  - [ ] np.full
    - [x] ch5mpy.full
  - [ ] np.full_like
  - [x] np.array
  - [x] np.asarray
  - [x] np.asanyarray
  - [ ] np.ascontiguousarray
  - [ ] np.asmatrix
  - [x] np.copy
  - [ ] np.frombuffer
  - [ ] np.from_dlpack
  - [ ] np.fromfile
  - [ ] np.fromfunction
  - [ ] np.fromiter
  - [ ] np.fromstring
  - [ ] np.loadtxt
  - [ ] np.core.records.array
  - [ ] np.core.records.fromarrays
  - [ ] np.core.records.fromrecords
  - [ ] np.core.records.fromstring
  - [ ] np.core.records.fromfile
  - [ ] np.core.defchararray.array
  - [ ] np.core.defchararray.asarray
  - [ ] np.arange
  - [ ] np.linspace
  - [ ] np.logspace
  - [ ] np.geomspace
  - [ ] np.meshgrid
  - [ ] np.mgrid
  - [ ] np.ogrid
  - [ ] np.diag
  - [ ] np.diagflat
  - [ ] np.tri
  - [ ] np.tril
  - [ ] np.triu
  - [ ] np.vander
  - [ ] np.mat
  - [ ] np.bmat

  Array manipulation routines
  - [ ] np.copyto
  - [ ] np.shape
  - [ ] np.reshape
  - [x] np.ravel
  - [ ] np.ndarray.flat
  - [ ] np.ndarray.flatten
  - [ ] np.moveaxis
  - [ ] np.rollaxis
  - [ ] np.swapaxes
  - [x] np.ndarray.T
  - [x] np.transpose
  - [ ] np.atleast_1d
  - [ ] np.atleast_2d
  - [ ] np.atleast_3d
  - [ ] np.broadcast
  - [ ] np.broadcast_to
  - [ ] np.broadcast_arrays
  - [ ] np.expand_dims
  - [ ] np.squeeze
  - [ ] np.asarray
  - [ ] np.asanyarray
  - [ ] np.asmatrix
  - [ ] np.asfarray
  - [ ] np.asfortranarray
  - [ ] np.ascontiguousarray
  - [ ] np.asarray_chkfinite
  - [ ] np.require
  - [x] np.concatenate
  - [ ] np.stack
  - [ ] np.block
  - [x] np.vstack
  - [x] np.hstack
  - [ ] np.dstack
  - [ ] np.column_stack
  - [ ] np.row_stack
  - [x] np.split
  - [ ] np.array_split
  - [ ] np.dsplit
  - [ ] np.hsplit
  - [ ] np.vsplit
  - [ ] np.tile
  - [x] np.repeat
  - [x] np.delete
  - [x] np.insert
  - [ ] np.append
  - [ ] np.resize
  - [ ] np.trim_zeros
  - [x] np.unique
  - [ ] np.flip
  - [ ] np.fliplr
  - [ ] np.flipud
  - [ ] np.reshape
  - [ ] np.roll
  - [ ] np.rot90

  Sorting, searching, and counting
  - [ ] np.sort
  - [ ] np.lexsort
  - [ ] np.argsort
  - [ ] np.ndarray.sort
  - [ ] np.sort_complex
  - [ ] np.partition
  - [ ] np.argpartition
  - [ ] np.argmax
  - [ ] np.nanargmax
  - [ ] np.argmin
  - [ ] np.nanargmin
  - [ ] np.argwhere
  - [ ] np.nonzero
  - [ ] np.flatnonzero
  - [ ] np.where
  - [x] np.searchsorted
  - [ ] np.extract
  - [ ] np.count_nonzero

  Random
  - [x] beta
  - [x] binomial
  - [x] bytes
  - [x] chisquare
  - [x] choice
  - [x] dirichlet
  - [x] exponential
  - [x] f
  - [x] gamma
  - [x] get_state
  - [x] geometric
  - [x] gumbel
  - [x] hypergeometric
  - [x] laplace
  - [x] logistic
  - [x] lognormal
  - [x] logseries
  - [x] multinomial
  - [x] multivariate_normal
  - [x] negative_binomial
  - [x] noncentral_chisquare
  - [x] noncentral_f
  - [x] normal
  - [x] pareto
  - [x] permutation
  - [x] poisson
  - [x] power
  - [x] rand
  - [x] randint
  - [x] randn
  - [x] random
  - [x] random_integers
  - [x] random_sample
  - [x] rayleigh
  - [x] seed
  - [x] set_state
  - [x] shuffle
  - [x] standard_cauchy
  - [x] standard_exponential
  - [x] standard_gamma
  - [x] standard_normal
  - [x] standard_t
  - [x] triangular
  - [x] uniform
  - [x] vonmises
  - [x] wald
  - [x] weibull
  - [x] zipf

  Misc
  - [x] np.ndim


pkgId: 26f7214a138def7756229107edc8cab17013b0d5c6d9d844fa1de3a743b81547
name: python-ch9329
arch: src
version: 1.2.7
epoch: 0
release: 1
summary: Python module to control ch9329
url: https://github.com/sandbox-pokhara/ch9329
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-ch9329-1.2.7-1.src.rpm
checksum_type: sha256
description:
  Python module to control ch9329



  You can install the package via pip:

  ```bash
  pip install ch9329
  ```



  ```py
  from serial import Serial

  from ch9329 import keyboard
  from ch9329 import mouse
  from ch9329.config import get_manufacturer
  from ch9329.config import get_product
  from ch9329.config import get_serial_number

  ser = Serial("COM3", 9600, timeout=0.05)

  keyboard.press_and_release(ser, "a", modifiers=["ctrl"])
  keyboard.write(ser, "Hello World\n")
  keyboard.write(ser, "abcdefghijklmnopqrstuvwxyz\n")
  keyboard.write(ser, "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n")
  keyboard.write(ser, "0123456789\n")
  keyboard.write(ser, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\n")

  mouse.move(ser, x=500, y=500)
  mouse.move(ser, x=50, y=50, relative=True)
  mouse.click(ser, button="left")

  print(get_serial_number(ser))

  print(get_product(ser))

  print(get_manufacturer(ser))


  ser.close()
  ```



  This project is licensed under the terms of the MIT license.



  Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.



  If you want to contact me you can reach me at pradish@sandbox.com.np.

rpm_license:
[cell repeats an earlier one in this file: 1073 characters]


pkgId: 7e6de63cff5bfe1767a475383c552deaee941faa077b9099c2a06d98eb96da11
name: python-cha-hashing
arch: src
version: 0.4.8.7.9
epoch: 0
release: 1
url: https://github.com/RoyNisimov1/CHA
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-cha-hashing-0.4.8.7.9-1.src.rpm
checksum_type: sha256
summary:
  A hashing and encryption with Customizable Hashing Algorithm CHA, WARNING: DO NOT USE IN REAL USE CASES! THIS WAS MADE JUST FOR FUN!

description:
  This was made for fun and learning cryptography and python.
  Everything here is not for real use-cases.
  Keep in mind that the functions here are probably insecure.
  They went through 0 security checks, and were made without thinking of the security side of things.




  1. Detecting duplicated records.
  2. Locating points that are near each other.
  3. Verifying message integrity.
  4. Verifying passwords.




  ```
  pip install cha-hashing
  ```


  import CHA *
  ```python
  from CHA import FeistelN
  from CHA import CHAObject
  from CHA import HashMaker
  from CHA import Piranha
  from CHA import PEMFile
  ```
  or just
  ```
  from CHA import *
  ```




  ```python
  def shuffle(to_shuffle_list: list):
      to_shuffle_list = to_shuffle_list.copy()
      to_append_size = to_shuffle_list[0]
      a = []
      for i1 in range(to_append_size % len(to_shuffle_list)):
          a.append(to_shuffle_list.pop(0))
      to_shuffle_list.reverse()
      for i2 in a:
          to_shuffle_list.append(i2)
      e = []
      for i3, ch in enumerate(to_shuffle_list):
          if i3 % 2 == 0:
              e.append(to_shuffle_list.pop(i3))
      for i4 in e:
          to_shuffle_list.append(i4)
      return to_shuffle_list
  ```

  The function enciphers each letter with a letter in the shuffle list if it exists there, then shifts the letters in the shuffle list by the ord of c ** ord c each time.
  ```
  for c in message:
      for i in range(0, pow(ord(c), ord(c), len(shuffle_list))):
          first = shuffle_list.pop(0)
          shuffle_list.append(first)
      ord_shuffle_list = [ord(c) for c in shuffle_list]
      shuffled = shuffle(ord_shuffle_list)
      shuffle_list = [chr(c) for c in shuffled]
      if c in characters and c in shuffle_list:
          index = characters.index(c)
          original_message.append(shuffle_list[index])
      else:
          original_message.append(c)
  ```



  ```
  binary_formatted_message = [format(ord(c), 'b') for c in original_message]

              amount_to_shift = len(padding_list) - len(binary_formatted_message)
              if amount_to_shift <= 0: amount_to_shift *= -1
              shift_must = ord(original_message[0]) if len(original_message) > 0 else shift_must_if_om0
              amount_to_shift += shift_must
              binary_formatted_message.extend(padding_list)
  ```



  ```
  key = binary_formatted_message.copy()
              for i in range(0, amount_to_shift):
                  if times % rev_every == 0:
                      key.reverse()
                  first = key.pop(0)
                  key.append(first)
              if key == binary_formatted_message:
                  first = key.pop(0)
                  key.append(first)
  ```


  In this step we XOR the ciphertext with our key

  ```
  binary_formatted_message = list(int(c, 2) for c in binary_formatted_message)
  key = list(int(c, 2) for c in key)
  xored = []
  for i in range(len(binary_formatted_message)):
      xored.append(binary_formatted_message[i] ^ key[i])
  ```


  ```
  binary_formatted_message = list(int(c, 2) for c in binary_formatted_message)
  key = list(int(c, 2) for c in key)
  xored = []
  for i in range(len(binary_formatted_message)):
      xored.append(binary_formatted_message[i] ^ key[i])
  ```


  We join this large list, turn that into an int, and then we return a CHAObject object of it
  ```
  s_xored = [str(n) for n in xored]
  s = ''
  for string in s_xored:
      s += string.strip("-")
  s = s[0:size_limit_of_0]
  for i in range(pow(amount_to_shift, amount_to_shift, len(padding_list))):
      intL = [int(c, 2) for c in padding_list]
      padding_list = shuffle(intL)
      padding_list = [format(c, 'b') for c in padding_list]
  message = s
  ```



  CHA works the same way as RA, but customizable. so I'll only talk about the customization.


  The plaintext that enters the function.


  The padding as a byte string separated by a space, like : ```'01110011 00110011 11000110'```.
  this will be appended to the message

  The letter shuffle list [Check the encipher step in the RA](#How-RA-works)


  how many 0 are allowed


  number of repetitions


  Additional chars used in the shuffle_list


  ```shift_must = ord(om[0]) if len(om) > 0 else shift_must_if_om0```


  Will preform some additional tasks with every time % $rev_every == 0


  Like CHA but the message is in bytes


  Syntax for hmac:
  ```python
  from CHA import FeistelN
  from CHA import CHAFHMAC


  secret = b'test'

  msg = b'secret msg'

  hmac_obj = CHAFHMAC(secret, func=FeistelN.fRAB_with_nonce(secret))
  hmac_obj.update(msg)

  mac = hmac_obj.hexdigest()
  print(mac)

  print(hmac_obj.verify(mac))
  ```




  This function will help you make your own random shuffled charset (```secrets.SystemRandom().shuffle(letters)``` but with built-in langs)
  returns a string


  This function will help you make your own random bits.
  returns a string or a list

  ```
  how_many:
  how many groups of bits do you want.
  ```
  ```
  group:
  how many in one group, 8 for a byte
  ```
  ```
  how_to_format:
  Can be " " or "l".
  "l" for a list.
  " " for a " ".join(bits)
  ```

  This function will print the syntax needed. and return the padding, and shuffle key.


  There is a chance that some padding or shuffle_key have a backdoor in them (I don't know if there really is, but probably).



  CHA can be also used as an encryption function using the feistel cipher (see CHAF)


  for example:
  ```
      def fCHA(b):
          padding, shuffle_list, size, rep, char_set, smio = CHAObject.get_RA_args()
          return CHAObject.CHAB(b,padding,shuffle_list, 128, 16, '', 153)
      s = input("Enter an input:\n").encode()
      e = FeistelN().DE(s,  8, fCHA)
      print(e)
      d = FeistelN().DE(e,  8,fCHA, 'd')
      print(d)
  ```

  to make your own:


  define a function using this template
  ```
      def fCHA(b):
          padding, shuffle_list, size, rep, char_set, smio = CHAObject.get_RA_args()
          return CHAObject.CHAB(b,padding,shuffle_list, 128, 16, '', 153)
  ```

  the function needs to return bytes, here we're using CHAB with the RA args.



  then the Feistel function uses 64 bits everytime, I configed the DE function on the FeistelN class
  to do this automatically.

  this will return a list of hexes

  will return the string

  [Feistel Cipher - Computerphile](https://www.youtube.com/watch?v=FGhj3CGxl8I)


  This is an asymmetric encryption algorithm
  ```
  Key generation:
  â€”---------------------------------------------------------------

  Let n = large prime number

  Pick e such that gcd(e,n) == 1 and e < n and e is prime
  d = e**-1 % n
  N = n * e * random
  E = e**d % N
  D = d**d % n

  Public key: {E,N}
  Private key: {n,d,e,D}

  Encryption:
  â€”---------------------------------------------------------------

  ciphertext = message*E % N

  Decryption:
  â€”---------------------------------------------------------------
  message = ciphertext*D % n
  ```

  returns two keys, one public, one private



  Encrypts bytes with public key and returns cipher text as bytes



  Decrypt bytes with private key and returns message text as bytes



  I made this cipher using the RAB-Feistel network.

  I made this to learn about [modes of operation](https://www.youtube.com/watch?v=Rk0NIQfEXBA).

  Right now the available modes are:
  * ECB
  * CBC
  * CTR
  * EAA (My Encrypt and Authenticate, not EAX)

  ```
      key = b"super secret key"
      msg = b'Test message'
      
      cipher = Piranha(key, Piranha.EBC)
      c = cipher.encrypt(msg)
      print(c)
      cipher = Piranha(key, Piranha.EBC)
      m = cipher.decrypt(c)
      print(m)

      
      cipher = Piranha(key, Piranha.CBC)
      paddedMsg = Piranha.pad(msg, Piranha.BlockSize)
      c = cipher.encrypt(paddedMsg)
      print(c)
      cipher = Piranha(key, Piranha.CBC, iv=cipher.iv)
      m = Piranha.unpad(cipher.decrypt(c))
      print(m)

      
      cipher = Piranha(key, Piranha.CTR)
      paddedMsg = Piranha.pad(msg, Piranha.BlockSize)
      c = cipher.encrypt(paddedMsg)
      print(c)
      cipher = Piranha(key, Piranha.CTR, iv=cipher.iv)
      m = Piranha.unpad(cipher.decrypt(c))

      
      key = b"key"
      m = Piranha.pad(b'test')
      cipher = Piranha(key, Piranha.EAA, data=m)
      a = cipher.encrypt(m)
      print(a)
      cipher = Piranha(key, Piranha.EAA, iv=cipher.iv, data=a)
      print(Piranha.unpad(cipher.decrypt(a)))
  ```


  I made this cipher using the KRHASH-Feistel network.

  I made this to learn about [modes of operation](https://www.youtube.com/watch?v=Rk0NIQfEXBA).

  Right now the available modes are:
  * ECB
  * CBC
  * CTR
  * EAA (My Encrypt and Authenticate, not EAX)

  Works similar to Piranha, just replace Piranha with KRY


  I made this cipher using the CowCow-sp network.

  I made this to learn about [modes of operation](https://www.youtube.com/watch?v=Rk0NIQfEXBA).

  Right now the available modes are:
  * ECB
  * CTR
  * EAA (My Encrypt and Authenticate, not EAX)

  Works similar to Piranha, just replace Piranha with CowCowModes





  Right now the available modes are:
  * ECB
  * CBC
  * CTR
  * EAA (My Encrypt and Authenticate, not EAX)








  <font color=red size=10>**This is insecure! I made everything for fun and learning! Do not use in real usecases**
  </font>

  PS: I know my code looks bad


pkgId: f394040449821abdb805f39cc24ba152e0970c4180edc6317c7b7118e838ac33
name: python-chaanbot
arch: src
version: 3.1.1
epoch: 0
release: 1
summary: A Matrix chat bot
url: https://github.com/RichardNysater/chaanbot
rpm_license: GPLv3+
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chaanbot-3.1.1-1.src.rpm
checksum_type: sha256
description:
  A python 3 [matrix](https://matrix.org) bot using [matrix-python-sdk](https://github.com/matrix-org/matrix-python-sdk).
  The bot is extensible and currently provides:

  * Highlight module allows users to easily notify groups of users. E.g. "!hl javadevs spring-boot vs micronaut?" would
    highlight/notify any user in the javadevs group.
  * Weather module allows users to broadcast weather reports.
  * More to come!

  Bot is under active development and severe breaking changes should be expected until a stable release is created.



  Chaanbot requires Python 3.

  Add user for bot. Not required but recommended:

  ```
  sudo adduser --disabled-password chaanbot
  sudo su chaanbot
  ```

  Create virtual environment and install bot and its dependencies:

  ```
  python3 -m venv chaanbot
  source chaanbot/bin/activate
  python3 -m pip install chaanbot
  ```

  Start bot to initialize config file creation, then edit the config file to your liking. Config file location is the
  user's config directory as determined by appdirs, typical locations are:

          Mac OS X:  ~/Library/Application Support/chaanbot/chaanbot.cfg
          Unix:      ~/.config/chaanbot/chaanbot.cfg or in $XDG_CONFIG_HOME, if defined
          Win *:     C:\Users\<username>\AppData\[local or roaming]\chaanbot\chaanbot\chaanbot.cfg

  Output of running the bot will also show where the config file is located:

  ```
  chaanbot
  nano .config/chaanbot/chaanbot.cfg
  ```

  Bot should now be runnable as chaanbot user:

  ```
  chaanbot
  ```

  For convenience bot can be added as service. With sudo access, copy chaanbot.service file to
  /etc/systemd/system/chaanbot.service:

  ```
  sudo nano /etc/systemd/system/chaanbot.service
  ```

  Bot is now startable from systemctl:

  ```
  sudo service chaanbot start
  ```

  And can be set to run on boot:

  ```
  sudo systemctl enable chaanbot
  ```





  In 2.0 access token login is (hopefully temporarily) disabled, use password login instead. See chaanbot.cfg.sample for
  how to set password.



  ```
  sudo su chaanbot
  source /home/chaanbot/chaanbot/bin/activate
  python3 -m pip install -U chaanbot
  ```





  * Improve error handling
  * Integration tests and better test coverage
  * Improve installation documentation for non-Ubuntu installations



  * Make weather coordinates not room-dependent


pkgId: bd98738ec6b19cc6dc4d4ae3744eea0c134f0e9c238f7c4d7a5b26a069621af9
name: python-chacha20poly1305
arch: src
version: 0.0.3
epoch: 0
release: 1
summary: Chacha20Poly1305
url: https://github.com/ph4r05/py-chacha20poly1305
rpm_license: LGPL
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chacha20poly1305-0.0.3-1.src.rpm
checksum_type: sha256
description:
  Simple pure-python chacha20-poly1305 implementation based on
  `tlslite-ng <https://github.com/tomato42/tlslite-ng>`__ code. Designed
  to be compatible with Cryptography API.
      import os
      from chacha20poly1305 import ChaCha20Poly1305
      key = os.urandom(32)
      cip = ChaCha20Poly1305(key)
      nonce = os.urandom(12)
      ciphertext = cip.encrypt(nonce, b'test')
      plaintext = cip.decrypt(nonce, ciphertext)
      print(plaintext)


pkgId: e30542857e432b2386671377a9cfd4d6128fcb1eb1b53df2ac2bc4e5a5bceb9a
name: python-chacha20poly1305-reuseable
arch: src
version: 0.13.2
epoch: 0
release: 1
summary: ChaCha20Poly1305 that is reuseable for asyncio
url: https://github.com/bdraco/chacha20poly1305-reuseable
rpm_license: Apache-2.0 OR BSD-3-Clause
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chacha20poly1305-reuseable-0.13.2-1.src.rpm
checksum_type: sha256
description:
  <p align="center">
    <a href="https://github.com/bdraco/chacha20poly1305-reuseable/actions?query=workflow%3ACI">
      <img src="https://img.shields.io/github/workflow/status/bdraco/chacha20poly1305-reuseable/CI/main?label=CI&logo=github&style=flat-square" alt="CI Status" >
    </a>
    <a href="https://codecov.io/gh/bdraco/chacha20poly1305-reuseable">
      <img src="https://img.shields.io/codecov/c/github/bdraco/chacha20poly1305-reuseable.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
    </a>
  </p>
  <p align="center">
    <a href="https://python-poetry.org/">
      <img src="https://img.shields.io/badge/packaging-poetry-299bd7?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAASCAYAAABrXO8xAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJJSURBVHgBfZLPa1NBEMe/s7tNXoxW1KJQKaUHkXhQvHgW6UHQQ09CBS/6V3hKc/AP8CqCrUcpmop3Cx48eDB4yEECjVQrlZb80CRN8t6OM/teagVxYZi38+Yz853dJbzoMV3MM8cJUcLMSUKIE8AzQ2PieZzFxEJOHMOgMQQ+dUgSAckNXhapU/NMhDSWLs1B24A8sO1xrN4NECkcAC9ASkiIJc6k5TRiUDPhnyMMdhKc+Zx19l6SgyeW76BEONY9exVQMzKExGKwwPsCzza7KGSSWRWEQhyEaDXp6ZHEr416ygbiKYOd7TEWvvcQIeusHYMJGhTwF9y7sGnSwaWyFAiyoxzqW0PM/RjghPxF2pWReAowTEXnDh0xgcLs8l2YQmOrj3N7ByiqEoH0cARs4u78WgAVkoEDIDoOi3AkcLOHU60RIg5wC4ZuTC7FaHKQm8Hq1fQuSOBvX/sodmNJSB5geaF5CPIkUeecdMxieoRO5jz9bheL6/tXjrwCyX/UYBUcjCaWHljx1xiX6z9xEjkYAzbGVnB8pvLmyXm9ep+W8CmsSHQQY77Zx1zboxAV0w7ybMhQmfqdmmw3nEp1I0Z+FGO6M8LZdoyZnuzzBdjISicKRnpxzI9fPb+0oYXsNdyi+d3h9bm9MWYHFtPeIZfLwzmFDKy1ai3p+PDls1Llz4yyFpferxjnyjJDSEy9CaCx5m2cJPerq6Xm34eTrZt3PqxYO1XOwDYZrFlH1fWnpU38Y9HRze3lj0vOujZcXKuuXm3jP+s3KbZVra7y2EAAAAAASUVORK5CYII=" alt="Poetry">
    </a>
    <a href="https://github.com/ambv/black">
      <img src="https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square" alt="black">
    </a>
    <a href="https://github.com/pre-commit/pre-commit">
      <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
    </a>
  </p>
  <p align="center">
    <a href="https://pypi.org/project/chacha20poly1305-reuseable/">
      <img src="https://img.shields.io/pypi/v/chacha20poly1305-reuseable.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
    </a>
    <img src="https://img.shields.io/pypi/pyversions/chacha20poly1305-reuseable.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
    <img src="https://img.shields.io/pypi/l/chacha20poly1305-reuseable.svg?style=flat-square" alt="License">
  </p>

  ChaCha20Poly1305 that is reuseable for asyncio



  Install this via pip (or your favourite package manager):

  `pip install chacha20poly1305-reuseable`



  Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

  <!-- prettier-ignore-start -->
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
  <!-- prettier-ignore-start -->
  <!-- markdownlint-disable -->
  <table>
    <tr>
      <td align="center"><a href="https://github.com/bdraco"><img src="https://avatars.githubusercontent.com/u/663432?v=4?s=80" width="80px;" alt=""/><br /><sub><b>J. Nick Koston</b></sub></a><br /><a href="https://github.com/bdraco/chacha20poly1305-reuseable/commits?author=bdraco" title="Code">💻</a> <a href="#ideas-bdraco" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/bdraco/chacha20poly1305-reuseable/commits?author=bdraco" title="Documentation">📖</a></td>
    </tr>
  </table>

  <!-- markdownlint-restore -->
  <!-- prettier-ignore-end -->

  <!-- ALL-CONTRIBUTORS-LIST:END -->
  <!-- prettier-ignore-end -->

  This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!



  This package was created with
  [Cookiecutter](https://github.com/audreyr/cookiecutter) and the
  [browniebroke/cookiecutter-pypackage](https://github.com/browniebroke/cookiecutter-pypackage)
  project template.


pkgId: ae9dbecc23ab5a66a6acf94edfd00c5795d9b3d06249c3a173f3d95f9488111b
name: python-chaddavidcover-realpython-reader
arch: src
version: 1.1.4
epoch: 0
release: 1
summary: Read the latest Real Python tutorials
url: https://pypi.org/project/chaddavidcover-realpython-reader/
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chaddavidcover-realpython-reader-1.1.4-1.src.rpm
checksum_type: sha256
description:
  The Real Python Feed Reader is a basic [web feed](https://en.wikipedia.org/wiki/Web_feed) reader that can download the latest Real Python tutorials from the [Real Python feed](https://realpython.com/contact/#rss-atom-feed).

  For more information see the tutorial [How to Publish an Open-Source Python Package to PyPI](https://realpython.com/pypi-publish-python-package/) on Real Python.



  You can install the Real Python Feed Reader from [PyPI](https://pypi.org/project/realpython-reader/):

      python -m pip install realpython-reader

  The reader is supported on Python 3.7 and above. Older versions of Python, including Python 2.7, are supported by version 1.0.0 of the reader.



  The Real Python Feed Reader is a command line application, named `realpython`. To see a list of the [latest Real Python tutorials](https://realpython.com/), call the program without any arguments:

      $ realpython
      The latest tutorials from Real Python (https://realpython.com/)
       0 How to Publish an Open-Source Python Package to PyPI
       1 Python "while" Loops (Indefinite Iteration)
       2 Writing Comments in Python (Guide)
       3 Setting Up Python for Machine Learning on Windows
       4 Python Community Interview With Michael Kennedy
       5 Practical Text Classification With Python and Keras
       6 Getting Started With Testing in Python
       7 Python, Boto3, and AWS S3: Demystified
       8 Python's range() Function (Guide)
       9 Python Community Interview With Mike Grouchy
      10 How to Round Numbers in Python
      11 Building and Documenting Python REST APIs With Flask and Connexion – Part 2
      12 Splitting, Concatenating, and Joining Strings in Python
      13 Image Segmentation Using Color Spaces in OpenCV + Python
      14 Python Community Interview With Mahdi Yusuf
      15 Absolute vs Relative Imports in Python
      16 Top 10 Must-Watch PyCon Talks
      17 Logging in Python
      18 The Best Python Books
      19 Conditional Statements in Python

  To read one particular tutorial, call the program with the numerical ID of the tutorial as a parameter:

      $ realpython 0
      

      Python is famous for coming with batteries included. Sophisticated
      capabilities are available in the standard library. You can find modules for
      working with sockets, parsing CSV, JSON, and XML files, and working with
      files and file paths.

      However great the packages included with Python are, there are many
      fantastic projects available outside the standard library. These are most
      often hosted at the Python Packaging Index (PyPI), historically known as the
      Cheese Shop. At PyPI, you can find everything from Hello World to advanced
      deep learning libraries.

      [... The full text of the article ...]

  You can also call the Real Python Feed Reader in your own Python code, by importing from the `reader` package:

      >>> from reader import feed
      >>> feed.get_titles()
      ['How to Publish an Open-Source Python Package to PyPI', ...]

rpm_license:
  MIT License  Copyright (c) 2018 Real Python  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


pkgId: 031cde495fcee00950ec77bf671ffce1b8753a3209548e0a94636939699b0c1d
name: python-chado-tools
arch: src
version: 0.2.14
epoch: 0
release: 1
summary: Tools to access CHADO databases
url: https://github.com/sanger-pathogens/chado-tools/
rpm_license: GPLv3
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chado-tools-0.2.14-1.src.rpm
checksum_type: sha256
description:
  | Command               | Description                                                          |
  |-----------------------|----------------------------------------------------------------------|
  | connect               | connect to a CHADO database for an interactive session               |
  | query                 | query a CHADO database and export the result into a text file        |
  | execute               | execute a function defined in a CHADO database                       |
  | extract               | run a pre-compiled query against the CHADO database                  |
  | insert                | insert a new entity of a specified type into the CHADO database      |
  | delete                | delete an entity of a specified type from the CHADO database         |
  | import                | import data from file into the CHADO database                        |
  | export                | export data from the CHADO database to file                          |


pkgId: cbf377df253e1ecf0fa967cc19021ffa66a6521296ede816c2de990be6b2bc9d
name: python-chafe
arch: src
version: 1.0.0a7
epoch: 0
release: 1
summary: Encrypts and decrypts files using a pass phrase.
url: https://github.com/culler/chafe
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chafe-1.0.0a7-1.src.rpm
checksum_type: sha256
description:
  This Python package provides tools for encrypting and decrypting files with
  Daniel Bernstein's ChaCha20 stream cipher, using a key derived from a pass
  phrase. Encrypted files include a Poly1305 authentication tag to detect
  tampering with an encrypted file.


pkgId: d11ba938a2d2f3434049acd95f30e6d043555d350046c81b270a219182fd4adb
name: python-chagu
arch: src
version: 0.1.3
epoch: 0
release: 1
summary: ChainGuard: A Secure Data Transformation and Transfer Protocol using Blockchain Technology
url: https://github.com/taimax13/chainguard
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chagu-0.1.3-1.src.rpm
checksum_type: sha256
description:
  ```mermaid
  graph TD
      subgraph Users and Entities
          A[User]:::userColor
          B[Entity]:::userColor
      end

      subgraph Data Request and Transfer
          C[Data Requested]:::dataColor
          D[Data Sent]:::dataColor
          E[Data Received]:::dataColor
      end

      subgraph Secure Transmission
          F[AES Encryption]:::encryptionColor
          G[Secure Data Transfer]:::encryptionColor
      end

      subgraph Anomaly Detection
          H[Anomaly Detection Model]:::anomalyColor
      end

      subgraph Blockchain and Traceability
          I[Blockchain Transaction]:::blockchainColor
          J[Blockchain Ledger]:::blockchainColor
          K[Neo4j Trace]:::traceColor
      end

      % Flow of Data
      A -->|Requests Data| C
      C -->|Encrypted with AES| F
      F -->|Transfers Data Securely| G
      G -->|Data Sent| D
      D -->|Logs Transaction| I
      I -->|Recorded in Ledger| J
      I -->|Creates Trace| K
      D -->|Receives Data| E
      E -->|Analyzes Data| H
      H -->|Flags Anomalies| K
      B -->|Receives Data| E

      % Highlight Flow Arrows
      classDef flowColor stroke:#FF5733,stroke-width:4px;
      class C,F,G,D,I,J,K flowColor;

      % Define Colors
      classDef userColor fill:#FFDDC1,stroke:#333,stroke-width:2px,color:#333;
      classDef dataColor fill:#C1E1C5,stroke:#333,stroke-width:2px,color:#333;
      classDef encryptionColor fill:#FADBD8,stroke:#333,stroke-width:2px,color:#333;
      classDef anomalyColor fill:#F9EBEA,stroke:#333,stroke-width:2px,color:#333;
      classDef blockchainColor fill:#D4E6F1,stroke:#333,stroke-width:2px,color:#333;
      classDef traceColor fill:#FCF3CF,stroke:#333,stroke-width:2px,color:#333;

  ```


   Network Traffic Data: Represents the source of data that is analyzed by the anomaly detection model.
   Anomaly Detection Model: Scans network traffic data to flag anomalies.
   Anomaly Node in Neo4j: Represents flagged anomalies stored as nodes in the Neo4j database.
   Blockchain Transaction: Represents a transaction recorded in the blockchain.
   Blockchain Node in Neo4j: Represents a blockchain transaction stored as a node in Neo4j.
   Secure Data Transfer: Represents the secure transfer of data between nodes.
   AES Encryption: The method used to encrypt and decrypt the data during transfer.
   Blockchain Network: The network where transactions are recorded.
   Anomaly Detection Results: Results of anomaly detection stored in Neo4j.



   Scanned by: Indicates the process of scanning network traffic data by the anomaly detection model.
   Flags anomalies: Shows that the model flags anomalies and creates corresponding nodes in Neo4j.
   DETECTED_IN: Relationship between an anomaly and a blockchain transaction where the anomaly was detected.
   Sends encrypted data: Indicates the data transfer process using AES encryption.
   Receives encrypted data: Represents the reception of encrypted data.
   Records Transactions: Indicates that the blockchain network records transactions in the blockchain.
   Stored in: Represents the storage of anomaly detection results in the Neo4j graph database.
   Interaction: Shows the interaction between secure data transfer and the anomaly detection model.
   ChainGuard is a custom protocol designed for secure data transformation using blockchain technology. It leverages AES encryption for confidentiality and plans to integrate blockchain for data integrity and traceability.

  https://pypi.org/project/chagu/
  ```commandline
      pip install chainguard
  ```

  - AES Encryption and Decryption
  - (Planned) Blockchain Integration
  - Unit and Integration Tests



  ```bash
  pip install -r requirements.txt
  ```
  usage
  ``` code
      from chainguard.encryption import AESCipher

      password = "yourpassword"
      cipher = AESCipher(password)

      
      plaintext = "Hello, World!"
      encrypted = cipher.encrypt(plaintext)
      decrypted = cipher.decrypt(encrypted)

      print(f"Encrypted: {encrypted}")
      print(f"Decrypted: {decrypted}")

  ```


  ChainGuard now includes a secure data transfer protocol to securely send and receive data between nodes.



  ```python
  from chainguard.data_transfer import SecureDataTransfer


  transfer = SecureDataTransfer(password="securepassword")


  transfer.send_data("This is a secure message")


  transfer.receive_data()
  ```




  ChainGuard includes a custom blockchain to securely log and verify each data transfer. This ensures transparency, immutability, and traceability of all transactions.



  ```python
  from chainguard.data_transfer import SecureDataTransfer


  transfer = SecureDataTransfer(password="securepassword")


  transfer.send_data("This is a secure message")


  transfer.receive_data()


  is_valid = transfer.validate_blockchain()
  print(f"Blockchain valid: {is_valid}")
  ```


  This repository contains a Python class AnomalyDetectionModel built using TensorFlow and Keras
  for detecting anomalies in network traffic data. The class encapsulates the creation, training,
  and evaluation of a neural network model designed to classify network data as either normal or anomalous.


  The Sequential model in Keras is a simple, linear stack of layers.
  It is ideal for building feedforward neural networks where the model
  progresses through each layer sequentially, without any branching or complex topologies.



  Simplicity: The Sequential API is straightforward and easy to use. It is perfect for beginners and
  for models that involve a single input and output with layers stacked one after the other.

  Linear Stack: For the task of anomaly detection, the architecture typically involves a simple
  forward pass through several dense layers, making the Sequential model a natural fit.

  Flexibility: While simple, the Sequential model is flexible enough to allow for customization
  through the addition of various types of layers, activation functions, and regularization techniques.

  Example Usage
  ```bash

  anomaly_model = AnomalyDetectionModel(X_train.shape[1])

  history = anomaly_model.train(X_train, y_train)

  loss, accuracy = anomaly_model.evaluate(X_test, y_test)
  print(f'Test Accuracy: {accuracy:.4f}')
  ```

  Dependencies
  Python 3.x
  TensorFlow
  Keras (included with TensorFlow)
  Scikit-learn
  Pandas
  Installation
  Install the required packages using pip:

  Conclusion
  The Sequential model is a great choice for this anomaly detection task due to its simplicity,
  ease of use, and the linear nature of the problem. This approach ensures that the model is easy
  to build, understand, and maintain while still providing robust performance for binary classification
  tasks such as anomaly detection.


pkgId: 08a0d89628efd56deeb039ebadc893e6ab2cd88afb5a5ac270407da2c0c23cb2
name: python-chaim-cli
arch: src
version: 2.5.3
epoch: 0
release: 1
summary: Centrica Chaim AWS Accounts
url: https://github.com/ConnectedHomes/chaim/client
rpm_license: GNU Lesser General Public License v3 or later (LGPLv3+)
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chaim-cli-2.5.3-1.src.rpm
checksum_type: sha256
description:
  This is the code for the command line utility `cca`.

  cca is a re-imagining of the chaim cli using the click parameter parsing
  python module.

  <a name='version></a>

  v2.5.0 Display role and region when listing managed accounts

  v2.4.0 Allow receiving and passing the Slack Workspace Id in the chaim
  credentials requests.

  <a name='contents'></a>
  * [Install](#install)
      * [Linux](#linux)
      * [Mac OSX](#macosx)
  * [Upgrade](#upgrade)
  * [cca](#cca)
  * [cca sub-commands](#ccasubcommands)
      * [account](#ccaaccount)
      * [delete](#ccadelete)
      * [gui](#ccagui)
      * [gso](#ccagso)
      * [init](#ccainit)
      * [list](#ccalist)
      * [listall](#ccalistall)
      * [listpark](#ccalistpark)
      * [park](#ccapark)
      * [renew](#ccarenew)
      * [unpark](#ccaunpark)
      * [url](#ccaurl)
      * [version](#ccaversion)

  <a name='install'></a>

  The chaim-cli is a python 3 application. It is recommended to install into your
  local, users, python packages using pip.  If this is your first local python
  package then you will need to adjust your path so that the shell can find it.
  ```
  echo 'export PATH=${HOME}/.local/bin:${PATH}' >>${HOME}/.bashrc
  ```

  <a name='linux'></a>

  These instructions are for ubuntu and it's derivatives.  For other
  distributions the process is similiar, though probably with different package
  names.  You will need to have a version of python3 installed and a pip program
  that is python3 aware.


  For ubuntu pre 18.04 you will need to install python3 and it's associated pip
  application.  The easiest way to do this is:

  ```
  sudo apt install python3-pip
  ```
  which will pull in everything required.


  To install the chaim-cli:
  ```
  pip3 install chaim-cli --upgrade --user --no-cache-dir
  ```


  Once installed you will want to add `$HOME/.local/bin` to your path, if it
  isn't already there:
  ```
  echo 'export PATH=${HOME}/.local/bin:${PATH}' >>${HOME}/.bashrc
  ```


  To check that all went well:
  ```
  cca version
  ```
  Should give you the current version number of the chaim-cli.

  <a name='macosx'></a>


  Recently the folks that manage homebrew changed the default python, which
  conflicts with the python supplied by the OS.  See this home brew
  [discussion](https://discourse.brew.sh/t/brew-install-python3-fails/1756/8).
  So, to get python3 (and keep python2) you now need to do:
  ```
  brew upgrade python
  brew install python2
  ```
  which will install python3 and the latest released version of python2.


  To install the chaim-cli:
  ```
  pip install chaim-cli --upgrade --user --no-cache-dir
  ```


  Once installed you will want to add `$HOME/Library/.Python/3.7/bin` to your path, if it
  isn't already there (adjust the version to suit your circumstances):
  ```
  echo 'export PATH=${HOME}/Library/Python/3.7/bin:${PATH}' >>${HOME}/.bashrc
  ```


  To check that all went well:
  ```
  cca version
  ```
  Should give you the current version number of the chaim-cli.

  <a name='upgrade'></a>

  ```
  pip3 install chaim-cli --upgrade --user
  ```

  <a name='cca'></a>


  ```
  $ cca --help
  Usage: cca [OPTIONS] COMMAND [ARGS]...

  Options:
    --help  Show this message and exit.

  Commands:
    account       Retrieve credentials for an account
    delete        delete an accounts credentials
    gso           obtains a console session url, logs out of...
    gui           obtains a console session url and opens a...
    init          Initialises the application for use with...
    list          list all registered accounts and their expiry...
    listall       list all accounts available to chaim
    listpark      list of parked accounts
    park          removes account from credentials and parks it...
    renew         Renews all account credentials
    setautorenew  sets the percentage of time remaining before...
    unpark        returns an account from parking to...
    url           obtains a console session url and copies it...
    version
  ```

  <a name='ccasubcommands'></a>


  <a name='ccaaccount'></a>

  ```
  $ cca account --help
  Usage: cca account [OPTIONS] ACCOUNT

    Retrieve credentials for ACCOUNT account

  Options:
    -r, --role TEXT         optional the role to assume for this account
                            default: rro
    -d, --duration INTEGER  optional duration must be between 1-12 or 900-43,200
                            default 1
    -a, --alias TEXT        optional alias for the account name, to be used as
                            the profile name
    -D, --default           optional set this account to be the default account
                            profile to use
    -R, --region TEXT       optional region
    -T, --terrible          Add support for Terraform/Ansible to the credentials
                            file
    --help                  Show this message and exit.
  ```
  The `-T|--terrible` switch copies the `aws_session_token` key to the `aws_security_token` key.
  This ensures that products such as Ansible and Terraform which still use the `aws_security_token`
  will continue to work.

  <a name='ccadelete'></a>

  Delete credentials for the named account(s).

  <a name='ccagui'></a>

  This command generates a console session url and opens a browser window to it.
  The credentials will be automatically renewed first.

  <a name='ccagso'></a>

  This command generates a console session url, attempts to logout of any current
  session, and opens a browser window to the url.
  The credentials will be automatically renewed first.

  Note: There doesn't seem to be any way to access the browser tab with AWS
  running in it, so this process first opens a new tab to issue the logout
  command, then a 2nd new tab to log you into the new account.  This will leave
  you with 2 extra tabs, sorry.

  <a name='ccainit'></a>

  Initialises the application with a user token obtained from Slack.  Either
  supply the base64 encoded info from Slack as a parameter, or use the command
  bare to be asked the pertinent questions.
  ```
  cca init YXBpPTh4eHNDczJmV4cGly...JlZ2lvbj1ldS13ZXN0LTE=
  cca has been re-initialised.
  Your token will expire in 29 days, 21 hours, 19 minutes and 52 seconds.
  ```
  or
  ```
  cca init
  api (8xxssu8fs7):
  username (chris.allison):
  usertoken: ad2f05ed-78d7-xxxx-DDDD-8d90c64f9473
  tokenexpires: 1536139015
  stage (prod):
  region (eu-west-1):
  cca has been re-initialised.
  Your token will expire in 29 days, 21 hours, 18 minutes and 58 seconds.
  ```

  <a name='ccalist'></a>

  Current list of accounts that are managed by cca, the role and region and their expiry times.
  This also shows which is the default account, and the percentage of time left.

  <a name='ccalistall'></a>

  Full list of all available accounts.

  <a name='ccalistpark'></a>

  List accounts that have been parked.
  ```
  $ cca listpark
  hbetaus
  hprodus
  hprod
  hbeta
  hdev7
  ```

  <a name='ccapark'></a>

  Remove an account from credentials and park it and its definition for later
  use.
  ```
  $ cca park extbackup
  extbackup account has been parked
  ```

  <a name='ccarenew'></a>

  This will renew all managed accounts.
  ```
  $ cca renew
  ignoring awsbilling as it is not managed by cca
  account: secadmin-prod, alias: secadmin-prod, role: apu, duration: 4
  Updated section secadmin-prod with new keys
  updated default account
  retrieval took 5 seconds.
  account: chsre-dev, alias: chsre-dev, role: apu, duration: 4
  Updated section chsre-dev with new keys
  retrieval took 6 seconds.
  ```

  <a name='ccaunpark'></a>

  Re-enable an account and automatically renew its session so that it is
  available for immediate use.
  ```
  $ cca unpark hdev7
  account: honeycomb-dev7, alias: hdev7, role: mpu, duration: 1
  Updated section honeycomb-dev7 with new keys
  retrieval took 7 seconds.
  ```

  <a name='ccaurl'></a>

  This command generates a console session url and copies it to the clipboard.
  The credentials will be automatically renewed first.


  <a name='ccaversion'></a>

  Show the current version of this application.

  [modeline]: # ( vim: set ft=markdown tw=74 fenc=utf-8 spell spl=en_gb mousemodel=popup: )


pkgId: 8247451f45eeffbd420868b74ad3503464f8d7f08acd8fba4c9aefe328b5aecb
name: python-chain-index
arch: src
version: 0.2.1
epoch: 0
release: 1
summary: A Python library for managing and organizing AI language model chains
url: https://github.com/gmatrixuniverse/chain_index
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chain-index-0.2.1-1.src.rpm
checksum_type: sha256
description:
  Retrieves chain information based on the provided identifier.

  - `chain_identifier`: Can be an integer (chain ID) or a string (chain name or alias)
  - Returns a `ChainInfo` object containing chain details
  - Raises `ChainNotFoundError` if the chain is not found



  A Pydantic model representing chain information. Key attributes include:

  - `name`: Chain name
  - `chainId`: Chain ID
  - `nativeCurrency`: Native currency details (name, symbol, decimals)
  - `wrapperNativeCurrency`: Wrapper native currency details (name, symbol, decimals, contract)
  - `rpc`: List of RPC URLs
  - `explorers`: List of block explorers



  To set up the development environment:

  1. Clone the repository
  2. Install development dependencies: `pip install -e ".[dev]"`
  3. Run tests: `pytest`



  Contributions are welcome! Please feel free to submit a Pull Request.



  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.



  This project uses data from the [chainid.network](https://chainid.network/) project, which provides a comprehensive list of EVM-compatible chains.



  If you encounter any issues or have questions, please file an issue on the GitHub repository.



  See [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes to this project.



  - gmatrix - Initial work and maintenance



  This package is provided as-is, and while we strive for accuracy, we cannot guarantee the correctness of all chain information. Users should verify critical information independently.

rpm_license:
  MIT License  Copyright (c) 2023 Your Name or Organization  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


pkgId: a1e1a39d1c2bb767ceeab436a963b8ba03ec0935a87b2985ee1be2a89b2bbc5c
name: python-chain_harvester
arch: src
version: 0.38.1
epoch: 0
release: 1
url: https://github.com/blockanalitica/chain-harvester
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chain_harvester-0.38.1-1.src.rpm
checksum_type: sha256
summary:
  A Python library designed to interface with various blockchain networks, enabling the retrieval of data.

description:
  Chain Harvester is a utility for seamlessly interacting with Ethereum-like blockchains. It provides a comprehensive set of methods to fetch information from the blockchain, including blocks, events, and storage content of contracts.

  - **Github repository**: <https://github.com/blockanalitica/chain-harvester/>



  - **Web3 Integration**: Direct integration with the Web3.py library for querying Ethereum nodes.
  - **Event Decoding**: Decode event logs and get events for specific contracts or topics.
  - **Contract Storage**: Fetch storage content at specific positions for a contract.
  - **Multicall Support**: Batch multiple contract calls into a single request.
  - **Retry Mechanism**: Built-in retry mechanism for HTTP requests.
  - **ABI Management**: Load and cache ABI (Application Binary Interface) data for contracts.



  To install Chain Harvester, simply use `pip`:

  ```
  pip install chain-harvester
  ```

  Make sure you have `pip` installed and are using a version of Python that is compatible with Chain Harvester.



  Chain Harvester provides specific implementations for different blockchains and their respective versions or networks. Each chain is encapsulated in its own class, which inherits from the base `Chain` class. These chain-specific classes contain data and methods that are relevant to their respective blockchains.



  - **Ethereum Mainnet**: Located in `networks.ethereum.mainnet`. This class, `EthereumMainnetChain`, interacts with the Ethereum mainnet.

    ```python
    from networks.ethereum.mainnet import EthereumMainnetChain

    eth_main = EthereumMainnetChain(rpc="YOUR_RPC_ENDPOINT")
    ```

  - **Ethereum Goerli**: Located in `networks.ethereum.goerli`. This class is designed to interact with the Goerli testnet of Ethereum.

    ```python
    from networks.ethereum.goerli import EthereumGoerliChain

    eth_goerli = EthereumGoerliChain(rpc="YOUR_RPC_ENDPOINT")
    ```



  - **Gnosis Mainnet**: Located in `networks.gnosis.mainnet`. This class is designed to interact with the Gnosis mainnet.

    ```python
    from networks.gnosis.mainnet import GnosisMainnetChain

    gnosis_main = GnosisMainnetChain(rpc="YOUR_RPC_ENDPOINT")
    ```




  We welcome contributions from everyone! Here's how you can help:

  1. **Fork and Clone**: Begin by forking the Chain Harvester repository to your GitHub account. Clone this forked repository to your local machine to start making changes.
  2. **Set Up Environment**: Ensure you have the necessary dependencies installed. Follow the installation guide in the README to set up your environment.
  3. **Make Changes**: Create a new branch for your changes. Make sure to write clean code and follow the project's coding standards. It's also a good practice to write tests for any new features or bug fixes.
  4. **Commit and Push**: Once you've made your changes, commit them with a clear and descriptive commit message. Push your changes to your forked repository on GitHub.
  5. **Submit a Pull Request (PR)**: Go to the Chain Harvester repository on GitHub and create a new pull request. Make sure to provide a detailed description of your changes. This will help the maintainers review your PR more efficiently.
  6. **Review**: Maintainers and contributors will review your PR. They might suggest changes or improvements. Make sure to address any comments or feedback.
  7. **Merge**: Once your PR is approved, it will be merged into the main codebase. Congratulations, and thank you for your contribution!

  For any questions or discussions, please open an issue or join our community chat.



  We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for our commit messages. This leads to more readable messages that are easy to follow when looking through the project history.



  Each commit message consists of a **header**, a **body**, and a **footer**. The header has a special format that includes a **type**, an optional **scope**, and a **description**:

  ```
  <type>(<scope>): <description>

  [optional body]

  [optional footer]
  ```

  For example:

  ```
  fix(server): fix crash on start-up

  The application crashed on start-up due to an environment variable missing. This commit ensures that the application checks for the environment variable before start-up.
  ```



  We primarily use the following commit types:

  - **fix**: Patches a bug in your codebase.
  - **feat**: Introduces a new feature to the codebase.
  - **BREAKING CHANGE**: An API change that breaks backward compatibility.
  - **chore**: Regular code maintenance.
  - **docs**: Documentation only changes.
  - **style**: Changes that do not affect the meaning of the code (white-space, formatting, etc).
  - **refactor**: A code change that neither fixes a bug nor adds a feature.
  - **perf**: A code change that improves performance.
  - **test**: Adding missing tests or correcting existing ones.

  For more details, visit the [Conventional Commits website](https://www.conventionalcommits.org/).


pkgId: 2c39a1075bf25e4b346b3ae83007fce84a61c63e82043ffe7996f58b20ec388e
name: python-chainbench
arch: src
version: 0.8.3
epoch: 0
release: 1
summary: please add a summary manually as the author left a blank one
url: https://pypi.org/project/chainbench/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainbench-0.8.3-1.src.rpm
checksum_type: sha256
description:
  <img width="1200" alt="Labs" src="https://user-images.githubusercontent.com/99700157/213291931-5a822628-5b8a-4768-980d-65f324985d32.png">

  <p>
   <h3 align="center">Chainstack is the leading suite of services connecting developers with Web3 infrastructure</h3>
  </p>

  <p align="center">
    <a target="_blank" href="https://chainstack.com/build-better-with-ethereum/"><img src="https://raw.githubusercontent.com/soos3d/blockchain-badges/main/protocols_badges/Ethereum.svg" /></a>&nbsp;
    <a target="_blank" href="https://chainstack.com/build-better-with-bnb-smart-chain/"><img src="https://raw.githubusercontent.com/soos3d/blockchain-badges/main/protocols_badges/BNB.svg" /></a>&nbsp;
    <a target="_blank" href="https://chainstack.com/build-better-with-polygon/"><img src="https://raw.githubusercontent.com/soos3d/blockchain-badges/main/protocols_badges/Polygon.svg" /></a>&nbsp;
    <a target="_blank" href="https://chainstack.com/build-better-with-avalanche/"><img src="https://raw.githubusercontent.com/soos3d/blockchain-badges/main/protocols_badges/Avalanche.svg" /></a>&nbsp;
    <a target="_blank" href="https://chainstack.com/build-better-with-solana/"><img src="https://raw.githubusercontent.com/soos3d/blockchain-badges/main/protocols_badges/Solana.svg" /></a>&nbsp;
  <a target="_blank" href="https://chainstack.com/build-better-with-starknet/"><img src="https://raw.githubusercontent.com/soos3d/blockchain-badges/main/protocols_badges/Starknet.svg" /></a>&nbsp;
  </p>

  <p align="center">
    • <a target="_blank" href="https://chainstack.com/">Homepage</a> •
    <a target="_blank" href="https://chainstack.com/protocols/">Supported protocols</a> •
    <a target="_blank" href="https://chainstack.com/blog/">Chainstack blog</a> •
    <a target="_blank" href="https://docs.chainstack.com/quickstart/">Chainstack docs</a> •
    <a target="_blank" href="https://docs.chainstack.com/quickstart/">Blockchain API reference</a> • <br>
    • <a target="_blank" href="https://console.chainstack.com/user/account/create">Start for free</a> •
  </p>


  ![checks status](https://github.com/chainstacklabs/chainbench/actions/workflows/checks.yml/badge.svg)
  ![build status](https://github.com/chainstacklabs/chainbench/actions/workflows/python-publish.yml/badge.svg)
  ![version](https://img.shields.io/pypi/v/chainbench)
  ![license](https://img.shields.io/github/license/chainstacklabs/chainbench)

  This project allows you to benchmark your blockchain infrastructure. It uses [Locust](https://docs.locust.io/en/stable/index.html) under the hood.



  Chainbench lets you to easily define profiles for any EVM-compatible chain.
  You can use not only hard-coded values but also real chain data to generate dynamic call parameters.

  Main features:
  - Built-in profiles for Ethereum, Binance Smart Chain, Polygon, Oasis, Avalanche and Solana
  - Support for custom profiles
  - Dynamic call params generation using real chain data
  - Headless and web UI modes

  Check out the [docs](docs/PROFILE.md) for more information about the profile creation.



  - Python 3.10+
  - Poetry 1.7+ (installation instructions [here](https://python-poetry.org/docs/#installation))





  ```shell
  pip install chainbench
  ```

  After installation, you can run the tool using the following command:
  ```shell
  chainbench start --help
  ```



  Clone the repository:
  ```shell
  git clone git@github.com:chainstacklabs/chainbench.git
  ```

  Install dependencies:
  ```shell
  cd chainbench && poetry install --without dev
  ```

  When installing using Poetry, you can run the tool using the following command:
  ```shell
  poetry run chainbench
  ```


  All the examples below assume that you have installed the tool using `pip`. If you installed it using `poetry`, replace `chainbench` with `poetry run chainbench`.

  To list all available commands and options, run:
  ```shell
  chainbench --help
  ```
  `start` command is used to start a load test. To learn about the parameters and flags, run the following command:
  ```shell
  chainbench start --help
  ```

  You may specify a method to test, for example:
  ```shell
  chainbench start eth_blockNumber --users 50 --workers 2 --test-time 12h --target https://node-url --headless --autoquit
  ```
  This will run a load test with `eth_blockNumber` method calls with 2 workers, 50 users and 12 hours test time in headless mode with default test data size S.
  After the test is finished, the tool will automatically quit.
  If you run the command above without '--headless' flag, it will start a web UI where you may select other methods to run tests with.

  To see which methods are supported, run:
  ```shell
  chainbench list methods
  ```

  You may also specify a profile with multiple methods and weights to use for the test instead of testing a single method. For example:
  ```shell
  chainbench start --profile bsc.general --users 50 --workers 2 --test-time 12h --target https://node-url --headless --autoquit
  ```
  This will run a load test with a general BSC profile.



  - `-p, --profile`: Specifies the profile to use for the benchmark. Available profiles can be found in the profile directory. Sample usage `-p bsc.general`
  - `-s, --shape`: Specifies the shape of the load pattern. List available shapes with `chainbench list shapes`.
  - `-u, --users`: Sets the number of simulated users to use for the benchmark.
  - `-r, --spawn-rate`: Sets the spawn rate of users per second.
  - `-w, --workers`: Sets the number of worker threads to use for the benchmark.
  - `-t, --test-time`: Sets the duration of the test to run.
  - `--target`: Specifies the target blockchain node URL that the benchmark will connect to.
  - `--headless`: Runs the benchmark in headless mode, meaning that no graphical user interface (GUI) will be displayed during the test. This is useful for running the test on a remote server or when the GUI is not needed.
  - `--autoquit`: Tells the Chainbench tool to automatically quit after the test has finished. This is useful for running the benchmark in an automated environment where manual intervention is not desired.
  - `--help`: Displays the help message.
  - `--debug-trace-methods`: Enables tasks tagged with debug or trace to be executed
  - `-E, --exclude-tags`: Exclude tasks tagged with custom tags from the test. You may specify this option multiple times.
  - `--use-latest-blocks`: Use latest blocks for test data generation and runs a background process to update the test data with latest blocks.
  - `--size`: Specifies the test data size. Available values are XS, S, M, L, XL. Default is S.
  - `--batch`: Runs the test using batch requests. This will send multiple requests in a single batch request. The number of requests in a batch can be specified using the `--batch-size` flag. Default batch size is 10.

  You may also run `chainbench start --help` for the full list of parameters and flags.


  Default profiles are located in the [`profile`](chainbench/profile) directory. For a tutorial on how to create custom profiles, please refer to [this document](docs/PROFILE.md).

  You may use the following command to list all profiles available out of the box:
  ```shell
  chainbench list profiles
  ```

  The `-d` or `--profile-dir` flag can be used to specify a custom directory with profiles. For example:
  ```shell
  chainbench start --profile-dir /path/to/profiles --profile my-profile --users 50 --workers 2 --test-time 12h --target https://node-url --headless --autoquit
  ```
  This will run a load test using `/path/to/profiles/my-profile.py` profile.

  It's possible to group profiles into directories. For example, you can create a directory called `bsc` and put all the BSC profiles there. Then you can run a load test using the following command:
  ```shell
  chainbench start --profile-dir /path/to/profiles --profile bsc.my-profile --users 50 --workers 2 --test-time 12h --target https://node-url --headless --autoquit
  ```

  Chainbench will look for the profile in `/path/to/profiles/bsc/my-profile.py`. Currently, only one level of nesting is supported.

  There are built-in `evm.light` and `evm.heavy` profiles for EVM-compatible chains.

  Here's an example of how to run a load test for Ethereum using the `evm.light` profile:
  ```shell
  chainbench start --profile evm.light --users 50 --workers 2 --test-time 12h --target https://node-url --headless --autoquit
  ```


  Load pattern shapes are used to define how the load will be distributed over time. You may specify the shape of the load pattern using the `-s` or `--shape` flag.
  This is an optional flag and if not specified, the default shape will be used. The default shape is `ramp-up` which means the load will increase linearly over time at
  the spawn-rate until the specified number of users is reached, after that it will maintain the number of users until test duration is over.

  Other available shapes are:
  - `step` - The load will increase in steps. `--spawn-rate` flag is required to specify the step size. The number of steps will be calculated based on `--users` divided by `--spawn-rate`. The duration of each step will be calculated based on `--test-time` divided by the number of steps.
  - `spike` - The load will run in a spike pattern. The load will ramp up to 10% of the total users for 40% of the test duration and then spike to 100% of the total users as specified by `--users` for 20% of test duration and then reduce back to 10% of total users until the test duration is over.


  You may specify the test data size using the `--size` flag. This will determine how much data is used in the test.
  Take note that larger data size will result in longer test data generation time before the test starts.
  We plan to add an option to reuse previously generated test data in the future to avoid regenerating the same
  test data for multiple test runs.

  | Size  | Blocks  |
  |-------|---------|
  | XS    | 10      |
  | S     | 100     |
  | M     | 1,000   |
  | L     | 10,000  |
  | XL    | 100,000 |



  When running tests on nodes that are running in sync modes that do not have access to the full blockchain history, it is recommended to use the `--use-latest-blocks` flag.

  Example:
  If the node runs in a sync mode that only keeps the last 128 blocks in history, you may run a test with the following command:
  ```shell
  chainbench start --profile evm.light --users 50 --workers 2 --test-time 1h --target https://node-url --headless --autoquit --use-latest-blocks --size S
  ```

  With test data size S and `--use-latest-blocks` flag, the tool will generate test data using the latest 100 blocks.
  Chainbench will keep the test data up to date by running a background process that will update the test data with latest blocks.


  Monitors are separate processes that run during the test to collect or process some additional data and metrics relevant to the test.
  For example, sync-lag-monitor will collect the latest block information from the node under test, check the timestamp and compare it to current time to calculate how much the node lags behind.
  You may include monitors in your test by using the `-m` or `--monitor` option and specifying the name of the monitor. At the moment, monitors only work in headless mode.

  Here's an example:
  ```shell
  chainbench start --profile evm.light --users 50 --workers 2 --test-time 12h --target https://node-url --headless --autoquit -m sync-lag-monitor
  ```




  Run the following command to run a load test for BSC in UI mode. It will start a web server on port 8089.
  Target is required to initialize the test data, however you may change the target endpoint later in the UI, along with the number of users, spawn rate and test time.
  Do take note when changing the target option that test data initialized with an Ethereum node endpoint, for example, can only be used to test other Ethereum node endpoints.
  ```shell
  chainbench start --profile bsc.general --workers 1 --target https://any-working-node-endpoint.com
  ```
  If you'd like to select which profiles or more specifically which user classes to use for the test, you may start a test in Web UI Mode without specifying a profile or passing in the method argument.
  ```shell
  chainbench start --workers 1 --target https://any-working-node-endpoint.com --profile-dir chainbench/profile/evm
  ```
  This will start a test with all the EVM profiles and user classes available in the UI for you to select.


  If you want to run a load test for BSC in headless mode, run the following command:

  ```shell
  chainbench start --profile bsc.general --workers 4 --users 100 --test-time 1h --target https://node-url --headless --autoquit
  ```

  It will run a load test for BSC with 4 workers, 100 users and 1 hour test time.

  In practice, you will probably want to run the benchmark on a remote server. Here's the example utilizing `nohup`:

  ```shell
  nohup chainbench start --profile bsc.general --workers 4 --users 100 --test-time 1h --target https://node-url --headless --autoquit &
  ```



  This command will discover all available rpc methods on the specified endpoint and print them to the console. List of methods that are tested are based on the `--clients` option.
  ```shell
  chainbench discover https://node-url --clients geth,erigon
  ```
  To list valid arguments for `--clients` option and the reference client version, run:
  ```shell
  chainbench list clients
  ```
  If you don't specify the `--clients` option, the tool will default to Ethereum JSON-RPC Specification (eth).


  This project is licensed under the [Apache 2.0 License](LICENSE).


pkgId: 9bc6e9fa82faae9836b61c87c3fd9462295916b49bd8fbabd96a17af5ef8ace2
name: python-chainedci
arch: src
version: 1.6.4
epoch: 0
release: 1
summary: Chaine Gitlab CI pipelines
url: https://gitlab.com/Orange-OpenSource/lfn/ci_cd/chained-ci
rpm_license: Apache 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainedci-1.6.4-1.src.rpm
checksum_type: sha256
description:
  `chained-ci-py` is a project to manage CI/CD scenarios with gitlab and
  trigger multi subproject pipelines, passing variables and artifacts from
  one to the other.

  ⚠️ DOCUMENTATION is to be done ⚠️

  Here is a few command line:



  Using python package:

  ```shell
  pip install chainedci
  ```

  Using Docker:

  ```shell
  docker run --rm -ti \
    registry.gitlab.com/orange-opensource/lfn/ci_cd/chained-ci-py chainedci
  ```



  ```shell
  chainedci generate -i <scenario_folder>/inventory -p .vault
  ```

  with `.vault` a local file containing your vault key that was used to cipher
  projects tokens.


pkgId: 356ed1be53ae0dbff1d8788ab8845f65257db07a6150a01ddea1da4d1fcb3db2
name: python-chainer
arch: src
version: 7.8.1
epoch: 0
release: 1
summary: A flexible framework of neural networks
url: https://chainer.org/
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainer-7.8.1-1.src.rpm
checksum_type: sha256
description:
  <div align="center"><img src="https://raw.githubusercontent.com/chainer/chainer/master/docs/image/chainer_red_h.png" width="400"/></div>



  [![pypi](https://img.shields.io/pypi/v/chainer.svg)](https://pypi.python.org/pypi/chainer)
  [![GitHub license](https://img.shields.io/github/license/chainer/chainer.svg)](https://github.com/chainer/chainer)
  [![travis](https://img.shields.io/travis/chainer/chainer/master.svg)](https://travis-ci.org/chainer/chainer)
  [![coveralls](https://img.shields.io/coveralls/chainer/chainer.svg)](https://coveralls.io/github/chainer/chainer)
  [![Read the Docs](https://readthedocs.org/projects/chainer/badge/?version=stable)](https://docs.chainer.org/en/stable/?badge=stable)
  [![Optuna](https://img.shields.io/badge/Optuna-integrated-blue)](https://optuna.org)

  [**Website**](https://chainer.org/)
  | [**Docs**](https://docs.chainer.org/en/stable/)
  | [**Install Guide**](https://docs.chainer.org/en/stable/install.html)
  | **Tutorials** ([ja](https://tutorials.chainer.org/ja/))
  | **Examples** ([Official](examples), [External](https://github.com/chainer-community/awesome-chainer))
  | [**Concepts**](https://docs.chainer.org/en/stable/guides/)
  | [**ChainerX**](#chainerx)

  **Forum** ([en](https://groups.google.com/forum/#!forum/chainer), [ja](https://groups.google.com/forum/#!forum/chainer-jp))
  | **Slack invitation** ([en](https://bit.ly/go-chainer-slack), [ja](https://bit.ly/go-chainer-jp-slack))
  | **Twitter** ([en](https://twitter.com/CuPy_Team), [ja](https://twitter.com/ChainerJP))

  *Chainer* is a Python-based deep learning framework aiming at flexibility.
  It provides automatic differentiation APIs based on the **define-by-run** approach (a.k.a. dynamic computational graphs) as well as object-oriented high-level APIs to build and train neural networks.
  It also supports CUDA/cuDNN using [CuPy](https://github.com/cupy/cupy) for high performance training and inference.
  For more details about Chainer, see the documents and resources listed above and join the community in Forum, Slack, and Twitter.

  ***Notice: As [announced](https://chainer.org/announcement/2019/12/05/released-v7.html), Chainer is under the maintenance phase and further development will be limited to bug-fixes and maintenance only.***



  *For more details, see the [installation guide](https://docs.chainer.org/en/stable/install.html).*

  To install Chainer, use `pip`.

  ```sh
  $ pip install chainer
  ```

  To enable CUDA support, [CuPy](https://github.com/cupy/cupy) is required.
  Refer to the [CuPy installation guide](https://docs-cupy.chainer.org/en/stable/install.html).




  We are providing the official Docker image.
  This image supports [nvidia-docker](https://github.com/NVIDIA/nvidia-docker).
  Login to the environment with the following command, and run the Python interpreter to use Chainer with CUDA and cuDNN support.

  ```
  $ nvidia-docker run -it chainer/chainer /bin/bash
  ```




  See the [contribution guide](https://docs.chainer.org/en/stable/contribution.html).




  See the [ChainerX documentation](https://docs.chainer.org/en/stable/chainerx/index.html).




  MIT License (see `LICENSE` file).




  - [Release notes](https://github.com/chainer/chainer/releases)



  Tokui, Seiya, et al. "Chainer: A Deep Learning Framework for Accelerating the Research Cycle." *Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining*. ACM, 2019.
  [URL](https://dl.acm.org/citation.cfm?id=3330756) [BibTex](chainer2019_bibtex.txt)

  Tokui, S., Oono, K., Hido, S. and Clayton, J.,
  Chainer: a Next-Generation Open Source Framework for Deep Learning,
  *Proceedings of Workshop on Machine Learning Systems(LearningSys) in
  The Twenty-ninth Annual Conference on Neural Information Processing Systems (NIPS)*, (2015)
  [URL](http://learningsys.org/papers/LearningSys_2015_paper_33.pdf), [BibTex](chainer_bibtex.txt)

  Akiba, T., Fukuda, K. and Suzuki, S.,
  ChainerMN: Scalable Distributed Deep Learning Framework,
  *Proceedings of Workshop on ML Systems in
  The Thirty-first Annual Conference on Neural Information Processing Systems (NIPS)*, (2017)
  [URL](http://learningsys.org/nips17/assets/papers/paper_25.pdf), [BibTex](chainermn_bibtex.txt)


pkgId: 8c9e260717a9308c922841322d0fbd93d8864320b057c46a5455c40dc9516a4d
name: python-chainer-mask-rcnn
arch: src
version: 0.5.24
epoch: 0
release: 1
summary: Chainer Implementation of Mask R-CNN.
url: http://github.com/wkentaro/chainer-mask-rcnn
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainer-mask-rcnn-0.5.24-1.src.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/chainer-mask-rcnn.svg)](https://badge.fury.io/py/chainer-mask-rcnn)
  [![Python Versions](https://img.shields.io/pypi/pyversions/chainer-mask-rcnn.svg)](https://pypi.org/project/chainer-mask-rcnn)
  [![GitHub Actions](https://github.com/wkentaro/chainer-mask-rcnn/workflows/CI/badge.svg)](https://github.com/wkentaro/chainer-mask-rcnn/actions)

  Chainer Implementation of [Mask R-CNN](https://arxiv.org/abs/1703.06870).



  - [x] ResNet50, ResNet101 backbone.
  - [x] [VOC and COCO training examples](https://github.com/wkentaro/chainer-mask-rcnn/blob/main/examples).
  - [x] **[Reproduced result of original work (ResNet50, COCO)](https://github.com/wkentaro/chainer-mask-rcnn/blob/main/#coco-results)**.
  - [x] Weight copy from pretrained model at [facebookresearch/Detectron](https://github.com/facebookresearch/Detectron).
  - [x] Training with batch size >= 2.
  - [ ] Support FPN backbones.
  - [ ] Keypoint detection.

  <img src="https://github.com/wkentaro/chainer-mask-rcnn/blob/main/examples/coco/.readme/R-50-C4_x1_33823288584_1d21cf0a26_k.jpg?raw=true" width="44.3%" /> <img src="examples/coco/.readme/R-50-C4_x1_17790319373_bd19b24cfc_k.jpg" width="52%" />
  *Fig 1. Mask R-CNN, ResNet50, 8GPU, Ours, COCO 31.4 mAP@50:95*





  | Model | Implementation | N gpu training | mAP@50:95 | Log |
  |-------|----------------|----------------|-----------|-----|
  | Mask R-CNN, ResNet50 | [Ours](https://github.com/wkentaro/chainer-mask-rcnn/blob/main/.?raw=true) | 8 | 31.5 - 31.8 | [Log](https://drive.google.com/open?id=1WOEtVnxqYdHl35pAyIcp-H0HtTjI-l3V) |
  | Mask R-CNN, ResNet50 | [Detectron](https://github.com/facebookresearch/Detectron) | 8 | 31.4 (30.8 after copied) | [Log](https://drive.google.com/open?id=1xQBox3uMv2FoyXXpsC9ASNZ-92NgAbcT) |
  | FCIS, ResNet50 | [FCIS](https://github.com/msracver/FCIS) | 8 | 27.1 | - |




  ```bash

  ./demo.py logs/<YOUR_TRAINING_LOG> --img <IMAGE_PATH_OR_URL>


  cd examples/coco
  LOG_DIR=logs/20180730_081433
  mkdir -p $LOG_DIR
  pip install gdown
  gdown https://drive.google.com/uc?id=1XC-Mx4HX0YBIy0Fbp59EjJFOF7a3XK0R -O $LOG_DIR/snapshot_model.npz
  gdown https://drive.google.com/uc?id=1fXHanL2pBakbkv83wn69QhI6nM6KjrzL -O $LOG_DIR/params.yaml
  ./demo.py $LOG_DIR


  cd examples/coco
  ./convert_caffe2_to_chainer.py  # or download from https://drive.google.com/open?id=1WOEtVnxqYdHl35pAyIcp-H0HtTjI-l3V
  ./demo.py logs/R-50-C4_x1_caffe2_to_chainer --img https://raw.githubusercontent.com/facebookresearch/Detectron/master/demo/33823288584_1d21cf0a26_k.jpg
  ./demo.py logs/R-50-C4_x1_caffe2_to_chainer --img https://raw.githubusercontent.com/facebookresearch/Detectron/master/demo/17790319373_bd19b24cfc_k.jpg
  ```

  <img src="https://github.com/wkentaro/chainer-mask-rcnn/blob/main/examples/coco/.readme/R-50-C4_x1_caffe2_to_chainer_result_33823288584_1d21cf0a26_k.jpg?raw=true" width="44.3%" /> <img src="examples/coco/.readme/R-50-C4_x1_caffe2_to_chainer_result_17790319373_bd19b24cfc_k.jpg" width="52%" />
  *Fig 2. Mask R-CNN, ResNet50, 8GPU, Copied from Detectron, COCO 31.4 mAP@50:95*







  ```bash

  pip install opencv-python
  pip install .


  cd examples/coco && ./train.py --gpu 0
  ```




  ```bash

  wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gz
  tar zxvf openmpi-3.0.0.tar.gz
  cd openmpi-3.0.0
  ./configure --with-cuda
  make -j4
  sudo make install
  sudo ldconfig



  dpkg -i nccl-repo-ubuntu1604-2.1.15-ga-cuda9.1_1-1_amd64.deb
  sudo apt update
  sudo apt install libnccl2 libnccl-dev


  pip install chainermn


  pip install opencv-python
  pip install .


  cd examples/coco && mpirun -n 4 ./train.py --multi-node
  ```




  ```bash
  pip install flake8 pytest
  flake8 .
  pytest -v tests
  ```


pkgId: 9f61b48210613fb5c76fa29ac77bf2c20a50d6dffc9ed304f7711424f769943c
name: python-chainercv2
arch: src
version: 0.0.62
epoch: 0
release: 1
summary: Image classification and segmentation models for Chainer
url: https://github.com/osmr/imgclsmob
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainercv2-0.0.62-1.src.rpm
checksum_type: sha256
description:
  [![PyPI](https://img.shields.io/pypi/v/chainercv2.svg)](https://pypi.python.org/pypi/chainercv2)
  [![Downloads](https://pepy.tech/badge/chainercv2)](https://pepy.tech/project/chainercv2)

  This is a collection of image classification, segmentation, detection, and pose estimation models. Many of them are pretrained on
  [ImageNet-1K](http://www.image-net.org), [CIFAR-10/100](https://www.cs.toronto.edu/~kriz/cifar.html),
  [SVHN](http://ufldl.stanford.edu/housenumbers), [CUB-200-2011](http://www.vision.caltech.edu/visipedia/CUB-200-2011.html),
  [Pascal VOC2012](http://host.robots.ox.ac.uk/pascal/VOC/voc2012), [ADE20K](http://groups.csail.mit.edu/vision/datasets/ADE20K),
  [Cityscapes](https://www.cityscapes-dataset.com), and [COCO](http://cocodataset.org) datasets and loaded automatically
  during use. All pretrained models require the same ordinary normalization. Scripts for training/evaluating/converting
  models are in the [`imgclsmob`](https://github.com/osmr/imgclsmob) repo.



  - AlexNet (['One weird trick for parallelizing convolutional neural networks'](https://arxiv.org/abs/1404.5997))
  - ZFNet (['Visualizing and Understanding Convolutional Networks'](https://arxiv.org/abs/1311.2901))
  - VGG/BN-VGG (['Very Deep Convolutional Networks for Large-Scale Image Recognition'](https://arxiv.org/abs/1409.1556))
  - BN-Inception (['Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift'](https://arxiv.org/abs/1502.03167))
  - ResNet (['Deep Residual Learning for Image Recognition'](https://arxiv.org/abs/1512.03385))
  - PreResNet (['Identity Mappings in Deep Residual Networks'](https://arxiv.org/abs/1603.05027))
  - ResNeXt (['Aggregated Residual Transformations for Deep Neural Networks'](http://arxiv.org/abs/1611.05431))
  - SENet/SE-ResNet/SE-PreResNet/SE-ResNeXt (['Squeeze-and-Excitation Networks'](https://arxiv.org/abs/1709.01507))
  - ResNeSt(A) (['ResNeSt: Split-Attention Networks'](https://arxiv.org/abs/2004.08955))
  - AirNet/AirNeXt (['Attention Inspiring Receptive-Fields Network for Learning Invariant Representations'](https://ieeexplore.ieee.org/document/8510896))
  - BAM-ResNet (['BAM: Bottleneck Attention Module'](https://arxiv.org/abs/1807.06514))
  - CBAM-ResNet (['CBAM: Convolutional Block Attention Module'](https://arxiv.org/abs/1807.06521))
  - ResAttNet (['Residual Attention Network for Image Classification'](https://arxiv.org/abs/1704.06904))
  - SKNet (['Selective Kernel Networks'](https://arxiv.org/abs/1903.06586))
  - SCNet (['Improving Convolutional Networks with Self-Calibrated Convolutions'](http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf))
  - RegNet (['Designing Network Design Spaces'](https://arxiv.org/abs/2003.13678))
  - DIA-ResNet (['DIANet: Dense-and-Implicit Attention Network'](https://arxiv.org/abs/1905.10671))
  - PyramidNet (['Deep Pyramidal Residual Networks'](https://arxiv.org/abs/1610.02915))
  - DiracNetV2 (['DiracNets: Training Very Deep Neural Networks Without Skip-Connections'](https://arxiv.org/abs/1706.00388))
  - ShaResNet (['ShaResNet: reducing residual network parameter number by sharing weights'](https://arxiv.org/abs/1702.08782))
  - DenseNet (['Densely Connected Convolutional Networks'](https://arxiv.org/abs/1608.06993))
  - CondenseNet (['CondenseNet: An Efficient DenseNet using Learned Group Convolutions'](https://arxiv.org/abs/1711.09224))
  - SparseNet (['Sparsely Aggregated Convolutional Networks'](https://arxiv.org/abs/1801.05895))
  - PeleeNet (['Pelee: A Real-Time Object Detection System on Mobile Devices'](https://arxiv.org/abs/1804.06882))
  - Oct-ResNet (['Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution'](https://arxiv.org/abs/1904.05049))
  - WRN (['Wide Residual Networks'](https://arxiv.org/abs/1605.07146))
  - WRN-1bit (['Training wide residual networks for deployment using a single bit for each weight'](https://arxiv.org/abs/1802.08530))
  - DRN-C/DRN-D (['Dilated Residual Networks'](https://arxiv.org/abs/1705.09914))
  - DPN (['Dual Path Networks'](https://arxiv.org/abs/1707.01629))
  - DarkNet Ref/Tiny/19 (['Darknet: Open source neural networks in c'](https://github.com/pjreddie/darknet))
  - DarkNet-53 (['YOLOv3: An Incremental Improvement'](https://arxiv.org/abs/1804.02767))
  - ChannelNet (['ChannelNets: Compact and Efficient Convolutional Neural Networks via Channel-Wise Convolutions'](https://arxiv.org/abs/1809.01330))
  - i-RevNet (['i-RevNet: Deep Invertible Networks'](https://arxiv.org/abs/1802.07088))
  - BagNet (['Approximating CNNs with Bag-of-local-Features models works surprisingly well on ImageNet'](https://openreview.net/pdf?id=SkfMWhAqYQ))
  - DLA (['Deep Layer Aggregation'](https://arxiv.org/abs/1707.06484))
  - FishNet (['FishNet: A Versatile Backbone for Image, Region, and Pixel Level Prediction'](http://papers.nips.cc/paper/7356-fishnet-a-versatile-backbone-for-image-region-and-pixel-level-prediction.pdf))
  - ESPNetv2 (['ESPNetv2: A Light-weight, Power Efficient, and General Purpose Convolutional Neural Network'](https://arxiv.org/abs/1811.11431))
  - DiCENet (['DiCENet: Dimension-wise Convolutions for Efficient Networks'](https://arxiv.org/abs/1906.03516))
  - HRNet (['Deep High-Resolution Representation Learning for Visual Recognition'](https://arxiv.org/abs/1908.07919))
  - VoVNet (['An Energy and GPU-Computation Efficient Backbone Network for Real-Time Object Detection'](https://arxiv.org/abs/1904.09730))
  - SelecSLS (['XNect: Real-time Multi-person 3D Human Pose Estimation with a Single RGB Camera'](https://arxiv.org/abs/1907.00837))
  - HarDNet (['HarDNet: A Low Memory Traffic Network'](https://arxiv.org/abs/1909.00948))
  - X-DenseNet (['Deep Expander Networks: Efficient Deep Networks from Graph Theory'](https://arxiv.org/abs/1711.08757))
  - SqueezeNet/SqueezeResNet (['SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size'](https://arxiv.org/abs/1602.07360))
  - SqueezeNext (['SqueezeNext: Hardware-Aware Neural Network Design'](https://arxiv.org/abs/1803.10615))
  - ShuffleNet (['ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices'](https://arxiv.org/abs/1707.01083))
  - ShuffleNetV2 (['ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design'](https://arxiv.org/abs/1807.11164))
  - MENet (['Merging and Evolution: Improving Convolutional Neural Networks for Mobile Applications'](https://arxiv.org/abs/1803.09127))
  - MobileNet (['MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications'](https://arxiv.org/abs/1704.04861))
  - FD-MobileNet (['FD-MobileNet: Improved MobileNet with A Fast Downsampling Strategy'](https://arxiv.org/abs/1802.03750))
  - MobileNetV2 (['MobileNetV2: Inverted Residuals and Linear Bottlenecks'](https://arxiv.org/abs/1801.04381))
  - MobileNetV3 (['Searching for MobileNetV3'](https://arxiv.org/abs/1905.02244))
  - IGCV3 (['IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks'](https://arxiv.org/abs/1806.00178))
  - GhostNet (['GhostNet: More Features from Cheap Operations'](https://arxiv.org/abs/1911.11907))
  - MnasNet (['MnasNet: Platform-Aware Neural Architecture Search for Mobile'](https://arxiv.org/abs/1807.11626))
  - DARTS (['DARTS: Differentiable Architecture Search'](https://arxiv.org/abs/1806.09055))
  - ProxylessNAS (['ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware'](https://arxiv.org/abs/1812.00332))
  - FBNet (['FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search'](https://arxiv.org/abs/1812.03443))
  - Xception (['Xception: Deep Learning with Depthwise Separable Convolutions'](https://arxiv.org/abs/1610.02357))
  - InceptionV3 (['Rethinking the Inception Architecture for Computer Vision'](https://arxiv.org/abs/1512.00567))
  - InceptionV4/InceptionResNetV1/InceptionResNetV2 (['Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning'](https://arxiv.org/abs/1602.07261))
  - PolyNet (['PolyNet: A Pursuit of Structural Diversity in Very Deep Networks'](https://arxiv.org/abs/1611.05725))
  - NASNet (['Learning Transferable Architectures for Scalable Image Recognition'](https://arxiv.org/abs/1707.07012))
  - PNASNet (['Progressive Neural Architecture Search'](https://arxiv.org/abs/1712.00559))
  - SPNASNet (['Single-Path NAS: Designing Hardware-Efficient ConvNets in less than 4 Hours'](https://arxiv.org/abs/1904.02877))
  - EfficientNet (['EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks'](https://arxiv.org/abs/1905.11946))
  - MixNet (['MixConv: Mixed Depthwise Convolutional Kernels'](https://arxiv.org/abs/1907.09595))
  - NIN (['Network In Network'](https://arxiv.org/abs/1312.4400))
  - RoR-3 (['Residual Networks of Residual Networks: Multilevel Residual Networks'](https://arxiv.org/abs/1608.02908))
  - RiR (['Resnet in Resnet: Generalizing Residual Architectures'](https://arxiv.org/abs/1603.08029))
  - ResDrop-ResNet (['Deep Networks with Stochastic Depth'](https://arxiv.org/abs/1603.09382))
  - Shake-Shake-ResNet (['Shake-Shake regularization'](https://arxiv.org/abs/1705.07485))
  - ShakeDrop-ResNet (['ShakeDrop Regularization for Deep Residual Learning'](https://arxiv.org/abs/1802.02375))
  - NTS-Net (['Learning to Navigate for Fine-grained Classification'](https://arxiv.org/abs/1809.00287))
  - PSPNet (['Pyramid Scene Parsing Network'](https://arxiv.org/abs/1612.01105))
  - DeepLabv3 (['Rethinking Atrous Convolution for Semantic Image Segmentation'](https://arxiv.org/abs/1706.05587))
  - FCN-8s (['Fully Convolutional Networks for Semantic Segmentation'](https://arxiv.org/abs/1411.4038))
  - ICNet (['ICNet for Real-Time Semantic Segmentation on High-Resolution Images'](https://arxiv.org/abs/1704.08545))
  - Fast-SCNN (['Fast-SCNN: Fast Semantic Segmentation Network'](https://arxiv.org/abs/1902.04502))
  - CGNet (['CGNet: A Light-weight Context Guided Network for Semantic Segmentation'](https://arxiv.org/abs/1811.08201))
  - DABNet (['DABNet: Depth-wise Asymmetric Bottleneck for Real-time Semantic Segmentation'](https://arxiv.org/abs/1907.11357))
  - SINet (['SINet: Extreme Lightweight Portrait Segmentation Networks with Spatial Squeeze Modules and Information Blocking Decoder'](https://arxiv.org/abs/1911.09099))
  - BiSeNet (['BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'](https://arxiv.org/abs/1808.00897))
  - DANet (['Dual Attention Network for Scene Segmentation'](https://arxiv.org/abs/1809.02983))
  - FPENet (['Feature Pyramid Encoding Network for Real-time Semantic Segmentation'](https://arxiv.org/abs/1909.08599))
  - LEDNet (['LEDNet: A Lightweight Encoder-Decoder Network for Real-Time Semantic Segmentation'](https://arxiv.org/abs/1905.02423))
  - CenterNet (['Objects as Points'](https://arxiv.org/abs/1904.07850))
  - LFFD (['LFFD: A Light and Fast Face Detector for Edge Devices'](https://arxiv.org/abs/1904.10633))
  - AlphaPose (['RMPE: Regional Multi-person Pose Estimation'](https://arxiv.org/abs/1612.00137))
  - SimplePose (['Simple Baselines for Human Pose Estimation and Tracking'](https://arxiv.org/abs/1804.06208))
  - Lightweight OpenPose (['Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose'](https://arxiv.org/abs/1811.12004))
  - IBPPose (['Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation'](https://arxiv.org/abs/1911.10529))
  - VOCA (['Capture, Learning, and Synthesis of 3D Speaking Styles'](https://arxiv.org/abs/1905.03079))
  - Neural Voice Puppetry Audio-to-Expression net (['Neural Voice Puppetry: Audio-driven Facial Reenactment'](https://arxiv.org/abs/1912.05566))
  - Jasper/JasperDR (['Jasper: An End-to-End Convolutional Neural Acoustic Model'](https://arxiv.org/abs/1904.03288))
  - QuartzNet (['QuartzNet: Deep Automatic Speech Recognition with 1D Time-Channel Separable Convolutions'](https://arxiv.org/abs/1910.10261))



  To use the models in your project, simply install the `chainercv2` package:
  ```
  pip install chainercv2
  ```
  To enable/disable different hardware supports, check out Chainer installation [instructions](https://chainer.org).



  Example of using a pretrained ResNet-18 model:
  ```
  from chainercv2.model_provider import get_model as chcv2_get_model
  import numpy as np

  net = chcv2_get_model("resnet18", pretrained=True)
  x = np.zeros((1, 3, 224, 224), np.float32)
  y = net(x)
  ```





  Some remarks:
  - Top1/Top5 are the standard 1-crop Top-1/Top-5 errors (in percents) on the validation subset of the ImageNet-1K dataset.
  - FLOPs/2 is the number of FLOPs divided by two to be similar to the number of MACs.
  - Remark `Converted from GL model` means that the model was trained on `MXNet/Gluon` and then converted to Chainer.
  - ResNet(A) is an average downsampled ResNet intended for use as an feature extractor in some pose estimation networks.
  - ResNet(D) is a dilated ResNet intended for use as an feature extractor in some segmentation networks.
  - Models with *-suffix use non-standard preprocessing (see the training log).

  | Model | Top1 | Top5 | Params | FLOPs/2 | Remarks |
  | --- | ---: | ---: | ---: | ---: | --- |
  | AlexNet | 38.04 | 16.10 | 62,378,344 | 1,132.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.481/alexnet-1610-d666015b.npz.log)) |
  | AlexNet-b | 39.27 | 17.05 | 61,100,840 | 714.83M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.485/alexnetb-1705-a22a3ab8.npz.log)) |
  | ZFNet | 39.19 | 16.75 | 62,357,608 | 1,170.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.395/zfnet-1675-0205a9ab.npz.log)) |
  | ZFNet-b | 35.80 | 14.56 | 107,627,624 | 2,479.13M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.400/zfnetb-1456-5808c73e.npz.log)) |
  | VGG-11 | 29.60 | 10.17 | 132,863,336 | 7,615.87M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.381/vgg11-1017-7934dcf0.npz.log)) |
  | VGG-13 | 28.47 | 9.52 | 133,047,848 | 11,317.65M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.388/vgg13-0952-f6af5a26.npz.log)) |
  | VGG-16 | 26.63 | 8.33 | 138,357,544 | 15,480.10M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.401/vgg16-0833-5e08a9ec.npz.log)) |
  | VGG-19 | 25.59 | 7.66 | 143,667,240 | 19,642.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.420/vgg19-0766-abf32909.npz.log)) |
  | BN-VGG-11 | 28.57 | 9.37 | 132,866,088 | 7,630.21M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.339/bn_vgg11-0937-8fcdb341.npz.log)) |
  | BN-VGG-13 | 27.67 | 8.87 | 133,050,792 | 11,341.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.353/bn_vgg13-0887-1709fd1a.npz.log)) |
  | BN-VGG-16 | 25.45 | 7.59 | 138,361,768 | 15,506.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.359/bn_vgg16-0759-8d6a2a82.npz.log)) |
  | BN-VGG-19 | 23.89 | 6.88 | 143,672,744 | 19,671.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.360/bn_vgg19-0688-5b6f413c.npz.log)) |
  | BN-VGG-11b | 29.29 | 9.78 | 132,868,840 | 7,630.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.407/bn_vgg11b-0978-54b2345e.npz.log)) |
  | BN-VGG-13b | 28.24 | 9.16 | 133,053,736 | 11,342.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.488/bn_vgg13b-0916-e0110b44.npz.log)) |
  | BN-VGG-16b | 25.78 | 7.75 | 138,365,992 | 15,507.20M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.489/bn_vgg16b-0775-03703844.npz.log)) |
  | BN-VGG-19b | 24.83 | 7.33 | 143,678,248 | 19,672.26M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.490/bn_vgg19b-0733-44d38dbe.npz.log)) |
  | BN-Inception | 25.11 | 7.52 | 11,295,240 | 2,048.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.405/bninception-0752-44a9e12c.npz.log)) |
  | ResNet-10 | 32.58 | 12.55 | 5,418,792 | 894.04M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.483/resnet10-1255-bc5960a1.npz.log)) |
  | ResNet-12 | 31.62 | 12.04 | 5,492,776 | 1,126.25M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.485/resnet12-1204-651ffc1c.npz.log)) |
  | ResNet-14 | 30.36 | 10.93 | 5,788,200 | 1,357.94M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.491/resnet14-1093-adafc1c1.npz.log)) |
  | ResNet-BC-14b | 29.22 | 10.36 | 10,064,936 | 1,479.12M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.481/resnetbc14b-1036-8c665d1b.npz.log)) |
  | ResNet-16 | 28.56 | 9.78 | 6,968,872 | 1,589.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/resnet16-0978-d2b6300f.npz.log)) |
  | ResNet-18 x0.25 | 39.32 | 17.45 | 3,937,400 | 270.94M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.262/resnet18_wd4-1745-79de61de.npz.log)) |
  | ResNet-18 x0.5 | 33.41 | 12.85 | 5,804,296 | 608.70M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.263/resnet18_wd2-1285-ae41e11d.npz.log)) |
  | ResNet-18 x0.75 | 29.98 | 10.67 | 8,476,056 | 1,129.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.266/resnet18_w3d4-1067-4defa49f.npz.log)) |
  | ResNet-18 | 26.75 | 8.68 | 11,689,512 | 1,820.41M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.478/resnet18-0868-6e670b22.npz.log)) |
  | ResNet-26 | 25.98 | 8.24 | 17,960,232 | 2,746.79M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.489/resnet26-0824-0ae9add4.npz.log)) |
  | ResNet-BC-26b | 24.82 | 7.55 | 15,995,176 | 2,356.67M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.313/resnetbc26b-0755-74cf9fe9.npz.log)) |
  | ResNet-34 | 24.51 | 7.46 | 21,797,672 | 3,672.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.291/resnet34-0746-1856e049.npz.log)) |
  | ResNet-BC-38b | 23.47 | 6.75 | 21,925,416 | 3,234.21M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.328/resnetbc38b-0675-9210464e.npz.log)) |
  | ResNet-50 | 22.09 | 6.07 | 25,557,032 | 3,877.95M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.329/resnet50-0607-f4a16228.npz.log)) |
  | ResNet-50b | 22.08 | 6.15 | 25,557,032 | 4,110.48M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.308/resnet50b-0615-32bc835e.npz.log)) |
  | ResNet-101 | 20.54 | 5.17 | 44,549,160 | 7,597.95M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.499/resnet101-0517-88c52266.npz.log)) |
  | ResNet-101b | 20.28 | 5.14 | 44,549,160 | 7,830.48M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.357/resnet101b-0514-077eb1e2.npz.log)) |
  | ResNet-152 | 19.13 | 4.47 | 60,192,808 | 11,321.85M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.518/resnet152-0447-99b827c4.npz.log)) |
  | ResNet-152b | 18.87 | 4.30 | 60,192,808 | 11,554.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.517/resnet152b-0430-c0473952.npz.log)) |
  | PreResNet-10 | 34.70 | 14.02 | 5,417,128 | 894.19M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.249/preresnet10-1402-94e8fc28.npz.log)) |
  | PreResNet-12 | 33.62 | 13.18 | 5,491,112 | 1,126.40M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.257/preresnet12-1318-fea1c8c5.npz.log)) |
  | PreResNet-14 | 32.28 | 12.24 | 5,786,536 | 1,358.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.260/preresnet14-1224-f9973f4f.npz.log)) |
  | PreResNet-BC-14b | 30.67 | 11.53 | 10,057,384 | 1,476.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.315/preresnetbc14b-1153-1d37e533.npz.log)) |
  | PreResNet-16 | 30.22 | 10.80 | 6,967,208 | 1,589.49M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.261/preresnet16-1080-ac7a346a.npz.log)) |
  | PreResNet-18 x0.25 | 39.58 | 17.78 | 3,935,960 | 270.93M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.272/preresnet18_wd4-1778-1cf8aa48.npz.log)) |
  | PreResNet-18 x0.5 | 33.64 | 13.12 | 5,802,440 | 608.73M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.273/preresnet18_wd2-1312-fa4ce56a.npz.log)) |
  | PreResNet-18 x0.75 | 29.95 | 10.69 | 8,473,784 | 1,129.51M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.274/preresnet18_w3d4-1069-25ddcd56.npz.log)) |
  | PreResNet-18 | 28.17 | 9.54 | 11,687,848 | 1,820.56M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.140/preresnet18-0954-21e4811a.npz.log)) |
  | PreResNet-26 | 25.99 | 8.38 | 17,958,568 | 2,746.94M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.316/preresnet26-0838-8cbc7638.npz.log)) |
  | PreResNet-BC-26b | 25.20 | 7.86 | 15,987,624 | 2,354.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.325/preresnetbc26b-0786-4c1e6a24.npz.log)) |
  | PreResNet-34 | 24.58 | 7.55 | 21,796,008 | 3,672.83M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.300/preresnet34-0755-b664c649.npz.log)) |
  | PreResNet-BC-38b | 22.70 | 6.36 | 21,917,864 | 3,231.70M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.348/preresnetbc38b-0636-3105fbe8.npz.log)) |
  | PreResNet-50 | 22.21 | 6.24 | 25,549,480 | 3,875.44M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.330/preresnet50-0624-a2bba5b6.npz.log)) |
  | PreResNet-50b | 22.31 | 6.34 | 25,549,480 | 4,107.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.307/preresnet50b-0634-605b0eec.npz.log)) |
  | PreResNet-101 | 20.58 | 5.34 | 44,541,608 | 7,595.44M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.504/preresnet101-0534-b4e33e60.npz.log)) |
  | PreResNet-101b | 20.87 | 5.38 | 44,541,608 | 7,827.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.351/preresnet101b-0538-b502bf25.npz.log)) |
  | PreResNet-152 | 19.16 | 4.47 | 60,185,256 | 11,319.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.510/preresnet152-0447-f62a6bc8.npz.log)) |
  | PreResNet-152b | 19.00 | 4.38 | 60,185,256 | 11,551.87M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.523/preresnet152b-0438-50121ca1.npz.log)) |
  | PreResNet-200b | 18.96 | 4.46 | 64,666,280 | 15,068.63M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.529/preresnet200b-0446-f44d47e8.npz.log)) |
  | PreResNet-269b | 20.17 | 5.04 | 102,065,832 | 20,101.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.545/preresnet269b-0504-c9363468.npz.log)) |
  | ResNeXt-14 (16x4d) | 31.63 | 12.26 | 7,127,336 | 1,045.77M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.370/resnext14_16x4d-1226-80d9a331.npz.log)) |
  | ResNeXt-14 (32x2d) | 32.13 | 12.49 | 7,029,416 | 1,031.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.371/resnext14_32x2d-1249-892f96a4.npz.log)) |
  | ResNeXt-14 (32x4d) | 30.01 | 11.15 | 9,411,880 | 1,603.46M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.327/resnext14_32x4d-1115-fa0e7f7f.npz.log)) |
  | ResNeXt-26 (32x2d) | 26.32 | 8.49 | 9,924,136 | 1,461.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.373/resnext26_32x2d-0849-58d86996.npz.log)) |
  | ResNeXt-26 (32x4d) | 23.91 | 7.19 | 15,389,480 | 2,488.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.332/resnext26_32x4d-0719-62ca5090.npz.log)) |
  | ResNeXt-50 (32x4d) | 20.84 | 5.46 | 25,028,904 | 4,255.86M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.498/resnext50_32x4d-0546-d1e20cc5.npz.log)) |
  | ResNeXt-101 (32x4d) | 18.51 | 4.16 | 44,177,704 | 8,003.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.530/resnext101_32x4d-0416-ec66f27f.npz.log)) |
  | ResNeXt-101 (64x4d) | 18.82 | 4.38 | 83,455,272 | 15,500.27M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.544/resnext101_64x4d-0438-06bfc635.npz.log)) |
  | SE-ResNet-10 | 31.41 | 11.70 | 5,463,332 | 894.27M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/seresnet10-1170-2b3424cb.npz.log)) |
  | SE-ResNet-12 | 31.64 | 11.76 | 5,537,896 | 1,126.58M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.544/seresnet12-1176-0095f8bd.npz.log)) |
  | SE-ResNet-14 | 30.39 | 11.00 | 5,835,504 | 1,358.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.545/seresnet14-1100-fb477b24.npz.log)) |
  | SE-ResNet-16 | 28.33 | 9.71 | 7,024,640 | 1,589.76M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.545/seresnet16-0971-c15d615a.npz.log)) |
  | SE-ResNet-18 | 27.96 | 9.23 | 11,778,592 | 1,820.88M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.355/seresnet18-0923-b0931abe.npz.log)) |
  | SE-ResNet-26 | 25.40 | 8.06 | 18,093,852 | 2,747.49M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.363/seresnet26-0806-00032d5b.npz.log)) |
  | SE-ResNet-BC-26b | 23.42 | 6.84 | 17,395,976 | 2,359.58M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.366/seresnetbc26b-0684-884c0e6b.npz.log)) |
  | SE-ResNet-BC-38b | 21.40 | 5.79 | 24,026,616 | 3,238.58M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.374/seresnetbc38b-0579-7f103cd0.npz.log)) |
  | SE-ResNet-50 | 21.11 | 5.59 | 28,088,024 | 3,883.25M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.441/seresnet50-0559-6c5585d5.npz.log)) |
  | SE-ResNet-50b | 20.56 | 5.30 | 28,088,024 | 4,115.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.387/seresnet50b-0530-1ac3bf50.npz.log)) |
  | SE-ResNet-101 | 19.02 | 4.41 | 49,326,872 | 7,602.76M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.533/seresnet101-0441-c70e5190.npz.log)) |
  | SE-ResNet-101b | 19.48 | 4.63 | 49,326,872 | 7,839.75M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.460/seresnet101b-0463-97cc55c3.npz.log)) |
  | SE-ResNet-152 | 18.61 | 4.30 | 66,821,848 | 11,328.52M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.538/seresnet152-0430-0f5f3035.npz.log)) |
  | SE-PreResNet-10 | 32.35 | 12.20 | 5,461,668 | 894.42M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.544/sepreresnet10-1220-1bdbe9ae.npz.log)) |
  | SE-PreResNet-12 | 31.65 | 11.80 | 5,536,232 | 1,126.73M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.543/sepreresnet12-1180-f41eb368.npz.log)) |
  | SE-PreResNet-16 | 28.40 | 9.55 | 7,022,976 | 1,589.91M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.543/sepreresnet16-0955-904e014f.npz.log)) |
  | SE-PreResNet-18 | 27.11 | 8.83 | 11,776,928 | 1,821.03M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.543/sepreresnet18-0883-356877c7.npz.log)) |
  | SE-PreResNet-26 | 25.98 | 8.05 | 18,092,188 | 2,747.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.543/sepreresnet26-0805-e7e6cc56.npz.log)) |
  | SE-PreResNet-BC-26b | 22.93 | 6.38 | 17,388,424 | 2,357.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.399/sepreresnetbc26b-0638-e8393574.npz.log)) |
  | SE-PreResNet-BC-38b | 21.46 | 5.66 | 24,019,064 | 3,236.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.409/sepreresnetbc38b-0566-4b9ce096.npz.log)) |
  | SE-PreResNet-50b | 20.75 | 5.31 | 28,080,472 | 4,113.27M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.461/sepreresnet50b-0531-fde03b26.npz.log)) |
  | SE-ResNeXt-50 (32x4d) | 18.73 | 4.35 | 27,559,896 | 4,261.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.505/seresnext50_32x4d-0435-52a11b61.npz.log)) |
  | SE-ResNeXt-101 (32x4d) | 19.06 | 4.45 | 48,955,416 | 8,012.73M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.529/seresnext101_32x4d-0445-fd8f34d6.npz.log)) |
  | SE-ResNeXt-101 (64x4d) | 18.46 | 4.07 | 88,232,984 | 15,509.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.561/seresnext101_64x4d-0407-5c3b4e4b.npz.log)) |
  | SENet-16 | 25.39 | 8.07 | 31,366,168 | 5,081.30M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.341/senet16-0807-f45aa3ff.npz.log)) |
  | SENet-28 | 21.65 | 5.91 | 36,453,768 | 5,732.71M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.356/senet28-0591-7e7bf250.npz.log)) |
  | SENet-154 | 18.85 | 4.42 | 115,088,984 | 20,745.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.522/senet154-0442-9f7f0ae3.npz.log)) |
  | ResNeSt(A)-BC-14 | 22.28 | 6.33 | 10,611,688 | 2,767.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/resnestabc14-0633-a76f3b83.npz.log)) |
  | ResNeSt(A)-18 | 23.43 | 6.94 | 12,763,784 | 2,587.50M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.489/resnesta18-0694-4ecaf0b7.npz.log)) |
  | ResNeSt(A)-BC-26 | 19.59 | 4.69 | 17,069,448 | 3,646.57M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.495/resnestabc26-0469-14cb6ca5.npz.log)) |
  | ResNeSt(A)-50 | 18.94 | 4.38 | 27,483,240 | 5,403.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.531/resnesta50-0438-84192ed0.npz.log)) |
  | ResNeSt(A)-101 | 17.73 | 4.00 | 48,275,016 | 10,247.88M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.465/resnesta101-0400-bd2efb42.npz.log)) |
  | ResNeSt(A)-152 | 18.71 | 4.52 | 65,316,040 | 13,976.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.540/resnesta152-0452-70e32d11.npz.log)) |
  | ResNeSt(A)-200 | 16.81 | 3.39 | 70,201,544 | 22,857.88M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.465/resnesta200-0339-b521427b.npz.log)) |
  | ResNeSt(A)-269 | 16.40 | 3.36 | 110,929,480 | 46,012.95M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.465/resnesta269-0336-933dbe64.npz.log)) |
  | AirNet50-1x64d (r=2) | 20.46 | 5.28 | 27,425,864 | 4,772.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.522/airnet50_1x64d_r2-0528-650960af.npz.log)) |
  | AirNet50-1x64d (r=16) | 21.11 | 5.47 | 25,714,952 | 4,399.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.519/airnet50_1x64d_r16-0547-6d3d6db4.npz.log)) |
  | AirNeXt50-32x4d (r=2) | 19.81 | 5.03 | 27,604,296 | 5,339.58M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.521/airnext50_32x4d_r2-0503-2bb8e4fc.npz.log)) |
  | BAM-ResNet-50 | 20.58 | 5.35 | 25,915,099 | 4,196.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.499/bam_resnet50-0535-e2069bb5.npz.log)) |
  | CBAM-ResNet-50 | 19.95 | 4.88 | 28,089,624 | 4,116.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.537/cbam_resnet50-0488-8a05bbda.npz.log)) |
  | SCNet-50 | 21.03 | 5.35 | 25,564,584 | 3,951.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/scnet50-0535-f0ef9a4c.npz.log)) |
  | SCNet-101 | 19.68 | 4.64 | 44,565,416 | 7,204.24M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.507/scnet101-0464-7b157441.npz.log)) |
  | SCNet(A)-50 | 19.64 | 4.66 | 25,583,816 | 4,715.84M | From [MCG-NKU/SCNet] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.472/scneta50-0466-e90cf3c5.npz.log)) |
  | RegNetX-200MF | 29.93 | 10.38 | 2,684,792 | 203.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.475/regnetx002-1136-2c208b54.npz.log)) |
  | RegNetX-400MF | 26.26 | 8.55 | 5,157,512 | 403.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.479/regnetx004-0855-ecd22778.npz.log)) |
  | RegNetX-600MF | 24.67 | 7.60 | 6,196,040 | 608.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.482/regnetx006-0760-fadb78d4.npz.log)) |
  | RegNetX-800MF | 24.12 | 7.23 | 7,259,656 | 809.49M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.482/regnetx008-0723-5fff6491.npz.log)) |
  | RegNetX-1.6GF | 22.16 | 6.13 | 9,190,136 | 1,618.99M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/regnetx016-0613-5092bfd9.npz.log)) |
  | RegNetX-3.2GF | 21.27 | 5.69 | 15,296,552 | 3,199.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.492/regnetx032-0569-c3625268.npz.log)) |
  | RegNetX-4.0GF | 19.53 | 4.71 | 22,118,248 | 3,986.29M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.495/regnetx040-0471-362a2ce3.npz.log)) |
  | RegNetX-6.4GF | 19.23 | 4.55 | 26,209,256 | 6,491.01M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.535/regnetx064-0455-3bdbfa0d.npz.log)) |
  | RegNetX-8.0GF | 19.62 | 4.67 | 39,572,648 | 8,017.94M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.515/regnetx080-0467-3618e40b.npz.log)) |
  | RegNetX-12GF | 19.96 | 5.19 | 46,106,056 | 12,124.22M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.542/regnetx120-0519-68699007.npz.log)) |
  | RegNetX-16GF | 19.14 | 4.58 | 54,278,536 | 15,986.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.532/regnetx160-0458-99da1e86.npz.log)) |
  | RegNetX-32GF | 17.84 | 3.94 | 107,811,560 | 31,790.24M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.548/regnetx320-0394-22a74cba.npz.log)) |
  | RegNetY-200MF | 28.50 | 9.55 | 3,162,996 | 203.99M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.476/regnety002-0955-5ba3e62c.npz.log)) |
  | RegNetY-400MF | 24.84 | 7.52 | 4,344,144 | 410.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.481/regnety004-0752-e30b7c27.npz.log)) |
  | RegNetY-600MF | 23.57 | 7.00 | 6,055,160 | 610.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.483/regnety006-0700-0917e50c.npz.log)) |
  | RegNetY-800MF | 22.56 | 6.45 | 6,263,168 | 808.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.483/regnety008-0645-aa4c6104.npz.log)) |
  | RegNetY-1.6GF | 21.24 | 5.71 | 11,202,430 | 1,629.48M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/regnety016-0571-962bc21c.npz.log)) |
  | RegNetY-3.2GF | 18.31 | 4.11 | 19,436,338 | 3,199.15M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.473/regnety032-0411-7097f659.npz.log)) |
  | RegNetY-4.0GF | 19.52 | 4.66 | 20,646,656 | 3,999.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.494/regnety040-0466-c84f52df.npz.log)) |
  | RegNetY-6.4GF | 18.91 | 4.46 | 30,583,252 | 6,388.91M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.513/regnety064-0446-22d3ab05.npz.log)) |
  | RegNetY-8.0GF | 18.78 | 4.37 | 39,180,068 | 7,996.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.516/regnety080-0437-f324b046.npz.log)) |
  | RegNetY-12GF | 18.49 | 4.30 | 51,822,544 | 12,132.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.526/regnety120-0430-fa03425a.npz.log)) |
  | RegNetY-16GF | 18.69 | 4.29 | 83,590,140 | 15,944.53M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.527/regnety160-0429-0a034eb9.npz.log)) |
  | RegNetY-32GF | 17.77 | 3.72 | 145,046,770 | 32,317.66M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.550/regnety320-0372-7bc53739.npz.log)) |
  | PyramidNet-101 (a=360) | 20.43 | 5.20 | 42,455,070 | 8,743.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.507/pyramidnet101_a360-0520-e37960c4.npz.log)) |
  | DiracNetV2-18 | 30.60 | 11.13 | 11,511,784 | 1,796.62M | From [szagoruyko/diracnets] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.111/diracnet18v2-1113-b85b43d1.npz.log)) |
  | DiracNetV2-34 | 27.90 | 9.48 | 21,616,232 | 3,646.93M | From [szagoruyko/diracnets] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.111/diracnet34v2-0948-0245163a.npz.log)) |
  | DenseNet-121 | 23.24 | 6.83 | 7,978,856 | 2,872.13M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.314/densenet121-0683-4caa2458.npz.log)) |
  | DenseNet-161 | 21.79 | 5.90 | 28,681,000 | 7,793.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.432/densenet161-0590-a514f930.npz.log)) |
  | DenseNet-169 | 22.11 | 6.09 | 14,149,480 | 3,403.89M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.406/densenet169-0609-99c9bddf.npz.log)) |
  | DenseNet-201 | 21.56 | 5.90 | 20,013,928 | 4,347.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.426/densenet201-0590-f50cfbb1.npz.log)) |
  | CondenseNet-74 (C=G=4) | 26.81 | 8.61 | 4,773,944 | 546.06M | From [ShichenLiu/CondenseNet] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.36/condensenet74_c4_g4-0861-ef6077ec.npz.log)) |
  | CondenseNet-74 (C=G=8) | 29.74 | 10.43 | 2,935,416 | 291.52M | From [ShichenLiu/CondenseNet] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.36/condensenet74_c8_g8-1043-277fbfb8.npz.log)) |
  | PeleeNet | 29.38 | 9.84 | 2,802,248 | 514.87M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.496/peleenet-0984-32d512c0.npz.log)) |
  | WRN-50-2 | 22.07 | 6.07 | 68,849,128 | 11,405.42M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.520/wrn50_2-0607-c5976365.npz.log)) |
  | DRN-C-26 | 24.34 | 7.10 | 21,126,584 | 16,993.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.508/drnc26-0710-16a6251b.npz.log)) |
  | DRN-C-42 | 22.31 | 6.14 | 31,234,744 | 25,093.75M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.556/drnc42-0614-6b2099e0.npz.log)) |
  | DRN-C-58 | 20.47 | 5.17 | 40,542,008 | 32,489.94M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.559/drnc58-0517-a333394a.npz.log)) |
  | DRN-D-22 | 24.73 | 7.47 | 16,393,752 | 13,051.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.498/drnd22-0747-e4c5cf73.npz.log)) |
  | DRN-D-38 | 22.83 | 6.24 | 26,501,912 | 21,151.19M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.552/drnd38-0624-1a1a7b99.npz.log)) |
  | DRN-D-54 | 20.31 | 5.00 | 35,809,176 | 28,547.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.554/drnd54-0500-b679707c.npz.log)) |
  | DRN-D-105 | 21.32 | 5.84 | 54,801,304 | 43,442.43M | From [fyu/drn] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.116/drnd105-0584-c0d7657b.npz.log)) |
  | DPN-68 | 22.93 | 6.56 | 12,611,602 | 2,351.84M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.310/dpn68-0656-bf9b72e9.npz.log)) |
  | DPN-98 | 18.31 | 4.26 | 61,570,728 | 11,716.51M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.540/dpn98-0426-2ab67669.npz.log)) |
  | DPN-131 | 19.38 | 4.79 | 79,254,504 | 16,076.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.534/dpn131-0479-eb5a4bc2.npz.log)) |
  | DarkNet Tiny | 40.33 | 17.46 | 1,042,104 | 500.85M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.69/darknet_tiny-1746-b04fa463.npz.log)) |
  | DarkNet Ref | 38.09 | 16.71 | 7,319,416 | 367.59M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.64/darknet_ref-1671-b2d5721f.npz.log)) |
  | DarkNet-53 | 21.27 | 5.52 | 41,609,928 | 7,133.86M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.501/darknet53-0552-3e6f4076.npz.log)) |
  | i-RevNet-301 | 26.96 | 8.87 | 125,120,356 | 14,453.87M | From [jhjacobsen/pytorch-i-revnet] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.251/irevnet301-0887-ed6e6df0.npz.log)) |
  | BagNet-9 | 48.78 | 25.44 | 15,688,744 | 16,049.19M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.553/bagnet9-2544-346ee143.npz.log)) |
  | BagNet-17 | 36.51 | 15.23 | 16,213,032 | 15,768.77M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.558/bagnet17-1523-ccc69ea4.npz.log)) |
  | BagNet-33 | 29.45 | 10.44 | 18,310,184 | 16,371.52M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.561/bagnet33-1044-17d82bc6.npz.log)) |
  | DLA-34 | 24.39 | 7.06 | 15,742,104 | 3,071.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/dla34-0706-576dd492.npz.log)) |
  | DLA-46-C | 33.85 | 12.92 | 1,301,400 | 585.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.282/dla46c-1292-98e3efd5.npz.log)) |
  | DLA-X-46-C | 32.90 | 12.28 | 1,068,440 | 546.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.293/dla46xc-1228-c2dc61bc.npz.log)) |
  | DLA-60 | 21.26 | 5.54 | 22,036,632 | 4,255.49M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.494/dla60-0554-740881ca.npz.log)) |
  | DLA-X-60 | 20.70 | 5.54 | 17,352,344 | 3,543.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/dla60x-0554-4d757562.npz.log)) |
  | DLA-X-60-C | 30.70 | 10.76 | 1,319,832 | 596.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.289/dla60xc-1076-4c418399.npz.log)) |
  | DLA-102 | 20.54 | 5.18 | 33,268,888 | 7,190.95M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.505/dla102-0518-ebbfedd7.npz.log)) |
  | DLA-X-102 | 19.56 | 4.74 | 26,309,272 | 5,884.94M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.528/dla102x-0474-39bad3b5.npz.log)) |
  | DLA-X2-102 | 18.68 | 4.25 | 41,282,200 | 9,340.61M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.542/dla102x2-0425-4ffec225.npz.log)) |
  | DLA-169 | 19.27 | 4.61 | 53,389,720 | 11,593.20M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.539/dla169-0461-f47952e2.npz.log)) |
  | FishNet-150 | 19.14 | 4.65 | 24,959,400 | 6,435.05M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.502/fishnet150-0465-724e74fc.npz.log)) |
  | ESPNetv2 x0.5 | 43.42 | 20.79 | 1,241,332 | 35.36M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.562/espnetv2_wd2-2079-f77e3ecf.npz.log)) |
  | ESPNetv2 x1.0 | 35.30 | 14.31 | 1,670,072 | 98.09M | From [sacmehta/ESPNetv2] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.238/espnetv2_w1-1431-eab8d605.npz.log)) |
  | ESPNetv2 x1.25 | 33.07 | 12.68 | 1,965,440 | 138.18M | From [sacmehta/ESPNetv2] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.238/espnetv2_w5d4-1268-dc69f420.npz.log)) |
  | ESPNetv2 x1.5 | 31.04 | 11.40 | 2,314,856 | 185.77M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.520/espnetv2_w3d2-1140-1bfaa23b.npz.log)) |
  | ESPNetv2 x2.0 | 28.95 | 9.90 | 3,498,136 | 306.93M | From [sacmehta/ESPNetv2] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.238/espnetv2_w2-0990-bfb3ab7c.npz.log)) |
  | DiCENet x0.2 | 55.10 | 30.64 | 1,130,704 | 18.76M | From [sacmehta/EdgeNets] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.497/dicenet_wd5-3064-118c88d2.npz.log)) |
  | DiCENet x0.5 | 47.19 | 23.09 | 1,214,120 | 30.48M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.561/dicenet_wd2-2309-b383f3a6.npz.log)) |
  | DiCENet x0.75 | 38.19 | 16.42 | 1,495,676 | 55.80M | From [sacmehta/EdgeNets] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.497/dicenet_w3d4-1642-c97e9157.npz.log)) |
  | DiCENet x1.0 | 35.02 | 14.13 | 1,805,604 | 82.17M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.513/dicenet_w1-1413-e926dbb2.npz.log)) |
  | DiCENet x1.25 | 33.08 | 12.55 | 2,162,888 | 111.87M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.515/dicenet_w5d4-1255-f4914cf7.npz.log)) |
  | DiCENet x1.5 | 30.95 | 11.44 | 2,652,200 | 151.81M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.522/dicenet_w3d2-1144-a6b89c5e.npz.log)) |
  | DiCENet x1.75 | 30.14 | 10.80 | 3,264,932 | 201.26M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.527/dicenet_w7d8-1080-f2a3e6ae.npz.log)) |
  | DiCENet x2.0 | 29.92 | 10.63 | 3,979,044 | 257.95M | From [sacmehta/EdgeNets] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.497/dicenet_w2-1063-224f4153.npz.log)) |
  | HRNet-W18 Small V1 | 26.24 | 8.73 | 13,187,464 | 1,615.00M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.492/hrnet_w18_small_v1-0873-96476e4b.npz.log)) |
  | HRNet-W18 Small V2 | 21.73 | 6.03 | 15,597,464 | 2,618.84M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.499/hrnet_w18_small_v2-0603-87be5731.npz.log)) |
  | HRNetV2-W18 | 20.12 | 5.04 | 21,299,004 | 4,323.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.508/hrnetv2_w18-0504-27b854bf.npz.log)) |
  | HRNetV2-W30 | 20.26 | 5.06 | 37,712,220 | 8,156.82M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.525/hrnetv2_w30-0506-04453d82.npz.log)) |
  | HRNetV2-W32 | 19.93 | 4.93 | 41,232,680 | 8,974.04M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.528/hrnetv2_w32-0493-9f43468d.npz.log)) |
  | HRNetV2-W40 | 19.66 | 4.79 | 57,557,160 | 12,752.26M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.534/hrnetv2_w40-0479-738507ee.npz.log)) |
  | HRNetV2-W44 | 19.67 | 4.90 | 67,064,984 | 14,946.96M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.541/hrnetv2_w44-0490-6e10e2b5.npz.log)) |
  | HRNetV2-W48 | 19.45 | 4.86 | 77,469,864 | 17,345.39M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.541/hrnetv2_w48-0486-e8df81b5.npz.log)) |
  | HRNetV2-W64 | 19.50 | 4.79 | 128,059,944 | 28,976.42M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.543/hrnetv2_w64-0479-702c5688.npz.log)) |
  | VoVNet-27-slim | 29.35 | 9.78 | 3,525,736 | 2,187.25M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.551/vovnet27s-0978-6983e4ee.npz.log)) |
  | VoVNet-39 | 21.49 | 5.53 | 22,600,296 | 7,086.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/vovnet39-0553-6a8b6783.npz.log)) |
  | VoVNet-57 | 20.16 | 5.12 | 36,640,296 | 8,943.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.505/vovnet57-0512-beb31bd5.npz.log)) |
  | SelecSLS-42b | 21.74 | 6.01 | 32,458,248 | 2,980.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/selecsls42b-0601-d89a5042.npz.log)) |
  | SelecSLS-60 | 20.18 | 5.14 | 30,670,768 | 3,591.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.496/selecsls60-0514-637c2506.npz.log)) |
  | SelecSLS-60b | 20.60 | 5.38 | 32,774,064 | 3,629.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.495/selecsls60b-0538-f9f8d657.npz.log)) |
  | HarDNet-39DS | 26.48 | 8.70 | 3,488,228 | 437.52M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.485/hardnet39ds-0870-fcf92ed6.npz.log)) |
  | HarDNet-68DS | 24.22 | 7.43 | 4,180,602 | 788.86M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.487/hardnet68ds-0743-a6b77ed0.npz.log)) |
  | HarDNet-68 | 23.97 | 7.04 | 17,565,348 | 4,256.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.557/hardnet68-0704-71176051.npz.log)) |
  | HarDNet-85 | 21.83 | 5.69 | 36,670,212 | 9,088.58M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.495/hardnet85-0569-5f3cb7be.npz.log)) |
  | SqueezeNet v1.0 | 38.76 | 17.38 | 1,248,424 | 823.67M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.128/squeezenet_v1_0-1738-4c55a6a5.npz.log)) |
  | SqueezeNet v1.1 | 39.13 | 17.40 | 1,235,496 | 352.02M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.88/squeezenet_v1_1-1740-b236c204.npz.log)) |
  | SqueezeResNet v1.0 | 39.36 | 17.66 | 1,248,424 | 823.67M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.178/squeezeresnet_v1_0-1766-6dc69dc2.npz.log)) |
  | SqueezeResNet v1.1 | 39.85 | 17.87 | 1,235,496 | 352.02M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.70/squeezeresnet_v1_1-1787-f40e6051.npz.log)) |
  | 1.0-SqNxt-23 | 42.62 | 19.03 | 724,056 | 287.28M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.171/sqnxt23_w1-1903-ef3d725b.npz.log)) |
  | 1.0-SqNxt-23v5 | 40.96 | 17.86 | 921,816 | 285.82M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.172/sqnxt23v5_w1-1786-8b24c6e3.npz.log)) |
  | 1.5-SqNxt-23 | 34.71 | 13.44 | 1,511,824 | 552.39M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.210/sqnxt23_w3d2-1344-a5c3b21e.npz.log)) |
  | 1.5-SqNxt-23v5 | 33.79 | 12.92 | 1,953,616 | 550.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.212/sqnxt23v5_w3d2-1292-c997e279.npz.log)) |
  | 2.0-SqNxt-23 | 30.43 | 10.82 | 2,583,752 | 898.48M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.240/sqnxt23_w2-1082-cf7aebef.npz.log)) |
  | 2.0-SqNxt-23v5 | 29.58 | 10.43 | 3,366,344 | 897.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.216/sqnxt23v5_w2-1043-e9e849cd.npz.log)) |
  | ShuffleNet x0.25 (g=1) | 62.04 | 36.81 | 209,746 | 12.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.134/shufflenet_g1_wd4-3681-15d3e787.npz.log)) |
  | ShuffleNet x0.25 (g=3) | 61.30 | 36.16 | 305,902 | 13.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.135/shufflenet_g3_wd4-3616-064f7f7f.npz.log)) |
  | ShuffleNet x0.5 (g=1) | 46.24 | 22.35 | 534,484 | 41.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.174/shufflenet_g1_wd2-2235-5d83cc28.npz.log)) |
  | ShuffleNet x0.5 (g=3) | 43.83 | 20.61 | 718,324 | 41.70M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.167/shufflenet_g3_wd2-2061-557e4397.npz.log)) |
  | ShuffleNet x0.75 (g=1) | 39.26 | 16.77 | 975,214 | 86.42M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.218/shufflenet_g1_w3d4-1677-b5515ea9.npz.log)) |
  | ShuffleNet x0.75 (g=3) | 37.83 | 16.13 | 1,238,266 | 85.82M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.219/shufflenet_g3_w3d4-1613-55129cb5.npz.log)) |
  | ShuffleNet x1.0 (g=1) | 34.44 | 13.48 | 1,531,936 | 148.13M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.223/shufflenet_g1_w1-1348-37cc6c5f.npz.log)) |
  | ShuffleNet x1.0 (g=2) | 33.94 | 13.33 | 1,733,848 | 147.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.241/shufflenet_g2_w1-1333-e473c62f.npz.log)) |
  | ShuffleNet x1.0 (g=3) | 33.99 | 13.26 | 1,865,728 | 145.46M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.244/shufflenet_g3_w1-1326-95df0487.npz.log)) |
  | ShuffleNet x1.0 (g=4) | 33.87 | 13.08 | 1,968,344 | 143.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.245/shufflenet_g4_w1-1308-8ed92f35.npz.log)) |
  | ShuffleNet x1.0 (g=8) | 33.68 | 13.21 | 2,434,768 | 150.76M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.250/shufflenet_g8_w1-1321-2fea8945.npz.log)) |
  | ShuffleNetV2 x0.5 | 43.45 | 20.73 | 1,366,792 | 43.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.90/shufflenetv2_wd2-2073-c5e5a23c.npz.log)) |
  | ShuffleNetV2 x1.0 | 33.39 | 12.98 | 2,278,604 | 149.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.133/shufflenetv2_w1-1298-3830a2da.npz.log)) |
  | ShuffleNetV2 x1.5 | 28.87 | 10.14 | 4,406,098 | 320.77M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.288/shufflenetv2_w3d2-1014-5f75edb1.npz.log)) |
  | ShuffleNetV2 x2.0 | 27.01 | 8.99 | 7,601,686 | 595.84M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.301/shufflenetv2_w2-0899-a44b1d5d.npz.log)) |
  | ShuffleNetV2b x0.5 | 39.78 | 17.87 | 1,366,792 | 43.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.157/shufflenetv2b_wd2-1787-08a12021.npz.log)) |
  | ShuffleNetV2b x1.0 | 30.36 | 11.00 | 2,279,760 | 150.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.161/shufflenetv2b_w1-1100-21562fb2.npz.log)) |
  | ShuffleNetV2b x1.5 | 26.92 | 8.78 | 4,410,194 | 323.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.203/shufflenetv2b_w3d2-0878-7a5c7ed4.npz.log)) |
  | ShuffleNetV2b x2.0 | 25.23 | 8.10 | 7,611,290 | 603.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.242/shufflenetv2b_w2-0810-636e281c.npz.log)) |
  | 108-MENet-8x1 (g=3) | 43.67 | 20.42 | 654,516 | 42.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.89/menet108_8x1_g3-2042-9e3ff283.npz.log)) |
  | 128-MENet-8x1 (g=4) | 42.07 | 19.19 | 750,796 | 45.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.103/menet128_8x1_g4-1919-f6fd56fa.npz.log)) |
  | 160-MENet-8x1 (g=8) | 43.54 | 20.42 | 850,120 | 45.63M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.154/menet160_8x1_g8-2042-250fd765.npz.log)) |
  | 228-MENet-12x1 (g=3) | 33.86 | 13.01 | 1,806,568 | 152.93M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.131/menet228_12x1_g3-1301-39c25ca3.npz.log)) |
  | 256-MENet-12x1 (g=4) | 32.30 | 12.18 | 1,888,240 | 150.65M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.152/menet256_12x1_g4-1218-57160b09.npz.log)) |
  | 348-MENet-12x1 (g=3) | 27.86 | 9.36 | 3,368,128 | 312.00M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.173/menet348_12x1_g3-0936-ee7e056d.npz.log)) |
  | 352-MENet-12x1 (g=8) | 31.28 | 11.72 | 2,272,872 | 157.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.198/menet352_12x1_g8-1172-c256ae25.npz.log)) |
  | 456-MENet-24x1 (g=3) | 25.07 | 7.79 | 5,304,784 | 567.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.237/menet456_24x1_g3-0779-5af355f6.npz.log)) |
  | MobileNet x0.25 | 45.85 | 22.16 | 470,072 | 44.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.62/mobilenet_wd4-2216-09c50ab8.npz.log)) |
  | MobileNet x0.5 | 33.89 | 13.37 | 1,331,592 | 155.42M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.156/mobilenet_wd2-1337-48d12ee3.npz.log)) |
  | MobileNet x0.75 | 29.86 | 10.53 | 2,585,560 | 333.99M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.130/mobilenet_w3d4-1053-d7ec3192.npz.log)) |
  | MobileNet x1.0 | 26.47 | 8.66 | 4,231,976 | 579.80M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.155/mobilenet_w1-0866-b888f817.npz.log)) |
  | MobileNetb x0.25 | 45.22 | 21.64 | 467,592 | 42.88M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.481/mobilenetb_wd4-2164-65e4eeb5.npz.log)) |
  | MobileNetb x0.5 | 32.93 | 12.69 | 1,326,632 | 153.00M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.480/mobilenetb_wd2-1269-a649a585.npz.log)) |
  | MobileNetb x0.75 | 29.11 | 10.19 | 2,578,120 | 330.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.481/mobilenetb_w3d4-1019-a54016b2.npz.log)) |
  | MobileNetb x1.0 | 25.07 | 7.88 | 4,222,056 | 574.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.489/mobilenetb_w1-0788-e95ffdb9.npz.log)) |
  | FD-MobileNet x0.25 | 55.43 | 30.63 | 383,160 | 12.95M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.177/fdmobilenet_wd4-3063-55407f3a.npz.log)) |
  | FD-MobileNet x0.5 | 42.68 | 19.76 | 993,928 | 41.84M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.83/fdmobilenet_wd2-1976-6299d442.npz.log)) |
  | FD-MobileNet x0.75 | 37.94 | 15.99 | 1,833,304 | 86.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.159/fdmobilenet_w3d4-1599-cdfc2e04.npz.log)) |
  | FD-MobileNet x1.0 | 33.90 | 13.16 | 2,901,288 | 147.46M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.162/fdmobilenet_w1-1316-0ed6f00c.npz.log)) |
  | MobileNetV2 x0.25 | 48.10 | 24.11 | 1,516,392 | 34.24M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.137/mobilenetv2_wd4-2411-9fc398d3.npz.log)) |
  | MobileNetV2 x0.5 | 35.56 | 14.44 | 1,964,736 | 100.13M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.170/mobilenetv2_wd2-1444-ca0906e1.npz.log)) |
  | MobileNetV2 x0.75 | 29.75 | 10.47 | 2,627,592 | 198.50M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.230/mobilenetv2_w3d4-1047-a25fd26c.npz.log)) |
  | MobileNetV2 x1.0 | 26.80 | 8.66 | 3,504,960 | 329.36M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.213/mobilenetv2_w1-0866-efc3331e.npz.log)) |
  | MobileNetV2b x0.25 | 46.71 | 23.42 | 1,516,312 | 33.18M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.483/mobilenetv2b_wd4-2342-bf23c314.npz.log)) |
  | MobileNetV2b x0.5 | 34.25 | 13.76 | 1,964,448 | 96.42M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/mobilenetv2b_wd2-1376-f68cc37d.npz.log)) |
  | MobileNetV2b x0.75 | 30.19 | 10.67 | 2,626,968 | 190.52M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.483/mobilenetv2b_w3d4-1067-ba0caa95.npz.log)) |
  | MobileNetV2b x1.0 | 27.19 | 8.90 | 3,503,872 | 315.51M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.483/mobilenetv2b_w1-0890-dbc98d15.npz.log)) |
  | MobileNetV3 L/224/1.0 | 24.36 | 7.33 | 5,481,752 | 227.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.491/mobilenetv3_large_w1-0733-20f2980c.npz.log)) |
  | IGCV3 x0.25 | 53.36 | 28.28 | 1,534,020 | 41.29M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.142/igcv3_wd4-2828-25942192.npz.log)) |
  | IGCV3 x0.5 | 39.36 | 17.04 | 1,985,528 | 111.12M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.132/igcv3_wd2-1704-86246558.npz.log)) |
  | IGCV3 x0.75 | 30.67 | 10.99 | 2,638,084 | 210.95M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.207/igcv3_w3d4-1099-b0dbc54a.npz.log)) |
  | IGCV3 x1.0 | 27.70 | 8.98 | 3,491,688 | 340.79M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.243/igcv3_w1-0898-5fd85acd.npz.log)) |
  | MnasNet-B1 | 24.67 | 7.25 | 4,383,312 | 326.30M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/mnasnet_b1-0725-2733981b.npz.log)) |
  | MnasNet-A1 | 24.09 | 7.05 | 3,887,038 | 326.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/mnasnet_a1-0705-9ac62ab0.npz.log)) |
  | DARTS | 24.96 | 7.58 | 4,718,752 | 539.86M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.485/darts-0758-8085336b.npz.log)) |
  | ProxylessNAS CPU | 24.76 | 7.52 | 4,361,648 | 459.96M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.324/proxylessnas_cpu-0752-22bd211b.npz.log)) |
  | ProxylessNAS GPU | 24.62 | 7.23 | 7,119,848 | 476.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.333/proxylessnas_gpu-0723-b81256a1.npz.log)) |
  | ProxylessNAS Mobile | 25.31 | 7.85 | 4,080,512 | 332.46M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.326/proxylessnas_mobile-0785-561f3416.npz.log)) |
  | ProxylessNAS Mob-14 | 22.95 | 6.51 | 6,857,568 | 597.10M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.331/proxylessnas_mobile14-0651-7467ce2d.npz.log)) |
  | FBNet-Cb | 24.77 | 7.64 | 5,572,200 | 399.26M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/fbnet_cb-0764-9a8153a5.npz.log)) |
  | Xception | 20.36 | 5.18 | 22,855,952 | 8,403.63M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.544/xception-0518-a311fd37.npz.log)) |
  | InceptionV3 | 20.47 | 5.35 | 23,834,568 | 5,743.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.552/inceptionv3-0535-1662fcdc.npz.log)) |
  | InceptionV4 | 19.94 | 4.87 | 42,679,816 | 12,304.93M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.543/inceptionv4-0487-75970908.npz.log)) |
  | InceptionResNetV1 | 19.58 | 4.81 | 23,995,624 | 6,329.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.552/inceptionresnetv1-0481-a3ddee2c.npz.log)) |
  | InceptionResNetV2 | 19.44 | 4.72 | 55,843,464 | 13,188.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.547/inceptionresnetv2-0472-178ff37a.npz.log)) |
  | PolyNet | 19.08 | 4.50 | 95,366,600 | 34,821.34M | From [Cadene/pretrained...pytorch] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.96/polynet-0450-6dc7028b.npz.log)) |
  | NASNet-A 4@1056 | 25.18 | 7.90 | 5,289,978 | 584.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.495/nasnet_4a1056-0790-92b4789b.npz.log)) |
  | NASNet-A 6@4032 | 18.17 | 4.22 | 88,753,150 | 23,976.44M | From [Cadene/pretrained...pytorch] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.101/nasnet_6a4032-0422-d49d4663.npz.log)) |
  | PNASNet-5-Large | 17.90 | 4.26 | 86,057,668 | 25,140.77M | From [Cadene/pretrained...pytorch] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.114/pnasnet5large-0426-3c2755dc.npz.log)) |
  | SPNASNet | 25.09 | 7.79 | 4,421,616 | 346.73M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.490/spnasnet-0779-4fa174db.npz.log)) |
  | EfficientNet-B0 | 24.48 | 7.25 | 5,288,548 | 414.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.364/efficientnet_b0-0725-8d6f1744.npz.log)) |
  | EfficientNet-B1 | 23.02 | 6.33 | 7,794,184 | 732.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.376/efficientnet_b1-0633-4ac377d9.npz.log)) |
  | EfficientNet-B0b | 22.97 | 6.69 | 5,288,548 | 414.31M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b0b-0669-366e9c54.npz.log)) |
  | EfficientNet-B1b | 20.97 | 5.67 | 7,794,184 | 732.54M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b1b-0567-2826a686.npz.log)) |
  | EfficientNet-B2b | 20.02 | 5.14 | 9,109,994 | 1,051.98M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b2b-0514-93c91747.npz.log)) |
  | EfficientNet-B3b | 18.72 | 4.36 | 12,233,232 | 1,928.55M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b3b-0436-82eb9d91.npz.log)) |
  | EfficientNet-B4b | 17.46 | 3.92 | 19,341,616 | 4,607.46M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b4b-0392-81138451.npz.log)) |
  | EfficientNet-B5b | 16.52 | 3.39 | 30,389,784 | 10,695.20M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b5b-0339-fb684f5d.npz.log)) |
  | EfficientNet-B6b | 16.31 | 3.24 | 43,040,704 | 19,796.24M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b6b-0324-acaad4db.npz.log)) |
  | EfficientNet-B7b | 15.92 | 3.23 | 66,347,960 | 39,010.98M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.403/efficientnet_b7b-0323-031b7bd5.npz.log)) |
  | EfficientNet-B0c* | 22.54 | 6.44 | 5,288,548 | 414.31M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b0c-0644-e95e873d.npz.log)) |
  | EfficientNet-B1c* | 20.56 | 5.57 | 7,794,184 | 732.54M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b1c-0557-07796241.npz.log)) |
  | EfficientNet-B2c* | 19.65 | 4.96 | 9,109,994 | 1,051.98M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b2c-0496-5a0d3333.npz.log)) |
  | EfficientNet-B3c* | 18.24 | 4.40 | 12,233,232 | 1,928.55M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b3c-0440-ec082c31.npz.log)) |
  | EfficientNet-B4c* | 16.86 | 3.68 | 19,341,616 | 4,607.46M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b4c-0368-c025d233.npz.log)) |
  | EfficientNet-B5c* | 15.91 | 3.11 | 30,389,784 | 10,695.20M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b5c-0311-e01810a9.npz.log)) |
  | EfficientNet-B6c* | 15.49 | 2.98 | 43,040,704 | 19,796.24M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b6c-0298-72ac53f6.npz.log)) |
  | EfficientNet-B7c* | 15.18 | 2.91 | 66,347,960 | 39,010.98M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b7c-0291-c0711f21.npz.log)) |
  | EfficientNet-B8c* | 14.83 | 2.76 | 87,413,142 | 64,541.66M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.433/efficientnet_b8c-0276-d1c7aa15.npz.log)) |
  | EfficientNet-Edge-Small-b* | 22.48 | 6.29 | 5,438,392 | 2,378.12M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.434/efficientnet_edge_small_b-0629-4aac3591.npz.log)) |
  | EfficientNet-Edge-Medium-b* | 21.06 | 5.52 | 6,899,496 | 3,700.12M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.434/efficientnet_edge_medium_b-0552-fdf98bd5.npz.log)) |
  | EfficientNet-Edge-Large-b* | 19.58 | 4.89 | 10,589,712 | 9,747.66M | From [rwightman/pyt...models] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.434/efficientnet_edge_large_b-0489-45f05958.npz.log)) |
  | MixNet-S | 23.77 | 7.05 | 4,134,606 | 260.76M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/mixnet_s-0705-4822e76d.npz.log)) |
  | MixNet-M | 22.39 | 6.34 | 5,014,382 | 366.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.493/mixnet_m-0634-2638a388.npz.log)) |
  | MixNet-L | 21.43 | 5.59 | 7,329,252 | 591.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.500/mixnet_l-0559-ff6929ef.npz.log)) |
  | ResNet(A)-10 | 30.94 | 11.61 | 5,438,024 | 1,135.86M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.484/resneta10-1161-c28d6ca6.npz.log)) |
  | ResNet(A)-BC-14 | 27.72 | 9.57 | 10,084,168 | 1,721.57M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.477/resnetabc14b-0957-84e05fea.npz.log)) |
  | ResNet(A)-18 | 25.40 | 8.05 | 11,708,744 | 2,062.24M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.486/resneta18-0805-f4088383.npz.log)) |
  | ResNet(A)-50b | 20.85 | 5.37 | 25,576,264 | 4,352.93M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.492/resneta50b-0537-204eb60e.npz.log)) |
  | ResNet(A)-101b | 19.03 | 4.45 | 44,568,392 | 8,072.93M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.532/resneta101b-0445-5b214e8c.npz.log)) |
  | ResNet(A)-152b | 18.55 | 4.23 | 60,212,040 | 11,796.83M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.524/resneta152b-0423-515d6b62.npz.log)) |
  | ResNet(D)-50b | 20.80 | 5.50 | 25,680,808 | 20,497.60M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.296/resnetd50b-0550-7ba88f04.npz.log)) |
  | ResNet(D)-101b | 19.49 | 4.60 | 44,672,936 | 35,392.65M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.296/resnetd101b-0460-b90f971e.npz.log)) |
  | ResNet(D)-152b | 19.36 | 4.70 | 60,316,584 | 47,662.18M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.296/resnetd152b-0470-41442334.npz.log)) |



  | Model | Error, % | Params | FLOPs/2 | Remarks |
  | --- | ---: | ---: | ---: | --- |
  | NIN | 7.43 | 966,986 | 222.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.175/nin_cifar10-0743-045abfde.npz.log)) |
  | ResNet-20 | 5.97 | 272,474 | 41.29M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.163/resnet20_cifar10-0597-15145d2e.npz.log)) |
  | ResNet-56 | 4.52 | 855,770 | 127.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.163/resnet56_cifar10-0452-eb7923aa.npz.log)) |
  | ResNet-110 | 3.69 | 1,730,714 | 255.70M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.163/resnet110_cifar10-0369-27d76fce.npz.log)) |
  | ResNet-164(BN) | 3.68 | 1,704,154 | 255.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.179/resnet164bn_cifar10-0368-d8659366.npz.log)) |
  | ResNet-272(BN) | 3.33 | 2,816,986 | 420.61M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.368/resnet272bn_cifar10-0333-b7c6902a.npz.log)) |
  | ResNet-542(BN) | 3.43 | 5,599,066 | 833.87M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.369/resnet542bn_cifar10-0343-b6598e7a.npz.log)) |
  | ResNet-1001 | 3.28 | 10,328,602 | 1,536.40M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.201/resnet1001_cifar10-0328-0e27556c.npz.log)) |
  | ResNet-1202 | 3.53 | 19,424,026 | 2,857.17M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.214/resnet1202_cifar10-0353-d82bb435.npz.log)) |
  | PreResNet-20 | 6.51 | 272,282 | 41.27M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.164/preresnet20_cifar10-0651-5cf94722.npz.log)) |
  | PreResNet-56 | 4.49 | 855,578 | 127.03M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.164/preresnet56_cifar10-0449-73ea193a.npz.log)) |
  | PreResNet-110 | 3.86 | 1,730,522 | 255.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.164/preresnet110_cifar10-0386-544ed0f0.npz.log)) |
  | PreResNet-164(BN) | 3.64 | 1,703,258 | 255.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.196/preresnet164bn_cifar10-0364-c0ff2438.npz.log)) |
  | PreResNet-272(BN) | 3.25 | 2,816,090 | 420.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.389/preresnet272bn_cifar10-0325-8f8f375d.npz.log)) |
  | PreResNet-542(BN) | 3.14 | 5,598,170 | 833.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.391/preresnet542bn_cifar10-0314-86a2b5f5.npz.log)) |
  | PreResNet-1001 | 2.65 | 10,327,706 | 1,536.18M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.209/preresnet1001_cifar10-0265-1f3028bd.npz.log)) |
  | PreResNet-1202 | 3.39 | 19,423,834 | 2,857.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.246/preresnet1202_cifar10-0339-cc2bd85a.npz.log)) |
  | ResNeXt-29 (32x4d) | 3.15 | 4,775,754 | 780.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.169/resnext29_32x4d_cifar10-0315-442eca6c.npz.log)) |
  | ResNeXt-29 (16x64d) | 2.41 | 68,155,210 | 10,709.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.176/resnext29_16x64d_cifar10-0241-e80d3cb5.npz.log)) |
  | ResNeXt-272 (1x64d) | 2.55 | 44,540,746 | 6,565.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.372/resnext272_1x64d_cifar10-0255-1ca66300.npz.log)) |
  | ResNeXt-272 (2x32d) | 2.74 | 32,928,586 | 4,867.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.375/resnext272_2x32d_cifar10-0274-94e492a4.npz.log)) |
  | SE-ResNet-20 | 6.01 | 274,847 | 41.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet20_cifar10-0601-143eba2a.npz.log)) |
  | SE-ResNet-56 | 4.13 | 862,889 | 127.19M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet56_cifar10-0413-66486cdb.npz.log)) |
  | SE-ResNet-110 | 3.63 | 1,744,952 | 255.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet110_cifar10-0363-9a85ff95.npz.log)) |
  | SE-ResNet-164(BN) | 3.39 | 1,906,258 | 256.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet164bn_cifar10-0339-4c59e76f.npz.log)) |
  | SE-ResNet-272(BN) | 3.39 | 3,153,826 | 422.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.390/seresnet272bn_cifar10-0339-8081d1be.npz.log)) |
  | SE-ResNet-542(BN) | 3.47 | 6,272,746 | 838.01M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.385/seresnet542bn_cifar10-0347-e67d0c05.npz.log)) |
  | SE-PreResNet-20 | 6.18 | 274,559 | 41.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet20_cifar10-0618-cbc1c4df.npz.log)) |
  | SE-PreResNet-56 | 4.51 | 862,601 | 127.20M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet56_cifar10-0451-0b34942c.npz.log)) |
  | SE-PreResNet-110 | 4.54 | 1,744,664 | 255.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet110_cifar10-0454-4c062f46.npz.log)) |
  | SE-PreResNet-164(BN) | 3.73 | 1,904,882 | 256.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet164bn_cifar10-0373-e82ad7ff.npz.log)) |
  | SE-PreResNet-272(BN) | 3.39 | 3,152,450 | 422.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet272bn_cifar10-0339-02e14113.npz.log)) |
  | SE-PreResNet-542(BN) | 3.08 | 6,271,370 | 837.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.382/sepreresnet542bn_cifar10-0308-1e726874.npz.log)) |
  | PyramidNet-110 (a=48) | 3.72 | 1,772,706 | 408.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.184/pyramidnet110_a48_cifar10-0372-965fce37.npz.log)) |
  | PyramidNet-110 (a=84) | 2.98 | 3,904,446 | 778.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.185/pyramidnet110_a84_cifar10-0298-7b38a0f6.npz.log)) |
  | PyramidNet-110 (a=270) | 2.51 | 28,485,477 | 4,730.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.194/pyramidnet110_a270_cifar10-0251-b3456ddd.npz.log)) |
  | PyramidNet-164 (a=270, BN) | 2.42 | 27,216,021 | 4,608.81M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.264/pyramidnet164_a270_bn_cifar10-0242-783e21b5.npz.log)) |
  | PyramidNet-200 (a=240, BN) | 2.44 | 26,752,702 | 4,563.40M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.268/pyramidnet200_a240_bn_cifar10-0244-89ae1856.npz.log)) |
  | PyramidNet-236 (a=220, BN) | 2.47 | 26,969,046 | 4,631.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.285/pyramidnet236_a220_bn_cifar10-0247-6b9a2966.npz.log)) |
  | PyramidNet-272 (a=200, BN) | 2.39 | 26,210,842 | 4,541.36M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.284/pyramidnet272_a200_bn_cifar10-0239-533f8d89.npz.log)) |
  | DenseNet-40 (k=12) | 5.61 | 599,050 | 210.80M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.193/densenet40_k12_cifar10-0561-a37df881.npz.log)) |
  | DenseNet-BC-40 (k=12) | 6.43 | 176,122 | 74.89M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.231/densenet40_k12_bc_cifar10-0643-234918e7.npz.log)) |
  | DenseNet-BC-40 (k=24) | 4.52 | 690,346 | 293.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.220/densenet40_k24_bc_cifar10-0452-3ec459af.npz.log)) |
  | DenseNet-BC-40 (k=36) | 4.04 | 1,542,682 | 654.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.224/densenet40_k36_bc_cifar10-0404-6be4225a.npz.log)) |
  | DenseNet-100 (k=12) | 3.66 | 4,068,490 | 1,353.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.205/densenet100_k12_cifar10-0366-85031735.npz.log)) |
  | DenseNet-100 (k=24) | 3.13 | 16,114,138 | 5,354.19M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.252/densenet100_k24_cifar10-0313-939ef309.npz.log)) |
  | DenseNet-BC-100 (k=12) | 4.16 | 769,162 | 298.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.189/densenet100_k12_bc_cifar10-0416-160a0641.npz.log)) |
  | DenseNet-BC-190 (k=40) | 2.52 | 25,624,430 | 9,400.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.286/densenet190_k40_bc_cifar10-0252-57f2fa70.npz.log)) |
  | DenseNet-BC-250 (k=24) | 2.67 | 15,324,406 | 5,519.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.290/densenet250_k24_bc_cifar10-0267-03b26887.npz.log)) |
  | X-DenseNet-BC-40-2 (k=24) | 5.31 | 690,346 | 293.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.226/xdensenet40_2_k24_bc_cifar10-0531-d3c448ab.npz.log)) |
  | X-DenseNet-BC-40-2 (k=36) | 4.37 | 1,542,682 | 654.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.233/xdensenet40_2_k36_bc_cifar10-0437-fb6d7431.npz.log)) |
  | WRN-16-10 | 2.93 | 17,116,634 | 2,414.04M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.166/wrn16_10_cifar10-0293-4ac60015.npz.log)) |
  | WRN-28-10 | 2.39 | 36,479,194 | 5,246.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.166/wrn28_10_cifar10-0239-f8a24941.npz.log)) |
  | WRN-40-8 | 2.37 | 35,748,314 | 5,176.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.166/wrn40_8_cifar10-0237-3f56f24a.npz.log)) |
  | WRN-20-10-1bit | 3.26 | 26,737,140 | 4,019.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.302/wrn20_10_1bit_cifar10-0326-3288c59a.npz.log)) |
  | WRN-20-10-32bit | 3.14 | 26,737,140 | 4,019.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.302/wrn20_10_32bit_cifar10-0314-90b3fc15.npz.log)) |
  | RoR-3-56 | 5.43 | 762,746 | 113.43M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.228/ror3_56_cifar10-0543-7ca1b24c.npz.log)) |
  | RoR-3-110 | 4.35 | 1,637,690 | 242.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.235/ror3_110_cifar10-0435-bf021f25.npz.log)) |
  | RoR-3-164 | 3.93 | 2,512,634 | 370.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.294/ror3_164_cifar10-0393-7ac7b446.npz.log)) |
  | RiR | 3.28 | 9,492,980 | 1,281.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.292/rir_cifar10-0328-9780c77d.npz.log)) |
  | Shake-Shake-ResNet-20-2x16d | 5.15 | 541,082 | 81.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.215/shakeshakeresnet20_2x16d_cifar10-0515-e2f524b5.npz.log)) |
  | Shake-Shake-ResNet-26-2x32d | 3.17 | 2,923,162 | 428.89M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.217/shakeshakeresnet26_2x32d_cifar10-0317-5422fce1.npz.log)) |
  | DIA-ResNet-20 | 6.22 | 286,866 | 41.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet20_cifar10-0622-1c5f4c8a.npz.log)) |
  | DIA-ResNet-56 | 5.05 | 870,162 | 129.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet56_cifar10-0505-4073bb0c.npz.log)) |
  | DIA-ResNet-110 | 4.10 | 1,745,106 | 264.71M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet110_cifar10-0410-5d051745.npz.log)) |
  | DIA-ResNet-164(BN) | 3.50 | 1,923,002 | 343.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet164bn_cifar10-0350-27cfe80d.npz.log)) |
  | DIA-PreResNet-20 | 6.42 | 286,674 | 41.52M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet20_cifar10-0642-bfcfd5c6.npz.log)) |
  | DIA-PreResNet-56 | 4.83 | 869,970 | 129.28M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet56_cifar10-0483-d5229916.npz.log)) |
  | DIA-PreResNet-110 | 4.25 | 1,744,914 | 264.69M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet110_cifar10-0425-9fab76b9.npz.log)) |
  | DIA-PreResNet-164(BN) | 3.56 | 1,922,106 | 343.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet164bn_cifar10-0356-7a0b1243.npz.pth.log)) |



  | Model | Error, % | Params | FLOPs/2 | Remarks |
  | --- | ---: | ---: | ---: | --- |
  | NIN | 28.39 | 984,356 | 224.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.183/nin_cifar100-2839-89104763.npz.log)) |
  | ResNet-20 | 29.64 | 278,324 | 41.30M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.180/resnet20_cifar100-2964-6a85f07e.npz.log)) |
  | ResNet-56 | 24.88 | 861,620 | 127.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.181/resnet56_cifar100-2488-2d641cde.npz.log)) |
  | ResNet-110 | 22.80 | 1,736,564 | 255.71M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.190/resnet110_cifar100-2280-d2ec4ff1.npz.log)) |
  | ResNet-164(BN) | 20.44 | 1,727,284 | 255.33M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.182/resnet164bn_cifar100-2044-190ab6b4.npz.log)) |
  | ResNet-272(BN) | 20.07 | 2,840,116 | 420.63M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.368/resnet272bn_cifar100-2007-fe6b27f8.npz.log)) |
  | ResNet-542(BN) | 19.32 | 5,622,196 | 833.89M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.369/resnet542bn_cifar100-1932-4f95b380.npz.log)) |
  | ResNet-1001 | 19.79 | 10,351,732 | 1,536.43M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.254/resnet1001_cifar100-1979-6416c8d2.npz.log)) |
  | ResNet-1202 | 21.56 | 19,429,876 | 2,857.17M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.410/resnet1202_cifar100-2156-71113602.npz.log)) |
  | PreResNet-20 | 30.22 | 278,132 | 41.28M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.187/preresnet20_cifar100-3022-e3fd9391.npz.log)) |
  | PreResNet-56 | 25.05 | 861,428 | 127.04M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.188/preresnet56_cifar100-2505-f879fb4e.npz.log)) |
  | PreResNet-110 | 22.67 | 1,736,372 | 255.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.191/preresnet110_cifar100-2267-4e010af0.npz.log)) |
  | PreResNet-164(BN) | 20.18 | 1,726,388 | 255.10M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.192/preresnet164bn_cifar100-2018-5228dfbd.npz.log)) |
  | PreResNet-272(BN) | 19.63 | 2,839,220 | 420.40M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.389/preresnet272bn_cifar100-1963-52a0ebab.npz.log)) |
  | PreResNet-542(BN) | 18.71 | 5,621,300 | 833.66M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.391/preresnet542bn_cifar100-1871-d7343a66.npz.log)) |
  | PreResNet-1001 | 18.41 | 10,350,836 | 1,536.20M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.283/preresnet1001_cifar100-1841-fcbddbdb.npz.log)) |
  | ResNeXt-29 (32x4d) | 19.50 | 4,868,004 | 780.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.200/resnext29_32x4d_cifar100-1950-de139852.npz.log)) |
  | ResNeXt-29 (16x64d) | 16.93 | 68,247,460 | 10,709.43M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.322/resnext29_16x64d_cifar100-1693-762f79b3.npz.log)) |
  | ResNeXt-272 (1x64d) | 19.11 | 44,632,996 | 6,565.25M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.372/resnext272_1x64d_cifar100-1911-9a9b397c.npz.log)) |
  | ResNeXt-272 (2x32d) | 18.34 | 33,020,836 | 4,867.20M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.375/resnext272_2x32d_cifar100-1834-bbc0c87c.npz.log)) |
  | SE-ResNet-20 | 28.54 | 280,697 | 41.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet20_cifar100-2854-1240e42f.npz.log)) |
  | SE-ResNet-56 | 22.94 | 868,739 | 127.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet56_cifar100-2294-ab7e5443.npz.log)) |
  | SE-ResNet-110 | 20.86 | 1,750,802 | 255.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet110_cifar100-2086-298d298e.npz.log)) |
  | SE-ResNet-164(BN) | 19.95 | 1,929,388 | 256.57M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet164bn_cifar100-1995-cdac82fd.npz.log)) |
  | SE-ResNet-272(BN) | 19.07 | 3,176,956 | 422.70M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.390/seresnet272bn_cifar100-1907-a83ac8d6.npz.log)) |
  | SE-ResNet-542(BN) | 18.87 | 6,295,876 | 838.03M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.385/seresnet542bn_cifar100-1887-dac530d6.npz.log)) |
  | SE-PreResNet-20 | 28.31 | 280,409 | 41.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet20_cifar100-2831-e5480418.npz.log)) |
  | SE-PreResNet-56 | 23.05 | 868,451 | 127.21M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet56_cifar100-2305-1138b500.npz.log)) |
  | SE-PreResNet-110 | 22.61 | 1,750,514 | 255.99M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet110_cifar100-2261-b525d8b1.npz.log)) |
  | SE-PreResNet-164(BN) | 20.05 | 1,928,012 | 256.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet164bn_cifar100-2005-baf00211.npz.log)) |
  | SE-PreResNet-272(BN) | 19.13 | 3,175,580 | 422.47M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet272bn_cifar100-1913-d37b7af2.npz.log)) |
  | SE-PreResNet-542(BN) | 19.45 | 6,294,500 | 837.80M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.382/sepreresnet542bn_cifar100-1945-aadac5fb.npz.log)) |
  | PyramidNet-110 (a=48) | 20.95 | 1,778,556 | 408.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.186/pyramidnet110_a48_cifar100-2095-b74f12c8.npz.log)) |
  | PyramidNet-110 (a=84) | 18.87 | 3,913,536 | 778.16M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.199/pyramidnet110_a84_cifar100-1887-842b3809.npz.log)) |
  | PyramidNet-110 (a=270) | 17.10 | 28,511,307 | 4,730.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.319/pyramidnet110_a270_cifar100-1710-56ae7135.npz.log)) |
  | PyramidNet-164 (a=270, BN) | 16.70 | 27,319,071 | 4,608.91M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.312/pyramidnet164_a270_bn_cifar100-1670-7614c56c.npz.log)) |
  | PyramidNet-200 (a=240, BN) | 16.09 | 26,844,952 | 4,563.49M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.317/pyramidnet200_a240_bn_cifar100-1684-5dd93682.npz.log)) |
  | PyramidNet-236 (a=220, BN) | 16.34 | 27,054,096 | 4,631.41M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.312/pyramidnet236_a220_bn_cifar100-1634-fd14728b.npz.log)) |
  | PyramidNet-272 (a=200, BN) | 16.19 | 26,288,692 | 4,541.43M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.312/pyramidnet272_a200_bn_cifar100-1619-4ba0ea07.npz.log)) |
  | DenseNet-40 (k=12) | 24.90 | 622,360 | 210.82M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.195/densenet40_k12_cifar100-2490-d06839db.npz.log)) |
  | DenseNet-BC-40 (k=12) | 28.41 | 188,092 | 74.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.232/densenet40_k12_bc_cifar100-2841-968e5667.npz.log)) |
  | DenseNet-BC-40 (k=24) | 22.67 | 714,196 | 293.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.221/densenet40_k24_bc_cifar100-2267-f744296d.npz.log)) |
  | DenseNet-BC-40 (k=36) | 20.50 | 1,578,412 | 654.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.225/densenet40_k36_bc_cifar100-2050-49b6695f.npz.log)) |
  | DenseNet-100 (k=12) | 19.64 | 4,129,600 | 1,353.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.206/densenet100_k12_cifar100-1964-f04f5920.npz.log)) |
  | DenseNet-100 (k=24) | 18.08 | 16,236,268 | 5,354.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.318/densenet100_k24_cifar100-1808-47274dd8.npz.log)) |
  | DenseNet-BC-100 (k=12) | 21.19 | 800,032 | 298.48M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.208/densenet100_k12_bc_cifar100-2119-a37ebc2a.npz.log)) |
  | DenseNet-BC-250 (k=24) | 17.39 | 15,480,556 | 5,519.69M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.303/densenet250_k24_bc_cifar100-1739-9100f02a.npz.log)) |
  | X-DenseNet-BC-40-2 (k=24) | 23.96 | 714,196 | 293.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.227/xdensenet40_2_k24_bc_cifar100-2396-84357bb4.npz.log)) |
  | X-DenseNet-BC-40-2 (k=36) | 21.65 | 1,578,412 | 654.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.234/xdensenet40_2_k36_bc_cifar100-2165-9ac51e90.npz.log)) |
  | WRN-16-10 | 18.95 | 17,174,324 | 2,414.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.204/wrn16_10_cifar100-1895-d6e85278.npz.log)) |
  | WRN-28-10 | 17.88 | 36,536,884 | 5,247.04M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.320/wrn28_10_cifar100-1788-60387299.npz.log)) |
  | WRN-40-8 | 18.03 | 35,794,484 | 5,176.95M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.321/wrn40_8_cifar100-1803-794aca60.npz.log)) |
  | WRN-20-10-1bit | 19.04 | 26,794,920 | 4,022.81M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.302/wrn20_10_1bit_cifar100-1904-1c6f1917.npz.log)) |
  | WRN-20-10-32bit | 18.12 | 26,794,920 | 4,022.81M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.302/wrn20_10_32bit_cifar100-1812-346f276f.npz.log)) |
  | RoR-3-56 | 25.49 | 768,596 | 113.43M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.229/ror3_56_cifar100-2549-a7903e5f.npz.log)) |
  | RoR-3-110 | 23.64 | 1,643,540 | 242.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.236/ror3_110_cifar100-2364-13de922a.npz.log)) |
  | RoR-3-164 | 22.34 | 2,518,484 | 370.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.294/ror3_164_cifar100-2234-d5a53210.npz.log)) |
  | RiR | 19.23 | 9,527,720 | 1,283.29M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.292/rir_cifar100-1923-4bfd2f23.npz.log)) |
  | Shake-Shake-ResNet-20-2x16d | 29.22 | 546,932 | 81.79M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.247/shakeshakeresnet20_2x16d_cifar100-2922-84772a31.npz.log)) |
  | Shake-Shake-ResNet-26-2x32d | 18.80 | 2,934,772 | 428.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.222/shakeshakeresnet26_2x32d_cifar100-1880-750a574e.npz.log)) |
  | DIA-ResNet-20 | 27.71 | 292,716 | 41.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.342/diaresnet20_cifar100-2771-350c5ed4.npz.log)) |
  | DIA-ResNet-56 | 24.35 | 876,012 | 129.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.342/diaresnet56_cifar100-2435-22e777d2.npz.log)) |
  | DIA-ResNet-110 | 22.11 | 1,750,956 | 264.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.342/diaresnet110_cifar100-2211-4c6aa3fe.npz.log)) |
  | DIA-ResNet-164(BN) | 19.53 | 1,946,132 | 343.62M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.342/diaresnet164bn_cifar100-1953-18aa50ab.npz.log)) |
  | DIA-PreResNet-20 | 28.37 | 292,524 | 41.53M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet20_cifar100-2837-936a4acc.npz.log)) |
  | DIA-PreResNet-56 | 25.05 | 875,820 | 129.29M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet56_cifar100-2505-9867b907.npz.log)) |
  | DIA-PreResNet-110 | 22.69 | 1,750,764 | 264.69M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet110_cifar100-2269-0af00d41.npz.log)) |
  | DIA-PreResNet-164(BN) | 19.99 | 1,945,236 | 343.39M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet164bn_cifar100-1999-a3835edf.npz.log)) |



  | Model | Error, % | Params | FLOPs/2 | Remarks |
  | --- | ---: | ---: | ---: | --- |
  | NIN | 3.76 | 966,986 | 222.97M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.270/nin_svhn-0376-2fbe48d0.npz.log)) |
  | ResNet-20 | 3.43 | 272,474 | 41.29M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.265/resnet20_svhn-0343-b6c1dc99.npz.log)) |
  | ResNet-56 | 2.75 | 855,770 | 127.06M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.265/resnet56_svhn-0275-cf18a072.npz.log)) |
  | ResNet-110 | 2.45 | 1,730,714 | 255.70M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.265/resnet110_svhn-0245-f274056a.npz.log)) |
  | ResNet-164(BN) | 2.42 | 1,704,154 | 255.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.267/resnet164bn_svhn-0242-b4c1c66c.npz.log)) |
  | ResNet-272(BN) | 2.43 | 2,816,986 | 420.61M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.368/resnet272bn_svhn-0243-693d5c39.npz.log)) |
  | ResNet-542(BN) | 2.34 | 5,599,066 | 833.87M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.369/resnet542bn_svhn-0234-7421964d.npz.log)) |
  | ResNet-1001 | 2.41 | 10,328,602 | 1,536.40M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.408/resnet1001_svhn-0241-c8b23d4c.npz.log)) |
  | PreResNet-20 | 3.22 | 272,282 | 41.27M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.269/preresnet20_svhn-0322-8e56898f.npz.log)) |
  | PreResNet-56 | 2.80 | 855,578 | 127.03M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.269/preresnet56_svhn-0280-f5124073.npz.log)) |
  | PreResNet-110 | 2.79 | 1,730,522 | 255.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.269/preresnet110_svhn-0279-8dcd3ae5.npz.log)) |
  | PreResNet-164(BN) | 2.58 | 1,703,258 | 255.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.269/preresnet164bn_svhn-0258-69de71f5.npz.log)) |
  | PreResNet-272(BN) | 2.34 | 2,816,090 | 420.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.389/preresnet272bn_svhn-0234-b2cc8842.npz.log)) |
  | PreResNet-542(BN) | 2.36 | 5,598,170 | 833.64M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.391/preresnet542bn_svhn-0236-67f372d8.npz.log)) |
  | ResNeXt-29 (32x4d) | 2.80 | 4,775,754 | 780.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.275/resnext29_32x4d_svhn-0280-0a402fab.npz.log)) |
  | ResNeXt-29 (16x64d) | 2.68 | 68,155,210 | 10,709.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.358/resnext29_16x64d_svhn-0268-04ffa539.npz.log)) |
  | ResNeXt-272 (1x64d) | 2.35 | 44,540,746 | 6,565.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.372/resnext272_1x64d_svhn-0235-b12f9d9c.npz.log)) |
  | ResNeXt-272 (2x32d) | 2.44 | 32,928,586 | 4,867.11M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.375/resnext272_2x32d_svhn-0244-d9432f63.npz.log)) |
  | SE-ResNet-20 | 3.23 | 274,847 | 41.34M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet20_svhn-0323-6c611f0a.npz.log)) |
  | SE-ResNet-56 | 2.64 | 862,889 | 127.19M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet56_svhn-0264-0a017d76.npz.log)) |
  | SE-ResNet-110 | 2.35 | 1,744,952 | 255.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet110_svhn-0235-525399af.npz.log)) |
  | SE-ResNet-164(BN) | 2.45 | 1,906,258 | 256.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.362/seresnet164bn_svhn-0245-31e8d2be.npz.log)) |
  | SE-ResNet-272(BN) | 2.38 | 3,153,826 | 422.68M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.390/seresnet272bn_svhn-0238-2b28cd77.npz.log)) |
  | SE-ResNet-542(BN) | 2.26 | 6,272,746 | 838.01M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.385/seresnet542bn_svhn-0226-9571b88b.npz.log)) |
  | SE-PreResNet-20 | 3.24 | 274,559 | 41.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet20_svhn-0324-04dafec1.npz.log)) |
  | SE-PreResNet-56 | 2.71 | 862,601 | 127.20M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet56_svhn-0271-150740af.npz.log)) |
  | SE-PreResNet-110 | 2.59 | 1,744,664 | 255.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet110_svhn-0259-eec4c9f3.npz.log)) |
  | SE-PreResNet-164(BN) | 2.56 | 1,904,882 | 256.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet164bn_svhn-0256-36362d66.npz.log)) |
  | SE-PreResNet-272(BN) | 2.49 | 3,152,450 | 422.45M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.379/sepreresnet272bn_svhn-0249-44b18f81.npz.log)) |
  | SE-PreResNet-542(BN) | 2.47 | 6,271,370 | 837.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.382/sepreresnet542bn_svhn-0247-ff5682df.npz.log)) |
  | PyramidNet-110 (a=48) | 2.47 | 1,772,706 | 408.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.281/pyramidnet110_a48_svhn-0247-e750bd67.npz.log)) |
  | PyramidNet-110 (a=84) | 2.43 | 3,904,446 | 778.15M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.392/pyramidnet110_a84_svhn-0243-56b06d8f.npz.log)) |
  | PyramidNet-110 (a=270) | 2.38 | 28,485,477 | 4,730.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.393/pyramidnet110_a270_svhn-0238-fdf9f2da.npz.log)) |
  | PyramidNet-164 (a=270, BN) | 2.33 | 27,216,021 | 4,608.81M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.396/pyramidnet164_a270_bn_svhn-0233-6dcd1882.npz.log)) |
  | PyramidNet-200 (a=240, BN) | 2.32 | 26,752,702 | 4,563.40M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.397/pyramidnet200_a240_bn_svhn-0232-b5876d02.npz.log)) |
  | PyramidNet-236 (a=220, BN) | 2.35 | 26,969,046 | 4,631.32M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.398/pyramidnet236_a220_bn_svhn-0235-bb39a3c6.npz.log)) |
  | PyramidNet-272 (a=200, BN) | 2.40 | 26,210,842 | 4,541.36M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.404/pyramidnet272_a200_bn_svhn-0240-2ace2687.npz.log)) |
  | DenseNet-40 (k=12) | 3.05 | 599,050 | 210.80M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.278/densenet40_k12_svhn-0305-8d563cdf.npz.log)) |
  | DenseNet-BC-40 (k=12) | 3.20 | 176,122 | 74.89M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.279/densenet40_k12_bc_svhn-0320-52bd7900.npz.log)) |
  | DenseNet-BC-40 (k=24) | 2.90 | 690,346 | 293.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.280/densenet40_k24_bc_svhn-0290-268af51a.npz.log)) |
  | DenseNet-BC-40 (k=36) | 2.60 | 1,542,682 | 654.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.311/densenet40_k36_bc_svhn-0260-47ef4d80.npz.log)) |
  | DenseNet-100 (k=12) | 2.60 | 4,068,490 | 1,353.55M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.311/densenet100_k12_svhn-0260-c57bbabe.npz.log)) |
  | X-DenseNet-BC-40-2 (k=24) | 2.87 | 690,346 | 293.09M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.306/xdensenet40_2_k24_bc_svhn-0287-065f3847.npz.log)) |
  | X-DenseNet-BC-40-2 (k=36) | 2.74 | 1,542,682 | 654.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.306/xdensenet40_2_k36_bc_svhn-0274-bf7f7de9.npz.log)) |
  | WRN-16-10 | 2.78 | 17,116,634 | 2,414.04M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.271/wrn16_10_svhn-0278-b87185c8.npz.log)) |
  | WRN-28-10 | 2.71 | 36,479,194 | 5,246.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.276/wrn28_10_svhn-0271-59f255be.npz.log)) |
  | WRN-40-8 | 2.54 | 35,748,314 | 5,176.90M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.277/wrn40_8_svhn-0254-8af6aad0.npz.log)) |
  | WRN-20-10-1bit | 2.73 | 26,737,140 | 4,019.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.302/wrn20_10_1bit_svhn-0273-4d7bfe0d.npz.log)) |
  | WRN-20-10-32bit | 2.59 | 26,737,140 | 4,019.14M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.302/wrn20_10_32bit_svhn-0259-af3fddd1.npz.log)) |
  | RoR-3-56 | 2.69 | 762,746 | 113.43M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.287/ror3_56_svhn-0269-113859bb.npz.log)) |
  | RoR-3-110 | 2.57 | 1,637,690 | 242.07M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.287/ror3_110_svhn-0257-4b8b6963.npz.log)) |
  | RoR-3-164 | 2.73 | 2,512,634 | 370.72M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.294/ror3_164_svhn-0273-1d0a2f12.npz.log)) |
  | RiR | 2.68 | 9,492,980 | 1,281.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.292/rir_svhn-0268-5240bc96.npz.log)) |
  | Shake-Shake-ResNet-20-2x16d | 3.17 | 541,082 | 81.78M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.295/shakeshakeresnet20_2x16d_svhn-0317-261fd59f.npz.log)) |
  | Shake-Shake-ResNet-26-2x32d | 2.62 | 2,923,162 | 428.89M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.295/shakeshakeresnet26_2x32d_svhn-0262-844e1f6d.npz.log)) |
  | DIA-ResNet-20 | 3.23 | 286,866 | 41.54M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet20_svhn-0323-f37bac8b.npz.log)) |
  | DIA-ResNet-56 | 2.68 | 870,162 | 129.31M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet56_svhn-0268-7ea0022b.npz.log)) |
  | DIA-ResNet-110 | 2.47 | 1,745,106 | 264.71M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet110_svhn-0247-515ce8f3.npz.log)) |
  | DIA-ResNet-164(BN) | 2.44 | 1,923,002 | 343.60M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.340/diaresnet164bn_svhn-0244-4773b518.npz.log)) |
  | DIA-PreResNet-20 | 3.03 | 286,674 | 41.52M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet20_svhn-0303-d682b80f.npz.log)) |
  | DIA-PreResNet-56 | 2.80 | 869,970 | 129.28M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet56_svhn-0280-7a984a63.npz.log)) |
  | DIA-PreResNet-110 | 2.42 | 1,744,914 | 264.69M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet110_svhn-0242-2bab754f.npz.log)) |
  | DIA-PreResNet-164(BN) | 2.56 | 1,922,106 | 343.37M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.343/diapreresnet164bn_svhn-0256-30de9b3b.npz.log)) |



  | Model | Error, % | Params | FLOPs/2 | Remarks |
  | --- | ---: | ---: | ---: | --- |
  | ResNet-10 | 27.60 | 5,008,392 | 893.63M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.335/resnet10_cub-2760-e8bdefb0.npz.log)) |
  | ResNet-12 | 26.67 | 5,082,376 | 1,125.84M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.336/resnet12_cub-2667-22b2b216.npz.log)) |
  | ResNet-14 | 24.34 | 5,377,800 | 1,357.53M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.337/resnet14_cub-2434-57f6a73d.npz.log)) |
  | ResNet-16 | 23.21 | 6,558,472 | 1,588.93M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.338/resnet16_cub-2321-5e48b19f.npz.log)) |
  | ResNet-18 | 23.33 | 11,279,112 | 1,820.00M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.344/resnet18_cub-2333-c32998b4.npz.log)) |
  | ResNet-26 | 22.61 | 17,549,832 | 2,746.38M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.345/resnet26_cub-2261-56c8fcc1.npz.log)) |
  | SE-ResNet-10 | 27.42 | 5,052,932 | 893.86M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.361/seresnet10_cub-2742-b8e56acf.npz.log)) |
  | SE-ResNet-12 | 25.99 | 5,127,496 | 1,126.17M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.361/seresnet12_cub-2599-9c0ee8cf.npz.log)) |
  | SE-ResNet-14 | 23.68 | 5,425,104 | 1,357.92M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.361/seresnet14_cub-2368-b58cddb7.npz.log)) |
  | SE-ResNet-16 | 23.18 | 6,614,240 | 1,589.35M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.361/seresnet16_cub-2318-1d8b187c.npz.log)) |
  | SE-ResNet-18 | 23.21 | 11,368,192 | 1,820.47M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.361/seresnet18_cub-2321-7b1d02a7.npz.log)) |
  | SE-ResNet-26 | 22.54 | 17,683,452 | 2,747.08M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.361/seresnet26_cub-2254-5cbf65d2.npz.log)) |
  | MobileNet x1.0 | 23.56 | 3,411,976 | 578.98M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.346/mobilenet_w1_cub-2356-02c2accf.npz.log)) |
  | ProxylessNAS Mobile | 21.90 | 3,055,712 | 331.44M | Converted from GL model ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.347/proxylessnas_mobile_cub-2190-a9c66b1b.npz.log)) |
  | NTS-Net | 12.86 | 28,623,333 | 33,361.79M | From [yangze0930/NTS-Net] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.334/ntsnet_cub-1286-4d759524.npz.log)) |



  | Model | Extractor | Pix.Acc.,% | mIoU,% | Params | FLOPs/2 | Remarks |
  | --- | --- | ---: | ---: | ---: | ---: | --- |
  | PSPNet | ResNet(D)-101b | 96.57 | 76.26 | 65,708,501 | 230,771.01M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.297/pspnet_resnetd101b_voc-7626-f90c0db9.npz.log)) |
  | DeepLabv3 | ResNet(D)-101b | 96.57 | 75.66 | 58,754,773 | 47,625.34M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.298/deeplabv3_resnetd101b_voc-7566-6a4f805f.npz.log)) |
  | DeepLabv3 | ResNet(D)-152b | 97.25 | 78.06 | 74,398,421 | 59,894.87M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.298/deeplabv3_resnetd152b_voc-7806-1c3089b5.npz.log)) |
  | FCN-8s(d) | ResNet(D)-101b | 97.80 | 80.40 | 52,072,917 | 196,562.96M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.299/fcn8sd_resnetd101b_voc-8040-3568dc41.npz.log)) |



  | Model | Extractor | Pix.Acc.,% | mIoU,% | Params | FLOPs/2 | Remarks |
  | --- | --- | ---: | ---: | ---: | ---: | --- |
  | PSPNet | ResNet(D)-50b | 68.95 | 27.46 | 46,782,550 | 162,595.14M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.297/pspnet_resnetd50b_ade20k-2746-7b7ce568.npz.log)) |
  | PSPNet | ResNet(D)-101b | 75.14 | 32.86 | 65,774,678 | 231,008.79M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.297/pspnet_resnetd101b_ade20k-3286-c5e619c4.npz.log)) |
  | DeepLabv3 | ResNet(D)-50b | 74.63 | 31.96 | 39,795,798 | 32,756.18M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.298/deeplabv3_resnetd50b_ade20k-3196-00903dce.npz.log)) |
  | DeepLabv3 | ResNet(D)-101b | 77.81 | 35.17 | 58,787,926 | 47,651.23M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.298/deeplabv3_resnetd101b_ade20k-3517-46828740.npz.log)) |
  | FCN-8s(d) | ResNet(D)-50b | 76.92 | 33.39 | 33,146,966 | 128,387.08M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.299/fcn8sd_resnetd50b_ade20k-3339-1d03bc38.npz.log)) |
  | FCN-8s(d) | ResNet(D)-101b | 79.01 | 35.88 | 52,139,094 | 196,800.73M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.299/fcn8sd_resnetd101b_ade20k-3588-ff385e19.npz.log)) |



  | Model | Extractor | Pix.Acc.,% | mIoU,% | Params | FLOPs/2 | Remarks |
  | --- | --- | ---: | ---: | ---: | ---: | --- |
  | PSPNet | ResNet(D)-101b | 92.72 | 57.57 | 65,707,475 | 230,767.33M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.297/pspnet_resnetd101b_cityscapes-5757-2e2315d4.npz.log)) |
  | ICNet | ResNet(D)-50b | 95.24 | 60.78 | 47,489,184 | 14,253.43M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.457/icnet_resnetd50b_cityscapes-6078-04f581dc.npz.log)) |
  | SINet | - | 93.71 | 60.84 | 119,418 | 1,419.90M | From [clovaai/c3_sinet] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.437/sinet_cityscapes-6084-c0a4e992.npz.log)) |
  | Fast-SCNN | - | 95.11 | 65.95 | 1,138,051 | 3493.33M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.474/fastscnn_cityscapes-6595-6dca4260.npz.log)) |
  | DANet | ResNet(D)-50b | 95.91 | 67.99 | 47,586,427 | 180,397.43M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.468/danet_resnetd50b_cityscapes-6799-dcef11be.npz.log)) |
  | DANet | ResNet(D)-101b | 96.03 | 68.10 | 66,578,555 | 248,811.08M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.468/danet_resnetd101b_cityscapes-6810-a6593e21.npz.log)) |



  | Model | Extractor | Pix.Acc.,% | mIoU,% | Params | FLOPs/2 | Remarks |
  | --- | --- | ---: | ---: | ---: | ---: | --- |
  | PSPNet | ResNet(D)-101b | 88.99 | 54.67 | 65,708,501 | 230,771.01M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.297/pspnet_resnetd101b_coco-5467-69033558.npz.log)) |
  | DeepLabv3 | ResNet(D)-101b | 90.10 | 59.06 | 58,754,773 | 47,625.34M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.298/deeplabv3_resnetd101b_coco-5906-2811b3cd.npz.log)) |
  | DeepLabv3 | ResNet(D)-152b | 90.52 | 61.07 | 74,398,421 | 275,087.91M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.298/deeplabv3_resnetd152b_coco-6107-80ddcd96.npz.log)) |
  | FCN-8s(d) | ResNet(D)-101b | 91.44 | 60.11 | 52,072,917 | 196,562.96M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.299/fcn8sd_resnetd101b_coco-6011-4a469997.npz.log)) |



  | Model | Extractor | Params | FLOPs/2 | Remarks |
  | --- | --- | ---: | ---: | --- |
  | BiSeNet | ResNet-18 | 13,300,416 | - | From [zllrunning/face...Torch] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.462/bisenet_resnet18_celebamaskhq-0000-c3bd2251.npz.log)) |



  | Model | Extractor | OKS AP, % | Params | FLOPs/2 | Remarks |
  | --- | --- | ---: | ---: | ---: | --- |
  | AlphaPose | Fast-SE-ResNet-101b | 74.15/91.59/80.68 | 59,569,873 | 9,553.89M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.454/alphapose_fastseresnet101b_coco-7415-c1aee8e0.npz.log)) |
  | SimplePose | ResNet-18 | 66.31/89.20/73.41 | 15,376,721 | 1,799.25M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resnet18_coco-6631-e267629f.npz.log)) |
  | SimplePose | ResNet-50b | 71.02/91.23/78.57 | 33,999,697 | 4,041.06M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resnet50b_coco-7102-78b005c8.npz.log)) |
  | SimplePose | ResNet-101b | 72.44/92.18/79.76 | 52,991,825 | 7,685.04M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resnet101b_coco-7244-59f85623.npz.log)) |
  | SimplePose | ResNet-152b | 72.53/92.14/79.61 | 68,635,473 | 11,332.86M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resnet152b_coco-7253-6228ce42.npz.log)) |
  | SimplePose | ResNet(A)-50b | 71.70/91.31/78.66 | 34,018,929 | 4,278.56M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resneta50b_coco-7170-e45c6525.npz.log)) |
  | SimplePose | ResNet(A)-101b | 72.97/92.24/80.81 | 53,011,057 | 7,922.54M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resneta101b_coco-7297-80050053.npz.log)) |
  | SimplePose | ResNet(A)-152b | 73.44/92.27/80.72 | 68,654,705 | 11,570.36M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.455/simplepose_resneta152b_coco-7344-ac76d0a9.npz.log)) |
  | SimplePose(Mobile) | ResNet-18 | 66.25/89.17/74.32 | 12,858,208 | 1,960.96M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.456/simplepose_mobile_resnet18_coco-6625-a5201083.npz.log)) |
  | SimplePose(Mobile) | ResNet-50b | 71.10/91.28/78.67 | 25,582,944 | 4,221.30M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.456/simplepose_mobile_resnet50b_coco-7110-6d17c89b.npz.log)) |
  | SimplePose(Mobile) | 1.0 MobileNet-224 | 64.10/88.06/71.23 | 5,019,744 | 751.36M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.456/simplepose_mobile_mobilenet_w1_coco-6410-14efcbba.npz.log)) |
  | SimplePose(Mobile) | 1.0 MobileNetV2b-224 | 63.74/88.12/71.06 | 4,102,176 | 495.95M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.456/simplepose_mobile_mobilenetv2b_w1_coco-6374-73b90839.npz.log)) |
  | SimplePose(Mobile) | MobileNetV3 Small 224/1.0 | 54.34/83.67/59.35 | 2,625,088 | 236.51M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.456/simplepose_mobile_mobilenetv3_small_w1_coco-5434-cc5169a3.npz.log)) |
  | SimplePose(Mobile) | MobileNetV3 Large 224/1.0 | 63.67/88.91/70.82 | 4,768,336 | 403.97M | From [dmlc/gluon-cv] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.456/simplepose_mobile_mobilenetv3_large_w1_coco-6367-b93dbd09.npz.log)) |
  | Lightweight OpenPose 2D | MobileNet | 39.99/65.95/40.70 | 4,091,698 | 8,948.96M | From [Daniil-Osokin/lighw...ch] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.458/lwopenpose2d_mobilenet_cmupan_coco-3999-0a2829dc.npz.log)) |
  | Lightweight OpenPose 3D | MobileNet | 39.99/65.95/40.70 | 5,085,983 | 11,049.43M | From [Daniil-Osokin/li...3d...ch] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.458/lwopenpose3d_mobilenet_cmupan_coco-3999-ef1e8e13.npz.log)) |
  | IBPPose | - | 64.87/83.62/70.12 | 95,827,784 | 57,195.91M | From [jialee93/Improved...Parts] ([log](https://github.com/osmr/imgclsmob/releases/download/v0.0.459/ibppose_coco-6487-70158be1.npz.log)) |

  [dmlc/gluon-cv]: https://github.com/dmlc/gluon-cv
  [tornadomeet/ResNet]: https://github.com/tornadomeet/ResNet
  [Cadene/pretrained...pytorch]: https://github.com/Cadene/pretrained-models.pytorch
  [ShichenLiu/CondenseNet]: https://github.com/ShichenLiu/CondenseNet
  [clavichord93/MENet]: https://github.com/clavichord93/MENet
  [clavichord93/FD-MobileNet]: https://github.com/clavichord93/FD-MobileNet
  [tensorpack/tensorpack]: https://github.com/tensorpack/tensorpack
  [dyhan0920/Pyramid...PyTorch]: https://github.com/dyhan0920/PyramidNet-PyTorch
  [zeusees/Mnasnet...Model]: https://github.com/zeusees/Mnasnet-Pretrained-Model
  [szagoruyko/diracnets]: https://github.com/szagoruyko/diracnets
  [szagoruyko/functional-zoo]: https://github.com/szagoruyko/functional-zoo
  [fyu/drn]: https://github.com/fyu/drn
  [quark0/darts]: https://github.com/quark0/darts
  [soeaver/AirNet-PyTorch]: https://github.com/soeaver/AirNet-PyTorch
  [soeaver/mxnet-model]: https://github.com/soeaver/mxnet-model
  [Jongchan/attention-module]: https://github.com/Jongchan/attention-module
  [kevin-ssy/FishNet]: https://github.com/kevin-ssy/FishNet
  [ucbdrive/dla]: https://github.com/ucbdrive/dla
  [sacmehta/ESPNetv2]: https://github.com/sacmehta/ESPNetv2
  [sacmehta/EdgeNets]: https://github.com/sacmehta/EdgeNets
  [jhjacobsen/pytorch-i-revnet]: https://github.com/jhjacobsen/pytorch-i-revnet
  [wielandbrendel/bag...models]: https://github.com/wielandbrendel/bag-of-local-features-models
  [MIT-HAN-LAB/ProxylessNAS]: https://github.com/MIT-HAN-LAB/ProxylessNAS
  [yangze0930/NTS-Net]: https://github.com/yangze0930/NTS-Net
  [rwightman/pyt...models]: https://github.com/rwightman/pytorch-image-models
  [HRNet/HRNet...ation]: https://github.com/HRNet/HRNet-Image-Classification
  [stigma0617/VoVNet.pytorch]: https://github.com/stigma0617/VoVNet.pytorch
  [PingoLH/Pytorch-HarDNet]: https://github.com/PingoLH/Pytorch-HarDNet
  [clovaai/c3_sinet]: https://github.com/clovaai/c3_sinet
  [Daniil-Osokin/lighw...ch]: https://github.com/Daniil-Osokin/lightweight-human-pose-estimation.pytorch
  [Daniil-Osokin/li...3d...ch]: https://github.com/Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch
  [jialee93/Improved...Parts]: https://github.com/jialee93/Improved-Body-Parts
  [zllrunning/face...Torch]: https://github.com/zllrunning/face-parsing.PyTorch
  [MCG-NKU/SCNet]: https://github.com/MCG-NKU/SCNet


pkgId: 396dfcd930fc79b59e565aeb974d93c94c7cf7648355bf6368d20788cc5e2689
name: python-chainfactory-py
arch: src
version: 0.0.12
epoch: 0
release: 1
summary: Structured LLM Inference with Easy Parallelism
url: https://pypi.org/project/chainfactory-py/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainfactory-py-0.0.12-1.src.rpm
checksum_type: sha256
description:
  ChainFactory is a powerful system for creating complex, multi-step LLM workflows using a simple YAML-like syntax. It allows you to connect multiple prompts in a chain, with outputs from one step feeding into inputs of subsequent steps. The most important feature is the reduced reliance on exact wording of the prompts and easy parallel execution in intermediate steps.


  - Sequential and parallel chain execution
  - Automatic prompt generation from purpose statements
  - Type-safe outputs with Pydantic models
  - Chain inheritance and reusability
  - Smart input/output mapping between chain links
  - Hash based caching for prompts generated from purpose statements and masks for convex transitions.



  A chain link is a single unit in your workflow, defined using the `@chainlink` directive:

  ```yaml
  @chainlink my-first-chain
  prompt: Write a story about {topic}
  out:
      story: str
  ```


  You can specify how chain links execute:
  - Sequential (`--` or `sequential`): Links run one after another
  - Parallel (`||` or `parallel`): Links run simultaneously for multiple inputs

  Example - a 3 step chain:
  ```yaml
  @chainlink generator --     # runs once
  @chainlink reviewer ||      # runs multiple times in parallel, number of runs is determined by output of the previous link
  @chainlink summarizer --    # runs once to summarize the output of the previous parallel link
  ```




  Instead of writing prompts manually, let ChainFactory generate them:

  ```yaml
  @chainlink
  purpose: generate creative haiku topics
  in:
      num: int
  out:
      topics: list[str]
  ```

  The system will automatically create an optimal prompt based on the purpose and the input variales before executing the chain.


  Reuse existing chains with `@extends`:

  ```yaml
  @extends examples/base_chain.fctr
  @chainlink additional_step
  ```


  The system automatically maps outputs to inputs between chain links using dot notation:

  ```yaml
  in:
    previous_chain.element.field: str
  ```


  Define your output structures:

  ```yaml
  def:
    Haiku:
      text: str
      explanation: str?    # optional field
  out:
    haikus: list[Haiku]
  ```




  ```yaml
  @chainlink haiku-generator
  prompt: Write {num} haiku(s) about {topic}
  out:
      haikus: list[Haiku]

  @chainlink reviewer ||     # parallely review each haiku
  purpose: critically analyze each haiku
  ```



  ```yaml
  @chainlink
  purpose: Generate {num} combinations of snacks that go well with each other. Generate {num} such combinations.
  def:
    SnackCombo:
      items: list[str]
      comment: str?
  out:
    combos: list[Combo]

  @chainlink ||a # runs {num} instance in parallel
  purpose: Given a snack combination, sarcastically comment on why it's the weirdest snack combination ever.
  in:
    combos.element.items: str
  out:
    res: list[SnackCombo]
  ```
  examples/WeirdSnackCombo.fctr

  ```yaml
  @chainlink extends WeirdSnackCombos.fctr
  purpose: Write a satirical article about the provided trivial subject bringing the demise of modern society.
  mask:
    variables:
      - res.element.items
      - res.element.comment
  out:
      article: str
  ```
  examples/Article.fctra

  When the above file is loaded, the only input required is the number of combos to generate. The system will automatically generate the prompt template and execute the chain - at the end, we get a satirical article about the weird snack combos.




  1. **Use Purpose Statements**
  When possible, let the system generate prompts using clear one-liner purpose statements.

  2. **Type Everything**
  Define input/output types for better reliability:
  ```yaml
  def:
    MyType:
      field1: str
      field2: int?
  ```

  3. **Chain Structure - General Workflows**
  - Start with sequential chains for initial processing.
  - Use parallel chains for whenever the order or execution is unimportant.
  - End with sequential chains for summarization and getting a final text / object output.

  4. **Documentation**
  Add field descriptions using `%`. This is not only for readability, but also for the LLM to understand the context of the field. It is basically a part of the prompting process.
  ```yaml
  out:
    review: str % A comprehensive analysis of the text
  ```




  For parallel-to-sequential transitions, use masks to format data:

  ```yaml
  mask:
    type: auto
    variables:
      - result.field1
      - result.field2
  ```

  A template is automatically generated based on the supplied variables to the mask. This template is used to format the data before passing it to the final chainlink.


  The system automatically caches generated prompts, and masks. Improving performance for repeated runs of the same chains.


  ChainFactory makes it easy to create complex LLM workflows without writing code. Its simple syntax, automatic prompt generation, and smart features let you focus on what matters - designing great AI workflows.

  Remember that this is just an overview - experiment with the examples to discover more possibilities!


  - Check the examples folder for more patterns
  - Use the built-in validation to catch errors early
  - Break complex chains into smaller, reusable pieces
  - Ping me directly on email: garkotipankaj@gmail.com


pkgId: 782a352c7da65c28b7186eb700e862cb7e61fe4bcf544d69844ae07754c9c5e3
name: python-chainforge
arch: src
version: 0.3.2.1
epoch: 0
release: 1
summary: A Visual Programming Environment for Prompt Engineering
url: https://github.com/ianarawjo/ChainForge/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainforge-0.3.2.1-1.src.rpm
checksum_type: sha256
description:
  ChainForge was created by [Ian Arawjo](http://ianarawjo.com/index.html), a postdoctoral scholar in Harvard HCI's [Glassman Lab](http://glassmanlab.seas.harvard.edu/) with support from the Harvard HCI community. Collaborators include PhD students [Priyan Vaithilingam](https://priyan.info) and [Chelse Swoopes](https://seas.harvard.edu/person/chelse-swoopes), Harvard undergraduate [Sean Yang](https://shawsean.com), and faculty members [Elena Glassman](http://glassmanlab.seas.harvard.edu/glassman.html) and [Martin Wattenberg](https://www.bewitched.com/about.html).
  This work was partially funded by the NSF grants IIS-2107391, IIS-2040880, and IIS-1955699. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
  We provide ongoing releases of this tool in the hopes that others find it useful for their projects.

  ChainForge is meant to be general-purpose, and is not developed for a specific API or LLM back-end. Our ultimate goal is integration into other tools for the systematic evaluation and auditing of LLMs. We hope to help others who are developing prompt-analysis flows in LLMs, or otherwise auditing LLM outputs. This project was inspired by own our use case, but also shares some comraderie with two related (closed-source) research projects, both led by [Sherry Wu](https://www.cs.cmu.edu/~sherryw/):
  - "PromptChainer: Chaining Large Language Model Prompts through Visual Programming" (Wu et al., CHI ’22 LBW) [Video](https://www.youtube.com/watch?v=p6MA8q19uo0)
  - "AI Chains: Transparent and Controllable Human-AI Interaction by Chaining Large Language Model Prompts" (Wu et al., CHI ’22)
  Unlike these projects, we are focusing on supporting evaluation across prompts, prompt parameters, and models.


pkgId: ad78b9779f60dec76c64cbb54d55b21bac93cbb370ae136060019e2e3599248d
name: python-chainlit
arch: src
version: 1.3.2
epoch: 0
release: 1
summary: Build Conversational AI.
url: https://chainlit.io/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainlit-1.3.2-1.src.rpm
checksum_type: sha256
description:
  [![](https://dcbadge.vercel.app/api/server/ZThrUxbAYw?style=flat)](https://discord.gg/k73SQ3FyUh)
  [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/chainlit_io.svg?style=social&label=Follow%20%40chainlit_io)](https://twitter.com/chainlit_io)
  ![PyPI - Downloads](https://img.shields.io/pypi/dm/chainlit)
  [![GitHub Contributors](https://img.shields.io/github/contributors/chainlit/chainlit)](https://github.com/chainlit/chainlit/graphs/contributors)
  [![CI](https://github.com/Chainlit/chainlit/actions/workflows/ci.yaml/badge.svg)](https://github.com/Chainlit/chainlit/actions/workflows/ci.yaml)

  **Build production-ready Conversational AI applications in minutes, not weeks ⚡️**

  Chainlit is an open-source async Python framework which allows developers to build scalable Conversational AI or agentic applications.

  - ✅ ChatGPT-like application
  - ✅ Embedded Chatbot & Software Copilot
  - ✅ Slack & Discord
  - ✅ Custom frontend (build your own agentic experience)
  - ✅ API Endpoint

  Full documentation is available [here](https://docs.chainlit.io). You can ask Chainlit related questions to [Chainlit Help](https://help.chainlit.io/), an app built using Chainlit!

  > [!NOTE]
  > Check out [Literal AI](https://literalai.com), our product to monitor and evaluate LLM applications! It works with any Python or TypeScript applications and [seamlessly](https://docs.chainlit.io/data-persistence/overview) with Chainlit by adding a `LITERAL_API_KEY` in your project.
  >
  > Chainlit is developed and maintained by the Literal AI team, which is currently focused on expanding the capabilities of Literal AI. While we continue to support and maintain Chainlit, we are also committed to enabling the community to contribute, particularly in areas like integrations and data layers.

  <p align="center">
      <img src="https://github.com/Chainlit/chainlit/assets/13104895/0c2cc7a9-766c-41d3-aae2-117a2d0eb8ed" alt="Chainlit user interface" width="80%"></img>
  </p>



  Open a terminal and run:

  ```sh
  pip install chainlit
  chainlit hello
  ```

  If this opens the `hello app` in your browser, you're all set!





  Create a new file `demo.py` with the following code:

  ```python
  import chainlit as cl


  @cl.step(type="tool")
  async def tool():
      
      await cl.sleep(2)
      return "Response from the tool!"


  @cl.on_message  # this function will be called every time a user inputs a message in the UI
  async def main(message: cl.Message):
      """
      This function is called every time a user inputs a message in the UI.
      It sends back an intermediate response from the tool, followed by the final answer.

      Args:
          message: The user's message.

      Returns:
          None.
      """


      
      tool_res = await tool()

      await cl.Message(content=tool_res).send()
  ```

  Now run it!

  ```sh
  chainlit run demo.py -w
  ```

  <img src="/images/quick-start.png" alt="Quick Start"></img>



  Full documentation is available [here](https://docs.chainlit.io). Key features:

  - [💬 Multi Modal chats](https://docs.chainlit.io/advanced-features/multi-modal)
  - [💭 Chain of Thought visualization](https://docs.chainlit.io/concepts/step)
  - [💾 Data persistence + human feedback](https://docs.chainlit.io/data-persistence/overview)
  - [🐛 Debug Mode](https://docs.chainlit.io/data-persistence/enterprise#debug-mode)
  - [👤 Authentication](https://docs.chainlit.io/authentication/overview)

  Chainlit is compatible with all Python programs and libraries. That being said, it comes with integrations for:

  - [LangChain](https://docs.chainlit.io/integrations/langchain)
  - [Llama Index](https://docs.chainlit.io/integrations/llama-index)
  - [Autogen](https://github.com/Chainlit/cookbook/tree/main/pyautogen)
  - [OpenAI Assistant](https://github.com/Chainlit/cookbook/tree/main/openai-assistant)
  - [Haystack](https://docs.chainlit.io/integrations/haystack)



  You can find various examples of Chainlit apps [here](https://github.com/Chainlit/cookbook) that leverage tools and services such as OpenAI, Anthropiс, LangChain, LlamaIndex, ChromaDB, Pinecone and more.

  Tell us what you would like to see added in Chainlit using the Github issues or on [Discord](https://discord.gg/k73SQ3FyUh).



  As an open-source initiative in a rapidly evolving domain, we welcome contributions, be it through the addition of new features or the improvement of documentation.

  For detailed information on how to contribute, see [here](.github/CONTRIBUTING.md).



  Chainlit is open-source and licensed under the [Apache 2.0](LICENSE) license.


pkgId: 77eed7f48c779f7e99c43eb8ca4ef78fcaeb1af2c5f6a11b49fc35a688a6c2a2
name: python-chainmap
arch: src
version: 1.0.3
epoch: 0
release: 1
summary: Backport/clone of ChainMap for py26, py32, and pypy3.
url: https://bitbucket.org/jeunice/chainmap
rpm_license: Python Software Foundation License
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainmap-1.0.3-1.src.rpm
checksum_type: sha256
description:
  * Automated multi-version testing managed with
    `pytest <http://pypi.python.org/pypi/pytest>`_,
    `pytest-cov <http://pypi.python.org/pypi/pytest-cov>`_,
    `coverage <http://pypi.python.org/pypi/coverage>`_, and
    `tox <http://pypi.python.org/pypi/tox>`_.
    Packaging linting with `pyroma <https://pypi.python.org/pypi/pyroma>`_.
  * Thanks to Travis CI, successfully packaged for, and tested against, all
    reasonably late-model versions of Python: 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6,
    and 3.7, as well as PyPy 5.8.0 (essentially Python 2.7.13) and PyPy3 5.10.1
    (corresponding to Python 3.5.3).
  * The author, `Jonathan Eunice <mailto:jonathan.eunice@gmail.com>`_ or
    `@jeunice on Twitter <http://twitter.com/jeunice>`_
    welcomes your comments and suggestions.


pkgId: bbdfbc11944ba1f0da8e55a3fcb91e6653479ab8123e20e92583dec375664ed2
name: python-chainmock
arch: src
version: 0.11.0
epoch: 0
release: 1
summary: Mocking library for Python and Pytest
url: https://github.com/ollipa/chainmock
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainmock-0.11.0-1.src.rpm
checksum_type: sha256
description:
  <p align="center">
    <img alt="chainmock" src="https://github.com/ollipa/chainmock/assets/25169984/ad243761-b2ed-4aff-89e7-699e2b4a7e6d">
  </p>

  <p align="center"><strong>Chainmock</strong> <em>- Mocking library for Python and Pytest.</em></p>

  <p align="center">
  <a href="https://pypi.org/project/chainmock/">
    <img src="https://img.shields.io/pypi/v/chainmock" alt="pypi">
  </a>
  <a href="https://github.com/ollipa/chainmock/actions/workflows/ci.yml">
    <img src="https://github.com/ollipa/chainmock/actions/workflows/ci.yml/badge.svg" alt="ci">
  </a>
  <a href="https://chainmock.readthedocs.io/">
    <img src="https://img.shields.io/readthedocs/chainmock" alt="documentation">
  </a>
  <a href="./LICENSE">
    <img src="https://img.shields.io/pypi/l/chainmock" alt="license">
  </a>
  </p>

  <hr>

  <p align="center">
  <a href="https://chainmock.readthedocs.io/">
    <b>Documentation</b>
  </a>
  </p>

  <hr>

  Chainmock is a mocking Library for Python and pytest. Under the hood it uses Python standard library mocks providing an alternative syntax to create mocks and assertions. Chainmock also comes with some additional features to make testing faster and more straightforward. The syntax works especially well with pytest fixtures.



  Install with pip:

  ```
  pip install chainmock
  ```



  Chainmock supports all the same features that Python standard library unittest
  mocks support and adds some convenient extra functionality.

  - **Mocking**: Create _mocks_ and assert call counts and arguments or replace
    return values.
  - **Spying**: _Spying_ proxies the calls to the original function or method.
    With spying you can assert call counts and arguments without mocking.
  - **Stubs**: Easily create _stub_ objects that can be used in tests as fake data
    or to replace real objects.
  - **Async support**: Chainmock supports mocking and spying _async_ functions and
    methods. Most of the time it also recognizes automatically when async mocking
    should be used so it is not any harder than mocking sync code.
  - **Fully type annotated**: The whole codebase is fully type annotated so
    Chainmock works well with static analysis tools and editor autocomplete.
  - Works with **Python 3.8+ and PyPy3**.
  - Supports `pytest`, `unittest`, and `doctest` test runners.



  The entrypoint to Chainmock is the `mocker` function. Import the `mocker`
  function as follows:

  ```python
  from chainmock import mocker
  ```



  To mock you just give the object that you want to mock to the `mocker` function.
  After this you can start mocking individual attributes and methods as follows:

  ```python

  mocker(Teapot).mock("add_tea").called_once()


  mocker(Teapot).mock("brew").return_value("mocked").called_twice()


  mocker(Teapot).mock("add_tea").all_calls_with("green").call_count_at_most(2)
  ```



  Spying is not any harder than mocking. You just need to call the `spy` method
  instead of the `mock` method. After spying a callable, it works just like before
  spying and you can start making assertions on it.

  ```python

  mocker(Teapot).spy("add_tea").called()



  mocker(Teapot).spy("add_tea").any_call_with("green").call_count_at_most(2)
  ```



  To create a stub object, just call `mocker` function without any arguments.

  ```python

  stub = mocker().mock("my_method").return_value("it works!").self()
  assert stub.my_method() == "it works!"


  stub = mocker(my_property=10)
  assert stub.my_property == 10
  ```

  For more details and examples, see the [API reference](https://chainmock.readthedocs.io/en/latest/api_reference/).



  If chainmock is not what you need, check out also these cool projects:

  - [flexmock](https://github.com/flexmock/flexmock): Chainmock's API is heavily
    inspired by flexmock. Flexmock doesn't use standard library unittest and it
    has fully custom mocking implementation. Compared to flexmock, chainmock has
    more familiar API if you have been using standard library unittest and
    Chainmock also supports async mocking and partial argument matching.
  - [pytest-mock](https://github.com/pytest-dev/pytest-mock/): Similar to
    chainmock, pytest-mock is a wrapper for standard library unittest. However,
    pytest-mock doesn't provide any extra functionality as it just exposes
    unittest mocks directly to the user.



  Do you like this project and want to help? If you need ideas, check out the open issues and feel free to open a new pull request. Bug reports and feature requests are also very welcome.


pkgId: d5e33f5b06c134b17046a0475b1473d69152a6c3e4fe1cc014316ace0b25f2fe
name: python-chainside-btcpy
arch: src
version: 0.6.5
epoch: 0
release: 1
url: https://github.com/chainside/btcpy
rpm_license: UNKNOWN
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainside-btcpy-0.6.5-1.src.rpm
checksum_type: sha256
summary:
  A Python3 SegWit-compliant library which provides tools to handle Bitcoin data structures in a simple fashion.


pkgId: 0fa0220df4b6073df373b67899700cff5121444e3b1bc2e28f1c62c70293f940
name: python-chainstate
arch: src
version: 0.1.7
epoch: 0
release: 1
summary: A simple state chain library for Python
url: https://pypi.org/project/chainstate/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chainstate-0.1.7-1.src.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/chainstate.svg)](https://badge.fury.io/py/chainstate)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![Python Versions](https://img.shields.io/pypi/pyversions/chainstate.svg)](https://pypi.org/project/chainstate/)

  Chainstate is a powerful and intuitive Python library for implementing state machines. It provides a flexible and easy-to-use framework for defining, managing, and transitioning between states in your applications, with built-in support for sharing data between states.



  Install Chainstate using pip:

  ```bash
  pip install chainstate
  ```



  Here's a simple example to get you started with Chainstate:

  ```python
  from chainstate import Chain, State, EndState

  class GreetingState(State):
      def action(self):
          print("Hello! How can I assist you today?")
          self.context.data['user_name'] = input("Please enter your name: ")

      def next_state(self):
          return FarewellState

  class FarewellState(EndState):
      def action(self):
          user_name = self.context.data.get('user_name', 'Guest')
          print(f"Thank you for using our service, {user_name}. Goodbye!")


  chain = Chain()
  chain.add_state(GreetingState)
  chain.add_state(FarewellState)
  chain.set_initial_state(GreetingState)
  chain.run()
  ```

  This example creates a simple two-state chain that greets the user, asks for their name, and then says farewell using the stored name.





  To create a state, inherit from the `State` class and implement the `action` and `next_state` methods:

  ```python
  class MyState(State):
      def action(self):
          
          print("Performing MyState action")
          
          self.context.data['my_key'] = 'my_value'

      def next_state(self):
          
          return NextState
  ```



  Use the `Chain` class to manage your states:

  ```python
  chain = Chain()
  chain.add_state(MyState)
  chain.add_state(NextState)
  chain.set_initial_state(MyState)
  ```



  Execute the state machine using the `run` method:

  ```python
  chain.run()
  ```



  The `context` attribute allows you to store and retrieve data that can be shared between states:

  ```python
  class StateA(State):
      def action(self):
          self.context.data['shared_value'] = 42

      def next_state(self):
          return StateB

  class StateB(State):
      def action(self):
          value = self.context.data.get('shared_value')
          print(f"Received value from previous state: {value}")
  ```





  Chainstate provides built-in error handling for common issues:

  - `InitialStateNotSetError`: Raised when trying to run a chain without setting an initial state.
  - `StateTransitionError`: Raised when a state transition is invalid or when a state's `next_state` method is not implemented.



  Chainstate uses Python's built-in logging module. You can configure logging to suit your needs:

  ```python
  import logging
  logging.basicConfig(level=logging.DEBUG)
  ```



  Let's implement a simple customer support chatbot using Chainstate:

  ```python
  from chainstate import Chain, State, EndState

  class GreetingState(State):
      def action(self):
          print("Bot: Hello! How can I assist you today?")
          self.context.data['user_input'] = input("You: ")

      def next_state(self):
          user_input = self.context.data['user_input'].lower()
          if 'order' in user_input:
              return OrderState
          elif 'refund' in user_input:
              return RefundState
          else:
              return GeneralInfoState

  class OrderState(State):
      def action(self):
          print("Bot: I can help you with your order. What's your order number?")
          order_number = input("You: ")
          self.context.data['order_number'] = order_number
          print(f"Bot: I've found your order {order_number}. It will be delivered in 2 days.")

      def next_state(self):
          return FarewellState

  class RefundState(State):
      def action(self):
          print("Bot: I'm sorry to hear you need a refund. Please provide your order number.")
          order_number = input("You: ")
          self.context.data['refund_order'] = order_number
          print(f"Bot: I've initiated a refund for order {order_number}. It will be processed in 3-5 business days.")

      def next_state(self):
          return FarewellState

  class GeneralInfoState(State):
      def action(self):
          print("Bot: For general inquiries, please visit our FAQ page at www.example.com/faq")

      def next_state(self):
          return FarewellState

  class FarewellState(EndState):
      def action(self):
          if 'order_number' in self.context.data:
              print(f"Bot: Is there anything else I can help you with regarding your order {self.context.data['order_number']}? (yes/no)")
          elif 'refund_order' in self.context.data:
              print(f"Bot: Is there anything else I can help you with regarding your refund for order {self.context.data['refund_order']}? (yes/no)")
          else:
              print("Bot: Is there anything else I can help you with? (yes/no)")

          response = input("You: ")
          if response.lower() == 'yes':
              return GreetingState
          else:
              print("Bot: Thank you for using our service. Have a great day!")


  chain = Chain()
  chain.add_state(GreetingState)
  chain.add_state(OrderState)
  chain.add_state(RefundState)
  chain.add_state(GeneralInfoState)
  chain.add_state(FarewellState)
  chain.set_initial_state(GreetingState)
  chain.run()
  ```

  This chatbot uses Chainstate to manage different conversation flows based on user input, demonstrating how state machines can be used to create interactive and responsive systems. The context is used to store and retrieve information across different states, allowing for a more personalized interaction.



  Contributions are welcome! Please feel free to submit a Pull Request.



  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.


pkgId: b60043a4cf4e72c48aeddb38302cee8dfae3984ba528a8eb1061a7a5e14758ee
name: python-chaiverse
arch: src
version: 1.15.32
epoch: 0
release: 1
summary: Chaiverse
url: https://www.chaiverse.com
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chaiverse-1.15.32-1.src.rpm
checksum_type: sha256
description:
  [![Chaiverse Banner](https://i.imgur.com/HGlydGb.png)](https://www.chaiverse.com/)

  [![PyPI version](https://badge.fury.io/py/chaiverse.svg)](https://badge.fury.io/py/chaiverse)
  [![first-timers-only Friendly](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/)
  [![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com)



  ![Chai Logo](https://github.com/chai-research/chaiverse/blob/change-logo-darkmode/resources/chai-logo-black.png#gh-light-mode-only)
  ![Chai Logo](https://github.com/chai-research/chaiverse/blob/change-logo-darkmode/resources/chai-logo-white.png#gh-dark-mode-only)

  [Chaiverse](https://www.chaiverse.com) is part of the Chai Prize Competition, accelerating community AGI.

  It's the world's first open community challenge with real-user evaluations. You models will be directly deployed on the [Chai App](http://tosto.re/chaiapp) where our over 500K daily active users will be providing live feedback. Get to top of the leaderboard and share the $1 million cash prize!


  1. Join the [Chaiverse Discord](https://discord.gg/chai-llm), our bot will greet you and give you a developer key 🥳
  2. Submit a model in < 10 minutes with [Chaiverse Jupyter Notebook Quickstart](https://colab.research.google.com/drive/1FyCamT6icUo5Wlt6qqogHbyREHQQkAY8?usp=sharing)
  3. Run through our [Chaiverse Prompt Engineering Guide](https://colab.research.google.com/drive/1eMRidYrys3b1mPrhUOJnfAB3Z7tcCNn0?usp=sharing) to submit models with custom prompts
  4. Run through our [Chaiverse: Reward Model Guide](https://drive.google.com/file/d/15lWzRoP0RZ7jVxhas_zQaG2OyvqxaxhT/view?usp=sharing) to submit reward models! ❤️
  5. Run through our [Chaiverse: Blend Model Guide](https://colab.research.google.com/drive/1HeslM8jq7H-bbThoujhE6zM9twKPuukH?usp=sharing) to submit blended models!
  6. Take a look at our #new-joiners #dataset-sharing and #ai-discussions channels for easter eggs


  1. Run `pip install chaiverse`
  2. Read through examples shown in the "Quick Start with Colab" section


  You can also interact with Chaiverse directly from your terminal using Chaiverse CLI. Read through our [user guide](https://wild-chatter-b52.notion.site/Chaiverse-CLI-User-Guide-2aba61f9db4a4ac78f26420f4e96ba4c?pvs=4) for instructions.




  -   The `chaiverse` pip package provides a way to easily submit your language model, all you need to do is ensure it is on HuggingFace 🤗
  -   We will automatically **Tritonize** your model for fast inference and host it in our internal GPU cluster 🚀
  -   Once deployed, Chai users on our platform who enter the **arena mode** will be rating your model directly, providing you with both quantatitive and verbal feedback 📈
  -   Both the public leaderboard and **user feedback** for your model can be directly downloaded via the `chaiverse` package 🧠
  -   Cash prizes will be allocated according to your position in the leaderboard 💰

  [![Chai Pipeline](https://imgur.com/LtMWOAq.png)](https://www.chaiverse.com)



  |                                                                        |                                                                                                 |
  | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------|
  | 🤗 [Chai Huggingface](https://huggingface.co/ChaiML) | Tons of models / datasets for you to finetune on! Including past winner solutions                                                           |
  | 📒 [Fine tuning guide](https://huggingface.co/docs/transformers/training) | Guide on language model finetuning                                                           |
  | 💾 [Datasets](https://dataset-ideas.tiiny.site/) | Curated list of open-sourced datasets to get started with finetuning                                                  |
  | 💖 [Chaiverse Discord](https://discord.gg/chai-llm)                   | Our Chaiverse Competition discord                                                          |
  |🚀 [Deepspeed Guide](https://huggingface.co/docs/transformers/main_classes/deepspeed)     | Guide for training with Deepspeed (faster training without GPU bottleneck)    |
  |💬 [Example Conversations](https://huggingface.co/datasets/ChaiML/100_example_conversations)     | Here you can find 100 example conversations from the Chai Platform     |
  | ⚒️ [Build with us](https://www.chai-research.com/#careers)| If you think what we are building is cool, join us!|
  | ❗ [Competition EULA](https://www.chai-research.com/competition-eula.html)| Covers terms of use and competition agreements|


  [CHAI RESEARCH CORP. COMPETITION END USER LICENSE AGREEMENT (EULA)](https://www.chai-research.com/competition-eula.html)


pkgId: be47176b5d3734deb99144788ad50825bfa287079091a4b7de985ca81c5e15ad
name: python-chalice-a4ab
arch: src
version: 0.3.1
epoch: 0
release: 1
summary: Chalice x Agents for Amazon Bedrock plug-ins
url: https://github.com/ShotaOki/ChaliceA4AB
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
location_href: Packages/python-chalice-a4ab-0.3.1-1.src.rpm
checksum_type: sha256
description:
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Chalice-A4AB)

  [![tests](https://github.com/ShotaOki/ChaliceA4AB/actions/workflows/test.yml/badge.svg)](https://github.com/ShotaOki/ChaliceA4AB/actions/workflows/test.yml)
  ![PyPI - Version](https://img.shields.io/pypi/v/chalice-a4ab)
  ![PyPI - Downloads](https://img.shields.io/pypi/dm/chalice-a4ab)
  ![GitHub License](https://img.shields.io/github/license/ShotaOki/ChaliceA4AB)



  Chalice plugin: Support `Agents for Amazon Bedrock`



  **PYPI :: Chalice-a4ab**
  https://pypi.org/project/chalice-a4ab/

  **Github :: Chalice-a4ab**
  https://github.com/ShotaOki/ChaliceA4AB



  1. Install

     ```
     pip install -U chalice chalice-a4ab pydantic
     ```

  1. Replace `from chalice import Chalice` to `from chalice_a4ab import Chalice`.

     Before:

     ```python
     from chalice import Chalice

     app = Chalice("app-name")

     @app.router("path-name")
     ...
     ```

     After:

     ```python
     from chalice_a4ab import Chalice

     app = Chalice("app-name")

     @app.router("path-name")
     ...
     ```

  1. Update requirements.txt

     ```txt
     chalice-a4ab
     pydantic
     ```

  1. Read parameters in function

     ```python
     from chalice_a4ab import read_session_attributes, read_prompt_session_attributes, read_body

     @app.router("path-name")
     def method_name():

        
        body: PyDanticParserClass = read_body(app, PyDanticParserClass)

        
        session_attributes: dict = read_session_attributes(app, "KEY")

        
        prompt_session_attributes: dict = read_prompt_session_attributes(app, "KEY")

        
        return {
           "response": "object"
        }
     ```

     or read directory

     ```python
     @app.router("path-name")
     def method_name():
        
        body : dict = app.current_request.json_body

        
        for k in app.current_request.headers:
           if k.startsWith("sessionAttributes")
              
              print(app.current_request.headers[k])
           if k.startsWith("promptSessionAttributes")
              
              print(app.current_request.headers[k])

        return {}
     ```

  1. **(Optional)** Add Parser Lambda Function

     Add these decorator, function becomes "parser lambda"

     ```python
     from chalice_a4ab import (
         Chalice,
         AgentsForAmazonBedrockConfig,
         ParserLambdaAbortException,
         ParserLambdaResponseModel,
     )

     
     AgentsForAmazonBedrockConfig().apply()

     ...

     
     @app.parser_lambda_pre_processing()
     def pre_processing(event, default_result: ParserLambdaResponseModel) -> ParserLambdaResponseModel:
         
         
         return default_result


     
     @app.parser_lambda_orchestration()
     def orchestration(event: dict, default_result: ParserLambdaResponseModel) -> ParserLambdaResponseModel:
         
         
         return default_result
     ```

  1. Application works ::

     | What you can do                        | Status |
     | -------------------------------------- | ------ |
     | Execute from Agents for Amazon Bedrock | 〇     |
     | Auto generate OpenAPI schema           | ×      |
     | Management on cli                      | ×      |



  Create OpenAPI Schema automatically.

  1. Install Chalice-a4ab and Chalice-spec

     ```python
     pip install -U chalice chalice-spec==0.7.0 chalice-a4ab boto3 pydantic
     ```

  1. Update requirements.txt

     ```txt
     chalice-spec==0.7.0
     chalice-a4ab
     pydantic
     ```

  1. Add Setting

     ```python
     from chalice_a4ab import Chalice, AgentsForAmazonBedrockConfig, ModelTypesAntropicClaudeV2
     from chalice_spec.docs import Docs, Operation

     
     AgentsForAmazonBedrockConfig(
        
        instructions="Situation Settings for talking with Human and agent.(more than 40 words)",
        
        description="Description of application",
        
        foundation_model=ModelTypesAntropicClaudeV2,
     ).apply()

     app = Chalice(app_name="app-name")

     @app.router("path-name",
         methods=["POST"],
         docs=Docs(
             post=Operation(
                 request=PyDanticRequestModelClass,
                 response=PyDanticOutputModelClass,
             )
         ))
     def post_method():
        """
        Function summary

        Description of this method, brabrarba, this comment becomes LLM Prompt.
        """
     ...
     ```

  1. Read values with PyDantic

     ```python
     @app.router("path-name",
         methods=["POST"],
         docs=Docs(
             post=Operation(
                 request=PyDanticRequestModelClass,
                 response=PyDanticOutputModelClass,
             )
         ))
     def method_name():
        """
        Function summary

        Description of this method, brabrarba, this comment becomes LLM Prompt.
        """

        
        body: PyDanticRequestModelClass = read_body(app, PyDanticRequestModelClass)

        
        
        
        body = PyDanticRequestModelClass.model_validate(app.current_request.json_body)

        
        
        
        return PyDanticOutputModelClass(
           response=...
        ).model_dump_json()
     ```

     documentation for `@app.router` sample: https://github.com/TestBoxLab/chalice-spec

  1. Management CLI

     **Init command** :: Create AWS Resource and OpenAPI Schema.

     ```bash
     chalice-a4ab init --profile ${PROFILE_NAME} --region ${REGION_NAME}
     ```

     **Sync command** :: Update Already AWS Resource and OpenAPISchema.

     ```bash
     chalice-a4ab sync --profile ${PROFILE_NAME} --region ${REGION_NAME}
     ```

     **Show command** :: Show OpenAPI Schema.

     ```bash
     chalice-a4ab show --profile ${PROFILE_NAME} --region ${REGION_NAME}
     ```

     **Info command** :: Show about Agents for Amazon Bedrock.

     ```bash
     chalice-a4ab info --profile ${PROFILE_NAME} --region ${REGION_NAME}
     ```

     **Invoke command** :: Invoke Agents for Amazon Bedrock.

     ```bash
     chalice-a4ab invoke "Natural Language Query" \
     --agent-id ${AGENT_ID} \
     --agent-alias-id ${AGENT_ALIAS_ID} \
     --end-session \
     --profile ${PROFILE_NAME} --region ${REGION_NAME}
     ```

     **Delete AWS Resource**

     ```bash
     chalice-a4ab delete --profile ${PROFILE_NAME} --region ${REGION_NAME}
     ```

  1. Application works ::

     | What you can do                        | Status |
     | -------------------------------------- | ------ |
     | Execute from Agents for Amazon Bedrock | 〇     |
     | Auto generate OpenAPI schema           | 〇     |
     | Management on cli                      | 〇     |



  1. Setup

     ```bash
     poetry install
     ```

  1. Run test

     ```bash
     poetry run pytest
     ```



  MIT





  | Command             | Descritpion                                       |
  | :------------------ | :------------------------------------------------ |
  | chalice-a4ab init   | Create AWS resource for Agents for amazon bedrock |
  | chalice-a4ab sync   | Sync OpenAPI schema to AWS                        |
  | chalice-a4ab delete | Delete AWS resource for Agents for amazon bedrock |

  | Options   | Description                                 |
  | :-------- | :------------------------------------------ |
  | --bucket  | Set S3 bucket name (for put OpenAPI schema) |
  | --profile | Set AWS Profile Name                        |
  | --region  | Set AWS Region Name                         |
  | --help    | Show Help                                   |



  **AgentsForAmazonBedrockConfig**

  | Method                         | Type   | Description                              |
  | :----------------------------- | :----- | :--------------------------------------- |
  | apply                          | -      | Current instace becomes global variable. |
  | agents_for_bedrock_schema_json | -      | Get OpenAPI Schema                       |
  | save_schema_to_local           | -      | Save OpenAPI Schema to local folder      |
  | save_schema_to_s3              | -      | Upload OpenAPI Schema to S3 bucket       |
  | save_config_to_local           | -      | Save Config setting to local folder      |
  | get_global_config              | static | Get global variable.                     |


