# packages

pkgId: 26ded59ec5ff788cc181ee17b53fbb957c416199fc5c9b6092ca6d76e1107cb7
name: python-logging_tree
arch: src
version: 1.9
epoch: 0
release: 1
summary: Introspect and display the logger tree inside "logging"
url: https://github.com/brandon-rhodes/logging_tree
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-048535f4-8823-4992-8ea2-67f8ad7648a6
location_href: 00004126-python-logging-tree/python-logging_tree-1.9-1.src.rpm
checksum_type: sha256
description:
  **Version 1.9** - 2021 April 10
      Declare compatibility with Python 3.9.  Improve how the logging
      module's built-in ``Formatter`` class is displayed under old Python
      versions where the ``logging`` module uses old-style classes.
  **Version 1.8.1** - 2020 January 26
      Adjust one test to make it pass under Python 3.8, and update the
      distribution classifiers to declare compatibility with Python
      versions through 3.8.
  **Version 1.8** - 2018 August 5
      Improve the output to better explain what happens if a "parent"
      attribute has been set to None.
  **Version 1.7** - 2016 January 23
      Detect whether each logger has the correct "parent" attribute and,
      if not, print where its log messages are being sent instead.
  **Version 1.6** - 2015 January 8
      Fixed a crash that would occur if a custom logging Formatter was
      missing its format string attributes.
  **Version 1.5** - 2014 December 24
      Handlers now display their logging level if one has been set, and
      their custom logging formatter if one has been installed.
  **Version 1.4** - 2014 January 8
      Thanks to a contribution from Dave Brondsema, disabled loggers are
      now actually marked as "Disabled" to make it less of a surprise that
      they fail to log anything.
  **Version 1.3** - 2013 October 29
      Be explicit and display the logger level ``NOTSET`` along with the
      effective level inherited from the logger's ancestors; and display
      the list of ``.filters`` of a custom logging handler even though it
      might contain custom code that ignores them.
  **Version 1.2** - 2013 January 19
      Compatible with Python 3.3 thanks to @ralphbean.
  **Version 1.1** - 2012 February 17
      Now compatible with 2.3 <= Python <= 3.2.
  **Version 1.0** - 2012 February 13
      Can display the handler inside a MemoryHandler; entire public
      interface documented; 100% test coverage.
  **Version 0.6** - 2012 February 10
      Added a display format for every ``logging.handlers`` class.
  **Version 0.5** - 2012 February 8
      Initial release.


pkgId: 5c4b7f8e23662db0a1b6cac95b2f5f0b142ae08b299e897b50ecf9f37eb03b5e
name: python-logstash_formatter
arch: src
version: 0.5.17
epoch: 0
release: 1
summary: JSON formatter meant for logstash
url: https://github.com/exoscale/python-logstash-formatter
rpm_license: MIT, see LICENSE file
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-71c5049d-fef5-4861-b89f-8e549039c752
location_href: 00011325-python-logstash-formatter/python-logstash_formatter-0.5.17-1.src.rpm
checksum_type: sha256
description:
  This library is provided to allow standard python logging to output log data
  as json objects ready to be shipped out to logstash.
  This project has been originally open sourced by `exoscale <https://www.exoscale.ch/>`_ (which is a great hosting service btw), thanks to them.


pkgId: d407cc6ef9cbc094fa1e859aa6dcb41cc32b8f15bf4dfd9832e406bdf999bb62
name: python-loguru
arch: src
version: 0.7.0
epoch: 0
release: 1
summary: Python logging made (stupidly) simple
url: https://github.com/Delgan/loguru
rpm_license: MIT license
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-96063586-5e01-4009-85f7-cf86bcbf261b
location_href: 00009382-python-loguru/python-loguru-0.7.0-1.src.rpm
checksum_type: sha256
description:
  **Loguru** is a library which aims to bring enjoyable logging in Python.
  Did you ever feel lazy about configuring a logger and used ``print()`` instead?... I did, yet logging is fundamental to every application and eases the process of debugging. Using **Loguru** you have no excuse not to use logging from the start, this is as simple as ``from loguru import logger``.
  Also, this library is intended to make Python logging less painful by adding a bunch of useful functionalities that solve caveats of the standard loggers. Using logs in your application should be an automatism, **Loguru** tries to make it both pleasant and powerful.


pkgId: 8212b10edb2785ef6e6add56c432032c0b119e1dae1fe703b0b6a2c8ed066bfd
name: python-logzero
arch: src
version: 1.7.0
epoch: 0
release: 1
summary: Robust and effective logging for Python 2 and 3
url: https://github.com/metachris/logzero
rpm_license: MIT license
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-93eecf7d-0f9a-44ee-88d4-2ed3464b0570
location_href: 00004127-python-logzero/python-logzero-1.7.0-1.src.rpm
checksum_type: sha256
description:
  * Easy logging to console and/or (rotating) file.
  * Provides a fully configured standard [Python logger object](https://docs.python.org/2/library/logging.html#module-level-functions>).
  * JSON logging (with integrated [python-json-logger](https://github.com/madzak/python-json-logger))
  * Pretty formatting, including level-specific colors in the console.
  * No dependencies
  * Windows color output supported by [colorama](https://github.com/tartley/colorama)
  * Robust against str/bytes encoding problems, works with all kinds of character encodings and special characters.
  * Multiple loggers can write to the same logfile (also across multiple Python files and processes).
  * Global default logger with [logzero.logger](https://logzero.readthedocs.io/en/latest/#i-logzero-logger) and custom loggers with [logzero.setup_logger(..)](https://logzero.readthedocs.io/en/latest/#i-logzero-setup-logger).
  * Compatible with Python 2 and 3.
  * All contained in a [single file](https://github.com/metachris/logzero/blob/master/logzero/__init__.py).
  * Licensed under the MIT license.
  * Heavily inspired by the [Tornado web framework](https://github.com/tornadoweb/tornado).
  Installation:
  ```shell
  python -m pip install logzero
  ```


pkgId: 4036d421d25a7d272c4ffae8ad579fd7d1564b81c4ebc0b7b487217382cae9d9
name: python-lomond
arch: src
version: 0.3.3
epoch: 0
release: 1
summary: Websocket Client Library
url: https://github.com/wildfoundry/dataplicity-lomond
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7c6387ed-cdac-44fa-9409-6af08d7315b8
location_href: 00014028-python-lomond/python-lomond-0.3.3-1.src.rpm
checksum_type: sha256
description:
  Tranquil WebSockets for Python.

  [![PyPI version](https://badge.fury.io/py/lomond.svg)](https://pypi.org/project/lomond/)
  [![PyPI](https://img.shields.io/pypi/pyversions/lomond.svg)](https://pypi.org/project/lomond/)
  [![Coverage Status](https://coveralls.io/repos/github/wildfoundry/dataplicity-lomond/badge.svg?branch=master)](https://coveralls.io/github/wildfoundry/dataplicity-lomond?branch=master)
  [![CircleCI](https://circleci.com/gh/wildfoundry/dataplicity-lomond/tree/master.svg?style=svg)](https://circleci.com/gh/wildfoundry/dataplicity-lomond/tree/master)

  Lomond is a Websocket client which turns a websocket connection in to
  an orderly stream of _events_. No threads or callbacks necessary.

  - [Documentation](https://lomond.readthedocs.io/)

  - [GitHub Repository](https://github.com/wildfoundry/dataplicity-lomond)

  - [Blog](https://www.willmcgugan.com/search/?s=lomond)



  To connect to a "ws:" or "wss:" WebSocket URL, construct a `lomond.WebSocket` object then iterate over it. This will yield an _event object_ for each step in the connection process and for any data sent by the server.

  You will receive a ``Binary`` or ``Text`` event when the server sends you a message.
  You may _send_ a message with the ``send_binary`` or ``send_text`` methods.



  The following is a silly example that connects to a websocket server
  (in this case a public echo server), and sends a string of text
  every 5 seconds.


  ```python
  from lomond import WebSocket


  websocket = WebSocket('wss://echo.websocket.org')

  for event in websocket:
      if event.name == 'poll':
          websocket.send_text('Hello, World')
      elif event.name == 'text':
          print(event.text)
  ```



  A successful websocket connection will result in a series of events
  such as the following:

  ```
  ┌──────────────────────┐
  │      Connecting      │     Contacting server
  └──────────────────────┘
             │
             ▼
  ┌──────────────────────┐     Connected to server (but
  │      Connected       │     not yet sent data)
  └──────────────────────┘
             │
             ▼
  ┌──────────────────────┐     Negotiated Websocket
  │        Ready         │     handshake
  └──────────────────────┘
             │  ┌───────────┐
             │  │           │
             ▼  ▼           │
  ┌──────────────────────┐  │  Send and receive
  │ Binary / Text / Poll │──┘  application data
  └──────────────────────┘
             │
             ▼
  ┌──────────────────────┐     Websocket close
  │        Closed        │     handshake
  └──────────────────────┘
             │
             ▼
  ┌──────────────────────┐
  │     Disconnected     │     Disconnected TCP/IP
  └──────────────────────┘     connection to server
  ```


pkgId: 6a165551e7423f2e7c82208f1e25c280eecaf88408758ff3477994bec2ac138a
name: python-lrparsing
arch: src
version: 1.0.13
epoch: 0
release: 1
summary: An LR(1) parser hiding behind a pythonic interface
url: http://lrparsing.sourceforge.net/
rpm_license: GNU Affero General Public License v3 or later (AGPLv3+)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-d4a0578a-63e1-46cb-832c-ec887ca3a3bd
location_href: 00004128-python-lrparsing/python-lrparsing-1.0.13-1.src.rpm
checksum_type: sha256
description:
  Lrparsing provides both an LR(1) parser and a
  tokeniser.  It differs from other Python LR(1) parsers in
  using Python expressions as grammars, and offers simple to use
  disambiguation tools.

  The result is something that is powerful yet concise.  For simple
  tasks this means it can be thought of as an extension to Python's
  existing re module, used when regular expressions become
  too cumbersome.   For complex tasks lrparsing offers a high speed
  parser (very roughly 25us per token from string to parse tree
  on a desktop CPU), pre-compilation of the grammar and error recovery
  hooks so parsing can continue after an error is found.

  In addition to extensive documentation it comes with a parser for
  Sqlite3 data manipulation statements and a Lua 5.2 to Python
  compiler as examples.  The documentation can be read online at
  http://lrparsing.sourceforge.net/doc/html/.


pkgId: 568550cb310b14769f37b1c31c488c7fe5a6f74848a3b8b0573496904e3e7c1b
name: python-lru-dict
arch: src
version: 1.1.8
epoch: 0
release: 1
summary: An Dict like LRU container.
url: https://github.com/amitdev/lru-dict
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7af9e15a-9433-4c58-aaba-504aeb353d42
location_href: 00010137-python-lru-dict/python-lru-dict-1.1.8-1.src.rpm
checksum_type: sha256
description:
  A fixed size dict like container which evicts Least Recently Used (LRU) items
  once size limit is exceeded. There are many python implementations available
  which does similar things. This is a fast and efficient C implementation.
  LRU maximum capacity can be modified at run-time.
  If you are looking for pure python version, look `else where <http://www.google.com/search?q=python+lru+dict>`_.


pkgId: 910db10861d242d7266257e9fd6ebdf79fb098622dabb0a153b84c85a0a18b48
name: python-lru-dict-debuginfo
arch: x86_64
version: 1.1.8
epoch: 0
release: 1
summary: Debug information for package python-lru-dict
url: https://github.com/amitdev/lru-dict
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-7af9e15a-9433-4c58-aaba-504aeb353d42
rpm_sourcerpm: python-lru-dict-1.1.8-1.src.rpm
location_href: 00010137-python-lru-dict/python-lru-dict-debuginfo-1.1.8-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-lru-dict.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: 6da12f33540d2a26a5df91854529bd091929a8f88eab8c01f1db6c5096c1ec73
name: python-lru-dict-debugsource
arch: x86_64
version: 1.1.8
epoch: 0
release: 1
summary: Debug sources for package python-lru-dict
url: https://github.com/amitdev/lru-dict
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-7af9e15a-9433-4c58-aaba-504aeb353d42
rpm_sourcerpm: python-lru-dict-1.1.8-1.src.rpm
location_href: 00010137-python-lru-dict/python-lru-dict-debugsource-1.1.8-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-lru-dict.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: e95c9a962125f28046f221978dd831b69d6a350fa0a1aca645661442e3fc9b9d
name: python-lti-consumer-xblock
arch: src
version: 9.0.0
epoch: 0
release: 1
summary: This XBlock implements the consumer side of the LTI specification.
url: https://github.com/openedx/xblock-lti-consumer
rpm_license: GNU Affero General Public License v3
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-abbca5bd-f01d-4077-b31f-d4846ad4f8d7
location_href: 00013859-python-lti-consumer-xblock/python-lti-consumer-xblock-9.0.0-1.src.rpm
checksum_type: sha256
description:
  For details regarding how to deploy this or any other XBlock in the lms instance, see the `installing-the-xblock`_ documentation.


pkgId: 8c35767823dcd656d462a74b1d7a3fe4e22fffa737d2aa1399292fd29ba5db86
name: python-luftdaten
arch: src
version: 0.7.4
epoch: 0
release: 1
summary: Python API for interacting with luftdaten.info
url: https://github.com/home-assistant-ecosystem/python-luftdaten
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-df96f57f-15e2-432a-8873-f2176e493a0e
location_href: 00004131-python-luftdaten/python-luftdaten-0.7.4-1.src.rpm
checksum_type: sha256
description:
  Python client for interacting with `sensor.community <https://sensor.community/>`_ (previously known as `luftdaten.info <http://luftdaten.info/>`_.
  This module is not official, developed, supported or endorsed by sensor.community/luftdaten.info.


pkgId: 07a7709f5618d44b1f1d2989b59a602e16a9c553877d8427ad41d48ec9105fe1
name: python-luigi
arch: src
version: 3.2.1
epoch: 0
release: 1
summary: Workflow mgmgt + task scheduling + dependency resolution.
url: https://github.com/spotify/luigi
rpm_license: Apache License 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-280dc5d6-11fe-4cdb-831d-34e4a902f34e
location_href: 00009747-python-luigi/python-luigi-3.2.1-1.src.rpm
checksum_type: sha256
description:
  Run ``pip install luigi`` to install the latest stable version from `PyPI
  <https://pypi.python.org/pypi/luigi>`_. `Documentation for the latest release
  <https://luigi.readthedocs.io/en/stable/>`__ is hosted on readthedocs.
  Run ``pip install luigi[toml]`` to install Luigi with `TOML-based configs
  <https://luigi.readthedocs.io/en/stable/configuration.html>`__ support.
  For the bleeding edge code, ``pip install
  git+https://github.com/spotify/luigi.git``. `Bleeding edge documentation
  <https://luigi.readthedocs.io/en/latest/>`__ is also available.


pkgId: f53c06dcdd904424b1699c0827a6b2bcf332fc105da9040c8edbbe21c6a8bc20
name: python-lunr
arch: src
version: 0.6.2
epoch: 0
release: 1
summary: A Python implementation of Lunr.js
url: https://github.com/yeraydiazdiaz/lunr.py
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-30c87742-71b1-40f7-a67a-287f7ec83099
location_href: 00004132-python-lunr/python-lunr-0.6.2-1.src.rpm
checksum_type: sha256
description:
  [![Build Status](https://github.com/yeraydiazdiaz/lunr.py/workflows/CI/badge.svg?branch=master)](https://github.com/yeraydiazdiaz/lunr.py/actions?workflow=CI)
  [![codecov](https://codecov.io/gh/yeraydiazdiaz/lunr.py/branch/master/graph/badge.svg)](https://codecov.io/gh/yeraydiazdiaz/lunr.py)
  [![Supported Python Versions](https://img.shields.io/pypi/pyversions/lunr.svg)](https://pypi.org/project/lunr/)
  [![PyPI](https://img.shields.io/pypi/v/lunr.svg)](https://pypi.org/project/lunr/)
  [![Read the Docs](https://img.shields.io/readthedocs/lunr.svg)](http://lunr.readthedocs.io/en/latest/)
  [![Downloads](http://pepy.tech/badge/lunr)](http://pepy.tech/project/lunr)
  [![shoutouts.dev](https://shoutouts.dev/projects/yeraydiazdiaz/lunr.py/badge)](https://shoutouts.dev/projects/yeraydiazdiaz/lunr.py)



  A Python implementation of [Lunr.js](https://lunrjs.com) by [Oliver Nightingale](https://github.com/olivernn).

  > A bit like Solr, but much smaller and not as bright.

  This Python version of Lunr.js aims to bring the simple and powerful full text search
  capabilities into Python guaranteeing results as close as the original
  implementation as possible.

  - [Documentation](http://lunr.readthedocs.io/en/latest/)



  Lunr is a simple full text search solution for situations where deploying a full
  scale solution like Elasticsearch isn't possible, viable or you're simply prototyping.
  Lunr parses a set of documents and creates an inverted index for quick full text
  searches in the same way other more complicated solution.

  The trade-off is that Lunr keeps the inverted index in memory and requires you
  to recreate or read the index at the start of your application.



  A core objective of Lunr.py is to provide
  [interoperability with the JavaScript version](https://lunr.readthedocs.io/en/latest/lunrjs-interop).

  An example can be found in the [MkDocs documentation library](http://www.mkdocs.org/).
  MkDocs produces a set of documents from the pages of the documentation and uses
  [Lunr.js](https://lunrjs.com) in the frontend to power its built-in searching
  engine. This set of documents is in the form of a JSON file which needs to be
  fetched and parsed by Lunr.js to create the inverted index at startup of your application.

  While this is not a problem for most sites, depending on the size of your document
  set, this can take some time.

  Lunr.py provides a backend solution, allowing you to parse the documents in Python
  of time and create a serialized Lunr.js index you can pass have the browser
  version read, minimizing start up time of your application.

  Each version of lunr.py
  [targets a specific version of lunr.js](https://github.com/yeraydiazdiaz/lunr.py/blob/master/lunr/__init__.py#L12)
  and produces the same results for a
  [non-trivial corpus of documents](https://github.com/yeraydiazdiaz/lunr.py/blob/master/tests/acceptance_tests/fixtures/mkdocs_index.json).



  `pip install lunr`

  An optional and experimental support for other languages thanks to the
  [Natural Language Toolkit](http://www.nltk.org/) stemmers is also available via
  `pip install lunr[languages]`. The usage of the language feature is subject to
  [NTLK corpus licensing clauses](https://github.com/nltk/nltk#redistributing).

  Please refer to the
  [documentation page on languages](https://lunr.readthedocs.io/en/latest/languages/)
  for more information.



  First, you'll need a list of dicts representing the documents you want to search on.
  These documents must have a unique field which will serve as a reference and a
  series of fields you'd like to search on.

  Lunr provides a convenience `lunr` function to quickly index this set of documents:

  ```python
  >>> from lunr import lunr
  >>>
  >>> documents = [{
  ...     'id': 'a',
  ...     'title': 'Mr. Green kills Colonel Mustard',
  ...     'body': 'Mr. Green killed Colonel Mustard in the study with the candlestick.',
  ... }, {
  ...     'id': 'b',
  ...     'title': 'Plumb waters plant',
  ...     'body': 'Professor Plumb has a green plant in his study',
  ... }]
  >>> idx = lunr(
  ...     ref='id', fields=('title', 'body'), documents=documents
  ... )
  >>> idx.search('kill')
  [{'ref': 'a', 'score': 0.6931722372559913, 'match_data': <MatchData "kill">}]
  >>> idx.search('study')
  [{'ref': 'b', 'score': 0.23576799568081389, 'match_data': <MatchData "studi">}, {'ref': 'a', 'score': 0.2236629211724517, 'match_data': <MatchData "studi">}]
  ```

  Please refer to the [documentation](http://lunr.readthedocs.io/en/latest/)
  for more usage examples.


pkgId: 305353a4bef9c6f0f0d21353d24b9b83de892b25df5202f267c94bc8673063c8
name: python-lupa
arch: src
version: 1.14.1
epoch: 0
release: 1
summary: Python wrapper around Lua and LuaJIT
url: https://github.com/scoder/lupa
rpm_license: MIT style
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-adf9753c-7d1a-4c71-88ac-bf9b84522a97
location_href: 00004134-python-lupa/python-lupa-1.14.1-1.src.rpm
checksum_type: sha256
description:
  Lupa integrates the runtimes of Lua_ or LuaJIT2_ into CPython.
  It is a partial rewrite of LunaticPython_ in Cython_ with some
  additional features such as proper coroutine support.
  For questions not answered here, please contact the `Lupa mailing list`_.


pkgId: 3331d21f1d9f4b296e37274db00f52ae1d7dcaa679d23c8d281f2786fddc9b91
name: python-lupa-debuginfo
arch: x86_64
version: 1.14.1
epoch: 0
release: 1
summary: Debug information for package python-lupa
url: https://github.com/scoder/lupa
rpm_license: MIT style
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-adf9753c-7d1a-4c71-88ac-bf9b84522a97
rpm_sourcerpm: python-lupa-1.14.1-1.src.rpm
location_href: 00004134-python-lupa/python-lupa-debuginfo-1.14.1-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-lupa.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: 328c197384129dab06c55d57210442c75cca4e4f77fa0aa47184f855edb0ae5e
name: python-lupa-debugsource
arch: x86_64
version: 1.14.1
epoch: 0
release: 1
summary: Debug sources for package python-lupa
url: https://github.com/scoder/lupa
rpm_license: MIT style
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-adf9753c-7d1a-4c71-88ac-bf9b84522a97
rpm_sourcerpm: python-lupa-1.14.1-1.src.rpm
location_href: 00004134-python-lupa/python-lupa-debugsource-1.14.1-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-lupa.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: 30da701d57d7d5fb880cdc61d7ab222ee8dc376003f41d4e5d8bba195ad55cbb
name: python-lyricsgenius
arch: src
version: 3.0.1
epoch: 0
release: 1
summary: Download lyrics and metadata from Genius.com
url: https://github.com/johnwmillr/lyricsgenius
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-836014f2-4873-4ff9-80e7-c4434d7cbab1
location_href: 00010775-python-lyricsgenius/python-lyricsgenius-3.0.1-1.src.rpm
checksum_type: sha256
description:
  [![Build Status](https://travis-ci.org/johnwmillr/LyricsGenius.svg?branch=master)](https://travis-ci.org/johnwmillr/LyricsGenius)
  [![Documentation Status](https://readthedocs.org/projects/lyricsgenius/badge/?version=master)](https://lyricsgenius.readthedocs.io/en/latest/?badge=master)
  [![PyPI version](https://badge.fury.io/py/lyricsgenius.svg)](https://pypi.org/project/lyricsgenius/)
  [![Python version](https://img.shields.io/badge/python-3.x-brightgreen.svg)](https://pypi.org/project/lyricsgenius/)

  `lyricsgenius` provides a simple interface to the song, artist, and lyrics data stored on [Genius.com](https://www.genius.com).

  The full documentation for `lyricsgenius` is available online at [Read the Docs](https://lyricsgenius.readthedocs.io/en/master/).


  Before using this package you'll need to sign up for a (free) account that authorizes access to [the Genius API](http://genius.com/api-clients). The Genius account provides a `access_token` that is required by the package. See the [Usage section](https://github.com/johnwmillr/LyricsGenius#usage) below for examples.


  `lyricsgenius` requires Python 3.

  Use `pip` to install the package from PyPI:

  ```bash
  pip install lyricsgenius
  ```

  Or, install the latest version of the package from GitHub:

  ```bash
  pip install git+https://github.com/johnwmillr/LyricsGenius.git
  ```


  Import the package and initiate Genius:

  ```python
  import lyricsgenius
  genius = lyricsgenius.Genius(token)
  ```

  If you don't pass a token to the `Genius` class, `lyricsgenus` will look for an environment variable called `GENIUS_ACCESS_TOKEN` and attempt to use that for authentication.

  ```python
  genius = Genius()
  ```

  Search for songs by a given artist:

  ```python
  artist = genius.search_artist("Andy Shauf", max_songs=3, sort="title")
  print(artist.songs)
  ```
  By default, the `search_artist()` only returns songs where the given artist is the primary artist.
  However, there may be instances where it is desirable to get all of the songs that the artist appears on.
  You can do this by setting the `include_features` argument to `True`.

  ```python
  artist = genius.search_artist("Andy Shauf", max_songs=3, sort="title", include_features=True)
  print(artist.songs)
  ```

  Search for a single song by the same artist:

  ```python
  song = artist.song("To You")


  print(song.lyrics)
  ```

  Add the song to the artist object:

  ```python
  artist.add_song(song)


  ```

  Save the artist's songs to a JSON file:

  ```python
  artist.save_lyrics()
  ```

  Searching for an album and saving it:

  ```python
  album = genius.search_album("The Party", "Andy Shauf")
  album.save_lyrics()
  ```

  There are various options configurable as parameters within the `Genius` class:

  ```python
  genius.verbose = False # Turn off status messages
  genius.remove_section_headers = True # Remove section headers (e.g. [Chorus]) from lyrics when searching
  genius.skip_non_songs = False # Include hits thought to be non-songs (e.g. track lists)
  genius.excluded_terms = ["(Remix)", "(Live)"] # Exclude songs with these words in their title
  ```

  You can also call the package from the command line:

  ```bash
  export GENIUS_ACCESS_TOKEN="my_access_token_here"
  python3 -m lyricsgenius --help
  ```

  Search for and save lyrics to a given song and album:

  ```bash
  python3 -m lyricsgenius song "Begin Again" "Andy Shauf" --save
  python3 -m lyricsgenius album "The Party" "Andy Shauf" --save
  ```

  Search for five songs by 'The Beatles' and save the lyrics:

  ```bash
  python3 -m lyricsgenius artist "The Beatles" --max-songs 5 --save
  ```



    - [Trucks and Beer: A textual analysis of popular country music](http://www.johnwmillr.com/trucks-and-beer/)
    - [Neural machine translation: Explaining the Meaning Behind Lyrics](https://github.com/tsandefer/dsi_capstone_3)
    - [What makes some blink-182 songs more popular than others?](http://jdaytn.com/posts/download-blink-182-data/)
    - [Sentiment analysis on hip-hop lyrics](https://github.com/Hugo-Nattagh/2017-Hip-Hop)
    - [Does Country Music Drink More Than Other Genres?](https://towardsdatascience.com/does-country-music-drink-more-than-other-genres-a21db901940b)
    - [49 Years of Lyrics: Why So Angry?](https://towardsdatascience.com/49-years-of-lyrics-why-so-angry-1adf0a3fa2b4)


  Please contribute! If you want to fix a bug, suggest improvements, or add new features to the project, just [open an issue](https://github.com/johnwmillr/LyricsGenius/issues) or send me a pull request.


pkgId: b67ab1f1ff30a74692a5df9cdc6749e719364e43c4d2162266a4dfdeed6f3ba8
name: python-lz4-debuginfo
arch: x86_64
version: 4.3.2
epoch: 0
release: 1
summary: Debug information for package python-lz4
url: https://github.com/python-lz4/python-lz4
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-af0a1f18-d0da-4d57-937f-a7fcb65148c7
rpm_sourcerpm: python-lz4-4.3.2-1.src.rpm
location_href: 00004138-python-lz4/python-lz4-debuginfo-4.3.2-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-lz4.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: b91a2280b24998dd41e8b649fed742f21f22965d76bb7dc30ecc53550a9e5d88
name: python-lz4-debugsource
arch: x86_64
version: 4.3.2
epoch: 0
release: 1
summary: Debug sources for package python-lz4
url: https://github.com/python-lz4/python-lz4
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-af0a1f18-d0da-4d57-937f-a7fcb65148c7
rpm_sourcerpm: python-lz4-4.3.2-1.src.rpm
location_href: 00004138-python-lz4/python-lz4-debugsource-4.3.2-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-lz4.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: aaba77d3a4c97f9665f0ec70eed66bafdec782ac00009018372210ddeff93856
name: python-m2cgen
arch: src
version: 0.10.0
epoch: 0
release: 1
summary: Code-generation for various ML models into native code.
url: https://github.com/BayesWitnesses/m2cgen
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-973b7abe-669e-4dfa-869a-a5280183224d
location_href: 00012931-python-m2cgen/python-m2cgen-0.10.0-1.src.rpm
checksum_type: sha256
description:
  [![GitHub Actions Status](https://github.com/BayesWitnesses/m2cgen/workflows/GitHub%20Actions/badge.svg?branch=master)](https://github.com/BayesWitnesses/m2cgen/actions)
  [![Coverage Status](https://codecov.io/gh/BayesWitnesses/m2cgen/branch/master/graph/badge.svg)](https://codecov.io/gh/BayesWitnesses/m2cgen)
  [![License: MIT](https://img.shields.io/github/license/BayesWitnesses/m2cgen.svg)](https://github.com/BayesWitnesses/m2cgen/blob/master/LICENSE)
  [![Python Versions](https://img.shields.io/pypi/pyversions/m2cgen.svg?logo=python&logoColor=white)](https://pypi.org/project/m2cgen)
  [![PyPI Version](https://img.shields.io/pypi/v/m2cgen.svg?logo=pypi&logoColor=white)](https://pypi.org/project/m2cgen)
  [![Downloads](https://pepy.tech/badge/m2cgen)](https://pepy.tech/project/m2cgen)

  **m2cgen** (Model 2 Code Generator) - is a lightweight library which provides an easy way to transpile trained statistical models into a native code (Python, C, Java, Go, JavaScript, Visual Basic, C#, PowerShell, R, PHP, Dart, Haskell, Ruby, F#, Rust, Elixir).

  * [Installation](#installation)
  * [Supported Languages](#supported-languages)
  * [Supported Models](#supported-models)
  * [Classification Output](#classification-output)
  * [Usage](#usage)
  * [CLI](#cli)
  * [FAQ](#faq)


  Supported Python version is >= **3.7**.
  ```
  pip install m2cgen
  ```




  - C
  - C#
  - Dart
  - F#
  - Go
  - Haskell
  - Java
  - JavaScript
  - PHP
  - PowerShell
  - Python
  - R
  - Ruby
  - Rust
  - Visual Basic (VBA-compatible)
  - Elixir



  |  | Classification | Regression |
  | --- | --- | --- |
  | **Linear** | <ul><li>scikit-learn<ul><li>LogisticRegression</li><li>LogisticRegressionCV</li><li>PassiveAggressiveClassifier</li><li>Perceptron</li><li>RidgeClassifier</li><li>RidgeClassifierCV</li><li>SGDClassifier</li></ul></li><li>lightning<ul><li>AdaGradClassifier</li><li>CDClassifier</li><li>FistaClassifier</li><li>SAGAClassifier</li><li>SAGClassifier</li><li>SDCAClassifier</li><li>SGDClassifier</li></ul></li></ul> | <ul><li>scikit-learn<ul><li>ARDRegression</li><li>BayesianRidge</li><li>ElasticNet</li><li>ElasticNetCV</li><li>GammaRegressor</li><li>HuberRegressor</li><li>Lars</li><li>LarsCV</li><li>Lasso</li><li>LassoCV</li><li>LassoLars</li><li>LassoLarsCV</li><li>LassoLarsIC</li><li>LinearRegression</li><li>OrthogonalMatchingPursuit</li><li>OrthogonalMatchingPursuitCV</li><li>PassiveAggressiveRegressor</li><li>PoissonRegressor</li><li>RANSACRegressor(only supported regression estimators can be used as a base estimator)</li><li>Ridge</li><li>RidgeCV</li><li>SGDRegressor</li><li>TheilSenRegressor</li><li>TweedieRegressor</li></ul><li>StatsModels<ul><li>Generalized Least Squares (GLS)</li><li>Generalized Least Squares with AR Errors (GLSAR)</li><li>Generalized Linear Models (GLM)</li><li>Ordinary Least Squares (OLS)</li><li>[Gaussian] Process Regression Using Maximum Likelihood-based Estimation (ProcessMLE)</li><li>Quantile Regression (QuantReg)</li><li>Weighted Least Squares (WLS)</li></ul><li>lightning<ul><li>AdaGradRegressor</li><li>CDRegressor</li><li>FistaRegressor</li><li>SAGARegressor</li><li>SAGRegressor</li><li>SDCARegressor</li><li>SGDRegressor</li></ul></li></ul> |
  | **SVM** | <ul><li>scikit-learn<ul><li>LinearSVC</li><li>NuSVC</li><li>OneClassSVM</li><li>SVC</li></ul></li><li>lightning<ul><li>KernelSVC</li><li>LinearSVC</li></ul></li></ul> | <ul><li>scikit-learn<ul><li>LinearSVR</li><li>NuSVR</li><li>SVR</li></ul></li><li>lightning<ul><li>LinearSVR</li></ul></li></ul> |
  | **Tree** | <ul><li>DecisionTreeClassifier</li><li>ExtraTreeClassifier</li></ul> | <ul><li>DecisionTreeRegressor</li><li>ExtraTreeRegressor</li></ul> |
  | **Random Forest** | <ul><li>ExtraTreesClassifier</li><li>LGBMClassifier(rf booster only)</li><li>RandomForestClassifier</li><li>XGBRFClassifier</li></ul> | <ul><li>ExtraTreesRegressor</li><li>LGBMRegressor(rf booster only)</li><li>RandomForestRegressor</li><li>XGBRFRegressor</li></ul> |
  | **Boosting** | <ul><li>LGBMClassifier(gbdt/dart/goss booster only)</li><li>XGBClassifier(gbtree(including boosted forests)/gblinear booster only)</li><ul> | <ul><li>LGBMRegressor(gbdt/dart/goss booster only)</li><li>XGBRegressor(gbtree(including boosted forests)/gblinear booster only)</li></ul> |

  You can find versions of packages with which compatibility is guaranteed by CI tests [here](https://github.com/BayesWitnesses/m2cgen/blob/master/requirements-test.txt#L1).
  Other versions can also be supported but they are untested.




  Scalar value; signed distance of the sample to the hyperplane for the second class.

  Vector value; signed distance of the sample to the hyperplane per each class.

  The output is consistent with the output of ```LinearClassifierMixin.decision_function```.



  Scalar value; signed distance of the sample to the separating hyperplane: positive for an inlier and negative for an outlier.

  Scalar value; signed distance of the sample to the hyperplane for the second class.

  Vector value; one-vs-one score for each class, shape (n_samples, n_classes * (n_classes-1) / 2).

  The output is consistent with the output of ```BaseSVC.decision_function``` when the `decision_function_shape` is set to `ovo`.



  Vector value; class probabilities.

  Vector value; class probabilities.

  The output is consistent with the output of the `predict_proba` method of `DecisionTreeClassifier` / `ExtraTreeClassifier` / `ExtraTreesClassifier` / `RandomForestClassifier` / `XGBRFClassifier` / `XGBClassifier` / `LGBMClassifier`.



  Here's a simple example of how a linear model trained in Python environment can be represented in Java code:
  ```python
  from sklearn.datasets import load_diabetes
  from sklearn import linear_model
  import m2cgen as m2c

  X, y = load_diabetes(return_X_y=True)

  estimator = linear_model.LinearRegression()
  estimator.fit(X, y)

  code = m2c.export_to_java(estimator)
  ```

  Generated Java code:
  ```java
  public class Model {
      public static double score(double[] input) {
          return ((((((((((152.1334841628965) + ((input[0]) * (-10.012197817470472))) + ((input[1]) * (-239.81908936565458))) + ((input[2]) * (519.8397867901342))) + ((input[3]) * (324.39042768937657))) + ((input[4]) * (-792.1841616283054))) + ((input[5]) * (476.74583782366153))) + ((input[6]) * (101.04457032134408))) + ((input[7]) * (177.06417623225025))) + ((input[8]) * (751.2793210873945))) + ((input[9]) * (67.62538639104406));
      }
  }
  ```

  **You can find more examples of generated code for different models/languages [here](https://github.com/BayesWitnesses/m2cgen/tree/master/generated_code_examples).**



  `m2cgen` can be used as a CLI tool to generate code using serialized model objects (pickle protocol):
  ```
  $ m2cgen <pickle_file> --language <language> [--indent <indent>] [--function_name <function_name>]
           [--class_name <class_name>] [--module_name <module_name>] [--package_name <package_name>]
           [--namespace <namespace>] [--recursion-limit <recursion_limit>]
  ```
  Don't forget that for unpickling serialized model objects their classes must be defined in the top level of an importable module in the unpickling environment.

  Piping is also supported:
  ```
  $ cat <pickle_file> | m2cgen --language <language>
  ```


  **Q: Generation fails with `RecursionError: maximum recursion depth exceeded` error.**

  A: If this error occurs while generating code using an ensemble model, try to reduce the number of trained estimators within that model. Alternatively you can increase the maximum recursion depth with `sys.setrecursionlimit(<new_depth>)`.

  **Q: Generation fails with `ImportError: No module named <module_name_here>` error while transpiling model from a serialized model object.**

  A: This error indicates that pickle protocol cannot deserialize model object. For unpickling serialized model objects, it is required that their classes must be defined in the top level of an importable module in the unpickling environment. So installation of package which provided model's class definition should solve the problem.

  **Q: Generated by m2cgen code provides different results for some inputs compared to original Python model from which the code were obtained.**

  A: Some models force input data to be particular type during prediction phase in their native Python libraries. Currently, m2cgen works only with ``float64`` (``double``) data type. You can try to cast your input data to another type manually and check results again. Also, some small differences can happen due to specific implementation of floating-point arithmetic in a target language.


pkgId: 0c3666150adbaa8fb058cf549ee11a75a3c5c9d50755ed244654126f979adace
name: python-m2r2
arch: src
version: 0.3.3.post2
epoch: 0
release: 1
summary: Markdown and reStructuredText in a single file.
url: https://github.com/crossnox/m2r2
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-abb3528a-1b55-4df6-9201-f78b2de74878
location_href: 00011822-python-m2r2/python-m2r2-0.3.3.post2-1.src.rpm
checksum_type: sha256
description:
  [![PyPI](https://img.shields.io/pypi/v/m2r2.svg)](https://pypi.python.org/pypi/m2r2)
  [![PyPI version](https://img.shields.io/pypi/pyversions/m2r2.svg)](https://pypi.python.org/pypi/m2r2)
  [![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://crossnox.github.io/m2r2)


pkgId: e3eb26c71b167a444843250468b045c86791cfafcaf46093c842555f3341bb67
name: python-magic-wormhole
arch: src
version: 0.12.0
epoch: 0
release: 1
summary: Securely transfer data between computers
url: https://github.com/warner/magic-wormhole
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-0b61d270-c5ad-4444-9e60-82f31c58ddda
location_href: 00004141-python-magic-wormhole/python-magic-wormhole-0.12.0-1.src.rpm
checksum_type: sha256
description:
  [![PyPI](http://img.shields.io/pypi/v/magic-wormhole.svg)](https://pypi.python.org/pypi/magic-wormhole)
  [![Build Status](https://travis-ci.org/warner/magic-wormhole.svg?branch=master)](https://travis-ci.org/warner/magic-wormhole)
  [![Windows Build Status](https://ci.appveyor.com/api/projects/status/mfnn5rsyfnrq576a/branch/master?svg=true)](https://ci.appveyor.com/project/warner/magic-wormhole)
  [![codecov.io](https://codecov.io/github/warner/magic-wormhole/coverage.svg?branch=master)](https://codecov.io/github/warner/magic-wormhole?branch=master)
  [![Docs](https://readthedocs.org/projects/magic-wormhole/badge/?version=latest)](https://magic-wormhole.readthedocs.io)

  Get things from one computer to another, safely.

  This package provides a library and a command-line tool named `wormhole`,
  which makes it possible to get arbitrary-sized files and directories
  (or short pieces of text) from one computer to another. The two endpoints are
  identified by using identical "wormhole codes": in general, the sending
  machine generates and displays the code, which must then be typed into the
  receiving machine.

  The codes are short and human-pronounceable, using a phonetically-distinct
  wordlist. The receiving side offers tab-completion on the codewords, so
  usually only a few characters must be typed. Wormhole codes are single-use
  and do not need to be memorized.

  * PyCon 2016 presentation: [Slides](http://www.lothar.com/~warner/MagicWormhole-PyCon2016.pdf), [Video](https://youtu.be/oFrTqQw0_3c)

  For complete documentation, please see https://magic-wormhole.readthedocs.io
  or the docs/ subdirectory.



  Magic-Wormhole is released under the MIT license, see the `LICENSE` file for details.

  This library is compatible with Python 3.5 and higher (tested against 3.5,
  3.6, 3.7, and 3.8). It also still works with Python 2.7.



  Magic Wormhole packages are included in many operating systems.

  [![Packaging status](https://repology.org/badge/vertical-allrepos/magic-wormhole.svg)](https://repology.org/project/magic-wormhole/versions)

  To install it without an OS package, follow the [Installation docs](https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation).


pkgId: f0ee1c08fe838a1398fd624acd41f5aa193e7ef66617079cc345f7acfa7f7aa0
name: python-magic-wormhole-mailbox-server
arch: src
version: 0.4.1
epoch: 0
release: 1
summary: Securely transfer data between computers
url: https://github.com/warner/magic-wormhole-mailbox-server
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7a99d0a2-b46a-4bad-b2f2-f640f7ae0fb0
location_href: 00004142-python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server-0.4.1-1.src.rpm
checksum_type: sha256
description:
  [![PyPI](http://img.shields.io/pypi/v/magic-wormhole-mailbox-server.svg)](https://pypi.python.org/pypi/magic-wormhole-mailbox-server)
  [![Build Status](https://travis-ci.org/warner/magic-wormhole-mailbox-server.svg?branch=master)](https://travis-ci.org/warner/magic-wormhole-mailbox-server)
  [![Windows Build Status](https://ci.appveyor.com/api/projects/status/mfnn5rsyfnrq576a/branch/master?svg=true)](https://ci.appveyor.com/project/warner/magic-wormhole-mailbox-server)
  [![codecov.io](https://codecov.io/github/warner/magic-wormhole-mailbox-server/coverage.svg?branch=master)](https://codecov.io/github/warner/magic-wormhole-mailbox-server?branch=master)

  This repository holds the code for the main server that
  [Magic-Wormhole](http://magic-wormhole.io) clients connect to. The server
  performs store-and-forward delivery for small key-exchange and control
  messages. Bulk data is sent over a direct TCP connection, or through a
  [transit-relay](https://github.com/warner/magic-wormhole-transit-relay).

  Clients connect with WebSockets, for low-latency delivery in the happy case
  where both clients are attached at the same time. Message are stored to
  enable non-simultaneous clients to make forward progress. The server uses a
  small SQLite database for persistence (and clients will reconnect
  automatically, allowing the server to be rebooted without losing state). An
  optional "usage DB" tracks historical activity for status monitoring and
  operational maintenance.



  ```
  pip install magic-wormhole-mailbox-server
  ```

  You either want to do this into a "user" environment (putting the ``twist``
  and ``twistd`` executables in ``~/.local/bin/``) like this:

  ```
  pip install --user magic-wormhole-mailbox-server
  ```

  or put it into a virtualenv, to avoid modifying the system python's
  libraries, like this:

  ```
  virtualenv venv
  source venv/bin/activate
  pip install magic-wormhole-mailbox-server
  ```

  You probably *don't* want to use ``sudo`` when you run ``pip``, since the
  dependencies that get installed may conflict with other python programs on
  your computer. ``pipsi`` is usually a good way to install into isolated
  environments, but unfortunately it doesn't work for
  magic-wormhole-mailbox-server, because we don't have a dedicated command to
  start the server (``twist``, described below, comes from the ``twisted``
  package, and pipsi doesn't expose executables from dependencies).

  For the installation from source, ``clone`` this repo, ``cd`` into the folder,
  create and activate a virtualenv, and run ``pip install .``.



  Note that the standard [Magic-Wormhole](http://magic-wormhole.io)
  command-line tool is preconfigured to use a mailbox server hosted by the
  project, so running your own server is only necessary for custom applications
  that use magic-wormhole as a library.

  The mailbox server is deployed as a twist/twistd plugin. Running a basic
  server looks like this:

  ```
  twist wormhole-mailbox --usage-db=usage.sqlite
  ```

  Use ``twist wormhole-mailbox --help`` for more details.

  If you use the default ``--port=tcp:4000``, on a machine named
  ``example.com``, then clients can reach your server with the following
  option:

  ```
  wormhole --relay-url=ws://example.com:4000/v1 send FILENAME
  ```



  This library is released under the MIT license, see LICENSE for details.

  This library is compatible with python2.7, and python3 (3.5 and higher).


pkgId: 260c1e99d4efaa212e977d82f82b79c783a8fdf1b25a0fcdce1ceea0d46afcea
name: python-magic-wormhole-mailbox-server-help
arch: noarch
version: 0.4.1
epoch: 0
release: 1
summary: Development documents and examples for magic-wormhole-mailbox-server
url: https://github.com/warner/magic-wormhole-mailbox-server
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7a99d0a2-b46a-4bad-b2f2-f640f7ae0fb0
rpm_sourcerpm: python-magic-wormhole-mailbox-server-0.4.1-1.src.rpm
checksum_type: sha256
description:
  [![PyPI](http://img.shields.io/pypi/v/magic-wormhole-mailbox-server.svg)](https://pypi.python.org/pypi/magic-wormhole-mailbox-server)
  [![Build Status](https://travis-ci.org/warner/magic-wormhole-mailbox-server.svg?branch=master)](https://travis-ci.org/warner/magic-wormhole-mailbox-server)
  [![Windows Build Status](https://ci.appveyor.com/api/projects/status/mfnn5rsyfnrq576a/branch/master?svg=true)](https://ci.appveyor.com/project/warner/magic-wormhole-mailbox-server)
  [![codecov.io](https://codecov.io/github/warner/magic-wormhole-mailbox-server/coverage.svg?branch=master)](https://codecov.io/github/warner/magic-wormhole-mailbox-server?branch=master)

  This repository holds the code for the main server that
  [Magic-Wormhole](http://magic-wormhole.io) clients connect to. The server
  performs store-and-forward delivery for small key-exchange and control
  messages. Bulk data is sent over a direct TCP connection, or through a
  [transit-relay](https://github.com/warner/magic-wormhole-transit-relay).

  Clients connect with WebSockets, for low-latency delivery in the happy case
  where both clients are attached at the same time. Message are stored to
  enable non-simultaneous clients to make forward progress. The server uses a
  small SQLite database for persistence (and clients will reconnect
  automatically, allowing the server to be rebooted without losing state). An
  optional "usage DB" tracks historical activity for status monitoring and
  operational maintenance.



  ```
  pip install magic-wormhole-mailbox-server
  ```

  You either want to do this into a "user" environment (putting the ``twist``
  and ``twistd`` executables in ``~/.local/bin/``) like this:

  ```
  pip install --user magic-wormhole-mailbox-server
  ```

  or put it into a virtualenv, to avoid modifying the system python's
  libraries, like this:

  ```
  virtualenv venv
  source venv/bin/activate
  pip install magic-wormhole-mailbox-server
  ```

  You probably *don't* want to use ``sudo`` when you run ``pip``, since the
  dependencies that get installed may conflict with other python programs on
  your computer. ``pipsi`` is usually a good way to install into isolated
  environments, but unfortunately it doesn't work for
  magic-wormhole-mailbox-server, because we don't have a dedicated command to
  start the server (``twist``, described below, comes from the ``twisted``
  package, and pipsi doesn't expose executables from dependencies).

  For the installation from source, ``clone`` this repo, ``cd`` into the folder,
  create and activate a virtualenv, and run ``pip install .``.



  Note that the standard [Magic-Wormhole](http://magic-wormhole.io)
  command-line tool is preconfigured to use a mailbox server hosted by the
  project, so running your own server is only necessary for custom applications
  that use magic-wormhole as a library.

  The mailbox server is deployed as a twist/twistd plugin. Running a basic
  server looks like this:

  ```
  twist wormhole-mailbox --usage-db=usage.sqlite
  ```

  Use ``twist wormhole-mailbox --help`` for more details.

  If you use the default ``--port=tcp:4000``, on a machine named
  ``example.com``, then clients can reach your server with the following
  option:

  ```
  wormhole --relay-url=ws://example.com:4000/v1 send FILENAME
  ```



  This library is released under the MIT license, see LICENSE for details.

  This library is compatible with python2.7, and python3 (3.5 and higher).

location_href:
  00004142-python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server-help-0.4.1-1.noarch.rpm


pkgId: f744189f6978ac8dc8dc1ade27dee2a696005586b5647e0ffbd53df9389b6065
name: python-magic-wormhole-mailbox-server-help
arch: noarch
version: 0.4.1
epoch: 0
release: 1
summary: Development documents and examples for magic-wormhole-mailbox-server
url: https://github.com/warner/magic-wormhole-mailbox-server
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-4f5c87d6-9b7d-462d-95c0-cd025bd743a6
rpm_sourcerpm: python-magic-wormhole-mailbox-server-0.4.1-1.src.rpm
checksum_type: sha256
description:
[cell repeats an earlier one in this file: 3359 characters]

location_href:
  00007486-python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server-help-0.4.1-1.noarch.rpm


pkgId: 8967387dd1f6a7a9165a524dbd8616508ba8a5bb35735c4d66b542bd8246a94e
name: python-magic-wormhole-transit-relay-help
arch: noarch
version: 0.2.1
epoch: 0
release: 1
summary: Development documents and examples for magic-wormhole-transit-relay
url: https://github.com/warner/magic-wormhole-transit-relay
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-3e7fab77-6acc-4229-a15c-9af5fc20614a
rpm_sourcerpm: python-magic-wormhole-transit-relay-0.2.1-1.src.rpm
checksum_type: sha256
location_href:
  00004143-python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay-help-0.2.1-1.noarch.rpm


pkgId: 80e3c3c334778ac45846b47ace749ba9bca0e5680830d990040250416866c49b
name: python-magic-wormhole-transit-relay-help
arch: noarch
version: 0.2.1
epoch: 0
release: 1
summary: Development documents and examples for magic-wormhole-transit-relay
url: https://github.com/warner/magic-wormhole-transit-relay
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-67e141b2-4f01-4ff3-99a9-b028c914947d
rpm_sourcerpm: python-magic-wormhole-transit-relay-0.2.1-1.src.rpm
checksum_type: sha256
location_href:
  00007487-python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay-help-0.2.1-1.noarch.rpm


pkgId: 7cd41c05f197bba9ddd2e38cd3e6321ff543c1fd1c91c8afb54ece90ef65b175
name: python-mail-parser
arch: src
version: 3.15.0
epoch: 0
release: 1
summary: Wrapper for email standard library
url: https://github.com/SpamScope/mail-parser
rpm_license: Apache License, Version 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-bf72c384-f968-442e-915b-beef4a71222f
location_href: 00011327-python-mail-parser/python-mail-parser-3.15.0-1.src.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/mail-parser.svg)](https://badge.fury.io/py/mail-parser)
  [![Build Status](https://travis-ci.org/SpamScope/mail-parser.svg?branch=develop)](https://travis-ci.org/SpamScope/mail-parser)
  [![Coverage Status](https://coveralls.io/repos/github/SpamScope/mail-parser/badge.svg?branch=develop)](https://coveralls.io/github/SpamScope/mail-parser?branch=develop)
  [![BCH compliance](https://bettercodehub.com/edge/badge/SpamScope/mail-parser?branch=develop)](https://bettercodehub.com/)
  [![](https://images.microbadger.com/badges/image/fmantuano/spamscope-mail-parser.svg)](https://microbadger.com/images/fmantuano/spamscope-mail-parser "Get your own image badge on microbadger.com")

  ![SpamScope](https://raw.githubusercontent.com/SpamScope/spamscope/develop/docs/logo/spamscope.png)



  mail-parser is not only a wrapper for [email](https://docs.python.org/2/library/email.message.html) Python Standard Library.
  It give you an easy way to pass from raw mail to Python object that you can use in your code.
  It's the key module of [SpamScope](https://github.com/SpamScope/spamscope).

  mail-parser can parse Outlook email format (.msg). To use this feature, you need to install `libemail-outlook-message-perl` package. For Debian based systems:

  ```
  $ apt-get install libemail-outlook-message-perl
  ```

  For more details:

  ```
  $ apt-cache show libemail-outlook-message-perl
  ```

  mail-parser supports Python 3.



  mail-parser can be downloaded, used, and modified free of charge. It is available under the Apache 2 license.

  If you want support the project:


  [![Donate](https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif "Donate")](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VEPXYP745KJF2)

  ![Bitcoin Donate](https://i.stack.imgur.com/MnQ6V.png)

  ![](https://github.com/SpamScope/mail-parser/raw/develop/docs/bitcoin-qrcode.png)



   - [Splunk app](https://splunkbase.splunk.com/app/4129/)
   - [FreeBSD port](https://www.freshports.org/mail/py-mail-parser/)
   - [Arch User Repository](https://aur.archlinux.org/packages/mailparser/)




  mail-parser takes as input a raw email and generates a parsed object. The properties of this object are the same name of
  [RFC headers](https://www.iana.org/assignments/message-headers/message-headers.xhtml):

    - bcc
    - cc
    - date
    - delivered_to
    - from\_ (not `from` because is a keyword of Python)
    - message_id
    - received
    - reply_to
    - subject
    - to

  There are other properties to get:
    - body
    - body html
    - body plain
    - headers
    - attachments
    - sender IP address
    - to domains
    - timezone

  The `attachments` property is a list of objects. Every object has the following keys:
    - binary: it's true if the attachment is a binary
    - charset
    - content_transfer_encoding
    - content-disposition
    - content-id
    - filename
    - mail_content_type
    - payload: attachment payload in base64

  To get custom headers you should replace "-" with "\_".
  Example for header `X-MSMail-Priority`:

  ```
  $ mail.X_MSMail_Priority
  ```

  The `received` header is parsed and splitted in hop. The fields supported are:
   - by
   - date
   - date_utc
   - delay (between two hop)
   - envelope_from
   - envelope_sender
   - for
   - from
   - hop
   - with


  mail-parser can detect defect in mail:
    - [defects](https://docs.python.org/2/library/email.message.html#email.message.Message.defects): mail with some not compliance RFC part

  All properties have a JSON and raw property that you can get with:
   - name_json
   - name_raw

  Example:

  ```
  $ mail.to (Python object)
  $ mail.to_json (JSON)
  $ mail.to_raw (raw header)
  ```

  The command line tool use the JSON format.


  These defects can be used to evade the antispam filter. An example are the mails with a malformed boundary that can hide a not legitimate epilogue (often malware).
  This library can take these epilogues.





  **Fedele Mantuano**: [LinkedIn](https://www.linkedin.com/in/fmantuano/)




  Clone repository

  ```
  git clone https://github.com/SpamScope/mail-parser.git
  ```

  and install mail-parser with `setup.py`:

  ```
  $ cd mail-parser

  $ python setup.py install
  ```

  or use `pip`:

  ```
  $ pip install mail-parser
  ```



  Import `mailparser` module:

  ```
  import mailparser

  mail = mailparser.parse_from_bytes(byte_mail)
  mail = mailparser.parse_from_file(f)
  mail = mailparser.parse_from_file_msg(outlook_mail)
  mail = mailparser.parse_from_file_obj(fp)
  mail = mailparser.parse_from_string(raw_mail)
  ```

  Then you can get all parts

  ```
  mail.attachments: list of all attachments
  mail.body
  mail.date: datetime object in UTC
  mail.defects: defect RFC not compliance
  mail.defects_categories: only defects categories
  mail.delivered_to
  mail.from_
  mail.get_server_ipaddress(trust="my_server_mail_trust")
  mail.headers
  mail.mail: tokenized mail in a object
  mail.message: email.message.Message object
  mail.message_as_string: message as string
  mail.message_id
  mail.received
  mail.subject
  mail.text_plain: only text plain mail parts in a list
  mail.text_html: only text html mail parts in a list
  mail.text_not_managed: all not managed text (check the warning logs to find content subtype)
  mail.to
  mail.to_domains
  mail.timezone: returns the timezone, offset from UTC
  mail.mail_partial: returns only the mains parts of emails
  ```

  It's possible to write the attachments on disk with the method:

  ```
  mail.write_attachments(base_path)
  ```



  If you installed mailparser with `pip` or `setup.py` you can use it with command-line.

  These are all swithes:

  ```
  usage: mailparser [-h] (-f FILE | -s STRING | -k)
                     [-l {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}] [-j] [-b]
                     [-a] [-r] [-t] [-dt] [-m] [-u] [-c] [-d] [-o]
                     [-i Trust mail server string] [-p] [-z] [-v]

  Wrapper for email Python Standard Library

  optional arguments:
    -h, --help            show this help message and exit
    -f FILE, --file FILE  Raw email file (default: None)
    -s STRING, --string STRING
                          Raw email string (default: None)
    -k, --stdin           Enable parsing from stdin (default: False)
    -l {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}, --log-level {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}
                          Set log level (default: WARNING)
    -j, --json            Show the JSON of parsed mail (default: False)
    -b, --body            Print the body of mail (default: False)
    -a, --attachments     Print the attachments of mail (default: False)
    -r, --headers         Print the headers of mail (default: False)
    -t, --to              Print the to of mail (default: False)
    -dt, --delivered-to   Print the delivered-to of mail (default: False)
    -m, --from            Print the from of mail (default: False)
    -u, --subject         Print the subject of mail (default: False)
    -c, --receiveds       Print all receiveds of mail (default: False)
    -d, --defects         Print the defects of mail (default: False)
    -o, --outlook         Analyze Outlook msg (default: False)
    -i Trust mail server string, --senderip Trust mail server string
                          Extract a reliable sender IP address heuristically
                          (default: None)
    -p, --mail-hash       Print mail fingerprints without headers (default:
                          False)
    -z, --attachments-hash
                          Print attachments with fingerprints (default: False)
    -sa, --store-attachments
                          Store attachments on disk (default: False)
    -ap ATTACHMENTS_PATH, --attachments-path ATTACHMENTS_PATH
                          Path where store attachments (default: /tmp)
    -v, --version         show program's version number and exit

  It takes as input a raw mail and generates a parsed object.
  ```

  Example:

  ```shell
  $ mailparser -f example_mail -j
  ```

  This example will show you the tokenized mail in a JSON pretty format.

  From [raw mail](https://gist.github.com/fedelemantuano/5dd702004c25a46b2bd60de21e67458e) to
  [parsed mail](https://gist.github.com/fedelemantuano/e958aa2813c898db9d2d09469db8e6f6).




  Exceptions hierarchy of mail-parser:

  ```
  MailParserError: Base MailParser Exception
  |
  \── MailParserOutlookError: Raised with Outlook integration errors
  |
  \── MailParserEnvironmentError: Raised when the environment is not correct
  |
  \── MailParserOSError: Raised when there is an OS error
  |
  \── MailParserReceivedParsingError: Raised when a received header cannot be parsed
  ```


pkgId: 57d013d9f5de0f25e9afe4affda73b4ad2db919f86fadf36509fbb6057f10dd1
name: python-mailer
arch: src
version: 0.8.1
epoch: 0
release: 1
summary: A module to send email simply in Python
url: https://bitbucket.org/ginstrom/mailer
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-4d93e312-dc39-47f6-94c8-47f69a67374b
location_href: 00004146-python-mailer/python-mailer-0.8.1-1.src.rpm
checksum_type: sha256
description:
  The API for Mailer.To is changed. Use a string to specify a single recipient,
  and an iterable to specify more than one.


pkgId: 8cd28a03a4100d99c97c6a42bf4fe0a32c14d1d727ff2127f4061cd5e8d880d5
name: python-mailmerge
arch: src
version: 2.2.1
epoch: 0
release: 1
summary: A simple, command line mail merge tool
url: https://github.com/awdeorio/mailmerge/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-d74c4ca0-5d14-4c44-bee0-34a0b32f7417
location_href: 00004147-python-mailmerge/python-mailmerge-2.2.1-1.src.rpm
checksum_type: sha256
description:
  [![CI main](https://github.com/awdeorio/mailmerge/workflows/CI/badge.svg?branch=develop)](https://github.com/awdeorio/mailmerge/actions?query=branch%3Adevelop)
  [![codecov](https://codecov.io/gh/awdeorio/mailmerge/branch/develop/graph/badge.svg)](https://codecov.io/gh/awdeorio/mailmerge)
  [![PyPI](https://img.shields.io/pypi/v/mailmerge.svg)](https://pypi.org/project/mailmerge/)
  A simple, command line mail merge tool.
  `mailmerge` uses plain text files and the [jinja2 template engine](http://jinja.pocoo.org/docs/latest/templates/).
  **Table of Contents**
  - [Quickstart](#quickstart)
  - [Install](#install)
  - [Example](#example)
  - [Advanced template example](#advanced-template-example)
  - [HTML formatting](#html-formatting)
  - [Markdown formatting](#markdown-formatting)
  - [Attachments](#attachments)
  - [Inline Image Attachments](#inline-image-attachments)
  - [Contributing](#contributing)
  - [Acknowledgements](#acknowledgements)

  ```console
  $ pip install mailmerge
  $ mailmerge
  ```
  `mailmerge` will guide you through the process.  Don't worry, it won't send real emails by default.

  System-wide install.
  ```console
  $ pip install mailmerge
  ```
  System-wide install requiring administrator privileges.  Use this if you get a `Permission denied` error.
  ```console
  $ sudo pip install mailmerge
  ```
  Fedora package install.
  ```console
  $ sudo dnf install python3-mailmerge
  ```

  This example will walk you through the steps for creating a template email, database and STMP server configuration.  Then, it will show how to test it before sending real emails.

  ```console
  $ mailmerge --sample
  Created sample template email "mailmerge_template.txt"
  Created sample database "mailmerge_database.csv"
  Created sample config file "mailmerge_server.conf"
  Edit these files, then run mailmerge again.
  ```

  The defaults are set up for GMail.  Be sure to change your username.  If you use 2-factor authentication, create an [app password](https://support.google.com/accounts/answer/185833?hl=en) first.  Other configuration examples are in the comments of `mailmerge_server.conf`.
  **Pro-tip:** SSH or VPN into your network first.  Running mailmerge from the same network as the SMTP server can help you avoid spam filters and server throttling.  This tip doesn't apply to Gmail.
  ```
  [smtp_server]
  host = smtp.gmail.com
  port = 465
  security = SSL/TLS
  username = YOUR_USERNAME_HERE
  ```

  The `TO`, `SUBJECT`, and `FROM` fields are required.  The remainder is the body of the message.  Use `{{ }}` to indicate customized parameters that will be read from the database.  For example, `{{email}}` will be filled in from the `email` column of `mailmerge_database.csv`.
  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  Hi, {{name}},
  Your number is {{number}}.
  ```

  Notice that the first line is a header that matches the parameters in the template example, for example, `{{email}}`.
  **Pro-tip**: Add yourself as the first recipient.  This is helpful for testing.
  ```
  email,name,number
  myself@mydomain.com,"Myself",17
  bob@bobdomain.com,"Bob",42
  ```

  First, dry run one email message (`mailmerge` defaults).  This will fill in the template fields of the first email message and print it to the terminal.
  ```console
  $ mailmerge
  >>> message 1
  TO: myself@mydomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: text/plain; charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  Date: Thu, 19 Dec 2019 19:49:11 -0000
  Hi, Myself,
  Your number is 17.
  >>> sent message 1
  >>> Limit was 1 message.  To remove the limit, use the --no-limit option.
  >>> This was a dry run.  To send messages, use the --no-dry-run option.
  ```
  If this looks correct, try a second dry run, this time with all recipients using the `--no-limit` option.
  ```console
  $ mailmerge --no-limit
  >>> message 1
  TO: myself@mydomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: text/plain; charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  Date: Thu, 19 Dec 2019 19:49:33 -0000
  Hi, Myself,
  Your number is 17.
  >>> sent message 1
  >>> message 2
  TO: bob@bobdomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: text/plain; charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  Date: Thu, 19 Dec 2019 19:49:33 -0000
  Hi, Bob,
  Your number is 42.
  >>> sent message 2
  >>> This was a dry run.  To send messages, use the --no-dry-run option.
  ```

  We're being extra careful in this example to avoid sending spam, so next we'll send *only one real email* (`mailmerge` default).  Recall that you added yourself as the first email recipient.
  ```console
  $ mailmerge --no-dry-run
  >>> message 1
  TO: myself@mydomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: text/plain; charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  Date: Thu, 19 Dec 2019 19:50:24 -0000
  Hi, Myself,
  Your number is 17.
  >>> sent message 1
  >>> Limit was 1 message.  To remove the limit, use the --no-limit option.
  ```
  You may have to type your email password when prompted. (If you use GMail with 2-factor authentication, don't forget to use the [app password](https://support.google.com/accounts/answer/185833?hl=en) you created while [setting up the SMTP server config](#edit-the-smtp-server-config-mailmerge_serverconf).)
  Now, check your email and make sure the message went through.  If everything looks OK, then it's time to send all the messages.

  ```console
  $ mailmerge --no-dry-run --no-limit
  >>> message 1
  TO: myself@mydomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: text/plain; charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  Date: Thu, 19 Dec 2019 19:51:01 -0000
  Hi, Myself,
  Your number is 17.
  >>> sent message 1
  >>> message 2
  TO: bob@bobdomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: text/plain; charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  Date: Thu, 19 Dec 2019 19:51:01 -0000
  Hi, Bob,
  Your number is 42.
  >>> sent message 2
  ```

  This example will send progress reports to students.  The template uses more of the advanced features of the [jinja2 template engine documentation](http://jinja.pocoo.org/docs/latest/templates/) to customize messages to students.

  ```
  TO: {{email}}
  SUBJECT: EECS 280 Mid-semester Progress Report
  FROM: My Self <myself@mydomain.com>
  Dear {{name}},
  This email contains our record of your grades EECS 280, as well as an estimated letter grade.
  Project 1: {{p1}}
  Project 2: {{p2}}
  Project 3: {{p3}}
  Midterm exam: {{midterm}}
  At this time, your estimated letter grade is {{grade}}.
  {% if grade == "C-" -%}
  I am concerned that if the current trend in your scores continues, you will be on the border of the pass/fail line.
  I have a few suggestions for the rest of the semester.  First, it is absolutely imperative that you turn in all assignments.  Attend lecture and discussion sections.  Get started early on the programming assignments and ask for help.  Finally, plan a strategy to help you prepare well for the final exam.
  The good news is that we have completed about half of the course grade, so there is an opportunity to fix this problem.  The other professors and I are happy to discuss strategies together during office hours.
  {% elif grade in ["D+", "D", "D-", "E", "F"] -%}
  I am writing because I am concerned about your grade in EECS 280.  My concern is that if the current trend in your scores continues, you will not pass the course.
  If you plan to continue in the course, I urge you to see your instructor in office hours to discuss a plan for the remainder of the semester.  Otherwise, if you plan to drop the course, please see your academic advisor.
  {% endif -%}
  ```

  Again, we'll use the best practice of making yourself the first recipient, which is helpful for testing.
  ```
  email,name,p1,p2,p3,midterm,grade
  myself@mydomain.com,"My Self",100,100,100,100,A+
  borderline@fixme.com,"Borderline Name",50,50,50,50,C-
  failing@fixme.com,"Failing Name",0,0,0,0,F
  ```

  Mailmerge supports HTML formatting.

  This example will use HTML to format an email.  Add `Content-Type: text/html` just under the email headers, then begin your message with `<html>`.

  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  Content-Type: text/html
  <html>
  <body>
  <p>Hi, {{name}},</p>
  <p>Your number is {{number}}.</p>
  <p>Sent by <a href="https://github.com/awdeorio/mailmerge">mailmerge</a></p>
  </body>
  </html>
  ```

  This example shows how to provide both HTML and plain text versions in the same message.  A user's mail reader can select either one.

  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  MIME-Version: 1.0
  Content-Type: multipart/alternative; boundary="boundary"
  This is a MIME-encoded message. If you are seeing this, your mail
  reader is old.
  --boundary
  Content-Type: text/plain; charset=us-ascii
  Hi, {{name}},
  Your number is {{number}}.
  Sent by mailmerge https://github.com/awdeorio/mailmerge
  --boundary
  Content-Type: text/html; charset=us-ascii
  <html>
  <body>
  <p>Hi, {{name}},</p>
  <p>Your number is {{number}}.</p>
  <p>Sent by <a href="https://github.com/awdeorio/mailmerge">mailmerge</a></p>
  </body>
  </html>
  ```

  Mailmerge supports [Markdown](https://daringfireball.net/projects/markdown/syntax) formatting by including the custom custom header `Content-Type: text/markdown` in the message. Mailmerge will render the markdown to HTML, then include both HTML and plain text versions in a multiplart message. A recipient's mail reader can then select either format.

  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  CONTENT-TYPE: text/markdown
  You can add:
  - Emphasis, aka italics, with *asterisks*.
  - Strong emphasis, aka bold, with **asterisks**.
  - Combined emphasis with **asterisks and _underscores_**.
  - Unordered lists like this one.
  - Ordered lists with numbers:
      1. Item 1
      2. Item 2
  - Preformatted text with `backticks`.
  - How about some [hyperlinks](http://bit.ly/eecs485-wn19-p6)?


  Here's an image not attached with the email:
  ![python logo not attached](http://pluspng.com/img-png/python-logo-png-open-2000.png)
  ```

  This example shows how to add attachments with a special `ATTACHMENT` header.

  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  ATTACHMENT: file1.docx
  ATTACHMENT: ../file2.pdf
  ATTACHMENT: /z/shared/{{name}}_submission.txt
  Hi, {{name}},
  This email contains three attachments.
  Pro-tip: Use Jinja to customize the attachments based on your database!
  ```
  Dry run to verify attachment files exist. If an attachment filename includes a template, it's a good idea to dry run with the `--no-limit` flag.
  ```console
  $ mailmerge
  >>> message 1
  TO: myself@mydomain.com
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  Hi, Myself,
  This email contains three attachments.
  Pro-tip: Use Jinja to customize the attachments based on your database!
  >>> attached /Users/awdeorio/Documents/test/file1.docx
  >>> attached /Users/awdeorio/Documents/file2.pdf
  >>> attached /z/shared/Myself_submission.txt
  >>> sent message 1
  >>> This was a dry run.  To send messages, use the --no-dry-run option.
  ```

  This example shows how to add inline-image-attachments so that the images are rendered directly in the email body. You **must** add the inline-image as an attachment before referencing it in the body.

  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  Content-Type: text/html
  ATTACHMENT: image.jpg
  ATTACHMENT: second/image.jpg
  <html>
  <body>
  <p>Hi, {{name}},</p>
  <img alt="Sample image" src="image.jpg" />
  The second image: <img alt="second" src="second/image.jpg">
  <p>Sent by <a href="https://github.com/awdeorio/mailmerge">mailmerge</a></p>
  </body>
  </html>
  ```

  ```
  TO: {{email}}
  SUBJECT: Testing mailmerge
  FROM: My Self <myself@mydomain.com>
  ATTACHMENT: image.jpg
  CONTENT-TYPE: text/markdown
  Hi, {{name}},
  ![image alt-description](image.jpg)
  ```

  Contributions from the community are welcome! Check out the [guide for contributing](CONTRIBUTING.md).

  Mailmerge is written by Andrew DeOrio <awdeorio@umich.edu>, [http://andrewdeorio.com](http://andrewdeorio.com).  Sesh Sadasivam (@seshrs) contributed many features and bug fixes.


pkgId: fbea4793f0ea66a9e59bfc09914cda7615704e89fb0f33cd2da16cef1a13dff0
name: python-makeelf
arch: src
version: 0.3.4
epoch: 0
release: 1
summary: ELF reader-writer library
url: https://github.com/v3l0c1r4pt0r/makeelf
rpm_license: GNU General Public License v3 (GPLv3)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-bfdfa6be-9e03-4160-a283-06cc38661a91
location_href: 00004148-python-makeelf/python-makeelf-0.3.4-1.src.rpm
checksum_type: sha256
description:
  MakeELF is a Python library to parse, modify and create ELF binaries. It provides following features:

   - easy to use, standard Python interface
   - reading existing ELF files to Python representation
   - modification of every aspect of ELF format structures
   - ability to skip any validation to test other parsers for potential errors
   - creating new valid ELF files with just one step
   - easy serialization of every structure present in ELF file


pkgId: ee194f6fa22c6f316e4b3350a81dff0a44c98ffacd1d40e08d92c975eb90bb4a
name: python-makefun
arch: src
version: 1.15.1
epoch: 0
release: 1
summary: Small library to dynamically create python functions.
url: https://github.com/smarie/python-makefun
rpm_license: BSD 3-Clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-bf3653de-e9d9-4a48-bea9-ccf58cb2f453
location_href: 00004149-python-makefun/python-makefun-1.15.1-1.src.rpm
checksum_type: sha256
description:
  [![Python versions](https://img.shields.io/pypi/pyversions/makefun.svg)](https://pypi.python.org/pypi/makefun/) [![Build Status](https://github.com/smarie/python-makefun/actions/workflows/base.yml/badge.svg)](https://github.com/smarie/python-makefun/actions/workflows/base.yml) [![Tests Status](https://smarie.github.io/python-makefun/reports/junit/junit-badge.svg?dummy=8484744)](https://smarie.github.io/python-makefun/reports/junit/report.html) [![Coverage Status](https://smarie.github.io/python-makefun/reports/coverage/coverage-badge.svg?dummy=8484744)](https://smarie.github.io/python-makefun/reports/coverage/index.html) [![codecov](https://codecov.io/gh/smarie/python-makefun/branch/main/graph/badge.svg)](https://codecov.io/gh/smarie/python-makefun) [![Flake8 Status](https://smarie.github.io/python-makefun/reports/flake8/flake8-badge.svg?dummy=8484744)](https://smarie.github.io/python-makefun/reports/flake8/index.html)

  [![Documentation](https://img.shields.io/badge/doc-latest-blue.svg)](https://smarie.github.io/python-makefun/) [![PyPI](https://img.shields.io/pypi/v/makefun.svg)](https://pypi.python.org/pypi/makefun/) [![Downloads](https://pepy.tech/badge/makefun)](https://pepy.tech/project/makefun) [![Downloads per week](https://pepy.tech/badge/makefun/week)](https://pepy.tech/project/makefun) [![GitHub stars](https://img.shields.io/github/stars/smarie/python-makefun.svg)](https://github.com/smarie/python-makefun/stargazers)

  Small library to dynamically create python functions.

  The documentation for users is available here: [https://smarie.github.io/python-makefun/](https://smarie.github.io/python-makefun/)

  A readme for developers is available here: [https://github.com/smarie/python-makefun](https://github.com/smarie/python-makefun)


pkgId: 426414daa1ffb7809e033a4a4d6911830bb0907322e5c5a2c3c44d2067499176
name: python-maltego-trx
arch: src
version: 1.6.0
epoch: 0
release: 1
summary: Python library used to develop Maltego transforms
url: https://github.com/paterva/maltego-trx/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-6422ecb9-116c-4e4e-b03c-9e51b88c4b2e
location_href: 00012890-python-maltego-trx/python-maltego-trx-1.6.0-1.src.rpm
checksum_type: sha256
description:
  [![Runs with Python3.6 - Python3.10](https://github.com/paterva/maltego-trx/actions/workflows/pythonx-boot-check.yaml/badge.svg)](https://github.com/paterva/maltego-trx/actions/workflows/pythonx-boot-check.yaml)
  [![PyTest with Python3.6 - Python3.10](https://github.com/paterva/maltego-trx/actions/workflows/pythonx-pytest.yaml/badge.svg)](https://github.com/paterva/maltego-trx/actions/workflows/pythonx-pytest.yaml)
  [![Sonatype Jake](https://github.com/paterva/maltego-trx/actions/workflows/sonatype-jack.yml/badge.svg)](https://github.com/paterva/maltego-trx/actions/workflows/sonatype-jack.yml)



  __1.6.0__: Automatically generate am `.mtz` for your local transforms

  __1.5.2__: Add logging output for invalid / missing params in xml serialization

  __1.5.1__: Add ignored files to starter and use README for pypi

  __1.5.0__: XML Serialization via `ElementTree` instead of string interpolation

  __1.4.4__: Added skeletons for csv export in template dir and made project.py application import compatible with docs

  __1.4.0 + 1.4.1:__ Both versions are incompatible with python3.7 and lower.

  __1.4.2__: Fixed python3.6 incompatibility



  _Note: Support for Python 2 has been officially discontinued as of July 2021. Please use Python 3.6 or higher to use
  up-to-date versions of Maltego TRX._

  To install the trx library run the following command:

  ``` bash
  pip install maltego-trx
  ```

  After installing, you can create a new project by running the following command:

  ``` bash
  maltego-trx start new_project
  ```

  This will create a folder new_project with the recommended project structure.

  If you want to copy the starter files to your current directory, run the following command:

  ```bash
  maltego-trx init
  ```

  Alternatively, you can copy either the `gunicorn` or `apache` example projects from the `demo` directory. These also
  include Dockerfile and corresponding docker-compose configuration files for production deployment.

  **Adding a Transform:**

  Add a new transform by creating a new python file in the "transforms" folder of your directory.

  Any file in the folder where the **class name matches the filename**, and the class inherits from Transform, will
  automatically be discovered and added to your server.

  A simple transform would look like the following:

  `new_project/transforms/GreetPerson.py`

  ``` python
  from maltego_trx.entities import Phrase
  from maltego_trx.transform import DiscoverableTransform


  class GreetPerson(DiscoverableTransform):
      """
      Returns a phrase greeting a person on the graph.
      """

      @classmethod
      def create_entities(cls, request, response):
          person_name = request.Value

          response.addEntity(Phrase, "Hi %s, nice to meet you!" % person_name)
  ```





  You can start the development server, by running the following command:

  ``` bash
  python project.py runserver
  ```

  This will start up a development server that automatically reloads every time the code is changed.



  You can run a gunicorn transform server, after installing gunicorn on the host machine and then running the command:

  ``` bash
  gunicorn --bind=0.0.0.0:8080 --threads=25 --workers=2 project:application
  ```

  *For publicly accessible servers, it is recommended to run your Gunicorn server behind proxy servers such as Nginx.*



  The `demo` folder provides an example project. The Docker files given can be used to set up and run your project in
  Docker.

  The Dockerfile and docker-compose file can be used to easily set up and run a development transform server.

  If you have copied the `docker-compose.yml`, `Dockerfile` and `prod.yml` files into your project, then you can use the
  following commands to run the server in Docker.

  Run the following to start the development server:

  ``` bash
  docker-compose up
  ```

  Run the following command to run a production gunicorn server:

  ``` bash
  docker-compose -f prod.yml up --build
  ```

  *For publicly accessible servers, it is recommended to run your Gunicorn server behind proxy servers such as Nginx.*



  [Documentation](https://docs.maltego.com/support/solutions/articles/15000017605-writing-local-transforms-in-python)

  Transforms written using this library can be used as either local or server transforms.

  To run a local transform from your project, you will need to pass the following arguments:

  ``` bash
  project.py local <transform_name>
  ```

  You can find the correct transform_name to use by running `python project.py list`.



  The following values are not passed to local transforms, and will have dummy values in their place:

  - `type`: `local.Unknown`
  - `weight`: 100
  - `slider`: 100
  - `transformSettings`: {}





  The Transform Registry enables you to annotate Transforms with metadata like display name, description, input and output
  entities as well as settings. The Transform Registry will automatically generate CSV files that you can import into the
  pTDS and/or your iTDS.



  You can configure your registry with all the info you would normally add for every transform/seed on a TDS. We recommend
  creating your registry in an extra file, traditionally called `extensions.py`, to avoid circular imports.

  ```python

  from maltego_trx.decorator_registry import TransformRegistry

  registry = TransformRegistry(
      owner="ACME Corporation",
      author="John Doe <johndoe@acme.com>",
      host_url="https://transforms.acme.org",
      seed_ids=["demo"]
  )




  registry.version = "0.1"


  registry.display_name_suffix = " [ACME]"


  registry.oauth_settings_id = ['github-oauth']

  ```



  ```python

  ...
  from extensions import registry


  @registry.register_transform(
      display_name='Greet Person',
      input_entity='maltego.Phrase',
      description='Returns a phrase greeting a person on the graph.',
      output_entities=['maltego.Phrase'],
      disclaimer='This disclaimer is optional and has to be accepted before this transform is run'
  )
  class GreetPerson(DiscoverableTransform):

      @classmethod
      def create_entities(cls, request, response):
          ...
  ```

  **Pro Tip:** If the `display_name` is either `None` or `""`, the registry will try to create a display name from the
  class name:

  - `DNSToIP` 'DNS To IP'
  - `GreetPerson` 'Greet Person'



  You can declare transform settings in a central location and add them to the registry.



  These settings will apply to all transforms which can be very helpful for api keys.

  ```python

  from maltego_trx.decorator_registry import TransformSetting

  api_key_setting = TransformSetting(name='api_key',
                                     display_name='API Key',
                                     setting_type='string',
                                     global_setting=True)
  ```

  ```python

  from settings import api_key_setting

  from maltego_trx.decorator_registry import TransformRegistry

  registry = TransformRegistry(
      owner="ACME Corporation",
      author="John Doe <johndoe@acme.com>",
      host_url="https://transforms.acme.org",
      seed_ids=["demo"]
  )

  registry.global_settings = [api_key_setting]
  ```



  Settings that aren't required for every transform have to be added to the `register_transform` decorator explicitly. To
  access the setting on the request, use the `id` property, which will have the global prefix if it's a global setting.
  The `name` property won't work on global settings.

  ```python

  ...

  language_setting = TransformSetting(name='language',
                                      display_name="Language",
                                      setting_type='string',
                                      default_value='en',
                                      optional=True,
                                      popup=True)
  ```

  ```python

  ...
  from settings import language_setting

  from maltego_trx.transform import DiscoverableTransform


  @registry.register_transform(display_name="Greet Person",
                               input_entity="maltego.Phrase",
                               description='Returns a phrase greeting a person on the graph.',
                               settings=[language_setting])
  class GreetPerson(DiscoverableTransform):

      @classmethod
      def create_entities(cls, request: MaltegoMsg, response: MaltegoTransform):
          language = request.getTransformSetting(language_setting.id)
          ...
  ```



  To export the configurations, use the registry methods `write_transforms_config()` and `write_settings_config()`. These
  methods have to executed after they have been registered with the TRX server.

  ```python


  import sys
  import transforms

  from maltego_trx.registry import register_transform_function, register_transform_classes
  from maltego_trx.server import application
  from maltego_trx.handler import handle_run


  from extensions import registry

  register_transform_classes(transforms)

  registry.write_transforms_config()
  registry.write_settings_config()

  handle_run(__name__, sys.argv, application)
  ```



  Since `maltego-trx>=1.6.0` you can generate an `.mtz` config file with your local transforms.

  If you're already using the `TransformRegistry`, just invoke the `write_local_config()` method.

  ```python


  registry.write_local_mtz()
  ```

  This will create a file called `local.mtz` in the current directory. You can then import this file into Maltego and
  start using your local transforms faster. Just remember that settings are not passed to local transforms.

  The method takes in the same arguments as the interface in the Maltego client.
  If you are using a `virtualenv` environment, you might want to change the `command` argument to use that.

  ```bash


  registry.write_local_mtz(
      mtz_path: str = "./local.mtz", # path to the local .mtz file
      working_dir: str = ".",
      command: str = "python3", # for a venv you might want to use `./venv/bin/python3`
      params: str = "project.py",
      debug: bool = True
  )
  ```



  [Documentation](https://docs.maltego.com/support/solutions/articles/15000018299-porting-old-trx-transforms-to-the-latest-version)

  If you have old TRX transforms that are written as functions, they can be registered with the server using
  the `maltego_trx.registry.register_transform_function` method.

  In order to port your old transforms, make two changes:

  1. Import the MaltegoTransform class from the `maltego_trx` package instead of from a local file.
  2. Call the `register_transform_function` in order for the transform to be registered in your project.

  For example

  In the legacy transform file, change:

  ``` python
  from Maltego import *

  def old_transform(m):
  ```

  To:

  ```python

  from maltego_trx.maltego import MaltegoTransform


  def old_transform(m):
      ...
  ```

  In the `project.py` file add the following:

  ```python
  from maltego_trx.registry import register_transform_function
  from legacy_transform import trx_DNS2IP

  register_transform_function(trx_DNS2IP)
  ```



  The following commands can be run using the project.py file.



  ``` bash
  python project.py runserver
  ```

  Start a development server that you can use to develop new transforms.



  ``` bash
  python project.py list
  ```

  List the available transforms together with their transform server URLs and local transform names.





  The following constants can be imported from `maltego_trx.maltego`.

  **Message Types:**

  - `UIM_FATAL`
  - `UIM_PARTIAL`
  - `UIM_INFORM`
  - `UIM_DEBUG`

  **Please take note:**
  You need to enable the `debug` filter option in the Desktop client Output window to view `debug` transform messages.

  **Bookmark Colors:**

  - `BOOKMARK_COLOR_NONE`
  - `BOOKMARK_COLOR_BLUE`
  - `BOOKMARK_COLOR_GREEN`
  - `BOOKMARK_COLOR_YELLOW`
  - `BOOKMARK_COLOR_PURPLE`
  - `BOOKMARK_COLOR_RED`

  **Link Styles:**

  - `LINK_STYLE_NORMAL`
  - `LINK_STYLE_DASHED`
  - `LINK_STYLE_DOTTED`
  - `LINK_STYLE_DASHDOT`



  **Overlays:**

  Overlays Enums are imported from `maltego_trx.overlays`

  *Overlay OverlayPosition:*

  - `NORTH = "N"`
  - `SOUTH = "S"`
  - `WEST = "W"`
  - `NORTH_WEST = "NW"`
  - `SOUTH_WEST = "SW"`
  - `CENTER = "C"`

  *Overlay Type*

  - `IMAGE = "image"`
  - `COLOUR = "colour"`
  - `TEXT = "text"`



  The request/maltego msg object given to the transform contains the information about the input entity.

  **Attributes:**

  - `Value: str`: The display value of the input entity on the graph
  - `Weight: int`: The weight of the input entity
  - `Slider: int`: Results slider setting in the client
  - `Type: str`: The input entity type
  - `Properties: dict(str: str)`: A key-value dictionary of the input entity properties
  - `TransformSettings: dict(str: str)`: A key-value dictionary of the transform settings
  - `Genealogy: list(dict(str: str))`: A key-value dictionary of the Entity genealogy, this is only applicable for
    extended entities e.g. Website Entity

  **Methods:**

  - `getProperty(name: str)`: Get a property value of the input entity
  - `getTransformSetting(name: str)`: Get a transform setting value
  - `clearLegacyProperties()`: Delete (duplicate) legacy properties from the input entity. This will not result in
    property information being lost, it will simply clear out some properties that the TRX library duplicates on all
    incoming Transform requests. In older versions of TRX, these Entity properties would have a different internal ID when
    sent the server than what the Maltego client would advertise in the Entity Manager UI. For a list of Entities with
    such properties and their corresponding legacy and actual IDs, see `entity_property_map` in `maltego_trx/entities.py`.
    For the majority of projects this distinction can be safely ignored.



  **Methods:**

  - `addEntity(type: str, value: str) -> Entity`: Add an entity to the transform response. Returns an Entity object
    created by the method.
  - `addUIMessage(message: str, messageType='Inform')`: Return a UI message to the user. For message type, use a message
    type constant.



  **Methods:**

  - `setType(type: str)`: Set the entity type (e.g. "Phrase" for maltego.Phrase entity)
  - `setValue(value: str)`: Set the entity value
  - `setWeight(weight: int)`: Set the entity weight
  - `addDisplayInformation(content: str, title: str)`: Add display information for the entity.
  - `addProperty(fieldName: str, displayName: str, matchingRule: str, value: str)`: Add a property to the entity. Matching
    rule can be `strict` or `loose`.
  - `addOverlay(propertyName: str, position: OverlayPosition, overlay_type: OverlayType)`: Add an overlay to the entity.
    `OverlayPosition` and `OverlayType` are defined in the `maltego_trx.overlays`

  Overlay can be added as Text, Image or Color

  ```python

          person_name = request.Value
          entity = response.addEntity(Phrase, "Hi %s, nice to meet you!" % person_name)

          
          
          
          
          entity.addProperty(
              'dynamic_overlay_icon_name',
              displayName="Name for overlay image",
              value="Champion"  # references an icon in the Maltego client
          )
          entity.addOverlay('dynamic_overlay_icon_name', OverlayPosition.WEST, OverlayType.IMAGE)

          
          
          
          
          entity.addOverlay(
              'DE', # name of an icon, however, could also accidentally be a property name
              OverlayPosition.SOUTH_WEST,
              OverlayType.IMAGE
          )

          
          entity.addProperty("exampleDynamicPropertyName", "Example Dynamic Property", "loose", "Maltego Overlay Testing")
          entity.addOverlay('exampleDynamicPropertyName', OverlayPosition.NORTH, OverlayType.TEXT)

          
          entity.addOverlay('#45e06f', OverlayPosition.NORTH_WEST, OverlayType.COLOUR)
  ```

  - `setIconURL(url: str)`: Set the entity icon URL
  - `setBookmark(bookmark: int)`: Set bookmark color index (e.g. -1 for BOOKMARK_COLOR_NONE, 3 for BOOKMARK_COLOR_PURPLE)
  - `setNote(note: str)`: Set note content
  - `setGenealogy(genealogy: dict)`: Set genealogy

  **Link Methods:**

  - `setLinkColor(color: str)`: Set the link color (e.g. hex "#0000FF" for blue)
  - `setLinkStyle(style: int)`: Set the link style index (e.g. 0 for LINK_STYLE_NORMAL, 2 for LINK_STYLE_DOTTED)
  - `setLinkThickness(thick: int)`: Set link thickness (default is 1)
  - `setLinkLabel(label: str)`: Set the label of the link
  - `reverseLink()`: Reverse the link direction
  - `addCustomLinkProperty(fieldName=None, displayName=None, value=None)`: Set a custom property for the link


pkgId: d5fad0e23ad3cc8602bec3d99bea1548715203973dc30dbbbc99384d532e036f
name: python-mando
arch: src
version: 0.7.1
epoch: 0
release: 1
summary: Create Python CLI apps with little to no effort at all!
url: https://mando.readthedocs.org/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-27d38dd2-4b8a-4185-ae32-fd55780c6d21
location_href: 00010139-python-mando/python-mando-0.7.1-1.src.rpm
checksum_type: sha256
description:
  mando is a wrapper around ``argparse``, and allows you to write complete CLI
  applications in seconds while maintaining all the flexibility.


pkgId: 9ef40cf9689690accc4ca5144782048d0d761177efacb2b71c6833888c871b84
name: python-mandrill
arch: src
version: 1.0.60
epoch: 0
release: 1
url: https://bitbucket.org/mailchimp/mandrill-api-python/
rpm_license: Apache-2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-74549a51-4ef8-46da-8a25-592cbc8dddaf
location_href: 00010161-python-mandrill/python-mandrill-1.0.60-1.src.rpm
checksum_type: sha256
summary:
  Deprecated. Replaced by mailchimp-transactional - A CLI client and Python API library for the Mandrill email as a service platform.

description:
  This SDK is deprecated, and replaced by mailchimp-transactional
  Find the current Mailchimp Transactional SDKs at https://mailchimp.com/developer/tools/


pkgId: f19e6fc70ef936089e573d65e39930e461296747e0b68da8de043ce53696367a
name: python-mangum
arch: src
version: 0.17.0
epoch: 0
release: 1
summary: AWS Lambda support for ASGI applications
url: https://github.com/jordaneremieff/mangum
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-f957a6ac-817a-41af-a558-bdc1ef5d2d88
location_href: 00011405-python-mangum/python-mangum-0.17.0-1.src.rpm
checksum_type: sha256
description:
  <a href="https://pypi.org/project/mangum/">
      <img src="https://badge.fury.io/py/mangum.svg" alt="Package version">
  </a>
  <a href="https://travis-ci.org/jordaneremieff/mangum">
      <img src="https://travis-ci.org/jordaneremieff/mangum.svg?branch=master" alt="Build Status">
  </a>
  <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/mangum.svg?style=flat-square">

  Mangum is an adapter for running [ASGI](https://asgi.readthedocs.io/en/latest/) applications in AWS Lambda to handle Function URL, API Gateway, ALB, and Lambda@Edge events.

  ***Documentation***: https://mangum.io/



  - Event handlers for API Gateway [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) and [REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-rest-api.html) APIs, [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html), [Function URLs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html), and [CloudFront Lambda@Edge](https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html).

  - Compatibility with ASGI application frameworks, such as [Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [Quart](https://pgjones.gitlab.io/quart/) and [Django](https://www.djangoproject.com/).

  - Support for binary media types and payload compression in API Gateway using GZip or Brotli.

  - Works with existing deployment and configuration tools, including [Serverless Framework](https://www.serverless.com/) and [AWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html).

  - Startup and shutdown [lifespan](https://asgi.readthedocs.io/en/latest/specs/lifespan.html) events.



  Python 3.7+



  ```shell
  pip install mangum
  ```



  ```python
  from mangum import Mangum

  async def app(scope, receive, send):
      await send(
          {
              "type": "http.response.start",
              "status": 200,
              "headers": [[b"content-type", b"text/plain; charset=utf-8"]],
          }
      )
      await send({"type": "http.response.body", "body": b"Hello, world!"})


  handler = Mangum(app, lifespan="off")
  ```

  Or using a framework:

  ```python
  from fastapi import FastAPI
  from mangum import Mangum

  app = FastAPI()


  @app.get("/")
  def read_root():
      return {"Hello": "World"}


  @app.get("/items/{item_id}")
  def read_item(item_id: int, q: str = None):
      return {"item_id": item_id, "q": q}

  handler = Mangum(app, lifespan="off")
  ```


pkgId: 4d62dbd8be4d071fc4da7ece2d381c67b45aec1f0fea96824c8f20951e7b658a
name: python-manuel
arch: src
version: 1.12.4
epoch: 0
release: 1
summary: Manuel lets you build tested documentation.
url: http://pypi.python.org/pypi/manuel
rpm_license: Apache Software License, Version 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7daee6bd-a731-497a-8384-d092eb7b7ec7
location_href: 00004153-python-manuel/python-manuel-1.12.4-1.src.rpm
checksum_type: sha256
description:
  To work on Manuel, check out the code and then run `make` to build a development
  environment.
  To run the tests, run ``make test``. To run all checks, run ``make check``.
  See the `Makefile` for more useful targets.


pkgId: 175e4f0819c492b828cdff7fcec498f8a04bff20697e29b9121712fd5d3f56f1
name: python-mapclassify
arch: src
version: 2.5.0
epoch: 0
release: 1
summary: Classification Schemes for Choropleth Maps.
url: https://github.com/pysal/mapclassify
rpm_license: 3-Clause BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7fd67f16-a93f-46ff-8a5b-9fb43e5ae14f
location_href: 00004154-python-mapclassify/python-mapclassify-2.5.0-1.src.rpm
checksum_type: sha256
description:
  (   -inf,  -52.88] |     0
  ( -52.88,    2.57] |    15
  (   2.57,    9.36] |    14
  (   9.36,   39.53] |    14
  (  39.53,   94.97] |     6
  (  94.97, 4111.45] |     9
  ```

  ```python
  >>> mapclassify.EqualInterval(y)
  EqualInterval


pkgId: 5ad83cc8433af1e5b00a12e25527817e8bb17c34b74386958f20269c889c2023
name: python-marisa-trie
arch: src
version: 0.8.0
epoch: 0
release: 1
summary: Static memory-efficient and fast Trie-like structures for Python.
url: https://github.com/kmike/marisa-trie
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-bf1b1326-220b-4160-81af-2437916209c6
location_href: 00011378-python-marisa-trie/python-marisa-trie-0.8.0-1.src.rpm
checksum_type: sha256
description:
  Static memory-efficient Trie-like structures for Python (2.7 and 3.4+)
  based on `marisa-trie`_ C++ library.
  String data in a MARISA-trie may take up to 50x-100x less memory than
  in a standard Python dict; the raw lookup speed is comparable; trie also
  provides fast advanced methods like prefix search.
      There are official SWIG-based Python bindings included
      in C++ library distribution; this package provides alternative
      Cython-based pip-installable Python bindings.


pkgId: 5d4b8a10ae97cc1c113d492fed82fefa569e063de7538af9dcc74a886f26b969
name: python-marisa-trie-debuginfo
arch: x86_64
version: 0.8.0
epoch: 0
release: 1
summary: Debug information for package python-marisa-trie
url: https://github.com/kmike/marisa-trie
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-bf1b1326-220b-4160-81af-2437916209c6
rpm_sourcerpm: python-marisa-trie-0.8.0-1.src.rpm
location_href: 00011378-python-marisa-trie/python-marisa-trie-debuginfo-0.8.0-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-marisa-trie.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: ffc492d0a50026251160d09b86a223ff6dddc18891eb2fdfc8df8cbdc9eb040c
name: python-marisa-trie-debugsource
arch: x86_64
version: 0.8.0
epoch: 0
release: 1
summary: Debug sources for package python-marisa-trie
url: https://github.com/kmike/marisa-trie
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-bf1b1326-220b-4160-81af-2437916209c6
rpm_sourcerpm: python-marisa-trie-0.8.0-1.src.rpm
location_href: 00011378-python-marisa-trie/python-marisa-trie-debugsource-0.8.0-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-marisa-trie.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: 24b8f06cb0a93cdde47c5d31eae624caae20d49e1b793facbc51d3e54e270968
name: python-markdown-include
arch: src
version: 0.8.1
epoch: 0
release: 1
summary: A Python-Markdown extension which provides an 'include' function
url: https://pypi.org/project/markdown-include/
rpm_license: GNU General Public License v3 (GPLv3)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-80a82c65-55fe-4ee4-81cb-73a9c5145a00
location_href: 00012542-python-markdown-include/python-markdown-include-0.8.1-1.src.rpm
checksum_type: sha256
description:
  This is an extension to [Python-Markdown](https://pythonhosted.org/Markdown/)
  which provides an "include" function, similar to that found in
  LaTeX (and also the C pre-processor and Fortran). I originally wrote it for my
  [FORD](https://github.com/cmacmackin/ford) Fortran auto-documentation generator.



  This module can now be installed using ``pip``.

      pip install markdown-include


  Use the unittest module
  ```bash
  python -m unittest discover unittests/
  ```


  This module can be used in a program in the following way:

  ```python
  import markdown
  html = markdown.markdown(source, extensions=['markdown_include.include'])
  ```

  Markdown-Include can also be included in MkDocs projects like below:

  ```yaml
  markdown_extensions:
      - markdown_include.include:
          base_path: docs
  ```

  The syntax for use within your Markdown files is ``{!filename!}``. This
  statement will be replaced by the contents of ``filename``. Markdown-Include
  will work recursively, so any included files within ``filename`` will also be
  included. This replacement is done prior to any other
  Markdown processing, so any Markdown syntax that you want can be used within
  your included files. Note that this is a change from the previous version.
  It was felt that this syntax was less likely to conflict with any code
  fragments present in the Markdown.

  By default, all file-names are evaluated relative to the location from which
  Markdown is being called. If you would like to change the directory relative to
  which paths are evaluated, then this can be done by specifying the extension
  setting ``base_path``.



  You can also define specific lines or line ranges to include by specifying `lines`:

  ```Markdown
  {!filename!lines=1  3 8-10  2}
  ```

  `lines` takes a sequence of integers separated by spaces (one or more), or it can also
  take line ranges specified with a start line and an end line separated by a dash (`-`).

  In the example above, it would read the file called `filename` and include the lines
  `1`, `3`, `8`, `9`, `10`, `2`.

  Notice that line `9` was not explicitly set. But it was still included as part of the
  range `8-10`.

  Also, notice that line `2` is set *after* the range `8-10`. This means that the
  line `2` in `filename` will be included *after* (below) the range `8-10`.

  You can use this to include lines in a different order than the original file. But it
  also means that if you want to preserve the original order, you have to pay attention
  to the order in which you specify the lines.



  The following settings can be specified when initialising the plugin.

  - __base_path__: Default location from which to evaluate relative
    paths for the include statement. (Default: the run-directory.)
  - __encoding__: Encoding of the files used by the include statement. (Default: utf-8.)
  - __inheritHeadingDepth__ : If true, increases headings on include
    file by amount of previous heading. Combiens with headingOffset
    option, below. (Default: False.)
  - __headingOffset__: Increases heading depth by a specific ammount, in
    addition to the inheritHeadingDepth Option. (Default: 0)
  - __throwException__: When true, if the extension is unable to find an
    included file it will throw an exception which the user can
    catch. If false (default), a warning will be printed and Markdown
    will continue parsing the file.



  An example of setting the base path and file encoding is given below:
  ```python
  import markdown
  from markdown_include.include import MarkdownInclude


  markdown_include = MarkdownInclude(
      configs={'base_path':'/srv/content/', 'encoding': 'iso-8859-1'}
  )
  html = markdown.markdown(source, extensions=[markdown_include])
  ```

  Included files can inherit the heading depth of the location
  ``inheritHeadingDepth``, as well as receive a specific offset, ``headingOffset``
  For example, consider the  files
  ```markdown
  Source file


  {!included_file.md!}



  {!included_file.md!}
  ```

  and included_file.md

  ```markdown

  More included file content.
  End of included content.
  ```
  Then running the script
  ```python
  import markdown
  from markdown_include.include import MarkdownInclude


  markdown_include = MarkdownInclude(
      configs={'inheritHeadingDepth':True}
  )
  html = markdown.markdown(source, extensions=[markdown_include])
  ```
  produces
  ```html
  <p>Source file</p>
  <h1>Heading Level 1 of main file</h1>
  <h2>This heading will be one level deeper from the previous heading</h2>
  <p>More included file content.</p>
  <p>End of included content.</p>
  <h2>Heading Level 2 of main file</h2>
  <h3>This heading will be one level deeper from the previous heading</h3>
  <p>More included file content.</p>
  <p>End of included content.</p>
  ```




  Modified to work with Python-Markdown 3.4. This makes the plugin
  incompatible with versions < 3.0.

  - Added ability ot offset headers in the included file so they fall under the header level in which the include occurs
  - Add option to throw exception when can't find an include file (instead of printing a warning)
  - Fixed stripping of last character in file, so only occurs if it is a new-line
  - Some behind-the-scenes improvement to code and documentation

  Bugfix for a syntax error.

  Corrected some errors in documentation and merged in commits of
  [diegobz](https://github.com/diegobz) to add support for encoding and tidy up
  the source code.

  Fixed problem related to passing configurations to the extension.

  Added support for Python 3.

  Changed the API to be less likely to conflict with other syntax.

  Initial release.


pkgId: c22c5757e082955745d3881ea51fee95b73879b57a9144b5bc899bef8bdd9adc
name: python-markdown2
arch: src
version: 2.4.8
epoch: 0
release: 1
summary: A fast and complete Python implementation of Markdown
url: https://github.com/trentm/python-markdown2
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-b8407e8c-5f79-4399-9700-026b2b9e331b
location_href: 00004160-python-markdown2/python-markdown2-2.4.8-1.src.rpm
checksum_type: sha256
description:
  markdown2: A fast and complete Python implementation of Markdown.

  Markdown is a text-to-HTML filter; it translates an easy-to-read /
  easy-to-write structured text format into HTML.  Markdown's text
  format is most similar to that of plain text email, and supports
  features such as headers, *emphasis*, code blocks, blockquotes, and
  links.  -- http://daringfireball.net/projects/markdown/

  This is a fast and complete Python implementation of the Markdown
  spec. See http://github.com/trentm/python-markdown2 for more info.


pkgId: b4d250a9e595a5c120fc386633c26ce7b0e807aa3fa1f28748a91fb77e5be08c
name: python-marketorestpython
arch: src
version: 0.5.23
epoch: 0
release: 1
summary: Python Client for the Marketo REST API
url: https://github.com/jepcastelein/marketo-rest-python
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-667b4d82-7e5d-4d9d-bb2d-97808f55c98e
location_href: 00011800-python-marketorestpython/python-marketorestpython-0.5.23-1.src.rpm
checksum_type: sha256
description:
  Marketo Python REST is a Python client that wraps the Marketo Rest API.
  Originally developed by asamat with contributions from sandipsinha and osamakhn


pkgId: f5aaca181f1b0f96630aea55a8feddcc25bd520e53b3958307be8dc5cc920fb7
name: python-marshmallow-jsonschema
arch: src
version: 0.13.0
epoch: 0
release: 1
summary: JSON Schema Draft v7 (http://json-schema.org/) formatting with marshmallow
url: https://github.com/fuhrysteve/marshmallow-jsonschema
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-85e16b8b-e024-4790-9ade-058875150e39
location_href: 00012882-python-marshmallow-jsonschema/python-marshmallow-jsonschema-0.13.0-1.src.rpm
checksum_type: sha256
description:
  ![Build Status](https://github.com/fuhrysteve/marshmallow-jsonschema/workflows/build/badge.svg)
  [![Coverage Status](https://coveralls.io/repos/github/fuhrysteve/marshmallow-jsonschema/badge.svg?branch=master)](https://coveralls.io/github/fuhrysteve/marshmallow-jsonschema?branch=master)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)

   marshmallow-jsonschema translates marshmallow schemas into
   JSON Schema Draft v7 compliant jsonschema. See http://json-schema.org/



  What are the use cases for this? Let's say you have a
  marshmallow schema in python, but you want to render your
  schema as a form in another system (for example: a web browser
  or mobile device).



  Requires python>=3.6 and marshmallow>=3.11. (For python 2 & marshmallow 2 support, please use marshmallow-jsonschema<0.11)

  ```
  pip install marshmallow-jsonschema
  ```



  * [react-jsonschema-form](https://github.com/mozilla-services/react-jsonschema-form) (recommended)
    * See below extension for this excellent library!
  * https://github.com/brutusin/json-forms
  * https://github.com/jdorn/json-editor
  * https://github.com/ulion/jsonform





  ```python
  from marshmallow import Schema, fields
  from marshmallow_jsonschema import JSONSchema

  class UserSchema(Schema):
      username = fields.String()
      age = fields.Integer()
      birthday = fields.Date()

  user_schema = UserSchema()

  json_schema = JSONSchema()
  json_schema.dump(user_schema)
  ```

  Yields:

  ```python
  {'properties': {'age': {'format': 'integer',
                          'title': 'age',
                          'type': 'number'},
                  'birthday': {'format': 'date',
                               'title': 'birthday',
                               'type': 'string'},
                  'username': {'title': 'username', 'type': 'string'}},
   'required': [],
   'type': 'object'}
  ```



  ```python
  from marshmallow import Schema, fields
  from marshmallow_jsonschema import JSONSchema
  from tests import UserSchema


  class Athlete(object):
      user_schema = UserSchema()

      def __init__(self):
          self.name = 'sam'


  class AthleteSchema(Schema):
      user_schema = fields.Nested(JSONSchema)
      name = fields.String()


  athlete = Athlete()
  athlete_schema = AthleteSchema()

  athlete_schema.dump(athlete)
  ```



  ![Screenshot](http://i.imgur.com/jJv1wFk.png)

  This example renders a form not dissimilar to how [wtforms](https://github.com/wtforms/wtforms) might render a form.

  However rather than rendering the form in python, the JSON Schema is rendered using the
  javascript library [brutusin/json-forms](https://github.com/brutusin/json-forms).


  ```python
  from flask import Flask, jsonify
  from marshmallow import Schema, fields
  from marshmallow_jsonschema import JSONSchema

  app = Flask(__name__)


  class UserSchema(Schema):
      name = fields.String()
      address = fields.String()


  @app.route('/schema')
  def schema():
      schema = UserSchema()
      return jsonify(JSONSchema().dump(schema))


  @app.route('/')
  def home():
      return '''<!DOCTYPE html>
  <head>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/brutusin.json-forms/1.3.0/css/brutusin-json-forms.css"><Paste>
  <script src="https://code.jquery.com/jquery-1.12.1.min.js" integrity="sha256-I1nTg78tSrZev3kjvfdM5A5Ak/blglGzlaZANLPDl3I=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.string/3.3.4/underscore.string.min.js"></script>
  <script src="https://cdn.jsdelivr.net/brutusin.json-forms/1.3.0/js/brutusin-json-forms.min.js"></script>
  <script>
  $(document).ready(function() {
      $.ajax({
          url: '/schema'
          , success: function(data) {
              var container = document.getElementById('myform');
              var BrutusinForms = brutusin["json-forms"];
              var bf = BrutusinForms.create(data);
              bf.render(container);
          }
      });
  });
  </script>
  </head>
  <body>
  <div id="myform"></div>
  </body>
  </html>
  '''


  if __name__ == '__main__':
      app.run(host='0.0.0.0', debug=True)

  ```





  Simply add a `_jsonschema_type_mapping` method to your field
  so we know how it ought to get serialized to JSON Schema.

  A common use case for this is creating a dropdown menu using
  enum (see Gender below).


  ```python
  class Colour(fields.Field):

      def _jsonschema_type_mapping(self):
          return {
              'type': 'string',
          }

      def _serialize(self, value, attr, obj):
          r, g, b = value
          r = "%02X" % (r,)
          g = "%02X" % (g,)
          b = "%02X" % (b,)
          return '#' + r + g + b

  class Gender(fields.String):
      def _jsonschema_type_mapping(self):
          return {
              'type': 'string',
              'enum': ['Male', 'Female']
          }


  class UserSchema(Schema):
      name = fields.String(required=True)
      favourite_colour = Colour()
      gender = Gender()

  schema = UserSchema()
  json_schema = JSONSchema()
  json_schema.dump(schema)
  ```




  [react-jsonschema-form](https://react-jsonschema-form.readthedocs.io/en/latest/)
  is a library for rendering jsonschemas as a form using React. It is very powerful
  and full featured.. the catch is that it requires a proprietary
  [`uiSchema`](https://react-jsonschema-form.readthedocs.io/en/latest/form-customization/#the-uischema-object)
  to provide advanced control how the form is rendered.
  [Here's a live playground](https://rjsf-team.github.io/react-jsonschema-form/)

  *(new in version 0.10.0)*

  ```python
  from marshmallow_jsonschema.extensions import ReactJsonSchemaFormJSONSchema

  class MySchema(Schema):
      first_name = fields.String(
          metadata={
              'ui:autofocus': True,
          }
      )
      last_name = fields.String()

      class Meta:
          react_uischema_extra = {
              'ui:order': [
                  'first_name',
                  'last_name',
              ]
          }


  json_schema_obj = ReactJsonSchemaFormJSONSchema()
  schema = MySchema()


  data = json_schema_obj.dump(schema)


  ui_schema_json = json_schema_obj.dump_uischema(schema)


pkgId: 27034f39f363e73b42b7c0024891aa779fbd0c4e9b6f6f10eeb6dc8ab394a06a
name: python-marshmallow-sqlalchemy
arch: src
version: 0.29.0
epoch: 0
release: 1
summary: SQLAlchemy integration with the marshmallow (de)serialization library
url: https://github.com/marshmallow-code/marshmallow-sqlalchemy
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-d1aa40e3-c6d2-4e8b-9ec2-254e96236495
location_href: 00009311-python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy-0.29.0-1.src.rpm
checksum_type: sha256
description:
      import sqlalchemy as sa
      from sqlalchemy.ext.declarative import declarative_base
      from sqlalchemy.orm import scoped_session, sessionmaker, relationship, backref
      engine = sa.create_engine("sqlite:///:memory:")
      session = scoped_session(sessionmaker(bind=engine))
      Base = declarative_base()
      class Author(Base):
          __tablename__ = "authors"
          id = sa.Column(sa.Integer, primary_key=True)
          name = sa.Column(sa.String, nullable=False)
          def __repr__(self):
              return "<Author(name={self.name!r})>".format(self=self)
      class Book(Base):
          __tablename__ = "books"
          id = sa.Column(sa.Integer, primary_key=True)
          title = sa.Column(sa.String)
          author_id = sa.Column(sa.Integer, sa.ForeignKey("authors.id"))
          author = relationship("Author", backref=backref("books"))
      Base.metadata.create_all(engine)


pkgId: d44870720356c0e29e13fe244767e7f2ae720b0cf124b27765c42816b5c2f5f6
name: python-marshmallow3-annotations
arch: src
version: 1.1.0
epoch: 0
release: 1
summary: Marrying marshmallow3 and annotations
url: https://github.com/dkunitsk/marshmallow3-annotations
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-a6ecac42-97bb-4196-a466-057e31afdb05
location_href: 00011433-python-marshmallow3-annotations/python-marshmallow3-annotations-1.1.0-1.src.rpm
checksum_type: sha256
description:
  This is a fork of [marshmallow-annotations](https://github.com/justanr/marshmallow-annotations) which has been minimally
  patched to be marshmallow 3.0.0+ compatible. All credit goes to the original author.

  It is available on [PyPI](https://pypi.org/project/marshmallow3-annotations/).


pkgId: 89014e57af3ddbf3deeb1d1fea3ef5155052892f8e7128f2fd8dab35e306d2ee
name: python-mashumaro
arch: src
version: 3.6
epoch: 0
release: 1
summary: Fast serialization library on top of dataclasses
url: https://github.com/Fatal1ty/mashumaro
rpm_license: Apache License, Version 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-5fc8be3d-801c-4ca1-b695-89b1fa5179cd
location_href: 00009677-python-mashumaro/python-mashumaro-3.6-1.src.rpm
checksum_type: sha256
description:
  * [Installation](#installation)
  * [Changelog](#changelog)
  * [Supported serialization formats](#supported-serialization-formats)
  * [Supported data types](#supported-data-types)
  * [Usage example](#usage-example)
  * [How does it work?](#how-does-it-work)
  * [Benchmark](#benchmark)
  * [Serialization mixins](#serialization-mixins)
    * [`DataClassDictMixin`](#dataclassdictmixin)
    * [`DataClassJSONMixin`](#dataclassjsonmixin)
    * [`DataClassORJSONMixin`](#dataclassorjsonmixin)
    * [`DataClassMessagePackMixin`](#dataclassmessagepackmixin)
    * [`DataClassYAMLMixin`](#dataclassyamlmixin)
    * [`DataClassTOMLMixin`](#dataclasstomlmixin)
  * [Customization](#customization)
      * [`SerializableType` interface](#serializabletype-interface)
        * [User-defined types](#user-defined-types)
        * [User-defined generic types](#user-defined-generic-types)
      * [`SerializationStrategy`](#serializationstrategy)
        * [Third-party types](#third-party-types)
        * [Third-party generic types](#third-party-generic-types)
      * [Field options](#field-options)
          * [`serialize` option](#serialize-option)
          * [`deserialize` option](#deserialize-option)
          * [`serialization_strategy` option](#serialization_strategy-option)
          * [`alias` option](#alias-option)
      * [Config options](#config-options)
          * [`debug` config option](#debug-config-option)
          * [`code_generation_options` config option](#code_generation_options-config-option)
          * [`serialization_strategy` config option](#serialization_strategy-config-option)
          * [`aliases` config option](#aliases-config-option)
          * [`serialize_by_alias` config option](#serialize_by_alias-config-option)
          * [`omit_none` config option](#omit_none-config-option)
          * [`namedtuple_as_dict` config option](#namedtuple_as_dict-config-option)
          * [`allow_postponed_evaluation` config option](#allow_postponed_evaluation-config-option)
          * [`dialect` config option](#dialect-config-option)
          * [`orjson_options`](#orjson_options-config-option)
      * [Passing field values as is](#passing-field-values-as-is)
      * [Dialects](#dialects)
        * [`serialization_strategy` dialect option](#serialization_strategy-dialect-option)
        * [`omit_none` dialect option](#omit_none-dialect-option)
        * [Changing the default dialect](#changing-the-default-dialect)
      * [Code generation options](#code-generation-options)
          * [Add `omit_none` keyword argument](#add-omit_none-keyword-argument)
          * [Add `by_alias` keyword argument](#add-by_alias-keyword-argument)
          * [Add `dialect` keyword argument](#add-dialect-keyword-argument)
      * [Generic dataclasses](#generic-dataclasses)
        * [Generic dataclass inheritance](#generic-dataclass-inheritance)
        * [Generic dataclass in a field type](#generic-dataclass-in-a-field-type)
      * [`GenericSerializableType` interface](#genericserializabletype-interface)
      * [Serialization hooks](#serialization-hooks)
          * [Before deserialization](#before-deserialization)
          * [After deserialization](#after-deserialization)
          * [Before serialization](#before-serialization)
          * [After serialization](#after-serialization)
  * [JSON Schema](#json-schema)
      * [Building JSON Schema](#building-json-schema)
      * [JSON Schema constraints](#json-schema-constraints)
      * [Extending JSON Schema](#extending-json-schema)
      * [JSON Schema and custom serialization methods](#json-schema-and-custom-serialization-methods)


pkgId: c1e89b1f86ae6e829adfd5dd4dfed114dcdbc0a96385f0b7da6501e70c93e1e9
name: python-matplotlib-inline
arch: src
version: 0.1.6
epoch: 0
release: 1
summary: Inline Matplotlib backend for Jupyter
url: https://github.com/ipython/matplotlib-inline
rpm_license: BSD 3-Clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-cbac5526-36b7-4b27-897b-24f26882c65c
location_href: 00009034-python-matplotlib-inline/python-matplotlib-inline-0.1.6-1.src.rpm
checksum_type: sha256
description:
  This package provides support for matplotlib to display figures directly inline in the Jupyter notebook and related clients, as shown below.



  With conda:

  ```bash
  conda install -c conda-forge matplotlib-inline
  ```

  With pip:

  ```bash
  pip install matplotlib-inline
  ```



  Note that in current versions of JupyterLab and Jupyter Notebook, the explicit use of the `%matplotlib inline` directive is not needed anymore, though other third-party clients may still require it.

  This will produce a figure immediately below:

  ```python
  %matplotlib inline

  import matplotlib.pyplot as plt
  import numpy as np

  x = np.linspace(0, 3*np.pi, 500)
  plt.plot(x, np.sin(x**2))
  plt.title('A simple chirp');
  ```



  Licensed under the terms of the BSD 3-Clause License, by the IPython Development Team (see `LICENSE` file).

  BSD 3-Clause License

  Copyright (c) 2019-2022, IPython Development Team.
  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this
     list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice,
     this list of conditions and the following disclaimer in the documentation
     and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


pkgId: 4529f695e2708087fff3a762b8228082c41e7ee3b76f2dad2af6baa2e8fe3748
name: python-matplotlib-scalebar
arch: src
version: 0.8.1
epoch: 0
release: 1
summary: Artist for matplotlib to display a scale bar
url: https://github.com/ppinard/matplotlib-scalebar
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-710d8465-e204-4dfd-bf6f-a855817f9d1c
location_href: 00004171-python-matplotlib-scalebar/python-matplotlib-scalebar-0.8.1-1.src.rpm
checksum_type: sha256
description:
  ![CI](https://github.com/ppinard/matplotlib-scalebar/workflows/CI/badge.svg)
  ![PyPI](https://img.shields.io/pypi/v/matplotlib-scalebar)

  Provides a new artist for [matplotlib](https://matplotlib.org) to display a scale bar, aka micron bar.
  It is particularly useful when displaying calibrated images plotted using
  `plt.imshow(...)`.

  ![Example of scale bar](doc/splashscreen.png)

  The artist supports customization either directly from the **ScaleBar** object or from the matplotlibrc.



  Easiest way to install using `pip`:

  ```bash
  pip install matplotlib-scalebar
  ```

  For development installation from the git repository:

  ```bash
  git clone git@github.com:ppinard/matplotlib-scalebar.git
  pip install -e matplotlib-scalebar
  ```



  There are many ways to customize the scale bar.
  Examples and explanations of the arguments of the **ScaleBar** class are given [below](#scalebar-arguments), but here is a quick start guide.

  The constructor arguments *dx* and *units* specify the pixel dimension.
  For example `ScaleBar(0.2, 'um')` indicates that each pixel is equal to 0.2 micrometer.
  By default, the scale bar uses SI units of length (e.g. m, cm, um, km, etc.).
  See examples below for other system of units.

  In this example, we load a sample image from the matplotlib library, create a subplot, plot image, create scale bar and add scale bar as an "artist" of the subplot.

  ```python
  import numpy as np
  import matplotlib.pyplot as plt
  import matplotlib.cbook as cbook
  from matplotlib_scalebar.scalebar import ScaleBar


  with cbook.get_sample_data("s1045.ima.gz") as dfile:
      im = np.frombuffer(dfile.read(), np.uint16).reshape((256, 256))


  fig, ax = plt.subplots()
  ax.axis("off")


  ax.imshow(im, cmap="gray")


  scalebar = ScaleBar(0.08, "cm", length_fraction=0.25)
  ax.add_artist(scalebar)


  plt.show()
  ```

  ![Example of scale bar](doc/getting_started.png)



  Here are arguments of the **ScaleBar** class constructor and examples how to use them.

  ```python
  scalebar = ScaleBar(
          dx,
          units="m",
          dimension="si-length",
          label=None,
          length_fraction=None,
          height_fraction=None,
          width_fraction=None,
          location=None,
          pad=None,
          border_pad=None,
          sep=None,
          frameon=None,
          color=None,
          box_color=None,
          box_alpha=None,
          scale_loc=None,
          label_loc=None,
          font_properties=None,
          label_formatter=None,
          scale_formatter=None,
          fixed_value=None,
          fixed_units=None,
          animated=False,
          rotation=None,
      )
  ```

  Each argument can also be changed afterwards using their respective property.

  ```python
  scalebar.dx = 2.0
  ```

  The following schematic illustrates the nomenclature used in the definition of the arguments.

  ![nomenclature](doc/nomenclature.png)



  Size of one pixel in *units* specified by the next argument.

  Set *dx* to 1.0 if the axes image has already been calibrated by setting its *extent*.

  ```python
  fig, ax = plt.subplots()
  ax.axis("off")

  ax.imshow(im, cmap="gray", extent=[0, 20.48, 0, 20.48])

  scalebar = ScaleBar(1, "cm", length_fraction=0.25)
  ax.add_artist(scalebar)
  ```

  ![dx with extent](doc/argument_dx.png)

  **Special notes for geospatial plots**:
  If you are plotting geospatial coordinates (such as scatterplots of the location of structures, [geopandas](http://geopandas.org) geodataframe plots, etc.), *dx* needs to be set differently depending on the coordinate system:

  * For UTM based coordinate system, where the X and Y are in meters, simply set `dx = 1`.
  * For WGS or NAD based coordinate system, where X and Y are in latitude (Y) and longitude (X), compute the distance between two points at the latitude (Y) you wish to have the scale represented and are also one full degree of longitude (X) apart, in meters. For example, `dx = great_circle_distance((X, Y), (X + 1, Y))`



  Units of *dx*.
  The units needs to be valid for the specified *dimension*.
  Default: `m`.



  Dimension of *dx* and *units*. It can either be equal:

  * `si-length` (default): scale bar showing km, m, cm, etc.
  * `imperial-length`: scale bar showing in, ft, yd, mi, etc.
  * `si-length-reciprocal`: scale bar showing 1/m, 1/cm, etc.
  * `pixel-length`: scale bar showing px, kpx, Mpx, etc.
  * `angle`: scale bar showing °, ʹ (minute of arc) or ʹʹ (second of arc)
  * a `matplotlib_scalebar.dimension._Dimension` object

  ```python
  fig, ax = plt.subplots()
  ax.axis("off")

  ax.imshow(im, cmap="gray")

  scalebar = ScaleBar(0.0315, "in", dimension="imperial-length", length_fraction=0.25)
  ax.add_artist(scalebar)
  ```

  ![imperial dimension](doc/argument_dimension.png)



  Optional label associated with the scale bar.
  Default: `None`, no label is shown.
  The position of the label with respect to the scale bar can be adjusted using *label_loc* argument.



  Desired length of the scale bar as a fraction of the subplot's width.
  Default: `None`, value from matplotlibrc or `0.2`.
  The actual length of the scale bar is automatically determined based on the specified pixel size (*dx* and *units*) and the contraint that the scale value can only take the following numbers: 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 500 or 750.
  If you want a specific value, see [*fixed_value*](#fixed_value) and [*fixed_units*](#fixed_units).

  In the example below, the scale bar for a *length_fraction* of 0.25 and 0.5 is the same because the scale cannot have a value between 2 and 5 mm.

  ![length fraction](doc/argument_length_fraction.png)



  **Deprecated**, use *width_fraction*.



  Width of the scale bar as a fraction of the subplot's height.
  Default: `None`, value from matplotlibrc or `0.01`.



  A location code, same as matplotlib's legend, either: `upper right`, `upper left`, `lower left`, `lower right`, `right`, `center left`, `center right`, `lower center`, `upper center` or `center`.
  Default: `None`, value from matplotlibrc or `upper right`.



  Alias for *location*.



  Padding inside the box, as a fraction of the font size.
  Default: `None`, value from matplotlibrc or `0.2`.



  Padding outside the box, fraction of the font size.
  Default: `None`, value from matplotlibrc or `0.1`.



  Separation in points between the scale bar and scale, and between the scale bar and label.
  Default: `None`, value from matplotlibrc or `5`.



  Whether to draw a box behind the scale bar, scale and label.
  Default: `None`, value from matplotlibrc or `True`.



  Color for the scale bar, scale and label.
  Default: `None`, value from matplotlibrc or `k` (black).



  Background color of the box.
  Default: `None`, value from matplotlibrc or `w` (white).



  Transparency of box.
  Default: `None`, value from matplotlibrc or `1.0` (opaque).



  Location of the scale with respect to the scale bar.
  Either `bottom`, `top`, `left`, `right`, `none`.
  Default: `None`, value from matplotlibrc or `bottom`.
  If `"none"`, no scale is shown.

  ![scale_loc](doc/argument_scale_loc.png)



  Location of the label with respect to the scale bar.
  Either `bottom`, `top`, `left`, `right`, `none`.
  Default: `None`, value from matplotlibrc or `top`.
  If `"none"`, no label is shown.



  Font properties of the scale and label text, specified either as `dict` or `str`.
  See [`FontProperties`](https://matplotlib.org/api/font_manager_api.html#matplotlib.font_manager.FontProperties) for the arguments.
  Default: `None`, default font properties of matplotlib.



  **Deprecated**, use *scale_formatter*.



  Custom function called to format the scale.
  Needs to take 2 arguments - the scale value and the unit.
  Default: `None` which results in

  ```python
  scale_formatter = lambda value, unit: f"{value} {unit}"
  ```



  Value for the scale.
  The length of the scale bar is calculated based on the specified pixel size *dx*.
  Default: `None`, the value is automatically determined based on *length_fraction*.



  Units of the *fixed_value*.
  Default: `None`, if *fixed value* is not `None`, the units of *dx* are used.



  Animation state.
  Default: `False`



  Whether to create a scale bar based on the x-axis (default) or y-axis.
  *rotation* can either be `horizontal` or `vertical`.
  Note you might have to adjust *scale_loc* and *label_loc* to achieve desired layout.
  Default: `None`, value from matplotlibrc or `horizontal`.

  ```python
  fig, ax = plt.subplots()
  ax.axis("off")

  ax.imshow(im, cmap="gray")

  scalebar = ScaleBar(
      0.08,
      "cm",
      length_fraction=0.25,
      rotation="vertical",
      scale_loc="right",
      border_pad=1,
      pad=0.5,
  )
  ax.add_artist(scalebar)
  ```

  ![rotation](doc/argument_rotation.png)





  * Remove useless shebangs ([#47][i47])
  * Correct License trove classifier ([#48][i48])



  * Fix missing `_all_deprecated` in future matplotlib (> 3.5) ([#44][i44])
  * Add ability to hide scale and label ([#41][i41])



  * Fix deprecation warning in matplotlib >= 3.4 of `minimumdescent` ([#36][i36])



  * Fix scalebar location validation from rcParams ([#35](i35))



  * Add rotation to display scale bar for the y-axis ([#30][i30])
  * New documentation ([#32][i32])
  * Deprecate argument *height_fraction*, replaced by *width_fraction* ([#32][i32])
  * Deprecate argument *label_formatter*, replaced by *scale_formatter* ([#32][i32])
  * Add alias *loc* for *location* ([#32][i32])
  * Fix deprecation warning in matplotlib >= 3.3 of `validate_legend_loc` ([#33][i33])



  * Fix reciprocal unit ([#29][i29])



  * Add notes about for geospatial plots ([#20][i20])



  * Add angular units ([#19][i19])
  * Add blit support and fix documentation ([#22][i22])
  * Fix issue with getting the wrong preferred values for the scale bar ([#23][i23])
  * Package LICENSE file to distribution ([#24][i24])



  * Remove leftover print statement ([#18][i18])



  * Add pixel unit ([#12][i12])
  * Display micro symbol in text mode ([#15][i15])
  * Fix error in length of scale bar; the bar was drawn with an edge around it which made it longer than the actual size ([#14][i14])



  * Fix deprecated usage of is_string_like ([#11][i11])



  * Add possibility to specified a fixed value for the scale bar ([#9][i9])



  [@maweigert](https://github.com/maweigert),
  [@crosbyla](https://github.com/crosbyla),
  [@joschkazj](https://github.com/joschkazj),
  [@AKuederle](https://github.com/AKuederle),
  [@habi](https://github.com/habi),
  [@huangziwei](https://github.com/huangziwei),
  [@SirJohnFranklin](https://github.com/SirJohnFranklin),
  [@alexandrejaguar](https://github.com/alexandrejaguar),
  [@parishcm](https://github.com/parishcm),
  [@wiai](https://github.com/wiai),
  [@cosmicshear](https://github.com/cosmicshear),
  [@ericore](https://github.com/ericore),
  [@seangrogan](https://github.com/seangrogan),
  [@PhilipeRLeal](https://github.com/PhilipeRLeal),
  [@din14970](https://github.com/din14970),
  [@SarthakJariwala](https://github.com/SarthakJariwala),
  [@k1moradi](https://github.com/k1moradi),
  [@anntzer](https://github.com/anntzer),
  [@bugalo](https://github.com/bugalo),
  [@musicinmybrain](https://github.com/musicinmybrain)



  License under the BSD License, compatible with matplotlib.

  Copyright (c) 2015-2022 Philippe Pinard

  [i9]: https://github.com/ppinard/matplotlib-scalebar/issues/9
  [i11]: https://github.com/ppinard/matplotlib-scalebar/issues/11
  [i12]: https://github.com/ppinard/matplotlib-scalebar/issues/12
  [i14]: https://github.com/ppinard/matplotlib-scalebar/issues/14
  [i15]: https://github.com/ppinard/matplotlib-scalebar/issues/15
  [i18]: https://github.com/ppinard/matplotlib-scalebar/issues/18
  [i19]: https://github.com/ppinard/matplotlib-scalebar/issues/19
  [i20]: https://github.com/ppinard/matplotlib-scalebar/issues/20
  [i22]: https://github.com/ppinard/matplotlib-scalebar/issues/22
  [i23]: https://github.com/ppinard/matplotlib-scalebar/issues/23
  [i24]: https://github.com/ppinard/matplotlib-scalebar/issues/24
  [i29]: https://github.com/ppinard/matplotlib-scalebar/issues/29
  [i30]: https://github.com/ppinard/matplotlib-scalebar/issues/30
  [i32]: https://github.com/ppinard/matplotlib-scalebar/issues/32
  [i33]: https://github.com/ppinard/matplotlib-scalebar/issues/33
  [i35]: https://github.com/ppinard/matplotlib-scalebar/issues/35
  [i36]: https://github.com/ppinard/matplotlib-scalebar/issues/36
  [i41]: https://github.com/ppinard/matplotlib-scalebar/issues/41
  [i44]: https://github.com/ppinard/matplotlib-scalebar/pull/44
  [i47]: https://github.com/ppinard/matplotlib-scalebar/pull/47
  [i48]: https://github.com/ppinard/matplotlib-scalebar/pull/48


pkgId: 6bb0055dc49312476a79d52b4c3cc2b65ac95dc169959506c40cfba2e086e5a1
name: python-matrix-nio
arch: src
version: 0.20.1
epoch: 0
release: 1
summary: A Python Matrix client library, designed according to sans I/O principles.
url: https://github.com/poljar/matrix-nio
rpm_license: ISC
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-bf139555-8e8d-42a9-91fd-4b40086a57a6
location_href: 00004173-python-matrix-nio/python-matrix-nio-0.20.1-1.src.rpm
checksum_type: sha256
description:
  [![Build Status](https://img.shields.io/github/workflow/status/poljar/matrix-nio/Build%20Status?style=flat-square)](https://github.com/poljar/matrix-nio/actions)
  [![codecov](https://img.shields.io/codecov/c/github/poljar/matrix-nio/master.svg?style=flat-square)](https://codecov.io/gh/poljar/matrix-nio)
  [![license](https://img.shields.io/badge/license-ISC-blue.svg?style=flat-square)](https://github.com/poljar/matrix-nio/blob/master/LICENSE.md)
  [![Documentation Status](https://readthedocs.org/projects/matrix-nio/badge/?version=latest&style=flat-square)](https://matrix-nio.readthedocs.io/en/latest/?badge=latest)
  [![#nio](https://img.shields.io/badge/matrix-%23nio:matrix.org-blue.svg?style=flat-square)](https://matrix.to/#/!JiiOHXrIUCtcOJsZCa:matrix.org?via=matrix.org&via=maunium.net&via=t2l.io)
  nio is a multilayered [Matrix](https://matrix.org/) client library. The
  underlying base layer doesn't do any network IO on its own, but on top of that
  is a full fledged batteries-included asyncio layer using
  [aiohttp](https://github.com/aio-libs/aiohttp/). File IO is only done if you
  enable end-to-end encryption (E2EE).


pkgId: ef1308badaa24b46fe72121c51f674ec7de01b687c4ac31578388a8a18b3de0d
name: python-matrix-synapse-ldap3
arch: src
version: 0.2.2
epoch: 0
release: 1
summary: An LDAP3 auth provider for Synapse
url: https://github.com/matrix-org/matrix-synapse-ldap3
rpm_license: Apache Software License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-d0b34a33-c4a1-4340-9db7-824e62a9dc42
location_href: 00004174-python-matrix-synapse-ldap3/python-matrix-synapse-ldap3-0.2.2-1.src.rpm
checksum_type: sha256
description:
  Allows synapse to use LDAP as a password provider.
  This allows users to log in to synapse with their username and password from an
  LDAP server. There is also ma1sd (https://github.com/ma1uta/ma1sd) (3rd party)
  that offers more fully-featured integration.


pkgId: 5808214f1d6d7def20bb9b7748404e6695df8d1b7e7cf6ce28764804ebf2555b
name: python-maya
arch: src
version: 0.6.1
epoch: 0
release: 1
summary: Datetimes for Humans.
url: https://github.com/kennethreitz/maya
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-d53e078b-0170-4a7f-b2a4-ba9974c383ce
location_href: 00012217-python-maya/python-maya-0.6.1-1.src.rpm
checksum_type: sha256
description:
  Datetimes are very frustrating to work with in Python, especially when dealing
  with different locales on different systems. This library exists to make the
  simple things **much** easier, while admitting that time is an illusion
  (timezones doubly so).
  Datetimes should be interacted with via an API written for humans.
  Maya is mostly built around the headaches and use-cases around parsing datetime data from websites.
  Art by `Sam Flores
  <https://www.instagram.com/samagram12/>`_ (Photo by `Kenneth Reitz
  <https://www.instagram.com/kennethreitz/>`_).
  If you're interested in financially supporting Kenneth Reitz open source, consider `visiting this link <https://cash.me/$KennethReitz>`_. Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.


pkgId: f84dfa08b98466f20a099ddfe39af3e12283d20e23f1f21cab08c123e3defb75
name: python-mbed-tools
arch: src
version: 7.59.0
epoch: 0
release: 1
summary: Command line interface for Mbed OS.
url: https://github.com/ARMmbed/mbed-tools
rpm_license: Apache 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-b9299646-fa27-424f-aaea-28d8a2ae6a82
location_href: 00011191-python-mbed-tools/python-mbed-tools-7.59.0-1.src.rpm
checksum_type: sha256
description:
  ![Package](https://badgen.net/badge/Package/mbed-tools/grey)
  [![Documentation](https://badgen.net/badge/Documentation/GitHub%20Pages/blue?icon=github)](https://armmbed.github.io/mbed-tools/api/)
  [![PyPI](https://badgen.net/pypi/v/mbed-tools)](https://pypi.org/project/mbed-tools/)
  [![PyPI - Status](https://img.shields.io/pypi/status/mbed-tools)](https://pypi.org/project/mbed-tools/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mbed-tools)](https://pypi.org/project/mbed-tools/)

  [![License](https://badgen.net/pypi/license/mbed-tools)](https://github.com/ARMmbed/mbed-tools/blob/master/LICENSE)

  [![Build Status](https://dev.azure.com/mbed-tools/mbed-tools/_apis/build/status/Build%20and%20Release?branchName=master&stageName=CI%20Checkpoint)](https://dev.azure.com/mbed-tools/mbed-tools/_build/latest?definitionId=10&branchName=master)
  [![Test Coverage](https://codecov.io/gh/ARMmbed/mbed-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/ARMmbed/mbed-tools)
  [![Maintainability](https://api.codeclimate.com/v1/badges/b9fca0e16f7a85da7674/maintainability)](https://codeclimate.com/github/ARMmbed/mbed-tools/maintainability)



  This is the **future** command line tool for Mbed OS. It provides the ability to detect Mbed Enabled devices connected
  by USB, checkout Mbed projects and perform builds amongst other operations.

  > :warning: While this package is generally available it is not complete. The available functionality can be viewed with
  > the `--help` option once installed. Please note that the current tools for Mbed OS 5.x and above can be found at
  > https://github.com/ARMmbed/mbed-cli.



  For release notes and a history of changes of all **production** releases, please see the following:

  - [Changelog](https://github.com/ARMmbed/mbed-tools/blob/master/CHANGELOG.md)

  For a the list of all available versions please, please see the:

  - [PyPI Release History](https://pypi.org/project/mbed-tools/#history)



  The version scheme used follows [PEP440](https://www.python.org/dev/peps/pep-0440/) and
  [Semantic Versioning](https://semver.org/). For production quality releases the version will look as follows:

  - `<major>.<minor>.<patch>`

  Pre releases are used to give early access to new functionality, for testing and to get feedback on experimental
  features. As such these releases may not be stable and should not be used for production. Additionally any interfaces
  introduced in a pre release may be removed or changed without notice. For pre releases the version will look as
  follows:

  - `<major>.<minor>.<patch>.dev<pre-release-number>`



  `mbed-tools` relies on the Ninja build system and CMake.
  - CMake. [Install version 3.19.0 or newer for all operating systems](https://cmake.org/install/).
  - Ninja. [Install version 1.0 or newer for all operating systems](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages).

  We recommend installing `mbed-tools` in a Python virtual environment to avoid dependency conflicts.

  To install the most recent production quality release use:

  ```
  pip install mbed-tools
  ```

  To install a specific release:

  ```
  pip install mbed-tools==<version>
  ```



  Interface definition and usage documentation (for developers of Mbed OS tooling) is available for the most recent
  production release here:

  - [GitHub Pages](https://armmbed.github.io/mbed-tools/api/)



  The follow described the major aspects of the project structure:

  - `azure-pipelines/` - CI configuration files for Azure Pipelines.
  - `src/mbed_tools/` - Python source files.
  - `news/` - Collection of news files for unreleased changes.
  - `tests/` - Unit and integration tests.



  - For interface definition and usage documentation, please see [GitHub Pages](https://armmbed.github.io/mbed-tools/api/).
  - For a list of known issues and possible work arounds, please see [Known Issues](KNOWN_ISSUES.md).
  - To raise a defect or enhancement please use [GitHub Issues](https://github.com/ARMmbed/mbed-tools/issues).
  - To ask a question please use the [Mbed Forum](https://forums.mbed.com/).



  - Mbed OS is an open source project and we are committed to fostering a welcoming community, please see our
    [Code of Conduct](https://github.com/ARMmbed/mbed-tools/blob/master/CODE_OF_CONDUCT.md) for more information.
  - For how to contribute to the project, including how to develop the project,
    please see the [Contributions Guidelines](https://github.com/ARMmbed/mbed-tools/blob/master/CONTRIBUTING.md)


pkgId: 10a631ff5fcb435e0a2b46681e2e1fdbb1aba9e5f91a3663073d14f9db868b96
name: python-mbstrdecoder
arch: src
version: 1.1.2
epoch: 0
release: 1
summary: multi-byte character string decoder
url: https://github.com/thombashi/mbstrdecoder
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-b874e35d-aefc-4017-a195-98fb20fa50a2
location_href: 00011089-python-mbstrdecoder/python-mbstrdecoder-1.1.2-1.src.rpm
checksum_type: sha256
description:
  `mbstrdecoder <https://github.com/thombashi/mbstrdecoder>`__ is a Python library for multi-byte character string decoder.


pkgId: d78624d048e4ff6b17fed318a01c4e9dd245a940870e1628b32eebb6322ce8d9
name: python-mccabe
arch: src
version: 0.7.0
epoch: 0
release: 1
summary: McCabe checker, plugin for flake8
url: https://github.com/pycqa/mccabe
rpm_license: Expat license
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c294a4be-de52-4e29-9f25-f672c749dc3b
location_href: 00008998-python-mccabe/python-mccabe-0.7.0-1.src.rpm
checksum_type: sha256
description:
  Ned's script to check McCabe complexity.
  This module provides a plugin for ``flake8``, the Python code checker.


pkgId: 30ccc6caae843d78eb323c1616c5b4917cfba225a31573ae067ec411463b36d6
name: python-mdv
arch: src
version: 1.7.4
epoch: 0
release: 1
summary: Terminal Markdown Viewer
url: http://github.com/axiros/terminal_markdown_viewer
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-822d24f7-2747-45ec-855b-d5d83768f0f5
location_href: 00013010-python-mdv/python-mdv-1.7.4-1.src.rpm
checksum_type: sha256
description:
  """
  from setuptools import setup, find_packages
  import mdv
  setup(
      name='mdv',
      version=mdv.__version__,
  ```


pkgId: f4737a2323156aac5f217d59e28e5c41114ad790d3c59958156bad313a2faec1
name: python-mdx-gh-links
arch: src
version: 0.3
epoch: 0
release: 1
url: https://github.com/Python-Markdown/github-links/
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-580467ab-63f5-451c-9e78-04cd5e356718
location_href: 00004178-python-mdx_gh_links/python-mdx-gh-links-0.3-1.src.rpm
checksum_type: sha256
summary:
  An extension to Python-Markdown which adds support for shorthand links to GitHub users, repositories, issues and commits.


pkgId: ef78abe11dd5b15db67f88b4aeb79fddd34ed68a22d8a36a1481a3d4b3037793
name: python-mechanize
arch: src
version: 0.4.8
epoch: 0
release: 1
summary: Stateful, programmatic web browsing
url: https://github.com/python-mechanize/mechanize
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-a2893aad-e0f2-42e5-8a39-3429a64ca68c
location_href: 00004181-python-mechanize/python-mechanize-0.4.8-1.src.rpm
checksum_type: sha256
description:
  Stateful programmatic web browsing in Python
  - The browser class `mechanize.Browser` implements the
    interface of `urllib2.OpenerDirector`, so any URL can
    be opened not just `http`.
  - Easy HTML form filling.
  - Convenient link parsing and following.
  - Browser history (`.back()` and `.reload()` methods).
  - The `Referer` HTTP header is added properly (optional).
  - Automatic observance of `robots.txt <http://www.robotstxt.org/wc/norobots.html>`_.
  - Automatic handling of HTTP-Equiv and Refresh.


pkgId: 6f2a1df3674f233343a5a60911259120f6e9aa6098752fa7f0282f24f5be91a6
name: python-meld3
arch: src
version: 2.0.1
epoch: 0
release: 1
summary: Unmaintained templating system used by old versions of Supervisor
url: https://github.com/supervisor/meld3
rpm_license: BSD-derived (http://www.repoze.org/LICENSE.txt)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-641e0a17-b636-4cf4-b4ac-663366088095
location_href: 00004184-python-meld3/python-meld3-2.0.1-1.src.rpm
checksum_type: sha256
description:
  No further development of the meld3 package is planned.  The meld3 package
  should be considered unmaintained as of April 2020.  Since 2007, meld3
  received only minimal updates to keep compatible with newer Python versions.
  It was only maintained because it was a dependency of the Supervisor package.
  Since Supervisor 4.1.0 (released in October 2019), the meld3 package is
  no longer a dependency of Supervisor.


pkgId: 081b4a81f864438e247653d3b27b7c3a7465064b5f943dcb14854eaf26e2af86
name: python-memoization
arch: src
version: 0.4.0
epoch: 0
release: 1
url: https://github.com/lonelyenvoy/python-memoization
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-b6bda6e4-c417-46bf-84f8-1c5464d8b58d
location_href: 00010915-python-memoization/python-memoization-0.4.0-1.src.rpm
checksum_type: sha256
summary:
  A powerful caching library for Python, with TTL support and multiple algorithm options. (https://github.com/lonelyenvoy/python-memoization)

description:
  [![Repository][repositorysvg]][repository] [![Build Status][travismaster]][travis] [![Codacy Badge][codacysvg]][codacy]
  [![Coverage Status][coverallssvg]][coveralls] [![Downloads][downloadssvg]][repository]
  <br>
  [![PRs welcome][prsvg]][pr] [![License][licensesvg]][license] [![Supports Python][pythonsvg]][python]


  A powerful caching library for Python, with TTL support and multiple algorithm options.

  If you like this work, please [star](https://github.com/lonelyenvoy/python-memoization) it on GitHub.



  Perhaps you know about [```functools.lru_cache```](https://docs.python.org/3/library/functools.html#functools.lru_cache)
  in Python 3, and you may be wondering why we are reinventing the wheel.

  Well, actually not. This lib is based on ```functools```. Please find below the comparison with ```lru_cache```.

  |Features|```functools.lru_cache```|```memoization```|
  |--------|-------------------|-----------|
  |Configurable max size|✔️|✔️|
  |Thread safety|✔️|✔️|
  |Flexible argument typing (typed & untyped)|✔️|Always typed|
  |Cache statistics|✔️|✔️|
  |LRU (Least Recently Used) as caching algorithm|✔️|✔️|
  |LFU (Least Frequently Used) as caching algorithm|No support|✔️|
  |FIFO (First In First Out) as caching algorithm|No support|✔️|
  |Extensibility for new caching algorithms|No support|✔️|
  |TTL (Time-To-Live) support|No support|✔️|
  |Support for unhashable arguments (dict, list, etc.)|No support|✔️|
  |Custom cache keys|No support|✔️|
  |On-demand partial cache clearing|No support|✔️|
  |Iterating through the cache|No support|✔️|
  |Python version|3.2+|3.4+|

  ```memoization``` solves some drawbacks of ```functools.lru_cache```:

  1. ```lru_cache``` does not support __unhashable types__, which means function arguments cannot contain dict or list.

  ```python
  >>> from functools import lru_cache
  >>> @lru_cache()
  ... def f(x): return x
  ...
  >>> f([1, 2])  # unsupported
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  TypeError: unhashable type: 'list'
  ```

  2. ```lru_cache``` is vulnerable to [__hash collision attack__](https://learncryptography.com/hash-functions/hash-collision-attack)
     and can be hacked or compromised. Using this technique, attackers can make your program __unexpectedly slow__ by
     feeding the cached function with certain cleverly designed inputs. However, in ```memoization```, caching is always
     typed, which means ```f(3)``` and ```f(3.0)``` will be treated as different calls and cached separately. Also,
     you can build your own cache key with a unique hashing strategy. These measures __prevents the attack__ from
     happening (or at least makes it a lot harder).

  ```python
  >>> hash((1,))
  3430019387558
  >>> hash(3430019387558.0)  # two different arguments with an identical hash value
  3430019387558
  ```

  3. Unlike `lru_cache`, `memoization` is designed to be highly extensible, which make it easy for developers to add and integrate
  __any caching algorithms__ (beyond FIFO, LRU and LFU) into this library. See [Contributing Guidance](https://github.com/lonelyenvoy/python-memoization/blob/master/CONTRIBUTING.md) for further detail.




  ```bash
  pip install -U memoization
  ```




  ```python
  from memoization import cached

  @cached
  def func(arg):
      ...  # do something slow
  ```

  Simple enough - the results of ```func()``` are cached.
  Repetitive calls to ```func()``` with the same arguments run ```func()``` only once, enhancing performance.

  >:warning:__WARNING:__ for functions with unhashable arguments, the default setting may not enable `memoization` to work properly. See [custom cache keys](https://github.com/lonelyenvoy/python-memoization#custom-cache-keys) section below for details.



  You will learn about the advanced features in the following tutorial, which enable you to customize `memoization` .

  Configurable options include `ttl`, `max_size`, `algorithm`, `thread_safe`, `order_independent` and `custom_key_maker`.



  ```python
  @cached(ttl=5)  # the cache expires after 5 seconds
  def expensive_db_query(user_id):
      ...
  ```

  For impure functions, TTL (in second) will be a solution. This will be useful when the function returns resources that is valid only for a short time, e.g. fetching something from databases.



  ```python
  @cached(max_size=128)  # the cache holds no more than 128 items
  def get_a_very_large_object(filename):
      ...
  ```

  By default, if you don't specify ```max_size```, the cache can hold unlimited number of items.
  When the cache is fully occupied, the former data will be overwritten by a certain algorithm described below.



  ```python
  from memoization import cached, CachingAlgorithmFlag

  @cached(max_size=128, algorithm=CachingAlgorithmFlag.LFU)  # the cache overwrites items using the LFU algorithm
  def func(arg):
      ...
  ```

  Possible values for ```algorithm``` are:

  - `CachingAlgorithmFlag.LRU`: _Least Recently Used_  (default)
  - `CachingAlgorithmFlag.LFU`: _Least Frequently Used_
  - `CachingAlgorithmFlag.FIFO`: _First In First Out_

  This option is valid only when a ```max_size``` is explicitly specified.



  ```python
  @cached(thread_safe=False)
  def func(arg):
      ...
  ```

  ```thread_safe``` is ```True``` by default. Setting it to ```False``` enhances performance.



  By default, the following function calls will be treated differently and cached twice, which means the cache misses at the second call.

  ```python
  func(a=1, b=1)
  func(b=1, a=1)
  ```

  You can avoid this behavior by passing an `order_independent` argument to the decorator, although it will slow down the performance a little bit.

  ```python
  @cached(order_independent=True)
  def func(**kwargs):
      ...
  ```



  Prior to memorize your function inputs and outputs (i.e. putting them into a cache), `memoization` needs to
  build a __cache key__ using the inputs, so that the outputs can be retrieved later.

  > By default, `memoization` tries to combine all your function
  arguments and calculate its hash value using `hash()`. If it turns out that parts of your arguments are
  unhashable, `memoization` will fall back to turning them into a string using `str()`. This behavior relies
  on the assumption that the string exactly represents the internal state of the arguments, which is true for
  built-in types.

  However, this is not true for all objects. __If you pass objects which are
  instances of non-built-in classes, sometimes you will need to override the default key-making procedure__,
  because the `str()` function on these objects may not hold the correct information about their states.

  Here are some suggestions. __Implementations of a valid key maker__:

  - MUST be a function with the same signature as the cached function.
  - MUST produce unique keys, which means two sets of different arguments always map to two different keys.
  - MUST produce hashable keys, and a key is comparable with another key (`memoization` only needs to check for their equality).
  - should compute keys efficiently and produce small objects as keys.

  Example:

  ```python
  def get_employee_id(employee):
      return employee.id  # returns a string or a integer

  @cached(custom_key_maker=get_employee_id)
  def calculate_performance(employee):
      ...
  ```

  Note that writing a robust key maker function can be challenging in some situations. If you find it difficult,
  feel free to ask for help by submitting an [issue](https://github.com/lonelyenvoy/python-memoization/issues).




  ```python
  >>> @cached
  ... def f(x): return x
  ...
  >>> f.cache_info()
  CacheInfo(hits=0, misses=0, current_size=0, max_size=None, algorithm=<CachingAlgorithmFlag.LRU: 2>, ttl=None, thread_safe=True, order_independent=False, use_custom_key=False)
  ```

  With ```cache_info```, you can retrieve the number of ```hits``` and ```misses``` of the cache, and other information indicating the caching status.

  - `hits`: the number of cache hits
  - `misses`: the number of cache misses
  - `current_size`: the number of items that were cached
  - `max_size`: the maximum number of items that can be cached (user-specified)
  - `algorithm`: caching algorithm (user-specified)
  - `ttl`: Time-To-Live value (user-specified)
  - `thread_safe`: whether the cache is thread safe (user-specified)
  - `order_independent`: whether the cache is kwarg-order-independent (user-specified)
  - `use_custom_key`: whether a custom key maker is used



  - Access the original undecorated function `f` by `f.__wrapped__`.
  - Clear the cache by `f.cache_clear()`.
  - Check whether the cache is empty by `f.cache_is_empty()`.
  - Check whether the cache is full by `f.cache_is_full()`.
  - Disable `SyntaxWarning` by `memoization.suppress_warnings()`.



  <details>
  <summary>Details</summary>





  ```
  Return True if the cache contains a cached item with the specified function call arguments

  :param function_arguments:  Can be a list, a tuple or a dict.
                              - Full arguments: use a list to represent both positional arguments and keyword
                                arguments. The list contains two elements, a tuple (positional arguments) and
                                a dict (keyword arguments). For example,
                                  f(1, 2, 3, a=4, b=5, c=6)
                                can be represented by:
                                  [(1, 2, 3), {'a': 4, 'b': 5, 'c': 6}]
                              - Positional arguments only: when the arguments does not include keyword arguments,
                                a tuple can be used to represent positional arguments. For example,
                                  f(1, 2, 3)
                                can be represented by:
                                  (1, 2, 3)
                              - Keyword arguments only: when the arguments does not include positional arguments,
                                a dict can be used to represent keyword arguments. For example,
                                  f(a=4, b=5, c=6)
                                can be represented by:
                                  {'a': 4, 'b': 5, 'c': 6}

  :param alive_only:          Whether to check alive cache item only (default to True).

  :return:                    True if the desired cached item is present, False otherwise.
  ```



  ```
  Return True if the cache contains a cache item with the specified user function return value. O(n) time
  complexity.

  :param return_value:        A return value coming from the user function.

  :param alive_only:          Whether to check alive cache item only (default to True).

  :return:                    True if the desired cached item is present, False otherwise.
  ```





  ```
  Get user function arguments of all alive cache elements

  see also: cache_items()

  Example:
     @cached
     def f(a, b, c, d):
         ...
     f(1, 2, c=3, d=4)
     for argument in f.cache_arguments():
         print(argument)  # ((1, 2), {'c': 3, 'd': 4})

  :return: an iterable which iterates through a list of a tuple containing a tuple (positional arguments) and
          a dict (keyword arguments)
  ```



  ```
  Get user function return values of all alive cache elements

  see also: cache_items()

  Example:
     @cached
     def f(a):
         return a
     f('hello')
     for result in f.cache_results():
         print(result)  # 'hello'

  :return: an iterable which iterates through a list of user function result (of any type)
  ```



  ```
  Get cache items, i.e. entries of all alive cache elements, in the form of (argument, result).

  argument: a tuple containing a tuple (positional arguments) and a dict (keyword arguments).
  result: a user function return value of any type.

  see also: cache_arguments(), cache_results().

  Example:
     @cached
     def f(a, b, c, d):
         return 'the answer is ' + str(a)
     f(1, 2, c=3, d=4)
     for argument, result in f.cache_items():
         print(argument)  # ((1, 2), {'c': 3, 'd': 4})
         print(result)    # 'the answer is 1'

  :return: an iterable which iterates through a list of (argument, result) entries
  ```



  ```
  Perform the given action for each cache element in an order determined by the algorithm until all
  elements have been processed or the action throws an error

  :param consumer:           an action function to process the cache elements. Must have 3 arguments:
                               def consumer(user_function_arguments, user_function_result, is_alive): ...
                             user_function_arguments is a tuple holding arguments in the form of (args, kwargs).
                               args is a tuple holding positional arguments.
                               kwargs is a dict holding keyword arguments.
                               for example, for a function: foo(a, b, c, d), calling it by: foo(1, 2, c=3, d=4)
                               user_function_arguments == ((1, 2), {'c': 3, 'd': 4})
                             user_function_result is a return value coming from the user function.
                             is_alive is a boolean value indicating whether the cache is still alive
                             (if a TTL is given).
  ```





  ```
  Clear the cache and its statistics information
  ```



  ```
  Remove all cache elements that satisfy the given predicate

  :param predicate:           a predicate function to judge whether the cache elements should be removed. Must
                              have 3 arguments, and returns True or False:
                                def consumer(user_function_arguments, user_function_result, is_alive): ...
                              user_function_arguments is a tuple holding arguments in the form of (args, kwargs).
                                args is a tuple holding positional arguments.
                                kwargs is a dict holding keyword arguments.
                                for example, for a function: foo(a, b, c, d), calling it by: foo(1, 2, c=3, d=4)
                                user_function_arguments == ((1, 2), {'c': 3, 'd': 4})
                              user_function_result is a return value coming from the user function.
                              is_alive is a boolean value indicating whether the cache is still alive
                              (if a TTL is given).

  :return:                    True if at least one element is removed, False otherwise.
  ```

  </details>



  1. **Q: There are duplicated code in `memoization` and most of them can be eliminated by using another level of
  abstraction (e.g. classes and multiple inheritance). Why not refactor?**

     A: We would like to keep the code in a proper level of abstraction. However, these abstractions make it run slower.
  As this is a caching library focusing on speed, we have to give up some elegance for better performance. Refactoring
  is our future work.


  2. **Q: I have submitted an issue and not received a reply for a long time. Anyone can help me?**

     A: Sorry! We are not working full-time, but working voluntarily on this project, so you might experience some delay.
  We appreciate your patience.




  This project welcomes contributions from anyone.
  - [Read Contributing Guidance](https://github.com/lonelyenvoy/python-memoization/blob/master/CONTRIBUTING.md) first.
  - [Submit bugs](https://github.com/lonelyenvoy/python-memoization/issues) and help us verify fixes.
  - [Submit pull requests](https://github.com/lonelyenvoy/python-memoization/pulls) for bug fixes and features and discuss existing proposals. Please make sure that your PR passes the tests in ```test.py```.
  - [See contributors](https://github.com/lonelyenvoy/python-memoization/blob/master/CONTRIBUTORS.md) of this project.




  [The MIT License](https://github.com/lonelyenvoy/python-memoization/blob/master/LICENSE)


  [pythonsvg]: https://img.shields.io/pypi/pyversions/memoization.svg
  [python]: https://www.python.org

  [travismaster]: https://travis-ci.com/lonelyenvoy/python-memoization.svg?branch=master
  [travis]: https://travis-ci.com/lonelyenvoy/python-memoization

  [coverallssvg]: https://coveralls.io/repos/github/lonelyenvoy/python-memoization/badge.svg?branch=master
  [coveralls]: https://coveralls.io/github/lonelyenvoy/python-memoization?branch=master

  [repositorysvg]: https://img.shields.io/pypi/v/memoization
  [repository]: https://pypi.org/project/memoization

  [downloadssvg]: https://img.shields.io/pypi/dm/memoization

  [prsvg]: https://img.shields.io/badge/pull_requests-welcome-blue.svg
  [pr]: https://github.com/lonelyenvoy/python-memoization#contributing

  [licensesvg]: https://img.shields.io/badge/license-MIT-blue.svg
  [license]: https://github.com/lonelyenvoy/python-memoization/blob/master/LICENSE

  [codacysvg]: https://api.codacy.com/project/badge/Grade/52c68fb9de6b4b149e77e8e173616db6
  [codacy]: https://www.codacy.com/manual/petrinchor/python-memoization?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=lonelyenvoy/python-memoization&amp;utm_campaign=Badge_Grade


pkgId: cfec7d34c8a824b56badbdb54034339766ed738328c59244adaa7365683370d6
name: python-mergedeep
arch: src
version: 1.3.4
epoch: 0
release: 1
summary: A deep merge function for 🐍.
url: https://github.com/clarketm/mergedeep
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-ce98ecb2-d0c6-4507-ad2a-c19f41dbaf56
location_href: 00009775-python-mergedeep/python-mergedeep-1.3.4-1.src.rpm
checksum_type: sha256
description:
  [![PyPi release](https://img.shields.io/pypi/v/mergedeep.svg)](https://pypi.org/project/mergedeep/)
  [![PyPi versions](https://img.shields.io/pypi/pyversions/mergedeep.svg)](https://pypi.org/project/mergedeep/)
  [![Downloads](https://pepy.tech/badge/mergedeep)](https://pepy.tech/project/mergedeep)
  [![Conda Version](https://img.shields.io/conda/vn/conda-forge/mergedeep.svg)](https://anaconda.org/conda-forge/mergedeep)
  [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/mergedeep.svg)](https://anaconda.org/conda-forge/mergedeep)
  [![Documentation Status](https://readthedocs.org/projects/mergedeep/badge/?version=latest)](https://mergedeep.readthedocs.io/en/latest/?badge=latest)

  A deep merge function for 🐍.

  [Check out the mergedeep docs](https://mergedeep.readthedocs.io/en/latest/)



  ```bash
  $ pip install mergedeep
  ```



  ```text
  merge(destination: MutableMapping, *sources: Mapping, strategy: Strategy = Strategy.REPLACE) -> MutableMapping
  ```

  Deep merge without mutating the source dicts.

  ```python3
  from mergedeep import merge

  a = {"keyA": 1}
  b = {"keyB": {"sub1": 10}}
  c = {"keyB": {"sub2": 20}}

  merged = merge({}, a, b, c)

  print(merged)

  ```

  Deep merge into an existing dict.
  ```python3
  from mergedeep import merge

  a = {"keyA": 1}
  b = {"keyB": {"sub1": 10}}
  c = {"keyB": {"sub2": 20}}

  merge(a, b, c)

  print(a)

  ```



  1. Replace (*default*)

  > `Strategy.REPLACE`

  ```python3




  from mergedeep import merge, Strategy

  dst = {"key": [1, 2]}
  src = {"key": [3, 4]}

  merge(dst, src, strategy=Strategy.REPLACE)


  print(dst)

  ```

  2. Additive

  > `Strategy.ADDITIVE`

  ```python3





  from mergedeep import merge, Strategy

  dst = {"key": [1, 2], "count": Counter({"a": 1, "b": 1})}
  src = {"key": [3, 4], "count": Counter({"a": 1, "c": 1})}

  merge(dst, src, strategy=Strategy.ADDITIVE)

  print(dst)

  ```

  3. Typesafe replace

  > `Strategy.TYPESAFE_REPLACE` or `Strategy.TYPESAFE`

  ```python3


  from mergedeep import merge, Strategy

  dst = {"key": [1, 2]}
  src = {"key": {3, 4}}

  merge(dst, src, strategy=Strategy.TYPESAFE_REPLACE) # same as: `Strategy.TYPESAFE`

  ```

  4. Typesafe additive

  > `Strategy.TYPESAFE_ADDITIVE`

  ```python3


  from mergedeep import merge, Strategy

  dst = {"key": [1, 2]}
  src = {"key": {3, 4}}

  merge(dst, src, strategy=Strategy.TYPESAFE_ADDITIVE)

  ```



  MIT &copy; [**Travis Clarke**](https://blog.travismclarke.com/)


pkgId: 6d99f88a4cd6fe38eeb4de96d98405a339ee6647b59008f07e0d52d19b6824a7
name: python-metaextract
arch: src
version: 1.0.9
epoch: 0
release: 1
summary: get metadata for python modules
url: http://github.com/toabctl/metaextract
rpm_license: Apache-2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-cdb1513c-047f-4767-8fd0-e5ffd489b3ac
location_href: 00004187-python-metaextract/python-metaextract-1.0.9-1.src.rpm
checksum_type: sha256
description:
  metaextract is a tool to collect metadata about a python module. For example
  you may have a sdist tarball from the `Python Package Index`_ and you want to
  know it's dependencies. metaextract can collect theses dependencies.
  The tool was first developed in `py2pack`_ but is now it's own module to be
  useful for others, too.


pkgId: 44b7162dd97941c4b68661523d0218fb5c6302b9ac5ff23ab53d3bf2b44a2880
name: python-metaflow
arch: src
version: 2.8.2
epoch: 0
release: 1
summary: Metaflow: More Data Science, Less Engineering
url: https://pypi.org/project/metaflow/
rpm_license: Apache Software License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-ff521a07-7880-4528-a6b7-294211098dd5
location_href: 00013501-python-metaflow/python-metaflow-2.8.2-1.src.rpm
checksum_type: sha256
description:
  ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)



  Metaflow is a human-friendly Python/R library that helps scientists and engineers build and manage real-life data science projects. Metaflow was originally developed at Netflix to boost productivity of data scientists who work on a wide variety of projects from classical statistics to state-of-the-art deep learning.

  For more information, see [Metaflow's website](https://metaflow.org) and [documentation](https://docs.metaflow.org).



  Getting up and running with Metaflow is easy.


  Install metaflow from [pypi](https://pypi.org/project/metaflow/):

  ```sh
  pip install metaflow
  ```

  and access tutorials by typing:

  ```sh
  metaflow tutorials pull
  ```



  Install Metaflow from [github](https://github.com/Netflix/metaflow/tree/master/R):

  ```R
  devtools::install_github("Netflix/metaflow", subdir="R")
  metaflow::install()
  ```

  and access tutorials by typing:

  ```R
  metaflow::pull_tutorials()
  ```


  There are several ways to get in touch with us:

  * Open an issue at: https://github.com/Netflix/metaflow
  * Email us at: help@metaflow.org
  * Chat with us on: http://chat.metaflow.org



  We welcome contributions to Metaflow. Please see our [contribution guide](https://docs.metaflow.org/introduction/contributing-to-metaflow) for more details.



  We use [black](https://black.readthedocs.io/en/stable/) as a code formatter. The easiest way to ensure your commits are always formatted with the correct version of `black` it is to use [pre-commit](https://pre-commit.com/): install it and then run `pre-commit install` once in your local copy of the repo.


pkgId: 93a8ba373d6464726da50dc8017f4ec00a7bb1e6424376e6c15a09b0f5518847
name: python-metar
arch: src
version: 1.9.0
epoch: 0
release: 1
summary: Metar - a package to parse METAR-coded weather reports
url: https://github.com/python-metar/python-metar
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-ba32e5af-9ecc-423d-b56e-7bebbf0fb315
location_href: 00004192-python-metar/python-metar-1.9.0-1.src.rpm
checksum_type: sha256
description:
  Metar is a python package for interpreting METAR and SPECI weather reports.

  METAR is an international format for reporting weather observations.
  The standard specification for the METAR and SPECI codes is given
  in the WMO Manual on Codes, vol I.1, Part A (WMO-306 I.i.A).  US
  conventions for METAR/SPECI reports are described in chapter 12 of
  the Federal Meteorological Handbook No.1. (FMC-H1-2017), issued by
  NOAA.  See http://www.ofcm.gov/publications/fmh/FMH1/FMH1.pdf

  This module extracts the data recorded in the main-body groups of
  reports that follow the WMO spec or the US conventions, except for
  the runway state and trend groups, which are parsed but ignored.
  The most useful remark groups defined in the US spec are parsed,
  as well, such as the cumulative precipitation, min/max temperature,
  peak wind and sea-level pressure groups.  No other regional conventions
  are formally supported, but a large number of variant formats found
  in international reports are accepted.


pkgId: 684f14eb19415c1aa370dc2cd10a88ef8e358375671f14796acdf3e6934163ee
name: python-methodtools
arch: src
version: 0.4.7
epoch: 0
release: 1
summary: Expand standard functools to methods
url: https://github.com/youknowone/methodtools
rpm_license: BSD 2-Clause License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-1ce58351-82fb-48fd-8ad4-45ba4d58142d
location_href: 00012256-python-methodtools/python-methodtools-0.4.7-1.src.rpm
checksum_type: sha256
description:
  Expand functools features to methods, classmethods, staticmethods and even for
  (unofficial) hybrid methods.
  For now, methodtools only provides `methodtools.lru_cache`.
  Use `methodtools` module instead of `functools` module. Than it will work as
  you expected.
      from methodtools import lru_cache
      class A(object):
          
          @lru_cache()
          def cached_method(self, args):
          
          @lru_cache()  # the order is important!
          @classmethod  # always lru_cache on top of classmethod
          def cached_classmethod(self, args):
          
          @lru_cache()  # the order is important!
          @staticmethod  # always lru_cache on top of staticmethod
          def cached_staticmethod(self, args):
      @lru_cache()  # just same as functools.lru_cache
      def cached_function():


pkgId: 9fda0d23812cd699e10c1ff2bb5d7d757a8f6c9d1eae2fc2125a9f474ff680c6
name: python-mglob
arch: src
version: 0.4
epoch: 0
release: 1
summary: Enhanced file name globbing module
url: http://vvtools.googlecode.com/svn/trunk/mglob#egg=mglob-dev
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-1eafd662-0c15-4349-b19b-796741960645
location_href: 00004195-python-mglob/python-mglob-0.4-1.src.rpm
checksum_type: sha256
description:
  mglob - enhanced file list expansion utility/module

  Usable as stand-alone utility (for xargs, backticks etc.), or as a globbing library for own python programs. Globbing the sys.argv is something that almost every Windows script has to perform manually, and this module is here to help with that task. Also Unix users will benefit from enhanced features such as recursion, exclusion, and directory omission.


pkgId: 782bbc0498e6b8d65146e28639fb6c5bb5a8033140734f81b9a77a86bc1525d4
name: python-micawber
arch: src
version: 0.5.4
epoch: 0
release: 1
summary: a small library for extracting rich content from urls
url: http://github.com/coleifer/micawber/
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-6eb0194d-1945-4982-9066-986d9e8e8bd2
location_href: 00004196-python-micawber/python-micawber-0.5.4-1.src.rpm
checksum_type: sha256
description:
  micawber supplies a few methods for retrieving rich metadata about a variety of
  links, such as links to youtube videos.  micawber also provides functions for
  parsing blocks of text and html and replacing links to videos with rich embedded
  content.


pkgId: 9c2754aa76bbacdf8c6cf6b398a315928f7e772e9888062c2dcccb18e87903e2
name: python-microfs
arch: src
version: 1.4.5
epoch: 0
release: 1
summary: A module and utility to work with the simple filesystem on the BBC micro:bit
url: https://github.com/ntoll/microfs
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-f27f7f0d-b481-4cd3-a07a-bcea31aac734
location_href: 00004197-python-microfs/python-microfs-1.4.5-1.src.rpm
checksum_type: sha256
description:
  A simple command line tool and module for interacting with the limited
  file system provided by MicroPython on the BBC micro:bit.
  Installation
  ++++++++++++
  To install simply type::
      $ pip install microfs
  latest version, use the following command::
      $ pip install --no-cache --upgrade microfs
  Usage
  +++++
  There are two ways to use microfs - as a module in your Python code or as a
  stand-alone command to use from your shell (``ufs``).


pkgId: 49720bff5da1c4519a79e4aacaede71194f2273d92566a42f147f4884aee4599
name: python-mido
arch: src
version: 1.2.10
epoch: 0
release: 1
summary: MIDI Objects for Python
url: https://mido.readthedocs.io/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-ebebb387-d5bd-4a08-841c-8f363ee95720
location_href: 00004198-python-mido/python-mido-1.2.10-1.src.rpm
checksum_type: sha256
description:
  Mido is a library for working with MIDI messages and ports:
     >>> import mido
     >>> msg = mido.Message('note_on', note=60)
     >>> msg.type
     'note_on'
     >>> msg.note
     60
     >>> msg.bytes()
     [144, 60, 64]
     >>> msg.copy(channel=2)
     Message('note_on', channel=2, note=60, velocity=64, time=0)
     port = mido.open_output('Port Name')
     port.send(msg)
      with mido.open_input() as inport:
          for msg in inport:
              print(msg)
      mid = mido.MidiFile('song.mid')
      for msg in mid.play():
          port.send(msg)
  Full documentation at https://mido.readthedocs.io/


pkgId: b4fef9e084367d47ea30ead474e82f0e86f6f46849bb34b4d038a071923b0848
name: python-migen
arch: src
version: 0.9.2
epoch: 0
release: 1
summary: Python toolbox for building complex digital hardware
url: https://m-labs.hk
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c8e122f3-9da5-4ab9-9722-c5698cd36b55
location_href: 00004199-python-migen/python-migen-0.9.2-1.src.rpm
checksum_type: sha256
description:
  <img src="https://github.com/m-labs/migen/raw/master/doc/migen_logo.png" alt="migen logo" width="150"/>



  Despite being faster than schematics entry, hardware design with Verilog and
  VHDL remains tedious and inefficient for several reasons. The event-driven
  model introduces issues and manual coding that are unnecessary for synchronous
  circuits, which represent the lion's share of today's logic designs. Counter-
  intuitive arithmetic rules result in steeper learning curves and provide a
  fertile ground for subtle bugs in designs. Finally, support for procedural
  generation of logic (metaprogramming) through "generate" statements is very
  limited and restricts the ways code can be made generic, reused and organized.

  To address those issues, we have developed the **Migen FHDL** library that
  replaces the event-driven paradigm with the notions of combinatorial and
  synchronous statements, has arithmetic rules that make integers always behave
  like mathematical integers, and most importantly allows the design's logic to
  be constructed by a Python program. This last point enables hardware designers
  to take advantage of the richness of the Python language - object oriented
  programming, function parameters, generators, operator overloading, libraries,
  etc. - to build well organized, reusable and elegant designs.

  Other Migen libraries are built on FHDL and provide various tools such as a
  system-on-chip interconnect infrastructure, a dataflow programming system, a
  more traditional high-level synthesizer that compiles Python routines into
  state machines with datapaths, and a simulator that allows test benches to be
  written in Python.

  See the doc/ folder for more technical information.

  Migen is designed for Python 3.5. Note that Migen is **not** spelled MiGen.



  Code repository:
  https://github.com/m-labs/migen

  System-on-chip design based on Migen:
  https://github.com/m-labs/misoc

  Online documentation:
  https://m-labs.hk/migen/manual/



  ```python
  from migen import *
  from migen.build.platforms import m1
  plat = m1.Platform()
  led = plat.request("user_led")
  m = Module()
  counter = Signal(26)
  m.comb += led.eq(counter[25])
  m.sync += counter.eq(counter + 1)
  plat.build(m)
  ```



  Migen is released under the very permissive two-clause BSD license. Under the
  terms of this license, you are authorized to use Migen for closed-source
  proprietary designs.
  Even though we do not require you to do so, those things are awesome, so please
  do them if possible:
  * tell us that you are using Migen
  * put the Migen logo (doc/migen_logo.svg) on the page of a product using it,
    with a link to http://m-labs.hk
  * cite Migen in publications related to research it has helped
  * send us feedback and suggestions for improvements
  * send us bug reports when something goes wrong
  * send us the modifications and improvements you have done to Migen. The use
     of "git format-patch" is recommended. If your submission is large and
     complex and/or you are not sure how to proceed, feel free to discuss it on
     the mailing list or IRC (#m-labs on Freenode) beforehand.

  See LICENSE file for full copyright and license info. You can contact us on the
  public mailing list devel [AT] lists.m-labs.hk.

    "Electricity! It's like magic!"


pkgId: a6cf0ea59d312425d423eaa90447391c65019faeecfe8ec8b1625c97a81ad216
name: python-milksnake
arch: src
version: 0.1.5
epoch: 0
release: 1
summary: A python library that extends setuptools for binary extensions.
url: https://pypi.org/project/milksnake/
rpm_license: Apache License 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7dbdc6da-8417-4fd7-8348-99375f3097ab
location_href: 00013100-python-milksnake/python-milksnake-0.1.5-1.src.rpm
checksum_type: sha256
description:
  <a href="https://pypi.python.org/pypi/milksnake"><img src="https://img.shields.io/pypi/v/milksnake.svg" alt=""></a>
  <a href="https://travis-ci.org/getsentry/milksnake"><img src="https://travis-ci.org/getsentry/milksnake.svg?branch=master" alt=""></a>
  <a href="https://github.com/getsentry/milksnake/blob/master/LICENSE"><img src="https://img.shields.io/pypi/l/milksnake.svg" alt=""></a>


  Milksnake is an extension for setuptools that allows you to distribute
  dynamic linked libraries in Python wheels in the most portable way imaginable.

  It gives you a hook to invoke your own build process and to then take the
  resulting dynamic linked library.



  There are already other projects that make Python and native libraries play
  along but this one is different.  Unlike other projects that build Python
  extension modules the goal of this project is to build regular native libraries
  that are then loaded with CFFI at runtime.  Why not just use CFFI?  Because
  CFFI's setuptools support alone does not properly work with such wheels (it
  does not provide a way to build and properly tag wheels for shared libraries) and
  it does not provide a good way to invoke an external build process (like a
  makefile, cargo to build rust binaries etc.)

  In particular you will most likely only need two wheels for Linux, one for macs
  and soon one for Windows independently of how many Python interpreters you want
  to target.



  * Platforms: Linux, Mac, Windows
  * setuptools commands: `bdist_wheel`, `build`, `build_ext`, `develop`
  * `pip install --editable .`
  * Universal wheels (`PACKAGE-py2.py3-none-PLATFORM.whl`); this can be disabled
    with `milksnake_universal=False` in `setup()` in case the package also contains
    stuff that does link against libpython.



  This example shows how to build a rust project with it:

  This is what a `setup.py` file looks like:

  ```python
  from setuptools import setup

  def build_native(spec):
      
      build = spec.add_external_build(
          cmd=['cargo', 'build', '--release'],
          path='./rust'
      )

      spec.add_cffi_module(
          module_path='example._native',
          dylib=lambda: build.find_dylib('example', in_path='target/release'),
          header_filename=lambda: build.find_header('example.h', in_path='target'),
          rtld_flags=['NOW', 'NODELETE']
      )

  setup(
      name='example',
      version='0.0.1',
      packages=['example'],
      zip_safe=False,
      platforms='any',
      setup_requires=['milksnake'],
      install_requires=['milksnake'],
      milksnake_tasks=[
          build_native
      ]
  )
  ```

  You then need a `rust/` folder that has a Rust library (with a crate type
  of `cdylib`) and a `example/` python package.

  Example `example/__init__.py` file:

  ```python
  from example._native import ffi, lib


  def test():
      return lib.a_function_from_rust()
  ```

  And a `rust/src/lib.rs`:

  ```rust

  pub unsafe extern "C" fn a_function_from_rust() -> i32 {
      42
  }
  ```

  And the `rust/Cargo.toml`:

  ```toml
  [package]
  name = "example"
  version = "0.1.0"
  build = "build.rs"

  [lib]
  name = "example"
  crate-type = ["cdylib"]

  [build-dependencies]
  cbindgen = "0.4"
  ```

  And finally the build.rs file:

  ```rust
  extern crate cbindgen;

  use std::env;

  fn main() {
      let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
      let mut config: cbindgen::Config = Default::default();
      config.language = cbindgen::Language::C;
      cbindgen::generate_with_config(&crate_dir, config)
        .unwrap()
        .write_to_file("target/example.h");
  }
  ```


pkgId: e1edb91fa40fc93e6a0699f5e3f15e80acc23d76286fd70fc8c5d8faefdac511
name: python-mimerender
arch: src
version: 0.6.0
epoch: 0
release: 1
summary: RESTful HTTP Content Negotiation for Flask, Bottle, web.py and webapp2 (Google App Engine)
url: https://github.com/martinblech/mimerender
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c7a74c39-24c6-4d03-92cf-04f699ee5c78
location_href: 00004201-python-mimerender/python-mimerender-0.6.0-1.src.rpm
checksum_type: sha256
description:
  This module provides a decorator that wraps a HTTP
      request handler to select the correct render function for a given HTTP
      Accept header. It uses mimeparse to parse the accept string and select the
      best available representation. Supports Flask, Bottle, web.py and webapp2
      out of the box, and it's easy to add support for other frameworks.


pkgId: d8e2d6bcc50c43840f61d27b717179174728e409478ff29a7229b20094326e18
name: python-minimal-snowplow-tracker
arch: src
version: 0.0.2
epoch: 0
release: 1
url: https://www.fishtownanalytics.com
rpm_license: Apache License 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-6bc4229b-219d-4a88-b682-3615802be399
location_href: 00009648-python-minimal-snowplow-tracker/python-minimal-snowplow-tracker-0.0.2-1.src.rpm
checksum_type: sha256
summary:
  A minimal snowplow event tracker for Python. Add analytics to your Python and Django apps, webapps and games


pkgId: a84394c822117297b1ef8aed6793f1920c69307146ba199cd522888002296b63
name: python-minio
arch: src
version: 7.1.14
epoch: 0
release: 1
summary: MinIO Python SDK for Amazon S3 Compatible Cloud Storage
url: https://github.com/minio/minio-py
rpm_license: Apache-2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-9aa1bb37-a9b0-4af7-a681-ac56fe6d824b
location_href: 00009617-python-minio/python-minio-7.1.14-1.src.rpm
checksum_type: sha256
description:
  MinIO Python SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.

  For a complete list of APIs and examples, please take a look at the [Python Client API Reference](https://min.io/docs/minio/linux/developers/python/API.html)


  Python 3.7 or higher.



  ```sh
  pip3 install minio
  ```



  ```sh
  git clone https://github.com/minio/minio-py
  cd minio-py
  python setup.py install
  ```


  This example program connects to an S3-compatible object storage server, make a bucket on that server, and upload a file to the bucket.

  You need the following items to connect to an S3-compatible object storage server:

  | Parameters | Description                                                |
  |------------|------------------------------------------------------------|
  | Endpoint   | URL to S3 service.                                         |
  | Access Key | Access key (aka user ID) of an account in the S3 service.  |
  | Secret Key | Secret key (aka password) of an account in the S3 service. |

  This example uses MinIO server playground [https://play.min.io](https://play.min.io). Feel free to use this service for test and development.


  ```py
  from minio import Minio
  from minio.error import S3Error


  def main():
      
      
      client = Minio(
          "play.min.io",
          access_key="Q3AM3UQ867SPQQA43P2F",
          secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
      )

      
      found = client.bucket_exists("asiatrip")
      if not found:
          client.make_bucket("asiatrip")
      else:
          print("Bucket 'asiatrip' already exists")

      
      
      client.fput_object(
          "asiatrip", "asiaphotos-2015.zip", "/home/user/Photos/asiaphotos.zip",
      )
      print(
          "'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "
          "object 'asiaphotos-2015.zip' to bucket 'asiatrip'."
      )


  if __name__ == "__main__":
      try:
          main()
      except S3Error as exc:
          print("error occurred.", exc)
  ```


  ```sh
  $ python file_uploader.py
  '/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.

  $ mc ls play/asiatrip/
  [2016-06-02 18:10:29 PDT]  82KiB asiaphotos-2015.zip
  ```


  * [Python Client API Reference](https://min.io/docs/minio/linux/developers/python/API.html)
  * [Examples](https://github.com/minio/minio-py/tree/release/examples)


  * [Complete Documentation](https://min.io/docs/minio/kubernetes/upstream/index.html)


  Please refer [Contributors Guide](https://github.com/minio/minio-py/blob/release/CONTRIBUTING.md)

  [![PYPI](https://img.shields.io/pypi/v/minio.svg)](https://pypi.python.org/pypi/minio)


pkgId: 31d101904ccbbe4332057fba1abbaf26e5e655d922bb5b55fd0414e87c425259
name: python-minorminer
arch: src
version: 0.2.11
epoch: 0
release: 1
summary: heuristic algorithm to find graph minor embeddings
url: https://github.com/dwavesystems/minorminer
rpm_license: Apache 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-6661ee5b-c855-4f5e-a6e7-33169f52ef20
location_href: 00014008-python-minorminer/python-minorminer-0.2.11-1.src.rpm
checksum_type: sha256
description:
  minorminer is a tool for finding graph minors, developed to embed Ising problems onto quantum annealers (QA). Where it can be used to find minors in arbitrary graphs, it is particularly geared towards the state of the art in QA: problem graphs of a few to a few hundred variables, and hardware graphs of a few thousand qubits.


pkgId: 4e4d2b7c3827729db60a6c3e0b6d948b6a41783aa1d7a0b1f28e4ec64bc5440f
name: python-minorminer-debuginfo
arch: x86_64
version: 0.2.11
epoch: 0
release: 1
summary: Debug information for package python-minorminer
url: https://github.com/dwavesystems/minorminer
rpm_license: Apache 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-6661ee5b-c855-4f5e-a6e7-33169f52ef20
rpm_sourcerpm: python-minorminer-0.2.11-1.src.rpm
location_href: 00014008-python-minorminer/python-minorminer-debuginfo-0.2.11-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-minorminer.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: f8079776cb34d530d729885615437836a4c3d372c3b8f1835b49ce760b7027e7
name: python-minorminer-debugsource
arch: x86_64
version: 0.2.11
epoch: 0
release: 1
summary: Debug sources for package python-minorminer
url: https://github.com/dwavesystems/minorminer
rpm_license: Apache 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-6661ee5b-c855-4f5e-a6e7-33169f52ef20
rpm_sourcerpm: python-minorminer-0.2.11-1.src.rpm
location_href: 00014008-python-minorminer/python-minorminer-debugsource-0.2.11-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-minorminer.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: 7730f064715e88bb2371a1e353b58ecbba79a28aa1a33cc91563793807c52987
name: python-mir_eval
arch: src
version: 0.7
epoch: 0
release: 1
summary: Common metrics for common audio/music processing tasks.
url: https://github.com/craffel/mir_eval
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-bc14e44e-e4fb-46db-9e32-1c654780c4d2
location_href: 00011627-python-mir-eval/python-mir_eval-0.7-1.src.rpm
checksum_type: sha256
description:
  Python library for computing common heuristic accuracy scores for various music/audio information retrieval/signal processing tasks.
  Documentation, including installation and usage information: http://craffel.github.io/mir_eval/
  If you're looking for the mir_eval web service, which you can use to run mir_eval without installing anything or writing any code, it can be found here: http://labrosa.ee.columbia.edu/mir_eval/
  Dependencies:
  * `Scipy/Numpy <http://www.scipy.org/>`_
  * future
  * six
  If you use mir_eval in a research project, please cite the following paper:
  Colin Raffel, Brian McFee, Eric J. Humphrey, Justin Salamon, Oriol Nieto, Dawen Liang, and Daniel P. W. Ellis, "`mir_eval: A Transparent Implementation of Common MIR Metrics <http://colinraffel.com/publications/ismir2014mir_eval.pdf>`_", Proceedings of the 15th International Conference on Music Information Retrieval, 2014.


pkgId: ade0d3d2158b109fff00a0d7794f4a3b15cf1f38ebb629ee99e46f3196aadd7a
name: python-missingpy
arch: src
version: 0.2.0
epoch: 0
release: 1
summary: Missing Data Imputation for Python
url: https://github.com/epsilon-machine/missingpy
rpm_license: GNU General Public License v3 (GPLv3)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c776e87f-89fe-4567-8a0c-793a8f96642a
location_href: 00010257-python-missingpy/python-missingpy-0.2.0-1.src.rpm
checksum_type: sha256
description:
      missing_values : integer or "NaN", optional (default = "NaN")
          The placeholder for the missing values. All occurrences of
          `missing_values` will be imputed. For missing values encoded as
          ``np.nan``, use the string value "NaN".
      n_neighbors : int, optional (default = 5)
          Number of neighboring samples to use for imputation.
      weights : str or callable, optional (default = "uniform")
          Weight function used in prediction.  Possible values:
          - 'uniform' : uniform weights.  All points in each neighborhood
            are weighted equally.
          - 'distance' : weight points by the inverse of their distance.
            in this case, closer neighbors of a query point will have a
            greater influence than neighbors which are further away.
          - [callable] : a user-defined function which accepts an
            array of distances, and returns an array of the same shape
            containing the weights.
      metric : str or callable, optional (default = "masked_euclidean")
          Distance metric for searching neighbors. Possible values:
          - 'masked_euclidean'
          - [callable] : a user-defined function which conforms to the
          definition of _pairwise_callable(X, Y, metric, **kwds). In other
          words, the function accepts two arrays, X and Y, and a
          ``missing_values`` keyword in **kwds and returns a scalar distance
          value.
      row_max_missing : float, optional (default = 0.5)
          The maximum fraction of columns (i.e. features) that can be missing
          before the sample is excluded from nearest neighbor imputation. It
          means that such rows will not be considered a potential donor in
          ``fit()``, and in ``transform()`` their missing feature values will be
          imputed to be the column mean for the entire dataset.
      col_max_missing : float, optional (default = 0.8)
          The maximum fraction of rows (or samples) that can be missing
          for any feature beyond which an error is raised.
      copy : boolean, optional (default = True)
          If True, a copy of X will be created. If False, imputation will
          be done in-place whenever possible. Note that, if metric is
          "masked_euclidean" and copy=False then missing_values in the
          input matrix X will be overwritten with zeros.


pkgId: 1c3f589d495d6749626920bd1f3374f1c220f52facb63ebf33e9bf8bf5e41d40
name: python-mitogen
arch: src
version: 0.3.3
epoch: 0
release: 1
summary: Library for writing distributed self-replicating programs.
url: https://github.com/mitogen-hq/mitogen/
rpm_license: New BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-9aa736d9-1b9b-4315-be5a-8cc335085fa8
location_href: 00004210-python-mitogen/python-mitogen-0.3.3-1.src.rpm
checksum_type: sha256
description:
  <a href="https://mitogen.networkgenomics.com/">Please see the documentation</a>.

  ![](https://i.imgur.com/eBM6LhJ.gif)

  [![Total alerts](https://img.shields.io/lgtm/alerts/g/mitogen-hq/mitogen.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/mitogen-hq/mitogen/alerts/)

  [![Build Status](https://dev.azure.com/mitogen-hq/mitogen/_apis/build/status/mitogen-hq.mitogen?branchName=master)](https://dev.azure.com/mitogen-hq/mitogen/_build/latest?definitionId=1&branchName=master)


pkgId: 00b3bddaad9f582613370bafc0a9aacad4adf8ecdefea7103d55b80b137cf4ef
name: python-mixer
arch: src
version: 7.2.2
epoch: 0
release: 1
url: https://github.com/klen/mixer
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-958cd0a8-5cef-48d9-bc7c-420126c0585b
location_href: 00012399-python-mixer/python-mixer-7.2.2-1.src.rpm
checksum_type: sha256
summary:
  Mixer -- Is a fixtures replacement. Supported Django ORM, SqlAlchemy ORM, Mongoengine ODM and custom python objects.

description:
  - Python 3.7+
  - Django (3.0, 3.1) for Django ORM support;
  - Flask-SQLALchemy for SQLAlchemy ORM support and integration as Flask application;
  - Faker >= 0.7.3
  - Mongoengine for Mongoengine ODM support;
  - SQLAlchemy for SQLAlchemy ORM support;
  - Peewee ORM support;


pkgId: 56b35025eb6a2f20c015199633ab763a0181537de60cc551ec87efc65cc3335d
name: python-mixpanel
arch: src
version: 4.10.0
epoch: 0
release: 1
summary: Official Mixpanel library for Python
url: https://github.com/mixpanel/mixpanel-python
rpm_license: Apache
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-aa89ced3-3917-405a-9118-c8a58a1b0215
location_href: 00010205-python-mixpanel/python-mixpanel-4.10.0-1.src.rpm
checksum_type: sha256
description:
  This is the official Mixpanel Python library. This library allows for
  server-side integration of Mixpanel.
  To import, export, transform, or delete your Mixpanel data, please see our
  `mixpanel-utils package`_.


pkgId: edd7892a48c198b416d737d718d1d6139f05c4c0cbff7cfefea71bd437624817
name: python-mkdocs-awesome-pages-plugin
arch: src
version: 2.8.0
epoch: 0
release: 1
summary: An MkDocs plugin that simplifies configuring page titles and their order
url: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-1ac96701-e993-4703-a386-965ec229fc1e
location_href: 00013235-python-mkdocs-awesome-pages-plugin/python-mkdocs-awesome-pages-plugin-2.8.0-1.src.rpm
checksum_type: sha256
description:
  *An MkDocs plugin that simplifies configuring page titles and their order*

  The awesome-pages plugin allows you to customize how your pages show up the navigation of your MkDocs without having to configure the full structure in your `mkdocs.yml`. It gives you detailed control using a small configuration file directly placed in the relevant directory of your documentation.

  > **Note:** This plugin won't do anything if your `mkdocs.yml` defines a `nav` or `pages` entry. To make use of the features listed below, you'll either have to remove the entry completely or [add a `...` entry to it](#combine-custom-navigation--file-structure).

  <br/>



  > **Note:** This package requires Python >=3.5 and MkDocs version 1.0 or higher.
  > If you're still on MkDocs 0.17 use [version 1 of this plugin][github-v1].

  Install the package with pip:

  ```bash
  pip install mkdocs-awesome-pages-plugin
  ```

  Enable the plugin in your `mkdocs.yml`:

  ```yaml
  plugins:
      - search
      - awesome-pages
  ```

  > **Note:** If you have no `plugins` entry in your config file yet, you'll likely also want to add the `search` plugin. MkDocs enables it by default if there is no `plugins` entry set, but now you have to enable it explicitly.

  More information about plugins in the [MkDocs documentation][mkdocs-plugins]

  <br/>





  Create a file named `.pages` in a directory and use the `nav` attribute to customize the navigation on that level. List the files and subdirectories in the order that they should appear in the navigation.

  ```yaml
  nav:
      - subdirectory
      - page1.md
      - page2.md
  ```



  Pages or sections that are not mentioned in the list will not appear in the navigation. However, you may include a `...`  entry to specify where all remaining items should be inserted.

  ```yaml
  nav:
      - introduction.md
      - ...
      - summary.md
  ```

  Furthermore, it is possible to filter the remaining items using glob patterns or regular expressions. For example to match only the Markdown files starting with `introduction-`.

  ```yaml
  nav:
      - ... | introduction-*.md
      - ...
      - summary.md
  ```

  > **Note:** The pattern is checked against the basename (folder- / filename) of remaining items - not their whole path.

  For more details refer to the [Rest Filter Patterns](#rest-filter-patterns) section below.



  You can optionally specify a title for the navigation entry.

  ```yaml
  nav:
      - ...
      - First page: page1.md
  ```

  > **Note:** Specifying a title for a directory containing a `.pages` file that defines a `title` has no effect.



  You can also use the `nav` attribute to add additional links to the navigation.

  ```yaml
  nav:
      - ...
      - Link Title: https://lukasgeiter.com
  ```



  You can group items by creating new sections.

  ```yaml
  nav:
      - introduction.md
      - Section 1:
          - page1.md
          - page2.md
      - Section 2:
          - ...
  ```



  Create a file named `.pages` in a directory and set the `order` attribute to `asc` or `desc` to change the order of navigation items.

  ```yaml
  order: desc
  ```

  > **Note:** Unlike the default order, this does not distinguish between files and directories. Therefore pages and sections might get mixed.



  Create a file named `.pages` in a directory and set the `sort_type` attribute to `natural` to use [natural sort order](https://en.wikipedia.org/wiki/Natural_sort_order).

  This can be combined with `order` above.

  ```yaml
  sort_type: natural
  ```



  > **Note:** This feature is disabled by default. More on how to use it below

  If you have directories that only contain a single page, awesome-pages can "collapse" them, so the folder doesn't show up in the navigation.

  For example if you have the following file structure:

  ```yaml
  docs/
  ├─ section1/
  │  ├─ img/
  │  │  ├─ image1.png
  │  │  └─ image2.png
  │  └─ index.md # Section 1
  └─ section2/
     └─ index.md # Section 2
  ```

  The pages will appear in your navigation at the root level:

  - Section 1
  - Section 2

  Instead of how MkDocs would display them by default:

  - Section 1
    - Index
  - Section 2
    - Index



  Collapsing can be enabled globally using the [`collapse_single_pages` option](#collapse_single_pages) in `mkdocs.yml`



  If you only want to collapse certain pages, create a file called `.pages` in the directory and set `collapse_single_pages` to `true`:

  ```yaml
  collapse_single_pages: true
  ```

  You may also enable collapsing globally using the plugin option and then use the `.pages` file to prevent certain sub-sections from being collapsed by setting `collapse_single_pages` to `false`.

  > **Note:** This feature works recursively. That means it will also collapse multiple levels of single pages.



  If you want to enable or disable collapsing of a single page, without applying the setting recursively, create a file called `.pages` in the directory and set `collapse` to `true` or `false`:

  ```yaml
  collapse: true
  ```



  Create a file named `.pages` in a directory and set the `hide` attribute to `true` to hide the directory, including all sub-pages and sub-sections, from the navigation:

  ```yaml
  hide: true
  ```

  > **Note:** This option only hides the section from the navigation. It will still be included in the build and can be accessed under its URL.



  Create a file named `.pages` in a directory and set the `title` to override the title of that directory in the navigation:

  ```yaml
  title: Page Title
  ```



  > **Deprecated:** `arrange` will be removed in the next major release - [Use `nav` instead](#customize-navigation).

  Create a file named `.pages` in a directory and set the `arrange` attribute to change the order of how child pages appear in the navigation. This works for actual pages as well as subdirectories.

  ```yaml
  title: Page Title
  arrange:
      - page1.md
      - page2.md
      - subdirectory
  ```

  If you only specify *some* pages, they will be positioned at the beginning, followed by the other pages in their original order.

  You may also include a `...` entry at some position to specify where the rest of the pages should be inserted:

  ```yaml
  arrange:
      - introduction.md
      - ...
      - summary.md
  ```

  In this example `introduction.md` is positioned at the beginning, `summary.md` at the end, and any other pages in between.



  MkDocs gives you two ways to define the structure of your navigation. Either create a custom navigation manually in `mkdocs.yml` or use the file structure to generate the navigation. This feature makes it possible to combine both methods. Allowing you to manually define parts of your navigation without having to list all files.

  > **Note:** You can freely combine this with all the other features of this plugin. However they will only affect the part of the navigation that is not defined manually.

  Use the `nav` entry in `mkdocs.yml` to define the custom part of your navigation. Include a `...` entry where you want the navigation tree of all remaining pages to be inserted.

  The following examples are based on this file structure:

  ```yaml
  docs/
  ├─ introduction.md
  ├─ page1.md
  ├─ page2.md
  └─ folder/
     ├─ introduction.md
     ├─ page3.md
     └─ page4.md
  ```

  If you wanted `introduction.md`, `page1.md` and `page2.md` to appear under their own section you could do this:

  ```yaml
  nav:
      - Start:
          - page1.md
          - page2.md
          - summary.md
      - ...
  ```

  Which would result in the following navigation:

  - Start
    - Introduction
    - Page 1
    - Page 2
  - Folder
    - Introduction
    - Page 3
    - Page 4

  The `...` entry can also be placed at a deeper level:

  ```yaml
  nav:
      - page1.md
      - Rest:
          - ...
  ```

  Which would result in the following navigation:

  - Page 1
  - Rest
    - Introduction
    - Page 2
    - Folder
      - Introduction
      - Page 3
      - Page 4

  Furthermore, it is possible to filter the remaining items using glob patterns or regular expressions. For example to match only files named `introduction.md`.

  ```yaml
  nav:
      - Introductions:
          - ... | **/introduction.md
      - ...
  ```

  With the following result:

  - Introductions
      - Introduction
      - Introduction
  - Page 1
  - Page 2
  - Folder
      - Page 3
      - Page 4


  > **Note:** The pattern is checked against the path relative to the docs directory.

  For more details refer to the [Rest Filter Patterns](#rest-filter-patterns) section below.

  By default, remaining items keep their hierarchical structure. You may add `flat` to flatten all the matching pages:

  ```yaml
  nav:
      - page1.md
      - Rest:
          - ... | flat | **/introduction.md
          - ... | flat
  ```

  - Page 1
  - Rest
      - Introduction
      - Introduction
      - Page 2
      - Page 3
      - Page 4

  <br/>



  In all places where the rest entry (`...`) is allowed, you can also include a glob pattern or regular expression to filter the items to be displayed.

  ```yaml
  nav:
      - ... | page-*.md
      - ... | regex=page-[0-9]+.md
  ```

  The filter only operates on remaining items. This means it will not include items that are explicitly listed in the navigation or items that are matched by another filter that appears earlier in the configuration.

  You may also include a rest entry without filter to act as a catch-all, inserting everything that is not matched by a filter.



  Unless the filter starts with `regex=` it is interpreted as glob pattern, however you may also explicitly say so using `glob=`. The spaces around `...` are optional but recommended for readability.

  > **Note:** Depending on the characters in your filter, you might also need to use quotes around the whole entry.

  ```yaml
  nav:
      
      - ... | page-*.md
      - ... | glob=page-*.md
      - ...|page-*.md
      - '... | page-*.md'

      
      - ... | regex=page-[0-9]+.md
      - ...|regex=page-[0-9]+.md
      - '... | regex=page-[0-9]+.md'
  ```

  <br/>



  You may customize the plugin by passing options in `mkdocs.yml`:

  ```yaml
  plugins:
      - awesome-pages:
          filename: .index
          collapse_single_pages: true
          strict: false
  ```



  Name of the file used to configure pages of a directory. Default is `.pages`



  Enable the collapsing of single nested pages. Default is `false`



  Raise errors instead of warnings when:

  - `arrange` entries cannot be found
  - `nav` entries cannot be found

  Default is `true`

  <br/>



  From reporting a bug to submitting a pull request: every contribution is appreciated and welcome.
  Report bugs, ask questions and request features using [Github issues][github-issues].
  If you want to contribute to the code of this project, please read the [Contribution Guidelines][contributing].

  [status-tests-badge]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/actions/workflows/tests.yml/badge.svg
  [status-tests-link]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/actions/workflows/tests.yml
  [mkdocs-plugins]: http://www.mkdocs.org/user-guide/plugins/
  [github-v1]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/tree/v1
  [github-issues]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/issues
  [contributing]: CONTRIBUTING.md


pkgId: ea14f1d870e540971a5774d6898a1038b3d29723c8cb38279e369f205afe0b38
name: python-mkdocs-awesome-pages-plugin-help
arch: noarch
version: 2.8.0
epoch: 0
release: 1
summary: Development documents and examples for mkdocs-awesome-pages-plugin
url: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-1ac96701-e993-4703-a386-965ec229fc1e
rpm_sourcerpm: python-mkdocs-awesome-pages-plugin-2.8.0-1.src.rpm
checksum_type: sha256
description:
  *An MkDocs plugin that simplifies configuring page titles and their order*

  The awesome-pages plugin allows you to customize how your pages show up the navigation of your MkDocs without having to configure the full structure in your `mkdocs.yml`. It gives you detailed control using a small configuration file directly placed in the relevant directory of your documentation.

  > **Note:** This plugin won't do anything if your `mkdocs.yml` defines a `nav` or `pages` entry. To make use of the features listed below, you'll either have to remove the entry completely or [add a `...` entry to it](#combine-custom-navigation--file-structure).

  <br/>



  > **Note:** This package requires Python >=3.5 and MkDocs version 1.0 or higher.
  > If you're still on MkDocs 0.17 use [version 1 of this plugin][github-v1].

  Install the package with pip:

  ```bash
  pip install mkdocs-awesome-pages-plugin
  ```

  Enable the plugin in your `mkdocs.yml`:

  ```yaml
  plugins:
      - search
      - awesome-pages
  ```

  > **Note:** If you have no `plugins` entry in your config file yet, you'll likely also want to add the `search` plugin. MkDocs enables it by default if there is no `plugins` entry set, but now you have to enable it explicitly.

  More information about plugins in the [MkDocs documentation][mkdocs-plugins]

  <br/>





  Create a file named `.pages` in a directory and use the `nav` attribute to customize the navigation on that level. List the files and subdirectories in the order that they should appear in the navigation.

  ```yaml
  nav:
      - subdirectory
      - page1.md
      - page2.md
  ```



  Pages or sections that are not mentioned in the list will not appear in the navigation. However, you may include a `...`  entry to specify where all remaining items should be inserted.

  ```yaml
  nav:
      - introduction.md
      - ...
      - summary.md
  ```

  Furthermore, it is possible to filter the remaining items using glob patterns or regular expressions. For example to match only the Markdown files starting with `introduction-`.

  ```yaml
  nav:
      - ... | introduction-*.md
      - ...
      - summary.md
  ```

  > **Note:** The pattern is checked against the basename (folder- / filename) of remaining items - not their whole path.

  For more details refer to the [Rest Filter Patterns](#rest-filter-patterns) section below.



  You can optionally specify a title for the navigation entry.

  ```yaml
  nav:
      - ...
      - First page: page1.md
  ```

  > **Note:** Specifying a title for a directory containing a `.pages` file that defines a `title` has no effect.



  You can also use the `nav` attribute to add additional links to the navigation.

  ```yaml
  nav:
      - ...
      - Link Title: https://lukasgeiter.com
  ```



  You can group items by creating new sections.

  ```yaml
  nav:
      - introduction.md
      - Section 1:
          - page1.md
          - page2.md
      - Section 2:
          - ...
  ```



  Create a file named `.pages` in a directory and set the `order` attribute to `asc` or `desc` to change the order of navigation items.

  ```yaml
  order: desc
  ```

  > **Note:** Unlike the default order, this does not distinguish between files and directories. Therefore pages and sections might get mixed.



  Create a file named `.pages` in a directory and set the `sort_type` attribute to `natural` to use [natural sort order](https://en.wikipedia.org/wiki/Natural_sort_order).

  This can be combined with `order` above.

  ```yaml
  sort_type: natural
  ```



  > **Note:** This feature is disabled by default. More on how to use it below

  If you have directories that only contain a single page, awesome-pages can "collapse" them, so the folder doesn't show up in the navigation.

  For example if you have the following file structure:

  ```yaml
  docs/
  ├─ section1/
  │  ├─ img/
  │  │  ├─ image1.png
  │  │  └─ image2.png
  │  └─ index.md # Section 1
  └─ section2/
     └─ index.md # Section 2
  ```

  The pages will appear in your navigation at the root level:

  - Section 1
  - Section 2

  Instead of how MkDocs would display them by default:

  - Section 1
    - Index
  - Section 2
    - Index



  Collapsing can be enabled globally using the [`collapse_single_pages` option](#collapse_single_pages) in `mkdocs.yml`



  If you only want to collapse certain pages, create a file called `.pages` in the directory and set `collapse_single_pages` to `true`:

  ```yaml
  collapse_single_pages: true
  ```

  You may also enable collapsing globally using the plugin option and then use the `.pages` file to prevent certain sub-sections from being collapsed by setting `collapse_single_pages` to `false`.

  > **Note:** This feature works recursively. That means it will also collapse multiple levels of single pages.



  If you want to enable or disable collapsing of a single page, without applying the setting recursively, create a file called `.pages` in the directory and set `collapse` to `true` or `false`:

  ```yaml
  collapse: true
  ```



  Create a file named `.pages` in a directory and set the `hide` attribute to `true` to hide the directory, including all sub-pages and sub-sections, from the navigation:

  ```yaml
  hide: true
  ```

  > **Note:** This option only hides the section from the navigation. It will still be included in the build and can be accessed under its URL.



  Create a file named `.pages` in a directory and set the `title` to override the title of that directory in the navigation:

  ```yaml
  title: Page Title
  ```



  > **Deprecated:** `arrange` will be removed in the next major release - [Use `nav` instead](#customize-navigation).

  Create a file named `.pages` in a directory and set the `arrange` attribute to change the order of how child pages appear in the navigation. This works for actual pages as well as subdirectories.

  ```yaml
  title: Page Title
  arrange:
      - page1.md
      - page2.md
      - subdirectory
  ```

  If you only specify *some* pages, they will be positioned at the beginning, followed by the other pages in their original order.

  You may also include a `...` entry at some position to specify where the rest of the pages should be inserted:

  ```yaml
  arrange:
      - introduction.md
      - ...
      - summary.md
  ```

  In this example `introduction.md` is positioned at the beginning, `summary.md` at the end, and any other pages in between.



  MkDocs gives you two ways to define the structure of your navigation. Either create a custom navigation manually in `mkdocs.yml` or use the file structure to generate the navigation. This feature makes it possible to combine both methods. Allowing you to manually define parts of your navigation without having to list all files.

  > **Note:** You can freely combine this with all the other features of this plugin. However they will only affect the part of the navigation that is not defined manually.

  Use the `nav` entry in `mkdocs.yml` to define the custom part of your navigation. Include a `...` entry where you want the navigation tree of all remaining pages to be inserted.

  The following examples are based on this file structure:

  ```yaml
  docs/
  ├─ introduction.md
  ├─ page1.md
  ├─ page2.md
  └─ folder/
     ├─ introduction.md
     ├─ page3.md
     └─ page4.md
  ```

  If you wanted `introduction.md`, `page1.md` and `page2.md` to appear under their own section you could do this:

  ```yaml
  nav:
      - Start:
          - page1.md
          - page2.md
          - summary.md
      - ...
  ```

  Which would result in the following navigation:

  - Start
    - Introduction
    - Page 1
    - Page 2
  - Folder
    - Introduction
    - Page 3
    - Page 4

  The `...` entry can also be placed at a deeper level:

  ```yaml
  nav:
      - page1.md
      - Rest:
          - ...
  ```

  Which would result in the following navigation:

  - Page 1
  - Rest
    - Introduction
    - Page 2
    - Folder
      - Introduction
      - Page 3
      - Page 4

  Furthermore, it is possible to filter the remaining items using glob patterns or regular expressions. For example to match only files named `introduction.md`.

  ```yaml
  nav:
      - Introductions:
          - ... | **/introduction.md
      - ...
  ```

  With the following result:

  - Introductions
      - Introduction
      - Introduction
  - Page 1
  - Page 2
  - Folder
      - Page 3
      - Page 4


  > **Note:** The pattern is checked against the path relative to the docs directory.

  For more details refer to the [Rest Filter Patterns](#rest-filter-patterns) section below.

  By default, remaining items keep their hierarchical structure. You may add `flat` to flatten all the matching pages:

  ```yaml
  nav:
      - page1.md
      - Rest:
          - ... | flat | **/introduction.md
          - ... | flat
  ```

  - Page 1
  - Rest
      - Introduction
      - Introduction
      - Page 2
      - Page 3
      - Page 4

  <br/>



  In all places where the rest entry (`...`) is allowed, you can also include a glob pattern or regular expression to filter the items to be displayed.

  ```yaml
  nav:
      - ... | page-*.md
      - ... | regex=page-[0-9]+.md
  ```

  The filter only operates on remaining items. This means it will not include items that are explicitly listed in the navigation or items that are matched by another filter that appears earlier in the configuration.

  You may also include a rest entry without filter to act as a catch-all, inserting everything that is not matched by a filter.



  Unless the filter starts with `regex=` it is interpreted as glob pattern, however you may also explicitly say so using `glob=`. The spaces around `...` are optional but recommended for readability.

  > **Note:** Depending on the characters in your filter, you might also need to use quotes around the whole entry.

  ```yaml
  nav:
      
      - ... | page-*.md
      - ... | glob=page-*.md
      - ...|page-*.md
      - '... | page-*.md'

      
      - ... | regex=page-[0-9]+.md
      - ...|regex=page-[0-9]+.md
      - '... | regex=page-[0-9]+.md'
  ```

  <br/>



  You may customize the plugin by passing options in `mkdocs.yml`:

  ```yaml
  plugins:
      - awesome-pages:
          filename: .index
          collapse_single_pages: true
          strict: false
  ```



  Name of the file used to configure pages of a directory. Default is `.pages`



  Enable the collapsing of single nested pages. Default is `false`



  Raise errors instead of warnings when:

  - `arrange` entries cannot be found
  - `nav` entries cannot be found

  Default is `true`

  <br/>



  From reporting a bug to submitting a pull request: every contribution is appreciated and welcome.
  Report bugs, ask questions and request features using [Github issues][github-issues].
  If you want to contribute to the code of this project, please read the [Contribution Guidelines][contributing].

  [status-tests-badge]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/actions/workflows/tests.yml/badge.svg
  [status-tests-link]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/actions/workflows/tests.yml
  [mkdocs-plugins]: http://www.mkdocs.org/user-guide/plugins/
  [github-v1]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/tree/v1
  [github-issues]: https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/issues
  [contributing]: CONTRIBUTING.md

location_href:
  00013235-python-mkdocs-awesome-pages-plugin/python-mkdocs-awesome-pages-plugin-help-2.8.0-1.noarch.rpm


pkgId: 03222c68c711d51f4e224eea64d26e544246c936f8ab07859a47c81f97870ebc
name: python-mkdocs-macros-plugin
arch: src
version: 0.7.0
epoch: 0
release: 1
summary: Unleash the power of MkDocs with macros and variables
url: https://github.com/fralau/mkdocs_macros_plugin
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-4f3942e6-a06d-4c6f-b53f-fe0095651fe0
location_href: 00013674-python-mkdocs-macros-plugin/python-mkdocs-macros-plugin-0.7.0-1.src.rpm
checksum_type: sha256
description:
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  ![Language](https://img.shields.io/github/languages/top/fralau/mkdocs_macros_plugin)
  ![PyPI](https://img.shields.io/pypi/v/mkdocs-macros-plugin)
  ![Github](https://img.shields.io/github/v/tag/fralau/mkdocs_macros_plugin?label=github%20tag)
  ![macros](https://img.shields.io/pypi/dm/mkdocs-macros-plugin)

  * **View the [mkdocs-macro documentation](https://mkdocs-macros-plugin.readthedocs.io/) on Read the Docs**
  * View the [general Mkdocs documentation](https://www.mkdocs.org/)

  <!-- To update, run the following command:
  markdown-toc -i README.md
  -->

  <!-- toc -->

  - [mkdocs-macros-plugin: Unleash the power of MkDocs with variables and macros](#mkdocs-macros-plugin-unleash-the-power-of-mkdocs-with-variables-and-macros)
    - [Overview](#Overview)
      - [Using variables](#Using-variables)
      - [Defining variables](#Defining-variables)
      - [Macros and filters](#Macros-and-filters)
    - [Installation](#Installation)
      - [Prerequisites](#Prerequisites)
      - [Standard installation](#Standard-installation)
      - ["Manual installation"](#"Manual-installation")
      - [Development/test installation](#Development/test-installation)
      - [Declaration of plugin](#Declaration-of-plugin)
      - [Check that it works](#Check-that-it-works)
    - [Using pluglets](#Using-pluglets)
      - [What are pluglets?](#What-are-pluglets?)
      - [How to add a pluglet to an mkdocs project?](#How-to-add-a-pluglet-to-an-mkdocs-project?)
      - [How to write a pluglet?](#How-to-write-a-pluglet?)

  <!-- tocstop -->


  **mkdocs-macros-plugin** is a plugin that makes it easier for contributors
  of an [MkDocs](https://www.mkdocs.org/) website to produce richer and more beautiful pages. It transforms the markdown pages
  into [jinja2](https://jinja.palletsprojects.com/en/2.10.x/) templates
  that use **variables**, calls to **macros** and custom **filters**.

  > **You can also partially replace MkDocs plugins with mkdocs-macros modules,
  > and [pluglets](https://mkdocs-macros-plugin.readthedocs.io/en/latest/pluglets/)
  > (pre-installed modules).**



  You can leverage the power of Python in markdown thanks to jinja2
  by writing this :

  ```markdown
  The unit price of product A is {{ unit_price }} EUR.
  Taking the standard discount into account,
  the sale price of 50 units is {{ price(unit_price, 50) }} EUR.
  ```

  If you defined a `price()` function, this could translate into:

  ```
  The unit price of product A is 10.00 EUR.
  Taking the standard discount into account,
  the sale price of 50 units is 450.00 EUR.
  ```

  > The result of a macro can be **HTML code**:
  this makes macros especially useful
  to make custom extensions to the syntax of markdown, such as buttons,
  calls to email, embedding YouTube videos, etc.

  It is possible to use the wide range of facilities provided by
  [Jinja2 templates](http://jinja.pocoo.org/docs/2.10/templates/) such
  as conditions (`{% if ... %}`) and loops (`{% for ... %}`).



  Regular **variables** can be defined in five ways:

  | No | Validity | For whom | Description |
  | --- | --- | --- | ---- |
  | 1. | global | designer of the website | in the `mkdocs.yml` file, under the `extra` heading |
  | 2. | global | contributor | in external yaml definition files |
  | 3. | global | programmer | in a `main.py` file (Python), by adding them to a dictionary |
  | 4. | local (page) | writer | in the YAML header of each Markdown page |
  | 5. | local (page) | writer | with a `{%set variable = value %}`  statement |

  In addition, predefined objects are provided (local and global), typically
  for the environment, project, page, git information, etc.



  Similarly programmers can define their own **macros** and **filters**,
  as Python functions in the `main.py` file,
  which the users will then be able to
  use without much difficulty, as jinja2 directives in the markdown page.







    - Python version > 3.5
    - MkDocs version >= 1.0 (it should work > 0.17
      (it should be compatible with post 1.0 versions)


  ```
  pip install mkdocs-macros-plugin
  ```


  To install the package, download it and run:

  ```
  pip install .

  python setup.py install
  ```


  To install the extra dependencies required for testing the package, run:

  ```
  pip install "mkdocs-macros-plugin[test]"
  ```


  Declare the plugin in the the file `mkdocs.yml`:

  ```yaml
  plugins:
      - search
      - macros
  ```

  > **Note:** If you have no `plugins` entry in your config file yet,
  you should also add the `search` plugin.
  If no `plugins` entry is set, MkDocs enables `search` by default; but
  if you use it, then you have to declare it explicitly.


  The recommended way to check that the plugin works properly is to add the
  following command in one of the pages of your site (let's say `info.md`):

  ```
  {{ macros_info() }}
  ```

  In the terminal, restart the environment:

  ```
  > mkdocs serve
  ````
  You will notice that additional information now appears in the terminal:

  ```
  INFO    -  Building documentation...
  [macros] Macros arguments: {'module_name': 'main', 'include_yaml': [], 'j2_block_start_string': '', 'j2_block_end_string': '', 'j2_variable_start_string': '', 'j2_variable_end_string': ''}
  ```

  Within the browser (e.g. http://127.0.0.1:8000/info), you should
  see a description of the plugins environment:

  ![macros_info()](macros_info.png)

  If you see it that information, you should be all set.

  Give a good look at the General List, since it gives you an overview
  of what you can do out of the box with the macros plugin.

  The other parts give you more detailed information.






  **Pluglets** are small, easy-to-write programs
  that use mkdocs-macro's foundation
  to offer services to mkdocs projects, which would normally
  be offered by plugins.

  Pluglets are Python packages, which can be hosted on github, and
  distributed through [PyPI](https://pypi.org/).




  Install it:

  ```python
  pip install <pluglet_name>
  ```

  Declare it in the project's config (`mkdocs.yml`) file:

  ```yaml
  plugins:
    - search
    - macros:
        modules:
          - <pluglet_name>
  ```



  [See instructions in the documentation](https://mkdocs-macros-plugin.readthedocs.io/en/latest/pluglets/).

  A sample pluglet can be found in [mkdocs-test (github)](https://github.com/fralau/mkdocs-macros-test).


pkgId: 720ad2d4a773f3c48d9316103a05690d6a1b3121bf694e9049d84c4297dc9090
name: python-mljar-supervised
arch: src
version: 0.11.5
epoch: 0
release: 1
summary: Automated Machine Learning for Humans
url: https://github.com/mljar/mljar-supervised
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-9b6570b5-0b5c-47c0-b8af-09d678f625aa
location_href: 00011261-python-mljar-supervised/python-mljar-supervised-0.11.5-1.src.rpm
checksum_type: sha256
description:
  **Documentation**: <a href="https://supervised.mljar.com/" target="_blank">https://supervised.mljar.com/</a>
  **Source Code**: <a href="https://github.com/mljar/mljar-supervised" target="_blank">https://github.com/mljar/mljar-supervised</a>
  **Looking for commercial support**: Please contact us by [email](https://mljar.com/contact/) for details
  <p align="center">
    <img src="https://github.com/mljar/visual-identity/raw/main/robots/robot_docs.png" width="40%" />


pkgId: 43a837bb131d70df999a364543ac57c38105be6275d814fbcaaa6da064cdbb62
name: python-mlxtend
arch: src
version: 0.22.0
epoch: 0
release: 1
summary: Machine Learning Library Extensions
url: https://github.com/rasbt/mlxtend
rpm_license: BSD 3-Clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-d91aaabf-084e-4340-bb07-cb6dccfbbc04
location_href: 00009528-python-mlxtend/python-mlxtend-0.22.0-1.src.rpm
checksum_type: sha256
description:
  If you have any questions or comments about mlxtend,
  please feel free to contact me via
  eMail: mail@sebastianraschka.com
  or Twitter: https://twitter.com/rasbt
  This project is hosted at https://github.com/rasbt/mlxtend
  The documentation can be found at https://rasbt.github.io/mlxtend/


pkgId: 027b8d87399d36edaa56c3c9ba5612b6656ff84cfe636ff71983d7fbc08f6ad5
name: python-mmh3
arch: src
version: 3.1.0
epoch: 0
release: 1
summary: Python wrapper for MurmurHash (MurmurHash3), a set of fast and robust hash functions.
url: https://github.com/hajimes/mmh3
rpm_license: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-b6a9f662-c2d7-42a0-98d3-5388c9e3ae57
location_href: 00009505-python-mmh3/python-mmh3-3.1.0-1.src.rpm
checksum_type: sha256
description:
  [![GitHub Super-Linter](https://github.com/hajimes/mmh3/workflows/Super-Linter/badge.svg?branch=master)](https://github.com/hajimes/mmh3/actions?query=workflow%3ASuper-Linter+branch%3Amaster)
  [![Build](https://github.com/hajimes/mmh3/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/hajimes/mmh3/actions/workflows/build.yml?branch=master)
  [![PyPi Version](https://img.shields.io/pypi/v/mmh3.svg?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/mmh3/)
  [![Python Versions](https://img.shields.io/pypi/pyversions/mmh3.svg)](https://pypi.org/project/mmh3/)
  [![License: CC0-1.0](https://img.shields.io/badge/License-CC0%201.0-lightgrey.svg)](http://creativecommons.org/publicdomain/zero/1.0/)
  [![Total Downloads](https://pepy.tech/badge/mmh3)](https://pepy.tech/project/mmh3)
  [![Recent Downloads](https://pepy.tech/badge/mmh3/month)](https://pepy.tech/project/mmh3)
  [![Conda Version](https://img.shields.io/conda/vn/conda-forge/mmh3.svg?style=flat-square&logo=conda-forge&logoColor=white)](https://anaconda.org/conda-forge/mmh3)

  mmh3 is a Python wrapper for [MurmurHash (MurmurHash3)](https://en.wikipedia.org/wiki/MurmurHash), a set of fast and robust non-cryptographic hash functions invented by Austin Appleby.

  Combined with probabilistic techniques like a [Bloom filter](https://en.wikipedia.org/wiki/Bloom_filter), [MinHash](https://en.wikipedia.org/wiki/MinHash), and [feature hashing](https://en.wikipedia.org/wiki/Feature_hashing), mmh3 allows you to develop high-performance systems in fields such as data mining, machine learning, and natural language processing.

  Another common use of mmh3 is to [calculate favicon hashes](https://gist.github.com/yehgdotnet/b9dfc618108d2f05845c4d8e28c5fc6a) used by [Shodan](https://www.shodan.io), the world's first IoT search engine.


  Install:
  ```shell
  pip install mmh3 # for macOS, use "pip3 install mmh3" and python3
  ```

  Quickstart:
  ```shell
  >>> import mmh3
  >>> mmh3.hash("foo") # returns a 32-bit signed int
  -156908512
  >>> mmh3.hash("foo", 42) # uses 42 as a seed
  -1322301282
  >>> mmh3.hash("foo", signed=False) # returns a 32-bit unsigned int
  4138058784
  ```

  Other functions:
  ```shell
  >>> mmh3.hash64("foo") # two 64 bit signed ints (by using the 128-bit algorithm as its backend)
  (-2129773440516405919, 9128664383759220103)
  >>> mmh3.hash64("foo", signed=False) #  two 64 bit unsigned ints
  (16316970633193145697, 9128664383759220103)
  >>> mmh3.hash128("foo", 42) # 128 bit unsigned int
  215966891540331383248189432718888555506
  >>> mmh3.hash128("foo", 42, signed=True) # 128 bit signed int
  -124315475380607080215185174712879655950
  >>> mmh3.hash_bytes("foo") # 128 bit value as bytes
  'aE\xf5\x01W\x86q\xe2\x87}\xba+\xe4\x87\xaf~'
  >>> import numpy as np
  >>> a = np.zeros(2 ** 32, dtype=np.int8)
  >>> mmh3.hash_bytes(a)
  b'V\x8f}\xad\x8eNM\xa84\x07FU\x9c\xc4\xcc\x8e'
  ```

  Beware that `hash64` returns **two** values, because it uses the 128-bit version of MurmurHash3 as its backend.

  `hash_from_buffer` hashes byte-likes without memory copying. The method is suitable when you hash a large memory-view such as `numpy.ndarray`.

  ```shell
  >>> mmh3.hash_from_buffer(numpy.random.rand(100))
  -2137204694
  >>> mmh3.hash_from_buffer(numpy.random.rand(100), signed=False)
  3812874078
  ```

  `hash64`, `hash128`, and `hash_bytes` have the third argument for architecture optimization. Use True for x64 and False for x86 (default: True):

  ```shell
  >>> mmh3.hash64("foo", 42, True)
  (-840311307571801102, -6739155424061121879)
  ```



  * Add support for Python 3.10 and 3.11. Thanks [wouter bolsterlee](https://github.com/wbolster) and [Dušan Nikolić](https://github.com/n-dusan)!
  * Drop support for Python 3.6; remove legacy code for Python 2.x at the source code level.
  * Add support for 32-bit architectures such as `i686` and `armv7l`. From now on, `hash` and `hash_from_buffer` on these architectures will generate the same hash values as those on other environments. Thanks [Danil Shein](https://github.com/dshein-alt)!
  * In relation to the above, `manylinux2014_i686` wheels are now available.
  * Support for hashing huge data (>16GB). Thanks [arieleizenberg](https://github.com/arieleizenberg)!


  * Python wheels are now available, thanks to the power of [cibuildwheel](https://github.com/joerick/cibuildwheel).
    * Supported platforms are `manylinux1_x86_64`, `manylinux2010_x86_64`, `manylinux2014_aarch64`, `win32`, `win_amd64`, `macosx_10_9_x86_64`, and `macosx_11_0_arm64` (Apple Silicon).
  * Add support for newer macOS environments. Thanks [Matthew Honnibal](https://github.com/honnibal)!
  * Drop support for Python 2.7, 3.3, 3.4, and 3.5.
  * Add support for Python 3.7, 3.8, and 3.9.
  * Migrate Travis CI and AppVeyor to GitHub Actions.


  * Bugfix for `hash_bytes`. Thanks [doozr](https://github.com/doozr)!

  See [CHANGELOG.md](./CHANGELOG.md) for the complete changelog.


  [CC0-1.0](./LICENSE).



  By default, mmh3 returns **signed** values for 32-bit and 64-bit versions and **unsigned** values for `hash128`, due to historical reasons. Please use the keyword argument `signed` to obtain a desired result.

  For compatibility with Google Guava (Java), see <https://stackoverflow.com/questions/29932956/murmur3-hash-different-result-between-python-and-java-implementation>


  Version 2.4 changed the type of seeds from signed 32-bit int to unsigned 32-bit int. The resulting values with signed seeds still remain the same as before, as long as they are 32-bit.

  ```shell
  >>> mmh3.hash("aaaa", -1756908916) # signed representation for 0x9747b28c
  1519878282
  >>> mmh3.hash("aaaa", 2538058380) # unsigned representation for 0x9747b28c
  1519878282
  ```

  Be careful so that these seeds do not exceed 32-bit. Unexpected results may happen with invalid values.

  ```shell
  >>> mmh3.hash("foo", 2 ** 33)
  -156908512
  >>> mmh3.hash("foo", 2 ** 34)
  -156908512
  ```


  MurmurHash3 was originally developed by Austin Appleby and distributed under public domain.

  * <https://github.com/aappleby/smhasher>

  Ported and modified for Python by Hajime Senuma.

  * <http://pypi.python.org/pypi/mmh3>
  * <http://github.com/hajimes/mmh3>



  The following textbooks and tutorials are great sources to learn how to use mmh3 (and other hash algorithms in general) for high-performance computing.

  * Chapter 11: *Using Less Ram* in Micha Gorelick and Ian Ozsvald. 2014. *High Performance Python: Practical Performant Programming for Humans*. O'Reilly Media. [ISBN: 978-1-4493-6159-4](https://www.amazon.com/dp/1449361595).
    * 2nd edition of the above (2020). [ISBN: 978-1492055020](https://www.amazon.com/dp/1492055026).
  * Max Burstein. February 2, 2013. *[Creating a Simple Bloom Filter](http://www.maxburstein.com/blog/creating-a-simple-bloom-filter/)*.
  * Duke University. April 14, 2016. *[Efficient storage of data in memory](http://people.duke.edu/~ccc14/sta-663-2016/20B_Big_Data_Structures.html)*.
  * Bugra Akyildiz. August 24, 2016. *[A Gentle Introduction to Bloom Filter](https://www.kdnuggets.com/2016/08/gentle-introduction-bloom-filter.html)*. KDnuggets.


  [Shodan](https://www.shodan.io), the world's first [IoT](https://en.wikipedia.org/wiki/Internet_of_things) search engine, uses MurmurHash3 hash values for [favicons](https://en.wikipedia.org/wiki/Favicon) (icons associated with web pages). [ZoomEye](https://www.zoomeye.org) follows Shodan's convention.
  [Calculating these values with mmh3](https://gist.github.com/yehgdotnet/b9dfc618108d2f05845c4d8e28c5fc6a) is useful for OSINT and cybersecurity activities.

  * Jan Kopriva. April 19, 2021. *[Hunting phishing websites with favicon hashes](https://isc.sans.edu/diary/Hunting+phishing+websites+with+favicon+hashes/27326)*. SANS Internet Storm Center.
  * Nikhil Panwar. May 2, 2022. *[Using Favicons to Discover Phishing & Brand Impersonation Websites](https://bolster.ai/blog/how-to-use-favicons-to-find-phishing-websites)*. Bolster.
  * Faradaysec. July 25, 2022. *[Understanding Spring4Shell: How used is it?](https://faradaysec.com/understanding-spring4shell/)*. Faraday Security.
  * Debjeet. August 2, 2022. *[How To Find Assets Using Favicon Hashes](https://payatu.com/blog/favicon-hash/)*. Payatu.


  * <https://github.com/wc-duck/pymmh3>: mmh3 in pure python (Fredrik Kihlander and Swapnil Gusani)
  * <https://github.com/escherba/python-cityhash>: Python bindings for CityHash (Eugene Scherba)
  * <https://github.com/veelion/python-farmhash>: Python bindigs for FarmHash (Veelion Chong)
  * <https://github.com/escherba/python-metrohash>: Python bindings for MetroHash (Eugene Scherba)
  * <https://github.com/ifduyue/python-xxhash>: Python bindings for xxHash (Yue Du)


pkgId: 49cdfd9a7e95c2f294be565aea364b7328fd4918691dd271bce7f4d33322ae5e
name: python-mmh3-debuginfo
arch: x86_64
version: 3.1.0
epoch: 0
release: 1
summary: Debug information for package python-mmh3
url: https://github.com/hajimes/mmh3
rpm_license: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-b6a9f662-c2d7-42a0-98d3-5388c9e3ae57
rpm_sourcerpm: python-mmh3-3.1.0-1.src.rpm
location_href: 00009505-python-mmh3/python-mmh3-debuginfo-3.1.0-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-mmh3.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: ebfcf1c253b4e8dc72295978abbdd0d98b7adb4961d145ccd7b0964302f7e2e2
name: python-mmh3-debugsource
arch: x86_64
version: 3.1.0
epoch: 0
release: 1
summary: Debug sources for package python-mmh3
url: https://github.com/hajimes/mmh3
rpm_license: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-b6a9f662-c2d7-42a0-98d3-5388c9e3ae57
rpm_sourcerpm: python-mmh3-3.1.0-1.src.rpm
location_href: 00009505-python-mmh3/python-mmh3-debugsource-3.1.0-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-mmh3.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: fe2fd446fde424432a3a37022075dd12eb281577cae83d7aeb57569ae5253693
name: python-mne
arch: src
version: 1.3.1
epoch: 0
release: 1
summary: MNE-Python project for MEG and EEG data analysis.
url: https://mne.tools/dev/
rpm_license: BSD-3-Clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7ac78f9e-54b1-4520-acbe-e3b8486f0263
location_href: 00004213-python-mne/python-mne-1.3.1-1.src.rpm
checksum_type: sha256
description:
  `MNE-Python software`_ is an open-source Python package for exploring,
  visualizing, and analyzing human neurophysiological data such as MEG, EEG, sEEG,
  ECoG, and more. It includes modules for data input/output, preprocessing,
  visualization, source estimation, time-frequency analysis, connectivity analysis,
  machine learning, and statistics.
  Documentation
  ^^^^^^^^^^^^^
  `MNE documentation`_ for MNE-Python is available online.
  Installing MNE-Python
  ^^^^^^^^^^^^^^^^^^^^^
  To install the latest stable version of MNE-Python, you can use pip_ in a terminal:
      $ pip install -U mne
  - MNE-Python 0.17 was the last release to support Python 2.7
  - MNE-Python 0.18 requires Python 3.5 or higher
  - MNE-Python 0.21 requires Python 3.6 or higher
  - MNE-Python 0.24 requires Python 3.7 or higher
  For more complete instructions and more advanced installation methods (e.g. for
  the latest development version), see the `installation guide`_.
  Get the latest code
  ^^^^^^^^^^^^^^^^^^^
  To install the latest version of the code using pip_ open a terminal and type:
      $ pip install -U https://github.com/mne-tools/mne-python/archive/main.zip
  To get the latest code using `git <https://git-scm.com/>`__, open a terminal and type:
      $ git clone https://github.com/mne-tools/mne-python.git
  Alternatively, you can also download a
  `zip file of the latest development version <https://github.com/mne-tools/mne-python/archive/main.zip>`__.
  Dependencies
  ^^^^^^^^^^^^
  The minimum required dependencies to run MNE-Python are:
  - Python >= 3.7
  - NumPy >= 1.18.1
  - SciPy >= 1.4.1
  - Matplotlib >= 3.1.0
  - pooch >= 1.5
  - tqdm
  - Jinja2
  - decorator
  For full functionality, some functions require:
  - Scikit-learn >= 0.22.0
  - joblib >= 0.15 (for parallelization control)
  - Numba >= 0.48.0
  - NiBabel >= 2.5.0
  - OpenMEEG >= 2.5.5
  - Pandas >= 1.0.0
  - Picard >= 0.3
  - CuPy >= 7.1.1 (for NVIDIA CUDA acceleration)
  - DIPY >= 1.1.0
  - Imageio >= 2.6.1
  - PyVista >= 0.32
  - pyvistaqt >= 0.4
  - mffpy >= 0.5.7
  - h5py
  - h5io
  - pymatreader
  Contributing to MNE-Python
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  Please see the documentation on the MNE-Python homepage:
  https://mne.tools/dev/install/contributing.html
  Forum
  ^^^^^^
  https://mne.discourse.group
  Licensing
  ^^^^^^^^^
  MNE-Python is **BSD-licenced** (BSD-3-Clause):
      This software is OSI Certified Open Source Software.
      OSI Certified is a certification mark of the Open Source Initiative.
      Copyright (c) 2011-2022, authors of MNE-Python.
      All rights reserved.
      Redistribution and use in source and binary forms, with or without
      modification, are permitted provided that the following conditions are met:
      * Redistributions of source code must retain the above copyright notice,
        this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above copyright notice,
        this list of conditions and the following disclaimer in the documentation
        and/or other materials provided with the distribution.
      * Neither the names of MNE-Python authors nor the names of any
        contributors may be used to endorse or promote products derived from
        this software without specific prior written permission.
      **This software is provided by the copyright holders and contributors
      "as is" and any express or implied warranties, including, but not
      limited to, the implied warranties of merchantability and fitness for
      a particular purpose are disclaimed. In no event shall the copyright
      owner or contributors be liable for any direct, indirect, incidental,
      special, exemplary, or consequential damages (including, but not
      limited to, procurement of substitute goods or services; loss of use,
      data, or profits; or business interruption) however caused and on any
      theory of liability, whether in contract, strict liability, or tort
      (including negligence or otherwise) arising in any way out of the use
      of this software, even if advised of the possibility of such
      damage.**


pkgId: d4d0bb045385e46de59503e5572a9ad60e0a5aec619384d8e636701b97710cc5
name: python-mne-bids
arch: src
version: 0.12
epoch: 0
release: 1
url: https://github.com/mne-tools/mne-bids
rpm_license: BSD-3-Clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-f78c2964-d1fd-40ec-aa69-6c595b663b57
location_href: 00004214-python-mne-bids/python-mne-bids-0.12-1.src.rpm
checksum_type: sha256
summary:
  MNE-BIDS: Organizing MEG, EEG, and iEEG data according to the BIDS specification and facilitating their analysis with MNE-Python

description:
  MNE-BIDS is a Python package that allows you to read and write
  [BIDS](https://bids.neuroimaging.io/)-compatible datasets with the help of
  [MNE-Python](https://mne.tools/stable/index.html).
  ![Schematic: From raw data to BIDS using MNE-BIDS](https://mne.tools/mne-bids/assets/MNE-BIDS.png)


pkgId: 7bec88b3931fc03547c59c40dfd3dd48168ae203d30ae1f12cc8ae33bb34ddec
name: python-mock
arch: src
version: 5.0.1
epoch: 0
release: 1
summary: Rolling backport of unittest.mock for all Pythons
url: http://mock.readthedocs.org/en/latest/
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-58f42400-67d4-4194-84c3-82be85bba856
location_href: 00009061-python-mock/python-mock-5.0.1-1.src.rpm
checksum_type: sha256
description:
  mock is a library for testing in Python. It allows you to replace parts of
  your system under test with mock objects and make assertions about how they
  have been used.

  mock is now part of the Python standard library, available as `unittest.mock
  <https://docs.python.org/dev/library/unittest.mock.html>`_ in Python 3.3
  onwards.

  This package contains a rolling backport of the standard library mock code
  compatible with Python 3.6 and up.

  Please see the standard library documentation for more details.

  :Homepage: `Mock Homepage`_
  :Download: `Mock on PyPI`_
  :Documentation: `Python Docs`_
  :License: `BSD License`_
  :Support: `Mailing list (testing-in-python@lists.idyll.org)
   <http://lists.idyll.org/listinfo/testing-in-python>`_
  :Code: `GitHub
   <https://github.com/testing-cabal/mock>`_
  :Issue tracker: `GitHub Issues
   <https://github.com/testing-cabal/mock/issues>`_
  :Build status:
      |CircleCI|_ |Docs|_

      .. |CircleCI| image:: https://circleci.com/gh/testing-cabal/mock/tree/master.svg?style=shield
      .. _CircleCI: https://circleci.com/gh/testing-cabal/mock/tree/master

      .. |Docs| image:: https://readthedocs.org/projects/mock/badge/?version=latest
      .. _Docs: http://mock.readthedocs.org/en/latest/

  .. _Mock Homepage: http://mock.readthedocs.org/en/latest/
  .. _BSD License: https://github.com/testing-cabal/mock/blob/master/LICENSE.txt
  .. _Python Docs: https://docs.python.org/dev/library/unittest.mock.html
  .. _mock on PyPI: https://pypi.org/project/mock/


pkgId: b734a9fa89c2664636c922fbd48b9b08ef0139b73b9335e92d43e67f93b54bcc
name: python-mod-wsgi
arch: src
version: 4.9.4
epoch: 0
release: 1
summary: Installer for Apache/mod_wsgi.
url: https://www.modwsgi.org/
rpm_license: Apache License, Version 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-15f19354-d6cf-449c-b551-f39e80e6192a
location_href: 00004216-python-mod_wsgi/python-mod-wsgi-4.9.4-1.src.rpm
checksum_type: sha256
description:
  The mod_wsgi package provides an Apache module that implements a WSGI
  compliant interface for hosting Python based web applications on top of the
  Apache web server.
  Installation of mod_wsgi from source code can be performed in one of two
  ways.
  The first way of installing mod_wsgi is the traditional way that has been
  used by many software packages. This is where it is installed as a module
  directly into your Apache installation using the commands ``configure``,
  ``make`` and ``make install``, a method sometimes referred to by the
  acronym CMMI. This method works with most UNIX type systems. It cannot
  be used on Windows.
  The second way of installing mod_wsgi is to install it as a Python package
  into your Python installation using the Python ``pip install`` command.
  This can be used on all platforms, including Windows.
  This second way of installing mod_wsgi will compile not only the Apache
  module for mod_wsgi, but will also install a Python module and admin
  script, which on UNIX type systems can be used to start up a standalone
  instance of Apache directly from the command line with an auto generated
  configuration.
  This later mechanism for installing mod_wsgi using Python ``pip`` is a much
  simpler way of getting starting with hosting your Python web application.
  In particular, this installation method makes it very easy to use
  Apache/mod_wsgi in a development environment without the need to perform
  any Apache configuration yourself.
  The Apache module for mod_wsgi created when using the ``pip install``
  method can still be used with the main Apache installation, via manual
  configuration if necessary. As detailed later in these instructions, the
  admin script installed when you use ``pip install`` can be used to generate
  the configuration to manually add to the Apache configuration to load
  mod_wsgi.
  Note that although MacOS X is a UNIX type system, the ``pip install``
  method is the only supported way for installing mod_wsgi.
  Since MacOS X Sierra, Apple has completely broken the ability to install
  third party Apache modules using the ``apxs`` tool normally used for this
  task. History suggests that Apple will never fix the problem as they have
  broken things in the past in other ways and workarounds were required as
  they never fixed those problems either. This time there is no easy
  workaround as they no longer supply certain tools which are required to
  perform the installation.
  The ``pip install`` method along with the manual configuration of Apache
  is also the method you need to use on Windows.


pkgId: 1b54496554f64f54bc823aebcf95eb85bff900504b8613beffcd7b074803896f
name: python-modernize
arch: src
version: 0.8.0
epoch: 0
release: 1
summary: A hack on top of fissix (lib2to3 fork) for modernizing code for hybrid codebases.
url: https://github.com/PyCQA/modernize
rpm_license: BSD License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-240b8754-3b0a-4119-876f-131f1d97c248
location_href: 00004217-python-modernize/python-modernize-0.8.0-1.src.rpm
checksum_type: sha256
description:
  ::

      Python           _              _
         _ __  ___  __| |___ _ _ _ _ (_)______
        | '  \/ _ \/ _` / -_) '_| ' \| |_ / -_)
        |_|_|_\___/\__,_\___|_| |_||_|_/__\___|

  This library is a very thin wrapper around `fissix
  <https://github.com/jreese/fissix>`_, a fork of lib2to3, to utilize it
  to make Python 2 code more modern with the intention of eventually
  porting it over to Python 3.

  The ``python -m modernize`` command works like
  ``python -m fissix``, see `fissix <https://github.com/jreese/fissix>`_.
  Here's how you'd rewrite a
  single file::

      python -m modernize -w example.py

  It does not guarantee, but it attempts to spit out a codebase compatible
  with Python 2.6+ or Python 3. The code that it generates has a runtime
  dependency on `six <https://pypi.python.org/pypi/six>`_, unless the
  ``--no-six`` option is used. Version 1.9.0 or later of ``six`` is
  recommended. Some of the fixers output code that is not compatible with
  Python 2.5 or lower.

  **Documentation:** `modernize.readthedocs.io
  <https://modernize.readthedocs.io/>`_.

  See the ``LICENSE`` file for the license of ``modernize``.
  Using this tool does not affect licensing of the modernized code.

  .. image:: https://readthedocs.org/projects/modernize/badge/
      :target: https://readthedocs.org/projects/modernize/?badge=latest
      :alt: Documentation Status

  .. image:: https://api.travis-ci.org/pycqa/modernize.svg?branch=master
      :target: https://travis-ci.org/pycqa/modernize

  .. image:: https://coveralls.io/repos/pycqa/modernize/badge.png?branch=master
      :target: https://coveralls.io/r/pycqa/modernize?branch=master


pkgId: d7c2f45c85c3526ad48bc792ae6ec623d4316df3f8d4954593c320d1a8356933
name: python-mohawk
arch: src
version: 1.1.0
epoch: 0
release: 1
summary: Library for Hawk HTTP authorization
url: https://github.com/kumar303/mohawk
rpm_license: MPL 2.0 (Mozilla Public License)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-e78760c8-60c2-452a-b163-1f200611f467
location_href: 00013655-python-mohawk/python-mohawk-1.1.0-1.src.rpm
checksum_type: sha256
description:
  Hawk lets two parties securely communicate with each other using
  messages signed by a shared key.
  It is based on HTTP MAC access authentication (which
  was based on parts of OAuth 1.0).

  The Mohawk API is a little different from that of the Node library
  (i.e. https://github.com/hueniverse/hawk).
  It was redesigned to be more intuitive to developers, less prone to security problems, and more Pythonic.

  Read more: https://github.com/kumar303/mohawk/


pkgId: 3cb4120082cce8a3c826fca0329d5fece5e3ffe52086a6b8cc6006b22d1e4d38
name: python-molecule-docker
arch: src
version: 2.1.0
epoch: 0
release: 1
summary: Molecule aids in the development and testing of Ansible roles
url: https://github.com/ansible-community/molecule-docker
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c990319f-1a61-4fc0-9992-65807b90f319
location_href: 00004222-python-molecule-docker/python-molecule-docker-2.1.0-1.src.rpm
checksum_type: sha256
description:
  * Join us in the ``#ansible-devtools`` channel on `Libera`_.
  * Join the discussion in `molecule-users Forum`_.
  * Join the community working group by checking the `wiki`_.
  * Want to know about releases, subscribe to `ansible-announce list`_.
  * For the full list of Ansible email Lists, IRC channels see the
    `communication page`_.


pkgId: e3f6491671b55ec2e1e17c4a160c58aa02077c73b48813d6fb2beee15d0a3082
name: python-molecule-podman
arch: src
version: 2.0.3
epoch: 0
release: 1
summary: Molecule aids in the development and testing of Ansible roles
url: https://github.com/ansible-community/molecule-podman
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-5d7567ce-3b75-451c-a13e-2decb8cf8a44
location_href: 00004223-python-molecule-podman/python-molecule-podman-2.0.3-1.src.rpm
checksum_type: sha256
description:
  To change the podman executable from the standard podman, export environment
  variable ``MOLECULE_PODMAN_EXECUTABLE``. For instance, if you wish to run
  molecule with ``podman-remote`` instead of ordinary ``podman``, the variable
  can be exported as:
     $ export MOLECULE_PODMAN_EXECUTABLE=podman-remote


pkgId: 8df3741f3b8d8f7ca9eaa5be2d0cd3dac5587074b9637b70ec6b9208ed84301d
name: python-molten
arch: src
version: 1.0.2
epoch: 0
release: 1
summary: A minimal, extensible, fast and productive API framework.
url: https://pypi.org/project/molten/
rpm_license: GNU Lesser General Public License v3 or later (LGPLv3+)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-9ddd3ef0-94c5-46d3-8a1a-fc17fdf81c18
location_href: 00004224-python-molten/python-molten-1.0.2-1.src.rpm
checksum_type: sha256
description:
  [![CI](https://github.com/Bogdanp/molten/workflows/CI/badge.svg)](https://github.com/Bogdanp/molten/actions?query=workflow%3ACI)
  [![PyPI version](https://badge.fury.io/py/molten.svg)](https://badge.fury.io/py/molten)
  [![Documentation](https://img.shields.io/badge/doc-latest-brightgreen.svg)](https://moltenframework.com)
  [![Reddit](https://img.shields.io/badge/discuss-online-orange.svg)](https://www.reddit.com/r/moltenframework/)

  *A minimal, extensible, fast and productive API framework for Python 3.*

  <hr/>

  **Changelog**: https://moltenframework.com/changelog.html <br/>
  **Community**: https://www.reddit.com/r/moltenframework/ <br/>
  **Documentation**: https://moltenframework.com

  <hr/>




      pip install molten




  Check out the [examples] folder to get a taste of the framework or
  read the [user guide]!




  molten is licensed under the LGPL.  Please see [COPYING] and
  [COPYING.LESSER] for licensing details.

  [COPYING.LESSER]: https://github.com/Bogdanp/molten/blob/master/COPYING.LESSER
  [COPYING]: https://github.com/Bogdanp/molten/blob/master/COPYING
  [examples]: https://github.com/Bogdanp/molten/blob/master/examples
  [user guide]: https://moltenframework.com/guide.html


pkgId: 34282027ed1004ed869840f0e59c39fcdde62d76fa788b028c3f9ca8a2db1e21
name: python-monotonic
arch: src
version: 1.6
epoch: 0
release: 1
summary: An implementation of time.monotonic() for Python 2 & < 3.3
url: https://github.com/atdt/monotonic
rpm_license: Apache
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-6cc7adcc-b045-4c10-bc4a-f5b2fefcbaba
location_href: 00004227-python-monotonic/python-monotonic-1.6-1.src.rpm
checksum_type: sha256
description:
  monotonic
  ~~~~~~~~~

  This module provides a ``monotonic()`` function which returns the
  value (in fractional seconds) of a clock which never goes backwards.

  On Python 3.3 or newer, ``monotonic`` will be an alias of
  ``time.monotonic`` from the standard library. On older versions,
  it will fall back to an equivalent implementation:

  +------------------+----------------------------------------+
  | Linux, BSD, AIX  | ``clock_gettime(3)``                   |
  +------------------+----------------------------------------+
  | Windows          | ``GetTickCount`` or ``GetTickCount64`` |
  +------------------+----------------------------------------+
  | OS X             | ``mach_absolute_time``                 |
  +------------------+----------------------------------------+

  If no suitable implementation exists for the current platform,
  attempting to import this module (or to import from it) will
  cause a ``RuntimeError`` exception to be raised.


pkgId: 1f16505c8d67755a5c8be85eb45c57d4c80f00665c7cb4443d1892303c1dd42d
name: python-more-executors
arch: src
version: 2.11.4
epoch: 0
release: 1
summary: A library of composable Python executors and futures
url: https://github.com/rohanpm/more-executors
rpm_license: GNU General Public License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-df1ffc85-6acd-488a-a8cd-3a7ef3f81fdb
location_href: 00004229-python-more-executors/python-more-executors-2.11.4-1.src.rpm
checksum_type: sha256
description:
  [![Build Status](https://circleci.com/gh/rohanpm/more-executors/tree/master.svg?style=svg)](https://circleci.com/gh/rohanpm/more-executors/tree/master)
  [![Maintainability](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/maintainability)](https://codeclimate.com/github/rohanpm/more-executors/maintainability)
  [![Test Coverage](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/test_coverage)](https://codeclimate.com/github/rohanpm/more-executors/test_coverage)

  - [API documentation](https://rohanpm.github.io/more-executors/)
  - [Source](https://github.com/rohanpm/more-executors)
  - [PyPI](https://pypi.python.org/pypi/more-executors)

  This library is intended for use with the
  [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html)
  module.  It includes a collection of `Executor` implementations in order to
  extend the behavior of `Future` objects.



  - Futures with implicit retry
  - Futures with implicit cancel on executor shutdown
  - Futures with implicit cancel after timeout
  - Futures with transformed output values (sync & async)
  - Futures resolved by a caller-provided polling function
  - Throttle the number of futures running at once
  - Synchronous executor
  - Bridge `concurrent.futures` with `asyncio`
  - Convenience API for creating executors
  - Instrumented with [Prometheus](https://prometheus.io/)

  See the [API documentation](https://rohanpm.github.io/more-executors/) for detailed information on usage.



  This example combines the map and retry executors to create futures for
  HTTP requests running concurrently, decoding JSON responses within the
  future and retrying on error.

  ```python
  import requests
  from concurrent.futures import as_completed
  from more_executors import Executors


  def get_json(response):
      response.raise_for_status()
      return (response.url, response.json())


  def fetch_urls(urls):
      
      
      
      
      executor = Executors.\
          thread_pool(max_workers=4).\
          with_map(get_json).\
          with_retry()

      
      futures = [executor.submit(requests.get, url)
                 for url in urls]

      
      
      for future in as_completed(futures):
          (url, data) = future.result()
          do_something(url, data)
  ```



  `virtualenv` and `pip` may be used to locally install this project from
  source:

  ```
  virtualenv ~/dev/python
  . ~/dev/python/bin/activate

  git clone https://github.com/rohanpm/more-executors
  cd more-executors

  pip install --editable .
  ```

  Autotests may be run with pytest:

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

  Submit pull requests against https://github.com/rohanpm/more-executors.



  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.


pkgId: a3ef7e4d048550bea4a412065477ac7c9c106e4bca6dffd43fc383985054e8d9
name: python-moreorless
arch: src
version: 0.4.0
epoch: 0
release: 1
summary: Python diff wrapper
url: https://github.com/thatch/moreorless/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-4e21aefd-e2c0-45a7-9cfd-31e1bcd7c9f5
location_href: 00004230-python-moreorless/python-moreorless-0.4.0-1.src.rpm
checksum_type: sha256
description:
  This is a thin wrapper around `difflib.unified_diff` that Does The Right Thing
  for "No newline at eof".  The args are also simplified compared to `difflib`:

  ```py
  moreorless.unified_diff(
      astr: str,
      bstr: str,
      filename: str,
      n: int = 3,
  ) -> str:
      ...


  moreorless.patch.apply_single_file(
      contents: str,
      patch: str,
      allow_offsets: bool = True,
  ) -> str:
      ...


  moreorless.click.echo_color_unified_diff(
      astr: str,
      bstr: str,
      filename: str,
      n: int = 3
  ) -> None:
      ...


  moreorless.click.echo_color_precomputed_diff(
      diff: str,
  ) -> None:
      ...
  ```



  morelorless is copyright [Tim Hatch](http://timhatch.com/), and licensed under
  the MIT license.  I am providing code in this repository to you under an open
  source license.  This is my personal repository; the license you receive to
  my code is from me and not from my employer. See the `LICENSE` file for details.


pkgId: c9062383057a2842ff13b0cb92a47fe3e4eabea3b7cb60b24988008cffc5f2e4
name: python-moviepy
arch: src
version: 1.0.3
epoch: 0
release: 1
summary: Video editing with Python
url: https://zulko.github.io/moviepy/
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c04906ab-5d32-4e0e-9bd7-f3cedff86123
location_href: 00009499-python-moviepy/python-moviepy-1.0.3-1.src.rpm
checksum_type: sha256
description:
  MoviePy (full documentation_) is a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects. See the gallery_ for some examples of use.
  MoviePy can read and write all the most common audio and video formats, including GIF, and runs on Windows/Mac/Linux, with Python 2.7+ and 3 (or only Python 3.4+ from v.1.0). Here it is in action in an IPython notebook:


pkgId: bf1486df4f5d08efeb51c89b7cc69aba447b789d5a7c91cc12f718a3082bf422
name: python-mozilla-django-oidc
arch: src
version: 3.0.0
epoch: 0
release: 1
url: https://github.com/mozilla/mozilla-django-oidc
rpm_license: MPL 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c7231d66-70d7-4cd7-8228-72b6d11d9c82
location_href: 00004233-python-mozilla-django-oidc/python-mozilla-django-oidc-3.0.0-1.src.rpm
checksum_type: sha256
summary:
  A lightweight authentication and access management library for integration with OpenID Connect enabled authentication services.


pkgId: 9a7e8cbbba72ae82f2416730f1e66b8b7fcf36ad48ace4a766d8abf35ad91e66
name: python-mplcursors
arch: src
version: 0.5.2
epoch: 0
release: 1
summary: Interactive data selection cursors for Matplotlib.
url: https://github.com/anntzer/mplcursors
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-c23f1080-e8c2-4088-a161-f029f547c875
location_href: 00004240-python-mplcursors/python-mplcursors-0.5.2-1.src.rpm
checksum_type: sha256
description:
  | |GitHub| |PyPI| |conda-forge| |Debian| |Fedora| |openSUSE|
  | |Read the Docs| |Build|
     image:: https://img.shields.io/badge/github-anntzer%2Fmplcursors-brightgreen
     image:: https://img.shields.io/pypi/v/mplcursors.svg?color=brightgreen
     image:: https://img.shields.io/conda/v/conda-forge/mplcursors.svg?label=conda-forge&color=brightgreen
     image:: https://repology.org/badge/version-for-repo/debian_unstable/mplcursors.svg?header=Debian
     image:: https://repology.org/badge/version-for-repo/fedora_rawhide/python:mplcursors.svg?header=Fedora
     image:: https://repology.org/badge/version-for-repo/opensuse_tumbleweed/python:mplcursors.svg?header=openSUSE
     image:: https://img.shields.io/readthedocs/mplcursors
     image:: https://img.shields.io/github/workflow/status/anntzer/mplcursors/build
  mplcursors provides interactive data selection cursors for Matplotlib_.  It is
  inspired from mpldatacursor_, with a much simplified API.
  mplcursors requires Matplotlib_\≥3.1.
  Read the documentation on `readthedocs.org`_.
  As usual, install using pip:
     $ pip install mplcursors  # from PyPI
     $ pip install git+https://github.com/anntzer/mplcursors  # from Github
  or your favorite package manager.
  Run tests with pytest_\≥3.7.1.


pkgId: 65166fcc0ab2be1cf926057c0af099cbb2570a60029a288a9beff86bd55ea56e
name: python-mpld3
arch: src
version: 0.5.9
epoch: 0
release: 1
summary: D3 Viewer for Matplotlib
url: http://mpld3.github.com
rpm_license: BSD 3-clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-7cf54e7a-7c11-4f06-83c9-15b51fe2b2ef
location_href: 00010744-python-mpld3/python-mpld3-0.5.9-1.src.rpm
checksum_type: sha256
description:
  - Maintainers: [@vladh](https://github.com/vladh), [@cliffckerr](https://github.com/cliffckerr)
  - Status: I ([@vladh](https://github.com/vladh)) am not currently able to dedicate much time to resolving mpld3 issues.
    However, I _will_ gladly look at your pull request and review it. Please try your hand at fixing any issues you
    may have and sending a PR rather than just filing an issue — most problems don't take as long as you might expect to
    figure out!
  - Original author: Jake Vanderplas <jakevdp@cs.washington.edu>
  - License: BSD 3-clause
  This is an interactive D3js-based viewer which brings matplotlib graphics to the browser.
  Please visit [http://mpld3.github.io](http://mpld3.github.io) for documentation and examples.
  You may also see the [blog post](http://jakevdp.github.io/blog/2013/12/19/a-d3-viewer-for-matplotlib/), or the
  [IPython notebook examples](http://nbviewer.ipython.org/github/jakevdp/mpld3/tree/master/notebooks/)
  available in the ``notebooks`` directory of this repository.
  [![version status](https://img.shields.io/pypi/v/mpld3.svg)](https://pypi.python.org/pypi/mpld3)
  [![downloads](https://img.shields.io/pypi/dm/mpld3.svg)](https://pypi.python.org/pypi/mpld3)
  [![build status](https://travis-ci.org/jakevdp/mpld3.svg?branch=master)](https://travis-ci.org/jakevdp/mpld3)


pkgId: 122352bb7943de143c118996a9b525757b60e60112aa6466459a39d0cf20ed31
name: python-mpmath
arch: src
version: 1.3.0
epoch: 0
release: 1
summary: Python library for arbitrary-precision floating-point arithmetic
url: http://mpmath.org/
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-ee61eed1-e323-45d2-86ad-804e5133dc6e
location_href: 00004241-python-mpmath/python-mpmath-1.3.0-1.src.rpm
checksum_type: sha256
description:
  |pypi version| |Build status| |Code coverage status| |Zenodo Badge|
  A Python library for arbitrary-precision floating-point arithmetic.
  Website: http://mpmath.org/
  Main author: Fredrik Johansson <fredrik.johansson@gmail.com>
  Mpmath is free software released under the New BSD License (see the
  LICENSE file for details)


pkgId: 94d43c1201e8febd3f1589d47841d3ba8fbb57f2465aa17c4f52fe54d8503f26
name: python-mpu
arch: src
version: 0.23.1
epoch: 0
release: 1
summary: Martins Python Utilities
url: https://github.com/MartinThoma/mpu
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-6e4f4af9-7aee-4724-b3e5-c895342ea36d
location_href: 00014226-python-mpu/python-mpu-0.23.1-1.src.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/mpu.svg)](https://badge.fury.io/py/mpu)
  [![Python Support](https://img.shields.io/pypi/pyversions/mpu.svg)](https://pypi.org/project/mpu/)
  [![Documentation Status](https://readthedocs.org/projects/mpu/badge/?version=latest)](http://mpu.readthedocs.io/en/latest/?badge=latest)
  [![Build Status](https://travis-ci.org/MartinThoma/mpu.svg?branch=master)](https://travis-ci.org/MartinThoma/mpu)
  [![Coverage Status](https://coveralls.io/repos/github/MartinThoma/mpu/badge.svg?branch=master)](https://coveralls.io/github/MartinThoma/mpu?branch=master)


  Martins Python Utilities (mpu) is a collection of utility functions and classes
  with no other dependencies.

  The total size of the package will never be bigger than 10 MB and currently it
  is 15.7 kB in zipped form. This makes it a candidate to include into AWS Lambda
  projects.




  ```bash
  $ pip install git+https://github.com/MartinThoma/mpu.git
  ```

  It can, of course, also be installed via PyPI.






  ```python-repl
  >>> from mpu.datastructures import EList

  >>> l = EList([2, 1, 0])
  >>> l[2]
  0

  >>> l[[2, 0]]
  [0, 2]

  >>> l[l]
  [0, 1, 2]
  ```



  To enhance your terminals output, you might want to do something like:

  ```python
  from mpu.shell import Codes

  print("{c.GREEN}{c.UNDERLINED}Works{c.RESET_ALL}".format(c=Codes))
  ```




  Creating small example datastructures is a task I encounter once in a while
  for StackExchange answers.

  ```python
  from mpu.pd import example_df

  df = example_df()
  print(df)
  ```

  gives

  ```
       country   population population_time    EUR
  0    Germany   82521653.0      2016-12-01   True
  1     France   66991000.0      2017-01-01   True
  2  Indonesia  255461700.0      2017-01-01  False
  3    Ireland    4761865.0             NaT   True
  4      Spain   46549045.0      2017-06-01   True
  5    Vatican          NaN             NaT   True
  ```




  ```python
  import mpu
  from fractions import Fraction

  gross_income = mpu.units.Money("2345.10", "EUR")
  net_income = gross_income * Fraction("0.80")
  apartment = mpu.units.Money("501.23", "EUR")
  savings = net_income - apartment
  print(savings)
  ```

  prints `1375.31 Euro`




  * Download files with `mpu.io.download(source, sink)`
  * Read CSV, JSON and pickle with `mpu.io.read(filepath)`
  * Write CSV, JSON and pickle with `mpu.io.write(filepath, data)`


pkgId: aa1f1be3010b3a2be1a9af4d59d906c869cc45c54c8ce282418586129a9dea37
name: python-msal
arch: src
version: 1.21.0
epoch: 0
release: 1
url: https://github.com/AzureAD/microsoft-authentication-library-for-python
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-8272c943-ae03-448b-a92b-5d2550a8dc43
location_href: 00004245-python-msal/python-msal-1.21.0-1.src.rpm
checksum_type: sha256
summary:
  The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect.

description:
  | `dev` branch | Reference Docs | # of Downloads per different platforms | # of Downloads per recent MSAL versions |
  |---------------|---------------|----------------------------------------|-----------------------------------------|
   [![Build status](https://github.com/AzureAD/microsoft-authentication-library-for-python/actions/workflows/python-package.yml/badge.svg?branch=dev)](https://github.com/AzureAD/microsoft-authentication-library-for-python/actions) | [![Documentation Status](https://readthedocs.org/projects/msal-python/badge/?version=latest)](https://msal-python.readthedocs.io/en/latest/?badge=latest) | [![Downloads](https://pepy.tech/badge/msal)](https://pypistats.org/packages/msal) | [![Download monthly](https://pepy.tech/badge/msal/month)](https://pepy.tech/project/msal)

  The Microsoft Authentication Library for Python enables applications to integrate with the [Microsoft identity platform](https://aka.ms/aaddevv2). It allows you to sign in users or apps with Microsoft identities ([Azure AD](https://azure.microsoft.com/services/active-directory/), [Microsoft Accounts](https://account.microsoft.com) and [Azure AD B2C](https://azure.microsoft.com/services/active-directory-b2c/) accounts) and obtain tokens to call Microsoft APIs such as [Microsoft Graph](https://graph.microsoft.io/) or your own APIs registered with the Microsoft identity platform. It is built using industry standard OAuth2 and OpenID Connect protocols

  Not sure whether this is the SDK you are looking for your app? There are other Microsoft Identity SDKs
  [here](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Microsoft-Authentication-Client-Libraries).

  Quick links:

  | [Getting Started](https://docs.microsoft.com/azure/active-directory/develop/quickstart-v2-python-webapp) | [Docs](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki) | [Samples](https://aka.ms/aaddevsamplesv2) | [Support](README.md#community-help-and-support) | [Feedback](https://forms.office.com/r/TMjZkDbzjY) |
  | --- | --- | --- | --- | --- |



  Click on the following thumbnail to visit a large map with clickable links to proper samples.

  [![Map effect won't work inside github's markdown file, so we have to use a thumbnail here to lure audience to a real static website](https://raw.githubusercontent.com/AzureAD/microsoft-authentication-library-for-python/dev/docs/thumbnail.png)](https://msal-python.readthedocs.io/en/latest/)



  You can find MSAL Python on [Pypi](https://pypi.org/project/msal/).
  1. If you haven't already, [install and/or upgrade the pip](https://pip.pypa.io/en/stable/installing/)
     of your Python environment to a recent version. We tested with pip 18.1.
  2. As usual, just run `pip install msal`.



  This library follows [Semantic Versioning](http://semver.org/).

  You can find the changes for each version under
  [Releases](https://github.com/AzureAD/microsoft-authentication-library-for-python/releases).



  Before using MSAL Python (or any MSAL SDKs, for that matter), you will have to
  [register your application with the Microsoft identity platform](https://docs.microsoft.com/azure/active-directory/develop/quickstart-v2-register-an-app).

  Acquiring tokens with MSAL Python follows this 3-step pattern.
  (Note: That is the high level conceptual pattern.
  There will be some variations for different flows. They are demonstrated in
  [runnable samples hosted right in this repo](https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/dev/sample).
  )


  1. MSAL proposes a clean separation between
     [public client applications, and confidential client applications](https://tools.ietf.org/html/rfc6749#section-2.1).
     So you will first create either a `PublicClientApplication` or a `ConfidentialClientApplication` instance,
     and ideally reuse it during the lifecycle of your app. The following example shows a `PublicClientApplication`:

     ```python
     from msal import PublicClientApplication
     app = PublicClientApplication(
         "your_client_id",
         authority="https://login.microsoftonline.com/Enter_the_Tenant_Name_Here")
     ```

     Later, each time you would want an access token, you start by:
     ```python
     result = None  # It is just an initial value. Please follow instructions below.
     ```

  2. The API model in MSAL provides you explicit control on how to utilize token cache.
     This cache part is technically optional, but we highly recommend you to harness the power of MSAL cache.
     It will automatically handle the token refresh for you.

     ```python
     
     
     accounts = app.get_accounts()
     if accounts:
         
         print("Pick the account you want to use to proceed:")
         for a in accounts:
             print(a["username"])
         
         chosen = accounts[0]
         
         result = app.acquire_token_silent(["your_scope"], account=chosen)
     ```

  3. Either there is no suitable token in the cache, or you chose to skip the previous step,
     now it is time to actually send a request to AAD to obtain a token.
     There are different methods based on your client type and scenario. Here we demonstrate a placeholder flow.

     ```python
     if not result:
         
         result = app.acquire_token_by_one_of_the_actual_method(..., scopes=["User.Read"])
     if "access_token" in result:
         print(result["access_token"])  # Yay!
     else:
         print(result.get("error"))
         print(result.get("error_description"))
         print(result.get("correlation_id"))  # You may need this when reporting a bug
     ```

  Refer the [Wiki](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki) pages for more details on the MSAL Python functionality and usage.



  If your application is using ADAL Python, we recommend you to update to use MSAL Python. No new feature work will be done in ADAL Python.

  See the [ADAL to MSAL migration](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Migrate-to-MSAL-Python) guide.



  You can follow the latest updates and plans for MSAL Python in the [Roadmap](https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Roadmap) published on our Wiki.



  MSAL Python supports multiple [application types and authentication scenarios](https://docs.microsoft.com/azure/active-directory/develop/authentication-flows-app-scenarios).
  The generic documents on
  [Auth Scenarios](https://docs.microsoft.com/azure/active-directory/develop/authentication-scenarios)
  and
  [Auth protocols](https://docs.microsoft.com/azure/active-directory/develop/active-directory-v2-protocols)
  are recommended reading.

  We provide a [full suite of sample applications](https://aka.ms/aaddevsamplesv2) and [documentation](https://aka.ms/aaddevv2) to help you get started with learning the Microsoft identity platform.



  We leverage Stack Overflow to work with the community on supporting Azure Active Directory and its SDKs, including this one!
  We highly recommend you ask your questions on Stack Overflow (we're all on there!)
  Also browser existing issues to see if someone has had your question before.

  We recommend you use the "msal" tag so we can see it!
  Here is the latest Q&A on Stack Overflow for MSAL:
  [http://stackoverflow.com/questions/tagged/msal](http://stackoverflow.com/questions/tagged/msal)


  We'd like your thoughts on this library. Please complete [this short survey.](https://forms.office.com/r/TMjZkDbzjY)



  If you find a security issue with our libraries or services please report it to [secure@microsoft.com](mailto:secure@microsoft.com) with as much detail as possible. Your submission may be eligible for a bounty through the [Microsoft Bounty](http://aka.ms/bugbounty) program. Please do not post security issues to GitHub Issues or any other public site. We will contact you shortly upon receiving the information. We encourage you to get notifications of when security incidents occur by visiting [this page](https://technet.microsoft.com/security/dd252948) and subscribing to Security Advisory Alerts.



  All code is licensed under the MIT license and we triage actively on GitHub. We enthusiastically welcome contributions and feedback. Please read the [contributing guide](./contributing.md) before starting.



  This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.


pkgId: 7ae30101cc266ed4dc6ed72c06ef7631fa128dbe3f91e26a93f7dfdda2fec98b
name: python-msal-extensions
arch: src
version: 1.0.0
epoch: 0
release: 1
url: https://pypi.org/project/msal-extensions/
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-a2b6d724-2f5c-455e-b310-85f5f969ff20
location_href: 00004246-python-msal-extensions/python-msal-extensions-1.0.0-1.src.rpm
checksum_type: sha256
summary:
  Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism.

description:
  The Microsoft Authentication Extensions for Python offers secure mechanisms for client applications to perform cross-platform token cache serialization and persistence. It gives additional support to the [Microsoft Authentication Library for Python (MSAL)](https://github.com/AzureAD/microsoft-authentication-library-for-python).

  MSAL Python supports an in-memory cache by default and provides the [SerializableTokenCache](https://msal-python.readthedocs.io/en/latest/#msal.SerializableTokenCache) to perform cache serialization. You can read more about this in the MSAL Python [documentation](https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-python-token-cache-serialization). Developers are required to implement their own cache persistance across multiple platforms and Microsoft Authentication Extensions makes this simpler.

  The supported platforms are Windows, Mac and Linux.
  - Windows - [DPAPI](https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-use-data-protection) is used for encryption.
  - MAC - The MAC KeyChain is used.
  - Linux - [LibSecret](https://wiki.gnome.org/Projects/Libsecret) is used for encryption.

  > Note: It is recommended to use this library for cache persistance support for Public client applications such as Desktop apps only. In web applications, this may lead to scale and performance issues. Web applications are recommended to persist the cache in session. Take a look at this [webapp sample](https://github.com/Azure-Samples/ms-identity-python-webapp).



  You can find Microsoft Authentication Extensions for Python on [Pypi](https://pypi.org/project/msal-extensions/).
  1. If you haven't already, [install and/or upgrade the pip](https://pip.pypa.io/en/stable/installing/)
     of your Python environment to a recent version. We tested with pip 18.1.
  2. Run `pip install msal-extensions`.



  This library follows [Semantic Versioning](http://semver.org/).

  You can find the changes for each version under
  [Releases](https://github.com/AzureAD/microsoft-authentication-extensions-for-python/releases).





  The Microsoft Authentication Extensions library provides the `PersistedTokenCache` which accepts a platform-dependent persistence instance. This token cache can then be used to instantiate the `PublicClientApplication` in MSAL Python.

  The token cache includes a file lock, and auto-reload behavior under the hood.



  Here is an example of this pattern for multiple platforms (taken from the complete [sample here](https://github.com/AzureAD/microsoft-authentication-extensions-for-python/blob/dev/sample/token_cache_sample.py)):

  ```python
  def build_persistence(location, fallback_to_plaintext=False):
      """Build a suitable persistence instance based your current OS"""
      try:
          return build_encrypted_persistence(location)
      except:
          if not fallback_to_plaintext:
              raise
          logging.warning("Encryption unavailable. Opting in to plain text.")
          return FilePersistence(location)

  persistence = build_persistence("token_cache.bin")
  print("Type of persistence: {}".format(persistence.__class__.__name__))
  print("Is this persistence encrypted?", persistence.is_encrypted)

  cache = PersistedTokenCache(persistence)
  ```
  Now you can use it in an MSAL application like this:
  ```python
  app = msal.PublicClientApplication("my_client_id", token_cache=cache)
  ```



  Here is an example of this pattern for multiple platforms (taken from the complete [sample here](https://github.com/AzureAD/microsoft-authentication-extensions-for-python/blob/dev/sample/persistence_sample.py)):

  ```python
  def build_persistence(location, fallback_to_plaintext=False):
      """Build a suitable persistence instance based your current OS"""
      try:
          return build_encrypted_persistence(location)
      except:  # pylint: disable=bare-except
          if not fallback_to_plaintext:
              raise
          logging.warning("Encryption unavailable. Opting in to plain text.")
          return FilePersistence(location)

  persistence = build_persistence("storage.bin", fallback_to_plaintext=False)
  print("Type of persistence: {}".format(persistence.__class__.__name__))
  print("Is this persistence encrypted?", persistence.is_encrypted)

  data = {  # It can be anything, here we demonstrate an arbitrary json object
      "foo": "hello world",
      "bar": "",
      "service_principle_1": "blah blah...",
      }

  persistence.save(json.dumps(data))
  assert json.loads(persistence.load()) == data
  ```




  We leverage Stack Overflow to work with the community on supporting Azure Active Directory and its SDKs, including this one!
  We highly recommend you ask your questions on Stack Overflow (we're all on there!).
  Also browse existing issues to see if someone has had your question before.

  We recommend you use the "msal" tag so we can see it!
  Here is the latest Q&A on Stack Overflow for MSAL:
  [http://stackoverflow.com/questions/tagged/msal](http://stackoverflow.com/questions/tagged/msal)




  All code is licensed under the MIT license and we triage actively on GitHub.

  This project welcomes contributions and suggestions.  Most contributions require you to agree to a
  Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
  the rights to use your contribution. For details, visit https://cla.microsoft.com.

  When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
  a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
  provided by the bot. You will only need to do this once across all repos using our CLA.




  This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.


pkgId: 1a014ddcace5ce6b14f4cb11b88c97d98883cbe470a3d2f3dc89b179eed28346
name: python-msedge-selenium-tools
arch: src
version: 3.141.4
epoch: 0
release: 1
url: https://github.com/microsoft/edge-selenium-tools
rpm_license: Apache 2.0
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-59a30815-274c-421c-abe9-1bd7020ef89f
location_href: 00012230-python-msedge-selenium-tools/python-msedge-selenium-tools-3.141.4-1.src.rpm
checksum_type: sha256
summary:
  An updated EdgeDriver implementation for Selenium 3 with newly-added support for Microsoft Edge (Chromium).

description:
  <a name="deprecation"></a>
  :warning: **This project is no longer maintained. Please uninstall Selenium Tools for Microsoft Edge and upgrade to [Selenium 4](https://www.selenium.dev/) which has built-in support for Microsoft Edge (Chromium). For help upgrading your Selenium 3 browser tests to Selenium 4, see Selenium's guide [here](https://www.selenium.dev/documentation/webdriver/getting_started/upgrade_to_selenium_4/).** :warning:

  This repository will remain available as an example, and for users that have not yet had a chance to upgrade. However, there will be no further activity on issues or pull requests. The [@EdgeDevTools](https://twitter.com/EdgeDevTools) team will continue to work with the Selenium project to contribute future Microsoft Edge Driver features and bug fixes directly to Selenium 4.

  * * *

  [![Build Status](https://dev.azure.com/ms/edge-selenium-tools/_apis/build/status/microsoft.edge-selenium-tools?branchName=master)](https://dev.azure.com/ms/edge-selenium-tools/_build/latest?definitionId=345&branchName=master)

  Selenium Tools for Microsoft Edge extends [Selenium 3](https://github.com/SeleniumHQ/selenium/releases/tag/selenium-3.141.59) with a unified driver to help you write automated tests for both the Microsoft Edge (EdgeHTML) and new Microsoft Edge (Chromium) browsers.

  The libraries included in this project are fully compatible with Selenium's built-in Edge libraries, and run Microsoft Edge (EdgeHTML) by default so you can use our project as a seamless drop-in replacement. In addition to being compatible with your existing Selenium tests, Selenium Tools for Microsoft Edge gives you the ability to drive the new Microsoft Edge (Chromium) browser and unlock all of the latest functionality!

  The classes in this package are based on the existing ``Edge`` and ``Chrome`` driver classes included in the [Selenium](https://github.com/SeleniumHQ/selenium) project.



  Selenium Tools for Microsoft Edge was created as a compatiblity solution for developers who have existing Selenium 3 browser tests and want to add coverage for the latest Microsoft Edge (Chromium) browser. The [Microsoft Edge Developer Tools Team](https://twitter.com/EdgeDevTools) recommends using Selenium 4 instead because Selenium 4 has built-in support for Microsoft Edge (Chromium). If you are able to upgrade your existing tests, or write new tests using Selenium 4, then there is no need to use this package as Selenium should already have everything you need built in!

  See Selenium's upgrade [guide](https://www.selenium.dev/documentation/webdriver/getting_started/upgrade_to_selenium_4/) for help with upgrading from Selenium 3 to Selenium 4. If you are unable to upgrade due to a compatibility issues, please consider opening an issue in the official Selenium GitHub repo [here](https://github.com/SeleniumHQ/selenium/issues). If you have determined that you cannot upgrade from Selenium 3 at this time, and would still like to add test coverage for Microsoft Edge (Chromium) to your project, see the steps in the section below.





  You will need the correct [WebDriver executable][webdriver-download] for the version of Microsoft Edge you want to drive. The executables are not included with this package. WebDriver executables for all supported versions of Microsoft Edge are available for download [here][webdriver-download]. For more information, and instructions on downloading the correct driver for your browser, see the [Microsoft Edge WebDriver documentation][webdriver-chromium-docs].



  Selenium Tools for Microsoft Edge depends on the official Selenium 3 package to run. You will need to ensure that both Selenium 3 and the Tools and included in your project.

  Use pip to install the [msedge-selenium-tools](https://pypi.org/project/msedge-selenium-tools/) and [selenium](https://pypi.org/project/selenium/3.141.0/) packages:

  ```
  pip install msedge-selenium-tools selenium==3.141
  ```



  See the [Microsoft Edge WebDriver documentation][webdriver-chromium-docs] for lots more information on using Microsoft Edge (Chromium) with WebDriver.

  ```python
  from msedge.selenium_tools import Edge, EdgeOptions


  driver = Edge()


  options = EdgeOptions()
  options.use_chromium = True
  driver = Edge(options = options)
  ```



  We are glad you are interested in automating the latest Microsoft Edge browser and improving the automation experience for the rest of the community!

  Before you begin, please read & follow our [Contributor's Guide](CONTRIBUTING.md). Consider also contributing your feature or bug fix directly to [Selenium](https://github.com/SeleniumHQ/selenium) so that it will be included in future Selenium releases.



  This project has adopted the [Microsoft Open Source Code of Conduct][conduct-code].
  For more information see the [Code of Conduct FAQ][conduct-FAQ] or contact [opencode@microsoft.com][conduct-email] with any additional questions or comments.

  [webdriver-download]: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
  [webdriver-chromium-docs]: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium
  [conduct-code]: https://opensource.microsoft.com/codeofconduct/
  [conduct-FAQ]: https://opensource.microsoft.com/codeofconduct/faq/
  [conduct-email]: mailto:opencode@microsoft.com


pkgId: 27c190e8a87a9def07183b67f09ab51e1092fc516c2acfa7350ac05cb00007e0
name: python-msgpack-numpy
arch: src
version: 0.4.8
epoch: 0
release: 1
summary: Numpy data serialization using msgpack
url: https://github.com/lebedov/msgpack-numpy
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-1d1b298c-b71e-4682-ab92-7ee27a6d736c
location_href: 00010433-python-msgpack-numpy/python-msgpack-numpy-0.4.8-1.src.rpm
checksum_type: sha256
description:
  This package provides encoding and decoding routines that enable the
  serialization and deserialization of numerical and array data types provided by
  [numpy](http://www.numpy.org/) using the highly efficient
  [msgpack](http://msgpack.org/) format. Serialization of Python's
  native complex data types is also supported.
  [![Latest Version](https://img.shields.io/pypi/v/msgpack-numpy.svg)](https://pypi.python.org/pypi/msgpack-numpy)
  [![Build Status](https://travis-ci.org/lebedov/msgpack-numpy.svg?branch=master)](https://travis-ci.org/lebedov/msgpack-numpy)


pkgId: f4b771ee2e8253221471b6cc2fde0f4240597c7e3edd0ea493bb48e22dfa926a
name: python-mss
arch: src
version: 8.0.2
epoch: 0
release: 1
summary: An ultra fast cross-platform multiple screenshots module in pure python using ctypes.
url: https://github.com/BoboTiG/python-mss
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-5003b7c4-ba27-4501-99cf-51d93245b7da
location_href: 00010651-python-mss/python-mss-8.0.2-1.src.rpm
checksum_type: sha256
description:
      from mss import mss
      
      with mss() as sct:
          sct.shot()
  An ultra fast cross-platform multiple screenshots module in pure python using ctypes.
  - **Python 3.8+** and PEP8 compliant, no dependency, thread-safe;
  - very basic, it will grab one screen shot by monitor or a screen shot of all monitors and save it to a PNG file;
  - but you can use PIL and benefit from all its formats (or add yours directly);
  - integrate well with Numpy and OpenCV;
  - it could be easily embedded into games and other software which require fast and platform optimized methods to grab screen shots (like AI, Computer Vision);
  - get the `source code on GitHub <https://github.com/BoboTiG/python-mss>`_;
  - learn with a `bunch of examples <https://python-mss.readthedocs.io/examples.html>`_;
  - you can `report a bug <https://github.com/BoboTiG/python-mss/issues>`_;
  - need some help? Use the tag *python-mss* on `StackOverflow <https://stackoverflow.com/questions/tagged/python-mss>`_;
  - and there is a `complete, and beautiful, documentation <https://python-mss.readthedocs.io>`_ :)
  - **MSS** stands for Multiple Screen Shots;


pkgId: e76554153018af239aad0b37211c80c8f6d6dd6d47b625bdd9f0fe0d84981099
name: python-mtg
arch: src
version: 1.6.1
epoch: 0
release: 1
summary: Console-based access to the Gatherer Magic Card Database.
url: https://github.com/chigby/mtg
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-45676e6d-e0d6-464f-827b-f79fc52580ef
location_href: 00004252-python-mtg/python-mtg-1.6.1-1.src.rpm
checksum_type: sha256
description:
  Search for Magic cards from the command line.  Limit your results by
  card name, color, type, rules text, converted mana cost, power,
  toughness, or expansion set.  Rulings and flavor text also available.
  Clean interface and output.


pkgId: 660540f9877e19f3b1660f1be27e0b1c1316ce2cf8c17ff9ab0540109a4162b0
name: python-mulpyplexer
arch: src
version: 0.09
epoch: 0
release: 1
summary: A module that multiplexes interactions with lists of python objects.
url: https://pypi.org/project/mulpyplexer/
rpm_license: BSD
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-0a166ea8-effc-4ed2-bbea-688870b5d895
location_href: 00004253-python-mulpyplexer/python-mulpyplexer-0.09-1.src.rpm
checksum_type: sha256
description:
  Mulpyplexer is a piece of code that can multiplex interactions with lists of python objects.
  It's easier to show you:

      import mulpyplexer

      class A:
          def __init__(self, i):
              self.i = i

          def add(self, j):
              return A(self.i + (j.i if isinstance(j, A) else j))

          def sub(self, j):
              return A(self.i - (j.i if isinstance(j, A) else j))

          def __repr__(self):
              return "<A %d>" % self.i

          def str(self):
              return str(self.i)

          def __eq__(self, o):
              return self.i == o.i

      one = mulpyplexer.MP([ A(10), A(20), A(30) ])

      two = one.add(5)
      assert two.mp_items == [ A(15), A(25), A(35) ]

      three = two.sub(10)
      assert three.mp_items == [ A(5), A(15), A(25) ]

      four = three.add(one)
      assert four.mp_items == [ A(15), A(35), A(55) ]

      five = four.str()
      assert five.mp_items == [ "15", "35", "55" ]

      six = four.i
      assert six.mp_items == [ 15, 35, 55 ]


pkgId: 3dcc4938cbf85e2c36fe12e76300ac9f9dbd039fbf3e04b87b28714b292caa8d
name: python-multi_key_dict
arch: src
version: 2.0.3
epoch: 0
release: 1
summary: Multi key dictionary implementation
url: https://github.com/formiaczek/multi_key_dict
rpm_license: License :: OSI Approved :: MIT License (http://opensource.org/licenses/MIT)
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-edb6c29d-3ca7-4584-8086-99d19720afe5
location_href: 00004254-python-multi_key_dict/python-multi_key_dict-2.0.3-1.src.rpm
checksum_type: sha256
description:
  Implementation of a multi-key dictionary, i.e.:
  (key1[,key2, ..]) => value
  This dictionary has a similar interface to the standard dictionary => but is extended to support multiple keys referring to the same element.
  If element is created using multiple keys, e.g.:
      from multi_key_dict import multi_key_dict
      k = multi_key_dict()
      k[1000, 'kilo', 'k'] = 'kilo (x1000)'
      print k[1000] # will print 'kilo (x1000)'
      print k['k'] # will also print 'kilo (x1000)'
      
      
      
      k['kilo'] = 'kilo'
      print k[1000] # will now print 'kilo' as value was updated
  These elements can be accessed using either of those keys (e.g for read/update/deletion).
  Multi-key dict provides also extended interface for iterating over items and keys (e.g. by the key type), which might be useful when creating, e.g. dictionaries with index-name key pair allowing to iterate over items using either: names or indexes.
  It can be useful for many many other similar use-cases, and there is no limit to the number of keys used to map to the value.
  There are few other useful methods, e.g. to iterate over dictionary (by/using) selected key type, finding other keys mapping to the same value etc. Refer to example/test code to see it in action.


pkgId: a811105aab66568f35a7cf9882ac1cb6692f79da6efbb87f85d92ea80e1941d8
name: python-multidict-debuginfo
arch: x86_64
version: 6.0.4
epoch: 0
release: 1
summary: Debug information for package python-multidict
url: https://github.com/aio-libs/multidict
rpm_license: Apache 2
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-b34d4b0b-22a1-405c-8d02-76004029b226
rpm_sourcerpm: python-multidict-6.0.4-1.src.rpm
location_href: 00008917-python-multidict/python-multidict-debuginfo-6.0.4-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-multidict.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: 639f3daac6b8ac68de9a6dfead207f17ae481b3ef39894ccccae866a7096e24a
name: python-multidict-debugsource
arch: x86_64
version: 6.0.4
epoch: 0
release: 1
summary: Debug sources for package python-multidict
url: https://github.com/aio-libs/multidict
rpm_license: Apache 2
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Development/Debug
rpm_buildhost: resalloc-b34d4b0b-22a1-405c-8d02-76004029b226
rpm_sourcerpm: python-multidict-6.0.4-1.src.rpm
location_href: 00008917-python-multidict/python-multidict-debugsource-6.0.4-1.x86_64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-multidict.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: 6e602707e48357ebd31a4bc50ce7676589c1fad0c68e6c335e25d97de6367cbd
name: python-multipart
arch: src
version: 0.2.4
epoch: 0
release: 1
summary: Parser for multipart/form-data.
url: http://github.com/defnull/multipart
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-95b3383b-872f-40f7-8fd4-0e211970920c
location_href: 00004256-python-multipart/python-multipart-0.2.4-1.src.rpm
checksum_type: sha256
description:
  This module provides a parser for the multipart/form-data format. It can read
  from a file, a socket or a WSGI environment. The parser can be used to replace
  cgi.FieldStorage to work around its limitations.


pkgId: d21c47cc5f432855e69be54a1148cc164fdac849c3336be03f09b2fa379cdaea
name: python-multitasking
arch: src
version: 0.0.11
epoch: 0
release: 1
summary: Non-blocking Python methods using decorators
url: https://github.com/ranaroussi/multitasking
rpm_license: Apache
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-141aa942-7018-45ce-80e4-902d101c0602
location_href: 00010413-python-multitasking/python-multitasking-0.0.11-1.src.rpm
checksum_type: sha256
description:
  \
  **MultiTasking** is a tiny Python library lets you convert your Python methods into asynchronous,
  non-blocking methods simply by using a decorator.


pkgId: 2a0a568c512de645841a426181ca1e088ca9e15974bb3015dd968a538189c30d
name: python-munch
arch: src
version: 2.5.0
epoch: 0
release: 1
summary: A dot-accessible dictionary (a la JavaScript objects)
url: https://github.com/Infinidat/munch
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-4822f1df-ff90-428d-803d-7e5134cfe291
location_href: 00009315-python-munch/python-munch-2.5.0-1.src.rpm
checksum_type: sha256
description:
  munch is a fork of David Schoonover's **Bunch** package, providing similar functionality. 99% of the work was done by him, and the fork was made mainly for lack of responsiveness for fixes and maintenance on the original code.
  Munch is a dictionary that supports attribute-style access, a la JavaScript:
  ```python
  >>> b = Munch()
  >>> b.hello = 'world'
  >>> b.hello
  'world'
  >>> b['hello'] += "!"
  >>> b.hello
  'world!'
  >>> b.foo = Munch(lol=True)
  >>> b.foo.lol
  True
  >>> b.foo is b['foo']
  True
  ```


pkgId: cc1c8d28f5b3eb5b261592ffd5aebdb794566d933b360dabcb2ed70f83656e18
name: python-munkres
arch: src
version: 1.1.4
epoch: 0
release: 1
summary: Munkres (Hungarian) algorithm for the Assignment Problem
url: https://software.clapper.org/munkres/
rpm_license: Apache Software License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-65ef59df-d3fe-4fcb-9528-e7a189fc7d55
location_href: 00004257-python-munkres/python-munkres-1.1.4-1.src.rpm
checksum_type: sha256
description:
  The Munkres module provides an implementation of the Munkres algorithm
  (also called the Hungarian algorithm or the Kuhn-Munkres algorithm),
  useful for solving the Assignment Problem.
  For complete usage documentation, see: https://software.clapper.org/munkres/


pkgId: 0dcff094440c8eef3561b58555bc01f1ad2c41a52324bf9880fafba8659c2a66
name: python-musicbrainzngs
arch: src
version: 0.7.1
epoch: 0
release: 1
summary: Python bindings for the MusicBrainz NGS and the Cover Art Archive webservices
url: https://python-musicbrainzngs.readthedocs.io/
rpm_license: BSD 2-clause
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-38530b0f-0875-4168-bcea-38df19defe35
location_href: 00004260-python-musicbrainzngs/python-musicbrainzngs-0.7.1-1.src.rpm
checksum_type: sha256
description:
  Musicbrainz NGS bindings


  This library implements webservice bindings for the Musicbrainz NGS site, also known as /ws/2
  and the `Cover Art Archive <https://coverartarchive.org/>`_.

  For more information on the musicbrainz webservice see `<http://wiki.musicbrainz.org/XML_Web_Service>`_.

  Usage
  *****

  .. code:: python

      
      import musicbrainzngs

      
      musicbrainzngs.auth("user", "password")

      
      
      
      musicbrainzngs.set_useragent("Example music app", "0.1", "http://example.com/music")

      
      musicbrainzngs.set_hostname("beta.musicbrainz.org")

  See the ``query.py`` file for more examples.

  More documentation is available at
  `Read the Docs <https://python-musicbrainzngs.readthedocs.org>`_.

  Contribute
  **********

  If you want to contribute to this repository, please read `the
  contribution guidelines
  <https://github.com/alastair/python-musicbrainzngs/blob/master/CONTRIBUTING.md>`_ first.


  Authors
  *******

  These bindings were written by `Alastair Porter <http://github.com/alastair>`_.
  Contributions have been made by:

  * `Adrian Sampson <https://github.com/sampsyo>`_
  * `Corey Farwell <https://github.com/frewsxcv>`_
  * `Galen Hazelwood <https://github.com/galenhz>`_
  * `Greg Ward <https://github.com/gward>`_
  * `Ian McEwen <https://github.com/ianmcorvidae>`_
  * `Jérémie Detrey <https://github.com/jdetrey>`_
  * `Johannes Dewender <https://github.com/JonnyJD>`_
  * `Michael Marineau <https://github.com/marineam>`_
  * `Patrick Speiser <https://github.com/doskir>`_
  * `Pavan Chander <https://github.com/navap>`_
  * `Paul Bailey <https://github.com/paulbailey>`_
  * `Rui Gonçalves <https://github.com/ruippeixotog>`_
  * `Ryan Helinski <https://github.com/rlhelinski>`_
  * `Sam Doshi <https://github.com/samdoshi>`_
  * `Shadab Zafar <https://github.com/dufferzafar>`_
  * `Simon Chopin <https://github.com/laarmen>`_
  * `Thomas Vander Stichele <https://github.com/thomasvs>`_
  * `Wieland Hoffmann <https://github.com/mineo>`_

  License
  *******

  This library is released under the simplified BSD license except for the file
  ``musicbrainzngs/compat.py`` which is licensed under the ISC license.
  See COPYING for details.


pkgId: 57915d8ab5d5d8fc7c6833d728421f75afb027b0823869d73790a818febb1921
name: python-mutagen
arch: src
version: 1.46.0
epoch: 0
release: 1
summary: read and write audio tags for many formats
url: https://github.com/quodlibet/mutagen
rpm_license: GPL-2.0-or-later
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-36f4daa3-a89c-4a58-963f-5d3264f6a092
location_href: 00004261-python-mutagen/python-mutagen-1.46.0-1.src.rpm
checksum_type: sha256
description:
  .. image:: https://raw.githubusercontent.com/quodlibet/mutagen/master/docs/images/logo.svg
     :align: center
     :width: 400px

  |

  Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC,
  MP4, Monkey's Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg Theora,
  Ogg Vorbis, True Audio, WavPack, OptimFROG, and AIFF audio files. All
  versions of ID3v2 are supported, and all standard ID3v2.4 frames are parsed.
  It can read Xing headers to accurately calculate the bitrate and length of
  MP3s. ID3 and APEv2 tags can be edited regardless of audio format. It can also
  manipulate Ogg streams on an individual packet/page level.

  Mutagen works with Python 3.7+ (CPython and PyPy) on Linux, Windows and macOS,
  and has no dependencies outside the Python standard library. Mutagen is licensed
  under `the GPL version 2 or
  later <https://spdx.org/licenses/GPL-2.0-or-later.html>`__.

  For more information visit https://mutagen.readthedocs.org

  .. image:: https://codecov.io/gh/quodlibet/mutagen/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/quodlibet/mutagen


pkgId: 17a27b2a9046b5966cb6ca16e078dcd74fc3a3e15892b06a002225bfd8cc1120
name: python-mwclient
arch: src
version: 0.10.1
epoch: 0
release: 1
summary: MediaWiki API client
url: https://github.com/btongminh/mwclient
rpm_license: MIT
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-adb6e988-7cc9-4132-b956-3a272f44842b
location_href: 00004263-python-mwclient/python-mwclient-0.10.1-1.src.rpm
checksum_type: sha256
description:
  <div align="center">
      <img alt="mwclient logo" src="docs/source/logo.png"/>
      <h1>mwclient</h1>
  </div>

  [![Build status][build-status-img]](https://travis-ci.org/mwclient/mwclient)
  [![Test coverage][test-coverage-img]](https://coveralls.io/r/mwclient/mwclient)
  [![Latest version][latest-version-img]](https://pypi.python.org/pypi/mwclient)
  [![MIT license][mit-license-img]](http://opensource.org/licenses/MIT)
  [![Documentation status][documentation-status-img]](http://mwclient.readthedocs.io/en/latest/)
  [![Issue statistics][issue-statistics-img]](http://isitmaintained.com/project/tldr-pages/tldr)
  [![Gitter chat][gitter-chat-img]](https://gitter.im/mwclient/mwclient)


  [build-status-img]: https://img.shields.io/travis/mwclient/mwclient.svg
  [test-coverage-img]: https://img.shields.io/coveralls/mwclient/mwclient.svg
  [latest-version-img]: https://img.shields.io/pypi/v/mwclient.svg
  [mit-license-img]: https://img.shields.io/github/license/mwclient/mwclient.svg
  [documentation-status-img]: https://readthedocs.org/projects/mwclient/badge/
  [issue-statistics-img]: http://isitmaintained.com/badge/resolution/tldr-pages/tldr.svg
  [gitter-chat-img]: https://img.shields.io/gitter/room/mwclient/mwclient.svg

  mwclient is a lightweight Python client library to the
  [MediaWiki API](https://mediawiki.org/wiki/API)
  which provides access to most API functionality.
  It works with Python 2.7 as well as 3.5 and above,
  and supports MediaWiki 1.16 and above.
  For functions not available in the current MediaWiki,
  a `MediaWikiVersionError` is raised.

  The current stable
  [version 0.10.1](https://github.com/mwclient/mwclient/archive/v0.10.1.zip)
  is [available through PyPI](https://pypi.python.org/pypi/mwclient):

  ```
  $ pip install mwclient
  ```

  The current [development version](https://github.com/mwclient/mwclient)
  can be installed from GitHub:

  ```
  $ pip install git+git://github.com/mwclient/mwclient.git
  ```

  Please see the [changelog
  document](https://github.com/mwclient/mwclient/blob/master/CHANGELOG.md)
  for a list of changes.



  Up-to-date documentation is hosted [at Read the Docs](http://mwclient.readthedocs.io/en/latest/).
  It includes a user guide to get started using mwclient, a reference guide,
  implementation and development notes.

  There is also some documentation on the [GitHub wiki](https://github.com/mwclient/mwclient/wiki)
  that hasn't been ported yet.
  If you want to help, you're welcome!



  Patches are welcome! See [this page](https://mwclient.readthedocs.io/en/latest/development/)
  for information on how to get started with mwclient development.


pkgId: c1cc45c19562f583044ece69549641d6b5d72fc444212d6352aa943b4a58eca6
name: python-mypy
arch: src
version: 1.1.1
epoch: 0
release: 1
summary: Optional static typing for Python
url: http://www.mypy-lang.org/
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-e13ee4f3-b1b5-479c-88b5-7f0fe2b397ea
location_href: 00004266-python-mypy/python-mypy-1.1.1-1.src.rpm
checksum_type: sha256
description:
  Add type annotations to your Python programs, and use mypy to type
  check them.  Mypy is essentially a Python linter on steroids, and it
  can catch many programming errors by analyzing your program, without
  actually having to run it.  Mypy has a powerful type system with
  features such as type inference, gradual typing, generics and union
  types.


pkgId: b5e794f3a7c41b77328325c54822e02404fcf815bd09971171a74de5023004b0
name: python-mypy-boto3-athena
arch: src
version: 1.26.103
epoch: 0
release: 1
summary: Type annotations for boto3.Athena 1.26.103 service generated with mypy-boto3-builder 7.14.4
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-9d4f3e0d-40e9-468d-bed6-7dc237b7bebe
location_href: 00013356-python-mypy-boto3-athena/python-mypy-boto3-athena-1.26.103-1.src.rpm
checksum_type: sha256
description:
  <a id="mypy-boto3-athena"></a>



  [![PyPI - mypy-boto3-athena](https://img.shields.io/pypi/v/mypy-boto3-athena.svg?color=blue)](https://pypi.org/project/mypy-boto3-athena)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-athena.svg?color=blue)](https://pypi.org/project/mypy-boto3-athena)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_athena/)
  [![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-athena?color=blue)](https://pypistats.org/packages/mypy-boto3-athena)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [boto3.Athena 1.26.103](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html#Athena)
  service compatible with [VSCode](https://code.visualstudio.com/),
  [PyCharm](https://www.jetbrains.com/pycharm/),
  [Emacs](https://www.gnu.org/software/emacs/),
  [Sublime Text](https://www.sublimetext.com/),
  [mypy](https://github.com/python/mypy),
  [pyright](https://github.com/microsoft/pyright) and other tools.

  Generated by
  [mypy-boto3-builder 7.14.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
  [mypy-boto3-athena docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_athena/).

  See how it helps to find and fix potential bugs:

  ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [mypy-boto3-athena](#mypy-boto3-athena)
    - [How to install](#how-to-install)
      - [VSCode extension](#vscode-extension)
      - [From PyPI with pip](#from-pypi-with-pip)
    - [How to uninstall](#how-to-uninstall)
    - [Usage](#usage)
      - [VSCode](#vscode)
      - [PyCharm](#pycharm)
      - [Emacs](#emacs)
      - [Sublime Text](#sublime-text)
      - [Other IDEs](#other-ides)
      - [mypy](#mypy)
      - [pyright](#pyright)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Typed dictionaries](#typed-dictionaries)
    - [How it works](#how-it-works)
    - [What's new](#what's-new)
      - [Implemented features](#implemented-features)
      - [Latest changes](#latest-changes)
    - [Versioning](#versioning)
    - [Thank you](#thank-you)
    - [Documentation](#documentation)
    - [Support and contributing](#support-and-contributing)

  <a id="how-to-install"></a>



  <a id="vscode-extension"></a>



  Add
  [AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
  extension to your VSCode and run `AWS boto3: Quick Start` command.

  Click `Modify` and select `boto3 common` and `Athena`.

  <a id="from-pypi-with-pip"></a>



  Install `boto3-stubs` for `Athena` service.

  ```bash

  python -m pip install 'boto3-stubs[athena]'




  python -m pip install 'boto3-stubs-lite[athena]'



  python -m pip install mypy-boto3-athena
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y mypy-boto3-athena
  ```

  <a id="usage"></a>



  <a id="vscode"></a>



  - Install
    [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
  - Install
    [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
  - Set `Pylance` as your Python Language Server
  - Install `boto3-stubs[athena]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[athena]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `boto3` code as usual.

  <a id="pycharm"></a>



  Install `boto3-stubs-lite[athena]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs-lite[athena]'`
  ```

  Both type checking and code completion should now work. Explicit type
  annotations **are required**.

  Use `boto3-stubs` package instead for implicit type discovery.

  <a id="emacs"></a>



  - Install `boto3-stubs` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[athena]'
  ```

  - Install [use-package](https://github.com/jwiegley/use-package),
    [lsp](https://github.com/emacs-lsp/lsp-mode/),
    [company](https://github.com/company-mode/company-mode) and
    [flycheck](https://github.com/flycheck/flycheck) packages
  - Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package

  ```elisp
  (use-package lsp-pyright
    :ensure t
    :hook (python-mode . (lambda ()
                            (require 'lsp-pyright)
                            (lsp)))  ; or lsp-deferred
    :init (when (executable-find "python3")
            (setq lsp-pyright-python-executable-cmd "python3"))
    )
  ```

  - Make sure emacs uses the environment where you have installed `boto3-stubs`

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="sublime-text"></a>



  - Install `boto3-stubs[athena]` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[athena]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="other-ides"></a>



  Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
  should work.

  <a id="mypy"></a>



  - Install `mypy`: `python -m pip install mypy`
  - Install `boto3-stubs[athena]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[athena]'`
  ```

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `boto3-stubs[athena]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[athena]'
  ```

  Optionally, you can install `boto3-stubs` to `typings` folder.

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `AthenaClient` provides annotations for `boto3.client("athena")`.

  ```python
  from boto3.session import Session

  from mypy_boto3_athena import AthenaClient

  client: AthenaClient = Session().client("athena")


  ```

  <a id="paginators-annotations"></a>



  `mypy_boto3_athena.paginator` module contains type annotations for all
  paginators.

  ```python
  from boto3.session import Session

  from mypy_boto3_athena import AthenaClient
  from mypy_boto3_athena.paginator import (
      GetQueryResultsPaginator,
      ListDataCatalogsPaginator,
      ListDatabasesPaginator,
      ListNamedQueriesPaginator,
      ListQueryExecutionsPaginator,
      ListTableMetadataPaginator,
      ListTagsForResourcePaginator,
  )

  client: AthenaClient = Session().client("athena")



  get_query_results_paginator: GetQueryResultsPaginator = client.get_paginator("get_query_results")
  list_data_catalogs_paginator: ListDataCatalogsPaginator = client.get_paginator("list_data_catalogs")
  list_databases_paginator: ListDatabasesPaginator = client.get_paginator("list_databases")
  list_named_queries_paginator: ListNamedQueriesPaginator = client.get_paginator("list_named_queries")
  list_query_executions_paginator: ListQueryExecutionsPaginator = client.get_paginator(
      "list_query_executions"
  )
  list_table_metadata_paginator: ListTableMetadataPaginator = client.get_paginator(
      "list_table_metadata"
  )
  list_tags_for_resource_paginator: ListTagsForResourcePaginator = client.get_paginator(
      "list_tags_for_resource"
  )
  ```

  <a id="literals"></a>



  `mypy_boto3_athena.literals` module contains literals extracted from shapes
  that can be used in user code for type checking.

  ```python
  from mypy_boto3_athena.literals import (
      CalculationExecutionStateType,
      ColumnNullableType,
      DataCatalogTypeType,
      EncryptionOptionType,
      ExecutorStateType,
      ExecutorTypeType,
      GetQueryResultsPaginatorName,
      ListDataCatalogsPaginatorName,
      ListDatabasesPaginatorName,
      ListNamedQueriesPaginatorName,
      ListQueryExecutionsPaginatorName,
      ListTableMetadataPaginatorName,
      ListTagsForResourcePaginatorName,
      NotebookTypeType,
      QueryExecutionStateType,
      S3AclOptionType,
      SessionStateType,
      StatementTypeType,
      WorkGroupStateType,
      AthenaServiceName,
      ServiceName,
      ResourceServiceName,
      PaginatorName,
      RegionName,
  )


  def check_value(value: CalculationExecutionStateType) -> bool:
      ...
  ```

  <a id="typed-dictionaries"></a>



  `mypy_boto3_athena.type_defs` module contains structures and shapes assembled
  to typed dictionaries for additional type checking.

  ```python
  from mypy_boto3_athena.type_defs import (
      AclConfigurationTypeDef,
      ApplicationDPUSizesTypeDef,
      AthenaErrorTypeDef,
      BatchGetNamedQueryInputRequestTypeDef,
      NamedQueryTypeDef,
      ResponseMetadataTypeDef,
      UnprocessedNamedQueryIdTypeDef,
      BatchGetPreparedStatementInputRequestTypeDef,
      PreparedStatementTypeDef,
      UnprocessedPreparedStatementNameTypeDef,
      BatchGetQueryExecutionInputRequestTypeDef,
      UnprocessedQueryExecutionIdTypeDef,
      CalculationConfigurationTypeDef,
      CalculationResultTypeDef,
      CalculationStatisticsTypeDef,
      CalculationStatusTypeDef,
      ColumnInfoTypeDef,
      ColumnTypeDef,
      TagTypeDef,
      CreateNamedQueryInputRequestTypeDef,
      CreateNotebookInputRequestTypeDef,
      CreatePreparedStatementInputRequestTypeDef,
      CreatePresignedNotebookUrlRequestRequestTypeDef,
      CustomerContentEncryptionConfigurationTypeDef,
      DataCatalogSummaryTypeDef,
      DataCatalogTypeDef,
      DatabaseTypeDef,
      DatumTypeDef,
      DeleteDataCatalogInputRequestTypeDef,
      DeleteNamedQueryInputRequestTypeDef,
      DeleteNotebookInputRequestTypeDef,
      DeletePreparedStatementInputRequestTypeDef,
      DeleteWorkGroupInputRequestTypeDef,
      EncryptionConfigurationTypeDef,
      EngineConfigurationTypeDef,
      EngineVersionTypeDef,
      ExecutorsSummaryTypeDef,
      ExportNotebookInputRequestTypeDef,
      NotebookMetadataTypeDef,
      FilterDefinitionTypeDef,
      GetCalculationExecutionCodeRequestRequestTypeDef,
      GetCalculationExecutionRequestRequestTypeDef,
      GetCalculationExecutionStatusRequestRequestTypeDef,
      GetDataCatalogInputRequestTypeDef,
      GetDatabaseInputRequestTypeDef,
      GetNamedQueryInputRequestTypeDef,
      GetNotebookMetadataInputRequestTypeDef,
      GetPreparedStatementInputRequestTypeDef,
      GetQueryExecutionInputRequestTypeDef,
      PaginatorConfigTypeDef,
      GetQueryResultsInputRequestTypeDef,
      GetQueryRuntimeStatisticsInputRequestTypeDef,
      GetSessionRequestRequestTypeDef,
      SessionStatisticsTypeDef,
      SessionStatusTypeDef,
      GetSessionStatusRequestRequestTypeDef,
      GetTableMetadataInputRequestTypeDef,
      GetWorkGroupInputRequestTypeDef,
      ImportNotebookInputRequestTypeDef,
      ListApplicationDPUSizesInputRequestTypeDef,
      ListCalculationExecutionsRequestRequestTypeDef,
      ListDataCatalogsInputRequestTypeDef,
      ListDatabasesInputRequestTypeDef,
      ListEngineVersionsInputRequestTypeDef,
      ListExecutorsRequestRequestTypeDef,
      ListNamedQueriesInputRequestTypeDef,
      ListNotebookSessionsRequestRequestTypeDef,
      NotebookSessionSummaryTypeDef,
      ListPreparedStatementsInputRequestTypeDef,
      PreparedStatementSummaryTypeDef,
      ListQueryExecutionsInputRequestTypeDef,
      ListSessionsRequestRequestTypeDef,
      ListTableMetadataInputRequestTypeDef,
      ListTagsForResourceInputRequestTypeDef,
      ListWorkGroupsInputRequestTypeDef,
      QueryExecutionContextTypeDef,
      ResultReuseInformationTypeDef,
      QueryRuntimeStatisticsRowsTypeDef,
      QueryRuntimeStatisticsTimelineTypeDef,
      QueryStagePlanNodeTypeDef,
      QueryStageTypeDef,
      ResultReuseByAgeConfigurationTypeDef,
      StopCalculationExecutionRequestRequestTypeDef,
      StopQueryExecutionInputRequestTypeDef,
      TerminateSessionRequestRequestTypeDef,
      UntagResourceInputRequestTypeDef,
      UpdateDataCatalogInputRequestTypeDef,
      UpdateNamedQueryInputRequestTypeDef,
      UpdateNotebookInputRequestTypeDef,
      UpdateNotebookMetadataInputRequestTypeDef,
      UpdatePreparedStatementInputRequestTypeDef,
      QueryExecutionStatusTypeDef,
      CreateNamedQueryOutputTypeDef,
      CreateNotebookOutputTypeDef,
      CreatePresignedNotebookUrlResponseTypeDef,
      GetCalculationExecutionCodeResponseTypeDef,
      GetNamedQueryOutputTypeDef,
      ImportNotebookOutputTypeDef,
      ListApplicationDPUSizesOutputTypeDef,
      ListNamedQueriesOutputTypeDef,
      ListQueryExecutionsOutputTypeDef,
      StartCalculationExecutionResponseTypeDef,
      StartQueryExecutionOutputTypeDef,
      StartSessionResponseTypeDef,
      StopCalculationExecutionResponseTypeDef,
      TerminateSessionResponseTypeDef,
      BatchGetNamedQueryOutputTypeDef,
      GetPreparedStatementOutputTypeDef,
      BatchGetPreparedStatementOutputTypeDef,
      StartCalculationExecutionRequestRequestTypeDef,
      CalculationSummaryTypeDef,
      GetCalculationExecutionResponseTypeDef,
      GetCalculationExecutionStatusResponseTypeDef,
      ResultSetMetadataTypeDef,
      TableMetadataTypeDef,
      CreateDataCatalogInputRequestTypeDef,
      ListTagsForResourceOutputTypeDef,
      TagResourceInputRequestTypeDef,
      ListDataCatalogsOutputTypeDef,
      GetDataCatalogOutputTypeDef,
      GetDatabaseOutputTypeDef,
      ListDatabasesOutputTypeDef,
      RowTypeDef,
      ResultConfigurationTypeDef,
      ResultConfigurationUpdatesTypeDef,
      SessionConfigurationTypeDef,
      StartSessionRequestRequestTypeDef,
      ListEngineVersionsOutputTypeDef,
      WorkGroupSummaryTypeDef,
      ListExecutorsResponseTypeDef,
      ExportNotebookOutputTypeDef,
      GetNotebookMetadataOutputTypeDef,
      ListNotebookMetadataOutputTypeDef,
      ListNotebookMetadataInputRequestTypeDef,
      GetQueryResultsInputGetQueryResultsPaginateTypeDef,
      ListDataCatalogsInputListDataCatalogsPaginateTypeDef,
      ListDatabasesInputListDatabasesPaginateTypeDef,
      ListNamedQueriesInputListNamedQueriesPaginateTypeDef,
      ListQueryExecutionsInputListQueryExecutionsPaginateTypeDef,
      ListTableMetadataInputListTableMetadataPaginateTypeDef,
      ListTagsForResourceInputListTagsForResourcePaginateTypeDef,
      GetSessionStatusResponseTypeDef,
      SessionSummaryTypeDef,
      ListNotebookSessionsResponseTypeDef,
      ListPreparedStatementsOutputTypeDef,
      QueryExecutionStatisticsTypeDef,
      QueryRuntimeStatisticsTypeDef,
      ResultReuseConfigurationTypeDef,
      ListCalculationExecutionsResponseTypeDef,
      GetTableMetadataOutputTypeDef,
      ListTableMetadataOutputTypeDef,
      ResultSetTypeDef,
      WorkGroupConfigurationTypeDef,
      WorkGroupConfigurationUpdatesTypeDef,
      GetSessionResponseTypeDef,
      ListWorkGroupsOutputTypeDef,
      ListSessionsResponseTypeDef,
      GetQueryRuntimeStatisticsOutputTypeDef,
      QueryExecutionTypeDef,
      StartQueryExecutionInputRequestTypeDef,
      GetQueryResultsOutputTypeDef,
      CreateWorkGroupInputRequestTypeDef,
      WorkGroupTypeDef,
      UpdateWorkGroupInputRequestTypeDef,
      BatchGetQueryExecutionOutputTypeDef,
      GetQueryExecutionOutputTypeDef,
      GetWorkGroupOutputTypeDef,
  )


  def get_structure() -> AclConfigurationTypeDef:
      return {...}
  ```

  <a id="how-it-works"></a>



  Fully automated
  [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
  generates type annotations for each service, patiently waiting for `boto3`
  updates. It delivers drop-in type annotations for you and makes sure that:

  - All available `boto3` services are covered.
  - Each public class and method of every `boto3` service gets valid type
    annotations extracted from `botocore` schemas.
  - Type annotations include up-to-date documentation.
  - Link to documentation is provided for every method.
  - Code is processed by [black](https://github.com/psf/black) and
    [isort](https://github.com/PyCQA/isort) for readability.

  <a id="what's-new"></a>



  <a id="implemented-features"></a>



  - Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
    libraries
  - `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
    compatibility
  - `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
    annotations for each service
  - Generated `TypeDefs` for each service
  - Generated `Literals` for each service
  - Auto discovery of types for `boto3.client` and `boto3.resource` calls
  - Auto discovery of types for `session.client` and `session.resource` calls
  - Auto discovery of types for `client.get_waiter` and `client.get_paginator`
    calls
  - Auto discovery of types for `ServiceResource` and `Resource` collections
  - Auto discovery of types for `aiobotocore.Session.create_client` calls

  <a id="latest-changes"></a>



  Builder changelog can be found in
  [Releases](https://github.com/youtype/mypy_boto3_builder/releases).

  <a id="versioning"></a>



  `mypy-boto3-athena` version is the same as related `boto3` version and follows
  [PEP 440](https://www.python.org/dev/peps/pep-0440/) format.

  <a id="thank-you"></a>



  - [Allie Fitter](https://github.com/alliefitter) for
    [boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
    this package is based on top of his work
  - [black](https://github.com/psf/black) developers for an awesome formatting
    tool
  - [Timothy Edmund Crosley](https://github.com/timothycrosley) for
    [isort](https://github.com/PyCQA/isort) and how flexible it is
  - [mypy](https://github.com/python/mypy) developers for doing all dirty work
    for us
  - [pyright](https://github.com/microsoft/pyright) team for the new era of typed
    Python

  <a id="documentation"></a>



  All services type annotations can be found in
  [boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_athena/)

  <a id="support-and-contributing"></a>



  This package is auto-generated. Please reports any bugs or request new features
  in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
  repository.


pkgId: f7af93a91af1c171f5530783c73bc6ba981535742c27a01fc9abf7fb5c34dc98
name: python-mypy-boto3-batch
arch: src
version: 1.26.103
epoch: 0
release: 1
summary: Type annotations for boto3.Batch 1.26.103 service generated with mypy-boto3-builder 7.14.4
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-fc02bb1c-7119-4ab1-bb31-1ce9fcbf4e07
location_href: 00011809-python-mypy-boto3-batch/python-mypy-boto3-batch-1.26.103-1.src.rpm
checksum_type: sha256
description:
  <a id="mypy-boto3-batch"></a>



  [![PyPI - mypy-boto3-batch](https://img.shields.io/pypi/v/mypy-boto3-batch.svg?color=blue)](https://pypi.org/project/mypy-boto3-batch)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-batch.svg?color=blue)](https://pypi.org/project/mypy-boto3-batch)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_batch/)
  [![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-batch?color=blue)](https://pypistats.org/packages/mypy-boto3-batch)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [boto3.Batch 1.26.103](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/batch.html#Batch)
  service compatible with [VSCode](https://code.visualstudio.com/),
  [PyCharm](https://www.jetbrains.com/pycharm/),
  [Emacs](https://www.gnu.org/software/emacs/),
  [Sublime Text](https://www.sublimetext.com/),
  [mypy](https://github.com/python/mypy),
  [pyright](https://github.com/microsoft/pyright) and other tools.

  Generated by
  [mypy-boto3-builder 7.14.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
  [mypy-boto3-batch docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_batch/).

  See how it helps to find and fix potential bugs:

  ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [mypy-boto3-batch](#mypy-boto3-batch)
    - [How to install](#how-to-install)
      - [VSCode extension](#vscode-extension)
      - [From PyPI with pip](#from-pypi-with-pip)
    - [How to uninstall](#how-to-uninstall)
    - [Usage](#usage)
      - [VSCode](#vscode)
      - [PyCharm](#pycharm)
      - [Emacs](#emacs)
      - [Sublime Text](#sublime-text)
      - [Other IDEs](#other-ides)
      - [mypy](#mypy)
      - [pyright](#pyright)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Typed dictionaries](#typed-dictionaries)
    - [How it works](#how-it-works)
    - [What's new](#what's-new)
      - [Implemented features](#implemented-features)
      - [Latest changes](#latest-changes)
    - [Versioning](#versioning)
    - [Thank you](#thank-you)
    - [Documentation](#documentation)
    - [Support and contributing](#support-and-contributing)

  <a id="how-to-install"></a>



  <a id="vscode-extension"></a>



  Add
  [AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
  extension to your VSCode and run `AWS boto3: Quick Start` command.

  Click `Modify` and select `boto3 common` and `Batch`.

  <a id="from-pypi-with-pip"></a>



  Install `boto3-stubs` for `Batch` service.

  ```bash

  python -m pip install 'boto3-stubs[batch]'




  python -m pip install 'boto3-stubs-lite[batch]'



  python -m pip install mypy-boto3-batch
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y mypy-boto3-batch
  ```

  <a id="usage"></a>



  <a id="vscode"></a>



  - Install
    [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
  - Install
    [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
  - Set `Pylance` as your Python Language Server
  - Install `boto3-stubs[batch]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[batch]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `boto3` code as usual.

  <a id="pycharm"></a>



  Install `boto3-stubs-lite[batch]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs-lite[batch]'`
  ```

  Both type checking and code completion should now work. Explicit type
  annotations **are required**.

  Use `boto3-stubs` package instead for implicit type discovery.

  <a id="emacs"></a>



  - Install `boto3-stubs` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[batch]'
  ```

  - Install [use-package](https://github.com/jwiegley/use-package),
    [lsp](https://github.com/emacs-lsp/lsp-mode/),
    [company](https://github.com/company-mode/company-mode) and
    [flycheck](https://github.com/flycheck/flycheck) packages
  - Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package

  ```elisp
  (use-package lsp-pyright
    :ensure t
    :hook (python-mode . (lambda ()
                            (require 'lsp-pyright)
                            (lsp)))  ; or lsp-deferred
    :init (when (executable-find "python3")
            (setq lsp-pyright-python-executable-cmd "python3"))
    )
  ```

  - Make sure emacs uses the environment where you have installed `boto3-stubs`

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="sublime-text"></a>



  - Install `boto3-stubs[batch]` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[batch]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="other-ides"></a>



  Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
  should work.

  <a id="mypy"></a>



  - Install `mypy`: `python -m pip install mypy`
  - Install `boto3-stubs[batch]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[batch]'`
  ```

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `boto3-stubs[batch]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[batch]'
  ```

  Optionally, you can install `boto3-stubs` to `typings` folder.

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `BatchClient` provides annotations for `boto3.client("batch")`.

  ```python
  from boto3.session import Session

  from mypy_boto3_batch import BatchClient

  client: BatchClient = Session().client("batch")


  ```

  <a id="paginators-annotations"></a>



  `mypy_boto3_batch.paginator` module contains type annotations for all
  paginators.

  ```python
  from boto3.session import Session

  from mypy_boto3_batch import BatchClient
  from mypy_boto3_batch.paginator import (
      DescribeComputeEnvironmentsPaginator,
      DescribeJobDefinitionsPaginator,
      DescribeJobQueuesPaginator,
      ListJobsPaginator,
      ListSchedulingPoliciesPaginator,
  )

  client: BatchClient = Session().client("batch")



  describe_compute_environments_paginator: DescribeComputeEnvironmentsPaginator = (
      client.get_paginator("describe_compute_environments")
  )
  describe_job_definitions_paginator: DescribeJobDefinitionsPaginator = client.get_paginator(
      "describe_job_definitions"
  )
  describe_job_queues_paginator: DescribeJobQueuesPaginator = client.get_paginator(
      "describe_job_queues"
  )
  list_jobs_paginator: ListJobsPaginator = client.get_paginator("list_jobs")
  list_scheduling_policies_paginator: ListSchedulingPoliciesPaginator = client.get_paginator(
      "list_scheduling_policies"
  )
  ```

  <a id="literals"></a>



  `mypy_boto3_batch.literals` module contains literals extracted from shapes that
  can be used in user code for type checking.

  ```python
  from mypy_boto3_batch.literals import (
      ArrayJobDependencyType,
      AssignPublicIpType,
      CEStateType,
      CEStatusType,
      CETypeType,
      CRAllocationStrategyType,
      CRTypeType,
      CRUpdateAllocationStrategyType,
      DescribeComputeEnvironmentsPaginatorName,
      DescribeJobDefinitionsPaginatorName,
      DescribeJobQueuesPaginatorName,
      DeviceCgroupPermissionType,
      EFSAuthorizationConfigIAMType,
      EFSTransitEncryptionType,
      JQStateType,
      JQStatusType,
      JobDefinitionTypeType,
      JobStatusType,
      ListJobsPaginatorName,
      ListSchedulingPoliciesPaginatorName,
      LogDriverType,
      OrchestrationTypeType,
      PlatformCapabilityType,
      ResourceTypeType,
      RetryActionType,
      BatchServiceName,
      ServiceName,
      ResourceServiceName,
      PaginatorName,
      RegionName,
  )


  def check_value(value: ArrayJobDependencyType) -> bool:
      ...
  ```

  <a id="typed-dictionaries"></a>



  `mypy_boto3_batch.type_defs` module contains structures and shapes assembled to
  typed dictionaries for additional type checking.

  ```python
  from mypy_boto3_batch.type_defs import (
      ArrayPropertiesDetailTypeDef,
      ArrayPropertiesSummaryTypeDef,
      ArrayPropertiesTypeDef,
      NetworkInterfaceTypeDef,
      CancelJobRequestRequestTypeDef,
      EksConfigurationTypeDef,
      UpdatePolicyTypeDef,
      ComputeEnvironmentOrderTypeDef,
      Ec2ConfigurationTypeDef,
      LaunchTemplateSpecificationTypeDef,
      EphemeralStorageTypeDef,
      FargatePlatformConfigurationTypeDef,
      KeyValuePairTypeDef,
      MountPointTypeDef,
      NetworkConfigurationTypeDef,
      ResourceRequirementTypeDef,
      SecretTypeDef,
      UlimitTypeDef,
      ContainerSummaryTypeDef,
      ResponseMetadataTypeDef,
      DeleteComputeEnvironmentRequestRequestTypeDef,
      DeleteJobQueueRequestRequestTypeDef,
      DeleteSchedulingPolicyRequestRequestTypeDef,
      DeregisterJobDefinitionRequestRequestTypeDef,
      PaginatorConfigTypeDef,
      DescribeComputeEnvironmentsRequestRequestTypeDef,
      DescribeJobDefinitionsRequestRequestTypeDef,
      DescribeJobQueuesRequestRequestTypeDef,
      DescribeJobsRequestRequestTypeDef,
      DescribeSchedulingPoliciesRequestRequestTypeDef,
      DeviceTypeDef,
      EFSAuthorizationConfigTypeDef,
      EksAttemptContainerDetailTypeDef,
      EksContainerEnvironmentVariableTypeDef,
      EksContainerResourceRequirementsTypeDef,
      EksContainerSecurityContextTypeDef,
      EksContainerVolumeMountTypeDef,
      EksEmptyDirTypeDef,
      EksHostPathTypeDef,
      EksMetadataTypeDef,
      EksSecretTypeDef,
      EvaluateOnExitTypeDef,
      ShareAttributesTypeDef,
      HostTypeDef,
      JobTimeoutTypeDef,
      JobDependencyTypeDef,
      NodeDetailsTypeDef,
      NodePropertiesSummaryTypeDef,
      KeyValuesPairTypeDef,
      TmpfsTypeDef,
      ListSchedulingPoliciesRequestRequestTypeDef,
      SchedulingPolicyListingDetailTypeDef,
      ListTagsForResourceRequestRequestTypeDef,
      TagResourceRequestRequestTypeDef,
      TerminateJobRequestRequestTypeDef,
      UntagResourceRequestRequestTypeDef,
      AttemptContainerDetailTypeDef,
      CreateJobQueueRequestRequestTypeDef,
      JobQueueDetailTypeDef,
      UpdateJobQueueRequestRequestTypeDef,
      ComputeResourceTypeDef,
      ComputeResourceUpdateTypeDef,
      ContainerOverridesTypeDef,
      LogConfigurationTypeDef,
      CreateComputeEnvironmentResponseTypeDef,
      CreateJobQueueResponseTypeDef,
      CreateSchedulingPolicyResponseTypeDef,
      ListTagsForResourceResponseTypeDef,
      RegisterJobDefinitionResponseTypeDef,
      SubmitJobResponseTypeDef,
      UpdateComputeEnvironmentResponseTypeDef,
      UpdateJobQueueResponseTypeDef,
      DescribeComputeEnvironmentsRequestDescribeComputeEnvironmentsPaginateTypeDef,
      DescribeJobDefinitionsRequestDescribeJobDefinitionsPaginateTypeDef,
      DescribeJobQueuesRequestDescribeJobQueuesPaginateTypeDef,
      ListSchedulingPoliciesRequestListSchedulingPoliciesPaginateTypeDef,
      EFSVolumeConfigurationTypeDef,
      EksAttemptDetailTypeDef,
      EksContainerOverrideTypeDef,
      EksContainerDetailTypeDef,
      EksContainerTypeDef,
      EksVolumeTypeDef,
      RetryStrategyTypeDef,
      FairsharePolicyTypeDef,
      JobSummaryTypeDef,
      ListJobsRequestListJobsPaginateTypeDef,
      ListJobsRequestRequestTypeDef,
      LinuxParametersTypeDef,
      ListSchedulingPoliciesResponseTypeDef,
      AttemptDetailTypeDef,
      DescribeJobQueuesResponseTypeDef,
      ComputeEnvironmentDetailTypeDef,
      CreateComputeEnvironmentRequestRequestTypeDef,
      UpdateComputeEnvironmentRequestRequestTypeDef,
      NodePropertyOverrideTypeDef,
      VolumeTypeDef,
      EksPodPropertiesOverrideTypeDef,
      EksPodPropertiesDetailTypeDef,
      EksPodPropertiesTypeDef,
      CreateSchedulingPolicyRequestRequestTypeDef,
      SchedulingPolicyDetailTypeDef,
      UpdateSchedulingPolicyRequestRequestTypeDef,
      ListJobsResponseTypeDef,
      DescribeComputeEnvironmentsResponseTypeDef,
      NodeOverridesTypeDef,
      ContainerDetailTypeDef,
      ContainerPropertiesTypeDef,
      EksPropertiesOverrideTypeDef,
      EksPropertiesDetailTypeDef,
      EksPropertiesTypeDef,
      DescribeSchedulingPoliciesResponseTypeDef,
      NodeRangePropertyTypeDef,
      SubmitJobRequestRequestTypeDef,
      NodePropertiesTypeDef,
      JobDefinitionTypeDef,
      JobDetailTypeDef,
      RegisterJobDefinitionRequestRequestTypeDef,
      DescribeJobDefinitionsResponseTypeDef,
      DescribeJobsResponseTypeDef,
  )


  def get_structure() -> ArrayPropertiesDetailTypeDef:
      return {...}
  ```

  <a id="how-it-works"></a>



  Fully automated
  [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
  generates type annotations for each service, patiently waiting for `boto3`
  updates. It delivers drop-in type annotations for you and makes sure that:

  - All available `boto3` services are covered.
  - Each public class and method of every `boto3` service gets valid type
    annotations extracted from `botocore` schemas.
  - Type annotations include up-to-date documentation.
  - Link to documentation is provided for every method.
  - Code is processed by [black](https://github.com/psf/black) and
    [isort](https://github.com/PyCQA/isort) for readability.

  <a id="what's-new"></a>



  <a id="implemented-features"></a>



  - Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
    libraries
  - `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
    compatibility
  - `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
    annotations for each service
  - Generated `TypeDefs` for each service
  - Generated `Literals` for each service
  - Auto discovery of types for `boto3.client` and `boto3.resource` calls
  - Auto discovery of types for `session.client` and `session.resource` calls
  - Auto discovery of types for `client.get_waiter` and `client.get_paginator`
    calls
  - Auto discovery of types for `ServiceResource` and `Resource` collections
  - Auto discovery of types for `aiobotocore.Session.create_client` calls

  <a id="latest-changes"></a>



  Builder changelog can be found in
  [Releases](https://github.com/youtype/mypy_boto3_builder/releases).

  <a id="versioning"></a>



  `mypy-boto3-batch` version is the same as related `boto3` version and follows
  [PEP 440](https://www.python.org/dev/peps/pep-0440/) format.

  <a id="thank-you"></a>



  - [Allie Fitter](https://github.com/alliefitter) for
    [boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
    this package is based on top of his work
  - [black](https://github.com/psf/black) developers for an awesome formatting
    tool
  - [Timothy Edmund Crosley](https://github.com/timothycrosley) for
    [isort](https://github.com/PyCQA/isort) and how flexible it is
  - [mypy](https://github.com/python/mypy) developers for doing all dirty work
    for us
  - [pyright](https://github.com/microsoft/pyright) team for the new era of typed
    Python

  <a id="documentation"></a>



  All services type annotations can be found in
  [boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_batch/)

  <a id="support-and-contributing"></a>



  This package is auto-generated. Please reports any bugs or request new features
  in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
  repository.


pkgId: 62c046e3d915d981bc0a21b3b518b771e9dc5637119ab2b6de9d663b45f24023
name: python-mypy-boto3-chime
arch: src
version: 1.26.0.post1
epoch: 0
release: 1
summary: Type annotations for boto3.Chime 1.26.0 service generated with mypy-boto3-builder 7.11.10
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-e8db658c-d221-4853-b983-81c47805bb1a
location_href: 00014207-python-mypy-boto3-chime/python-mypy-boto3-chime-1.26.0.post1-1.src.rpm
checksum_type: sha256
description:
  <a id="mypy-boto3-chime"></a>



  [![PyPI - mypy-boto3-chime](https://img.shields.io/pypi/v/mypy-boto3-chime.svg?color=blue)](https://pypi.org/project/mypy-boto3-chime)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-chime.svg?color=blue)](https://pypi.org/project/mypy-boto3-chime)
  [![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
  [![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-chime?color=blue)](https://pypistats.org/packages/mypy-boto3-chime)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [boto3.Chime 1.26.0](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/chime.html#Chime)
  service compatible with [VSCode](https://code.visualstudio.com/),
  [PyCharm](https://www.jetbrains.com/pycharm/),
  [Emacs](https://www.gnu.org/software/emacs/),
  [Sublime Text](https://www.sublimetext.com/),
  [mypy](https://github.com/python/mypy),
  [pyright](https://github.com/microsoft/pyright) and other tools.

  Generated by
  [mypy-boto3-builder 7.11.10](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
  [mypy-boto3-chime docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_chime/).

  See how it helps to find and fix potential bugs:

  ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [mypy-boto3-chime](#mypy-boto3-chime)
    - [How to install](#how-to-install)
      - [VSCode extension](#vscode-extension)
      - [From PyPI with pip](#from-pypi-with-pip)
    - [How to uninstall](#how-to-uninstall)
    - [Usage](#usage)
      - [VSCode](#vscode)
      - [PyCharm](#pycharm)
      - [Emacs](#emacs)
      - [Sublime Text](#sublime-text)
      - [Other IDEs](#other-ides)
      - [mypy](#mypy)
      - [pyright](#pyright)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Typed dictionaries](#typed-dictionaries)
    - [How it works](#how-it-works)
    - [What's new](#what's-new)
      - [Implemented features](#implemented-features)
      - [Latest changes](#latest-changes)
    - [Versioning](#versioning)
    - [Thank you](#thank-you)
    - [Documentation](#documentation)
    - [Support and contributing](#support-and-contributing)

  <a id="how-to-install"></a>



  <a id="vscode-extension"></a>



  Add
  [AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
  extension to your VSCode and run `AWS boto3: Quick Start` command.

  Click `Modify` and select `boto3 common` and `Chime`.

  <a id="from-pypi-with-pip"></a>



  Install `boto3-stubs` for `Chime` service.

  ```bash

  python -m pip install 'boto3-stubs[chime]'




  python -m pip install 'boto3-stubs-lite[chime]'



  python -m pip install mypy-boto3-chime
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y mypy-boto3-chime
  ```

  <a id="usage"></a>



  <a id="vscode"></a>



  - Install
    [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
  - Install
    [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
  - Set `Pylance` as your Python Language Server
  - Install `boto3-stubs[chime]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[chime]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `boto3` code as usual.

  <a id="pycharm"></a>



  Install `boto3-stubs-lite[chime]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs-lite[chime]'`
  ```

  Both type checking and code completion should now work. Explicit type
  annotations **are required**.

  Use `boto3-stubs` package instead for implicit type discovery.

  <a id="emacs"></a>



  - Install `boto3-stubs` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[chime]'
  ```

  - Install [use-package](https://github.com/jwiegley/use-package),
    [lsp](https://github.com/emacs-lsp/lsp-mode/),
    [company](https://github.com/company-mode/company-mode) and
    [flycheck](https://github.com/flycheck/flycheck) packages
  - Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package

  ```elisp
  (use-package lsp-pyright
    :ensure t
    :hook (python-mode . (lambda ()
                            (require 'lsp-pyright)
                            (lsp)))  ; or lsp-deferred
    :init (when (executable-find "python3")
            (setq lsp-pyright-python-executable-cmd "python3"))
    )
  ```

  - Make sure emacs uses the environment where you have installed `boto3-stubs`

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="sublime-text"></a>



  - Install `boto3-stubs[chime]` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[chime]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="other-ides"></a>



  Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
  should work.

  <a id="mypy"></a>



  - Install `mypy`: `python -m pip install mypy`
  - Install `boto3-stubs[chime]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[chime]'`
  ```

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `boto3-stubs[chime]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[chime]'
  ```

  Optionally, you can install `boto3-stubs` to `typings` folder.

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `ChimeClient` provides annotations for `boto3.client("chime")`.

  ```python
  from boto3.session import Session

  from mypy_boto3_chime import ChimeClient

  client: ChimeClient = Session().client("chime")


  ```

  <a id="paginators-annotations"></a>



  `mypy_boto3_chime.paginator` module contains type annotations for all
  paginators.

  ```python
  from boto3.session import Session

  from mypy_boto3_chime import ChimeClient
  from mypy_boto3_chime.paginator import ListAccountsPaginator, ListUsersPaginator

  client: ChimeClient = Session().client("chime")



  list_accounts_paginator: ListAccountsPaginator = client.get_paginator("list_accounts")
  list_users_paginator: ListUsersPaginator = client.get_paginator("list_users")
  ```

  <a id="literals"></a>



  `mypy_boto3_chime.literals` module contains literals extracted from shapes that
  can be used in user code for type checking.

  ```python
  from mypy_boto3_chime.literals import (
      AccountStatusType,
      AccountTypeType,
      AppInstanceDataTypeType,
      ArtifactsStateType,
      AudioMuxTypeType,
      BotTypeType,
      CallingNameStatusType,
      CapabilityType,
      ChannelMembershipTypeType,
      ChannelMessagePersistenceTypeType,
      ChannelMessageTypeType,
      ChannelModeType,
      ChannelPrivacyType,
      ContentMuxTypeType,
      EmailStatusType,
      ErrorCodeType,
      GeoMatchLevelType,
      InviteStatusType,
      LicenseType,
      ListAccountsPaginatorName,
      ListUsersPaginatorName,
      MediaPipelineSinkTypeType,
      MediaPipelineSourceTypeType,
      MediaPipelineStatusType,
      MemberTypeType,
      NotificationTargetType,
      NumberSelectionBehaviorType,
      OrderedPhoneNumberStatusType,
      OriginationRouteProtocolType,
      PhoneNumberAssociationNameType,
      PhoneNumberOrderStatusType,
      PhoneNumberProductTypeType,
      PhoneNumberStatusType,
      PhoneNumberTypeType,
      ProxySessionStatusType,
      RegistrationStatusType,
      RoomMembershipRoleType,
      SipRuleTriggerTypeType,
      SortOrderType,
      TranscribeContentIdentificationTypeType,
      TranscribeContentRedactionTypeType,
      TranscribeLanguageCodeType,
      TranscribeMedicalContentIdentificationTypeType,
      TranscribeMedicalLanguageCodeType,
      TranscribeMedicalRegionType,
      TranscribeMedicalSpecialtyType,
      TranscribeMedicalTypeType,
      TranscribePartialResultsStabilityType,
      TranscribeRegionType,
      TranscribeVocabularyFilterMethodType,
      UserTypeType,
      VideoMuxTypeType,
      VoiceConnectorAwsRegionType,
      ChimeServiceName,
      ServiceName,
      ResourceServiceName,
      PaginatorName,
  )


  def check_value(value: AccountStatusType) -> bool:
      ...
  ```

  <a id="typed-dictionaries"></a>



  `mypy_boto3_chime.type_defs` module contains structures and shapes assembled to
  typed dictionaries for additional type checking.

  ```python
  from mypy_boto3_chime.type_defs import (
      AccountSettingsTypeDef,
      SigninDelegateGroupTypeDef,
      AddressTypeDef,
      AlexaForBusinessMetadataTypeDef,
      IdentityTypeDef,
      ChannelRetentionSettingsTypeDef,
      AppInstanceStreamingConfigurationTypeDef,
      AppInstanceSummaryTypeDef,
      AppInstanceTypeDef,
      AppInstanceUserMembershipSummaryTypeDef,
      AppInstanceUserSummaryTypeDef,
      AppInstanceUserTypeDef,
      AudioArtifactsConfigurationTypeDef,
      ContentArtifactsConfigurationTypeDef,
      VideoArtifactsConfigurationTypeDef,
      AssociatePhoneNumberWithUserRequestRequestTypeDef,
      AssociatePhoneNumbersWithVoiceConnectorGroupRequestRequestTypeDef,
      PhoneNumberErrorTypeDef,
      ResponseMetadataTypeDef,
      AssociatePhoneNumbersWithVoiceConnectorRequestRequestTypeDef,
      AttendeeTypeDef,
      CreateAttendeeErrorTypeDef,
      BatchCreateChannelMembershipErrorTypeDef,
      BatchCreateChannelMembershipRequestRequestTypeDef,
      MembershipItemTypeDef,
      MemberErrorTypeDef,
      BatchDeletePhoneNumberRequestRequestTypeDef,
      BatchSuspendUserRequestRequestTypeDef,
      UserErrorTypeDef,
      BatchUnsuspendUserRequestRequestTypeDef,
      UpdatePhoneNumberRequestItemTypeDef,
      BotTypeDef,
      BusinessCallingSettingsTypeDef,
      CandidateAddressTypeDef,
      ChannelSummaryTypeDef,
      ConversationRetentionSettingsTypeDef,
      CreateAccountRequestRequestTypeDef,
      CreateAppInstanceAdminRequestRequestTypeDef,
      TagTypeDef,
      CreateBotRequestRequestTypeDef,
      CreateChannelBanRequestRequestTypeDef,
      CreateChannelMembershipRequestRequestTypeDef,
      CreateChannelModeratorRequestRequestTypeDef,
      CreateMeetingDialOutRequestRequestTypeDef,
      MeetingNotificationConfigurationTypeDef,
      CreatePhoneNumberOrderRequestRequestTypeDef,
      GeoMatchParamsTypeDef,
      CreateRoomMembershipRequestRequestTypeDef,
      CreateRoomRequestRequestTypeDef,
      RoomTypeDef,
      CreateSipMediaApplicationCallRequestRequestTypeDef,
      SipMediaApplicationCallTypeDef,
      SipMediaApplicationEndpointTypeDef,
      SipRuleTargetApplicationTypeDef,
      CreateUserRequestRequestTypeDef,
      VoiceConnectorItemTypeDef,
      CreateVoiceConnectorRequestRequestTypeDef,
      VoiceConnectorTypeDef,
      CredentialTypeDef,
      DNISEmergencyCallingConfigurationTypeDef,
      DeleteAccountRequestRequestTypeDef,
      DeleteAppInstanceAdminRequestRequestTypeDef,
      DeleteAppInstanceRequestRequestTypeDef,
      DeleteAppInstanceStreamingConfigurationsRequestRequestTypeDef,
      DeleteAppInstanceUserRequestRequestTypeDef,
      DeleteAttendeeRequestRequestTypeDef,
      DeleteChannelBanRequestRequestTypeDef,
      DeleteChannelMembershipRequestRequestTypeDef,
      DeleteChannelMessageRequestRequestTypeDef,
      DeleteChannelModeratorRequestRequestTypeDef,
      DeleteChannelRequestRequestTypeDef,
      DeleteEventsConfigurationRequestRequestTypeDef,
      DeleteMediaCapturePipelineRequestRequestTypeDef,
      DeleteMeetingRequestRequestTypeDef,
      DeletePhoneNumberRequestRequestTypeDef,
      DeleteProxySessionRequestRequestTypeDef,
      DeleteRoomMembershipRequestRequestTypeDef,
      DeleteRoomRequestRequestTypeDef,
      DeleteSipMediaApplicationRequestRequestTypeDef,
      DeleteSipRuleRequestRequestTypeDef,
      DeleteVoiceConnectorEmergencyCallingConfigurationRequestRequestTypeDef,
      DeleteVoiceConnectorGroupRequestRequestTypeDef,
      DeleteVoiceConnectorOriginationRequestRequestTypeDef,
      DeleteVoiceConnectorProxyRequestRequestTypeDef,
      DeleteVoiceConnectorRequestRequestTypeDef,
      DeleteVoiceConnectorStreamingConfigurationRequestRequestTypeDef,
      DeleteVoiceConnectorTerminationCredentialsRequestRequestTypeDef,
      DeleteVoiceConnectorTerminationRequestRequestTypeDef,
      DescribeAppInstanceAdminRequestRequestTypeDef,
      DescribeAppInstanceRequestRequestTypeDef,
      DescribeAppInstanceUserRequestRequestTypeDef,
      DescribeChannelBanRequestRequestTypeDef,
      DescribeChannelMembershipForAppInstanceUserRequestRequestTypeDef,
      DescribeChannelMembershipRequestRequestTypeDef,
      DescribeChannelModeratedByAppInstanceUserRequestRequestTypeDef,
      DescribeChannelModeratorRequestRequestTypeDef,
      DescribeChannelRequestRequestTypeDef,
      DisassociatePhoneNumberFromUserRequestRequestTypeDef,
      DisassociatePhoneNumbersFromVoiceConnectorGroupRequestRequestTypeDef,
      DisassociatePhoneNumbersFromVoiceConnectorRequestRequestTypeDef,
      DisassociateSigninDelegateGroupsFromAccountRequestRequestTypeDef,
      EngineTranscribeMedicalSettingsTypeDef,
      EngineTranscribeSettingsTypeDef,
      EventsConfigurationTypeDef,
      GetAccountRequestRequestTypeDef,
      GetAccountSettingsRequestRequestTypeDef,
      GetAppInstanceRetentionSettingsRequestRequestTypeDef,
      GetAppInstanceStreamingConfigurationsRequestRequestTypeDef,
      GetAttendeeRequestRequestTypeDef,
      GetBotRequestRequestTypeDef,
      GetChannelMessageRequestRequestTypeDef,
      GetEventsConfigurationRequestRequestTypeDef,
      VoiceConnectorSettingsTypeDef,
      GetMediaCapturePipelineRequestRequestTypeDef,
      GetMeetingRequestRequestTypeDef,
      MessagingSessionEndpointTypeDef,
      GetPhoneNumberOrderRequestRequestTypeDef,
      GetPhoneNumberRequestRequestTypeDef,
      GetProxySessionRequestRequestTypeDef,
      GetRetentionSettingsRequestRequestTypeDef,
      GetRoomRequestRequestTypeDef,
      GetSipMediaApplicationLoggingConfigurationRequestRequestTypeDef,
      SipMediaApplicationLoggingConfigurationTypeDef,
      GetSipMediaApplicationRequestRequestTypeDef,
      GetSipRuleRequestRequestTypeDef,
      GetUserRequestRequestTypeDef,
      GetUserSettingsRequestRequestTypeDef,
      GetVoiceConnectorEmergencyCallingConfigurationRequestRequestTypeDef,
      GetVoiceConnectorGroupRequestRequestTypeDef,
      GetVoiceConnectorLoggingConfigurationRequestRequestTypeDef,
      LoggingConfigurationTypeDef,
      GetVoiceConnectorOriginationRequestRequestTypeDef,
      GetVoiceConnectorProxyRequestRequestTypeDef,
      ProxyTypeDef,
      GetVoiceConnectorRequestRequestTypeDef,
      GetVoiceConnectorStreamingConfigurationRequestRequestTypeDef,
      GetVoiceConnectorTerminationHealthRequestRequestTypeDef,
      TerminationHealthTypeDef,
      GetVoiceConnectorTerminationRequestRequestTypeDef,
      TerminationTypeDef,
      InviteTypeDef,
      InviteUsersRequestRequestTypeDef,
      PaginatorConfigTypeDef,
      ListAccountsRequestRequestTypeDef,
      ListAppInstanceAdminsRequestRequestTypeDef,
      ListAppInstanceUsersRequestRequestTypeDef,
      ListAppInstancesRequestRequestTypeDef,
      ListAttendeeTagsRequestRequestTypeDef,
      ListAttendeesRequestRequestTypeDef,
      ListBotsRequestRequestTypeDef,
      ListChannelBansRequestRequestTypeDef,
      ListChannelMembershipsForAppInstanceUserRequestRequestTypeDef,
      ListChannelMembershipsRequestRequestTypeDef,
      ListChannelMessagesRequestRequestTypeDef,
      ListChannelModeratorsRequestRequestTypeDef,
      ListChannelsModeratedByAppInstanceUserRequestRequestTypeDef,
      ListChannelsRequestRequestTypeDef,
      ListMediaCapturePipelinesRequestRequestTypeDef,
      ListMeetingTagsRequestRequestTypeDef,
      ListMeetingsRequestRequestTypeDef,
      ListPhoneNumberOrdersRequestRequestTypeDef,
      ListPhoneNumbersRequestRequestTypeDef,
      ListProxySessionsRequestRequestTypeDef,
      ListRoomMembershipsRequestRequestTypeDef,
      ListRoomsRequestRequestTypeDef,
      ListSipMediaApplicationsRequestRequestTypeDef,
      ListSipRulesRequestRequestTypeDef,
      ListSupportedPhoneNumberCountriesRequestRequestTypeDef,
      PhoneNumberCountryTypeDef,
      ListTagsForResourceRequestRequestTypeDef,
      ListUsersRequestRequestTypeDef,
      ListVoiceConnectorGroupsRequestRequestTypeDef,
      ListVoiceConnectorTerminationCredentialsRequestRequestTypeDef,
      ListVoiceConnectorsRequestRequestTypeDef,
      LogoutUserRequestRequestTypeDef,
      MediaPlacementTypeDef,
      MemberTypeDef,
      OrderedPhoneNumberTypeDef,
      OriginationRouteTypeDef,
      ParticipantTypeDef,
      PhoneNumberAssociationTypeDef,
      PhoneNumberCapabilitiesTypeDef,
      PutEventsConfigurationRequestRequestTypeDef,
      PutVoiceConnectorProxyRequestRequestTypeDef,
      RedactChannelMessageRequestRequestTypeDef,
      RedactConversationMessageRequestRequestTypeDef,
      RedactRoomMessageRequestRequestTypeDef,
      RegenerateSecurityTokenRequestRequestTypeDef,
      ResetPersonalPINRequestRequestTypeDef,
      RestorePhoneNumberRequestRequestTypeDef,
      RoomRetentionSettingsTypeDef,
      SearchAvailablePhoneNumbersRequestRequestTypeDef,
      SelectedVideoStreamsTypeDef,
      SendChannelMessageRequestRequestTypeDef,
      StopMeetingTranscriptionRequestRequestTypeDef,
      StreamingNotificationTargetTypeDef,
      TelephonySettingsTypeDef,
      UntagAttendeeRequestRequestTypeDef,
      UntagMeetingRequestRequestTypeDef,
      UntagResourceRequestRequestTypeDef,
      UpdateAccountRequestRequestTypeDef,
      UpdateAppInstanceRequestRequestTypeDef,
      UpdateAppInstanceUserRequestRequestTypeDef,
      UpdateBotRequestRequestTypeDef,
      UpdateChannelMessageRequestRequestTypeDef,
      UpdateChannelReadMarkerRequestRequestTypeDef,
      UpdateChannelRequestRequestTypeDef,
      UpdatePhoneNumberRequestRequestTypeDef,
      UpdatePhoneNumberSettingsRequestRequestTypeDef,
      UpdateProxySessionRequestRequestTypeDef,
      UpdateRoomMembershipRequestRequestTypeDef,
      UpdateRoomRequestRequestTypeDef,
      UpdateSipMediaApplicationCallRequestRequestTypeDef,
      UpdateVoiceConnectorRequestRequestTypeDef,
      ValidateE911AddressRequestRequestTypeDef,
      UpdateAccountSettingsRequestRequestTypeDef,
      AccountTypeDef,
      AssociateSigninDelegateGroupsWithAccountRequestRequestTypeDef,
      UpdateUserRequestItemTypeDef,
      UpdateUserRequestRequestTypeDef,
      UserTypeDef,
      AppInstanceAdminSummaryTypeDef,
      AppInstanceAdminTypeDef,
      BatchChannelMembershipsTypeDef,
      ChannelBanSummaryTypeDef,
      ChannelBanTypeDef,
      ChannelMembershipSummaryTypeDef,
      ChannelMembershipTypeDef,
      ChannelMessageSummaryTypeDef,
      ChannelMessageTypeDef,
      ChannelModeratorSummaryTypeDef,
      ChannelModeratorTypeDef,
      ChannelTypeDef,
      AppInstanceRetentionSettingsTypeDef,
      PutAppInstanceStreamingConfigurationsRequestRequestTypeDef,
      ArtifactsConfigurationTypeDef,
      AssociatePhoneNumbersWithVoiceConnectorGroupResponseTypeDef,
      AssociatePhoneNumbersWithVoiceConnectorResponseTypeDef,
      BatchDeletePhoneNumberResponseTypeDef,
      BatchUpdatePhoneNumberResponseTypeDef,
      CreateAppInstanceAdminResponseTypeDef,
      CreateAppInstanceResponseTypeDef,
      CreateAppInstanceUserResponseTypeDef,
      CreateChannelBanResponseTypeDef,
      CreateChannelMembershipResponseTypeDef,
      CreateChannelModeratorResponseTypeDef,
      CreateChannelResponseTypeDef,
      CreateMeetingDialOutResponseTypeDef,
      DescribeAppInstanceResponseTypeDef,
      DescribeAppInstanceUserResponseTypeDef,
      DisassociatePhoneNumbersFromVoiceConnectorGroupResponseTypeDef,
      DisassociatePhoneNumbersFromVoiceConnectorResponseTypeDef,
      EmptyResponseMetadataTypeDef,
      GetAccountSettingsResponseTypeDef,
      GetAppInstanceStreamingConfigurationsResponseTypeDef,
      GetPhoneNumberSettingsResponseTypeDef,
      ListAppInstanceUsersResponseTypeDef,
      ListAppInstancesResponseTypeDef,
      ListVoiceConnectorTerminationCredentialsResponseTypeDef,
      PutAppInstanceStreamingConfigurationsResponseTypeDef,
      RedactChannelMessageResponseTypeDef,
      SearchAvailablePhoneNumbersResponseTypeDef,
      SendChannelMessageResponseTypeDef,
      UpdateAppInstanceResponseTypeDef,
      UpdateAppInstanceUserResponseTypeDef,
      UpdateChannelMessageResponseTypeDef,
      UpdateChannelReadMarkerResponseTypeDef,
      UpdateChannelResponseTypeDef,
      CreateAttendeeResponseTypeDef,
      GetAttendeeResponseTypeDef,
      ListAttendeesResponseTypeDef,
      BatchCreateAttendeeResponseTypeDef,
      BatchCreateRoomMembershipRequestRequestTypeDef,
      BatchCreateRoomMembershipResponseTypeDef,
      BatchSuspendUserResponseTypeDef,
      BatchUnsuspendUserResponseTypeDef,
      BatchUpdateUserResponseTypeDef,
      BatchUpdatePhoneNumberRequestRequestTypeDef,
      CreateBotResponseTypeDef,
      GetBotResponseTypeDef,
      ListBotsResponseTypeDef,
      RegenerateSecurityTokenResponseTypeDef,
      UpdateBotResponseTypeDef,
      ValidateE911AddressResponseTypeDef,
      ChannelMembershipForAppInstanceUserSummaryTypeDef,
      ChannelModeratedByAppInstanceUserSummaryTypeDef,
      ListChannelsResponseTypeDef,
      CreateAppInstanceRequestRequestTypeDef,
      CreateAppInstanceUserRequestRequestTypeDef,
      CreateAttendeeRequestItemTypeDef,
      CreateAttendeeRequestRequestTypeDef,
      CreateChannelRequestRequestTypeDef,
      ListAttendeeTagsResponseTypeDef,
      ListMeetingTagsResponseTypeDef,
      ListTagsForResourceResponseTypeDef,
      TagAttendeeRequestRequestTypeDef,
      TagMeetingRequestRequestTypeDef,
      TagResourceRequestRequestTypeDef,
      CreateMeetingRequestRequestTypeDef,
      CreateProxySessionRequestRequestTypeDef,
      CreateRoomResponseTypeDef,
      GetRoomResponseTypeDef,
      ListRoomsResponseTypeDef,
      UpdateRoomResponseTypeDef,
      CreateSipMediaApplicationCallResponseTypeDef,
      UpdateSipMediaApplicationCallResponseTypeDef,
      CreateSipMediaApplicationRequestRequestTypeDef,
      SipMediaApplicationTypeDef,
      UpdateSipMediaApplicationRequestRequestTypeDef,
      CreateSipRuleRequestRequestTypeDef,
      SipRuleTypeDef,
      UpdateSipRuleRequestRequestTypeDef,
      CreateVoiceConnectorGroupRequestRequestTypeDef,
      UpdateVoiceConnectorGroupRequestRequestTypeDef,
      VoiceConnectorGroupTypeDef,
      CreateVoiceConnectorResponseTypeDef,
      GetVoiceConnectorResponseTypeDef,
      ListVoiceConnectorsResponseTypeDef,
      UpdateVoiceConnectorResponseTypeDef,
      PutVoiceConnectorTerminationCredentialsRequestRequestTypeDef,
      EmergencyCallingConfigurationTypeDef,
      TranscriptionConfigurationTypeDef,
      GetEventsConfigurationResponseTypeDef,
      PutEventsConfigurationResponseTypeDef,
      GetGlobalSettingsResponseTypeDef,
      UpdateGlobalSettingsRequestRequestTypeDef,
      GetMessagingSessionEndpointResponseTypeDef,
      GetSipMediaApplicationLoggingConfigurationResponseTypeDef,
      PutSipMediaApplicationLoggingConfigurationRequestRequestTypeDef,
      PutSipMediaApplicationLoggingConfigurationResponseTypeDef,
      GetVoiceConnectorLoggingConfigurationResponseTypeDef,
      PutVoiceConnectorLoggingConfigurationRequestRequestTypeDef,
      PutVoiceConnectorLoggingConfigurationResponseTypeDef,
      GetVoiceConnectorProxyResponseTypeDef,
      PutVoiceConnectorProxyResponseTypeDef,
      GetVoiceConnectorTerminationHealthResponseTypeDef,
      GetVoiceConnectorTerminationResponseTypeDef,
      PutVoiceConnectorTerminationRequestRequestTypeDef,
      PutVoiceConnectorTerminationResponseTypeDef,
      InviteUsersResponseTypeDef,
      ListAccountsRequestListAccountsPaginateTypeDef,
      ListUsersRequestListUsersPaginateTypeDef,
      ListSupportedPhoneNumberCountriesResponseTypeDef,
      MeetingTypeDef,
      RoomMembershipTypeDef,
      PhoneNumberOrderTypeDef,
      OriginationTypeDef,
      ProxySessionTypeDef,
      PhoneNumberTypeDef,
      RetentionSettingsTypeDef,
      SourceConfigurationTypeDef,
      StreamingConfigurationTypeDef,
      UserSettingsTypeDef,
      CreateAccountResponseTypeDef,
      GetAccountResponseTypeDef,
      ListAccountsResponseTypeDef,
      UpdateAccountResponseTypeDef,
      BatchUpdateUserRequestRequestTypeDef,
      CreateUserResponseTypeDef,
      GetUserResponseTypeDef,
      ListUsersResponseTypeDef,
      ResetPersonalPINResponseTypeDef,
      UpdateUserResponseTypeDef,
      ListAppInstanceAdminsResponseTypeDef,
      DescribeAppInstanceAdminResponseTypeDef,
      BatchCreateChannelMembershipResponseTypeDef,
      ListChannelBansResponseTypeDef,
      DescribeChannelBanResponseTypeDef,
      ListChannelMembershipsResponseTypeDef,
      DescribeChannelMembershipResponseTypeDef,
      ListChannelMessagesResponseTypeDef,
      GetChannelMessageResponseTypeDef,
      ListChannelModeratorsResponseTypeDef,
      DescribeChannelModeratorResponseTypeDef,
      DescribeChannelResponseTypeDef,
      GetAppInstanceRetentionSettingsResponseTypeDef,
      PutAppInstanceRetentionSettingsRequestRequestTypeDef,
      PutAppInstanceRetentionSettingsResponseTypeDef,
      DescribeChannelMembershipForAppInstanceUserResponseTypeDef,
      ListChannelMembershipsForAppInstanceUserResponseTypeDef,
      DescribeChannelModeratedByAppInstanceUserResponseTypeDef,
      ListChannelsModeratedByAppInstanceUserResponseTypeDef,
      BatchCreateAttendeeRequestRequestTypeDef,
      CreateMeetingWithAttendeesRequestRequestTypeDef,
      CreateSipMediaApplicationResponseTypeDef,
      GetSipMediaApplicationResponseTypeDef,
      ListSipMediaApplicationsResponseTypeDef,
      UpdateSipMediaApplicationResponseTypeDef,
      CreateSipRuleResponseTypeDef,
      GetSipRuleResponseTypeDef,
      ListSipRulesResponseTypeDef,
      UpdateSipRuleResponseTypeDef,
      CreateVoiceConnectorGroupResponseTypeDef,
      GetVoiceConnectorGroupResponseTypeDef,
      ListVoiceConnectorGroupsResponseTypeDef,
      UpdateVoiceConnectorGroupResponseTypeDef,
      GetVoiceConnectorEmergencyCallingConfigurationResponseTypeDef,
      PutVoiceConnectorEmergencyCallingConfigurationRequestRequestTypeDef,
      PutVoiceConnectorEmergencyCallingConfigurationResponseTypeDef,
      StartMeetingTranscriptionRequestRequestTypeDef,
      CreateMeetingResponseTypeDef,
      CreateMeetingWithAttendeesResponseTypeDef,
      GetMeetingResponseTypeDef,
      ListMeetingsResponseTypeDef,
      CreateRoomMembershipResponseTypeDef,
      ListRoomMembershipsResponseTypeDef,
      UpdateRoomMembershipResponseTypeDef,
      CreatePhoneNumberOrderResponseTypeDef,
      GetPhoneNumberOrderResponseTypeDef,
      ListPhoneNumberOrdersResponseTypeDef,
      GetVoiceConnectorOriginationResponseTypeDef,
      PutVoiceConnectorOriginationRequestRequestTypeDef,
      PutVoiceConnectorOriginationResponseTypeDef,
      CreateProxySessionResponseTypeDef,
      GetProxySessionResponseTypeDef,
      ListProxySessionsResponseTypeDef,
      UpdateProxySessionResponseTypeDef,
      GetPhoneNumberResponseTypeDef,
      ListPhoneNumbersResponseTypeDef,
      RestorePhoneNumberResponseTypeDef,
      UpdatePhoneNumberResponseTypeDef,
      GetRetentionSettingsResponseTypeDef,
      PutRetentionSettingsRequestRequestTypeDef,
      PutRetentionSettingsResponseTypeDef,
      ChimeSdkMeetingConfigurationTypeDef,
      GetVoiceConnectorStreamingConfigurationResponseTypeDef,
      PutVoiceConnectorStreamingConfigurationRequestRequestTypeDef,
      PutVoiceConnectorStreamingConfigurationResponseTypeDef,
      GetUserSettingsResponseTypeDef,
      UpdateUserSettingsRequestRequestTypeDef,
      CreateMediaCapturePipelineRequestRequestTypeDef,
      MediaCapturePipelineTypeDef,
      CreateMediaCapturePipelineResponseTypeDef,
      GetMediaCapturePipelineResponseTypeDef,
      ListMediaCapturePipelinesResponseTypeDef,
  )


  def get_structure() -> AccountSettingsTypeDef:
      return {...}
  ```

  <a id="how-it-works"></a>



  Fully automated
  [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
  generates type annotations for each service, patiently waiting for `boto3`
  updates. It delivers a drop-in type annotations for you and makes sure that:

  - All available `boto3` services are covered.
  - Each public class and method of every `boto3` service gets valid type
    annotations extracted from the documentation (blame `botocore` docs if types
    are incorrect).
  - Type annotations include up-to-date documentation.
  - Link to documentation is provided for every method.
  - Code is processed by [black](https://github.com/psf/black) and
    [isort](https://github.com/PyCQA/isort) for readability.

  <a id="what's-new"></a>



  <a id="implemented-features"></a>



  - Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
  - `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
    compatibility
  - `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
    annotations for each service
  - Generated `TypeDefs` for each service
  - Generated `Literals` for each service
  - Auto discovery of types for `boto3.client` and `boto3.session` calls
  - Auto discovery of types for `session.client` and `session.session` calls
  - Auto discovery of types for `client.get_waiter` and `client.get_paginator`
    calls
  - Auto discovery of types for `ServiceResource` and `Resource` collections
  - Auto discovery of types for `aiobotocore.Session.create_client` calls

  <a id="latest-changes"></a>



  Builder changelog can be found in
  [Releases](https://github.com/youtype/mypy_boto3_builder/releases).

  <a id="versioning"></a>



  `mypy-boto3-chime` version is the same as related `boto3` version and follows
  [PEP 440](https://www.python.org/dev/peps/pep-0440/) format.

  <a id="thank-you"></a>



  - [Allie Fitter](https://github.com/alliefitter) for
    [boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
    this package is based on top of his work
  - [black](https://github.com/psf/black) developers for an awesome formatting
    tool
  - [Timothy Edmund Crosley](https://github.com/timothycrosley) for
    [isort](https://github.com/PyCQA/isort) and how flexible it is
  - [mypy](https://github.com/python/mypy) developers for doing all dirty work
    for us
  - [pyright](https://github.com/microsoft/pyright) team for the new era of typed
    Python

  <a id="documentation"></a>



  All services type annotations can be found in
  [boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_chime/)

  <a id="support-and-contributing"></a>



  This package is auto-generated. Please reports any bugs or request new features
  in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
  repository.


pkgId: b98db9ebfa22e5668bf9aace2d471ef27179db28d74d9443f7df6187b1ab7afd
name: python-mypy-boto3-cloudformation
arch: src
version: 1.26.108
epoch: 0
release: 1
summary: Type annotations for boto3.CloudFormation 1.26.108 service generated with mypy-boto3-builder 7.14.5
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_vendor: openEuler Copr - user mywaaagh_admin
rpm_group: Unspecified
rpm_buildhost: resalloc-4e02693d-0af6-4bbb-b4f0-9fdb4b76ecd6
location_href: 00011484-python-mypy-boto3-cloudformation/python-mypy-boto3-cloudformation-1.26.108-1.src.rpm
checksum_type: sha256
description:
  <a id="mypy-boto3-cloudformation"></a>



  [![PyPI - mypy-boto3-cloudformation](https://img.shields.io/pypi/v/mypy-boto3-cloudformation.svg?color=blue)](https://pypi.org/project/mypy-boto3-cloudformation)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-cloudformation.svg?color=blue)](https://pypi.org/project/mypy-boto3-cloudformation)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_cloudformation/)
  [![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-cloudformation?color=blue)](https://pypistats.org/packages/mypy-boto3-cloudformation)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [boto3.CloudFormation 1.26.108](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudformation.html#CloudFormation)
  service compatible with [VSCode](https://code.visualstudio.com/),
  [PyCharm](https://www.jetbrains.com/pycharm/),
  [Emacs](https://www.gnu.org/software/emacs/),
  [Sublime Text](https://www.sublimetext.com/),
  [mypy](https://github.com/python/mypy),
  [pyright](https://github.com/microsoft/pyright) and other tools.

  Generated by
  [mypy-boto3-builder 7.14.5](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
  [mypy-boto3-cloudformation docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_cloudformation/).

  See how it helps to find and fix potential bugs:

  ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [mypy-boto3-cloudformation](#mypy-boto3-cloudformation)
    - [How to install](#how-to-install)
      - [VSCode extension](#vscode-extension)
      - [From PyPI with pip](#from-pypi-with-pip)
      - [From conda-forge](#from-conda-forge)
    - [How to uninstall](#how-to-uninstall)
    - [Usage](#usage)
      - [VSCode](#vscode)
      - [PyCharm](#pycharm)
      - [Emacs](#emacs)
      - [Sublime Text](#sublime-text)
      - [Other IDEs](#other-ides)
      - [mypy](#mypy)
      - [pyright](#pyright)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Waiters annotations](#waiters-annotations)
      - [Service Resource annotations](#service-resource-annotations)
      - [Other resources annotations](#other-resources-annotations)
      - [Collections annotations](#collections-annotations)
      - [Literals](#literals)
      - [Typed dictionaries](#typed-dictionaries)
    - [How it works](#how-it-works)
    - [What's new](#what's-new)
      - [Implemented features](#implemented-features)
      - [Latest changes](#latest-changes)
    - [Versioning](#versioning)
    - [Thank you](#thank-you)
    - [Documentation](#documentation)
    - [Support and contributing](#support-and-contributing)

  <a id="how-to-install"></a>



  <a id="vscode-extension"></a>



  Add
  [AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
  extension to your VSCode and run `AWS boto3: Quick Start` command.

  Click `Modify` and select `boto3 common` and `CloudFormation`.

  <a id="from-pypi-with-pip"></a>



  Install `boto3-stubs` for `CloudFormation` service.

  ```bash

  python -m pip install 'boto3-stubs[cloudformation]'




  python -m pip install 'boto3-stubs-lite[cloudformation]'



  python -m pip install mypy-boto3-cloudformation
  ```

  <a id="from-conda-forge"></a>



  Installing `mypy-boto3-cloudformation` from the `conda-forge` channel can be
  achieved by adding `conda-forge` to your channels with:

  ```bash
  conda config --add channels conda-forge
  conda config --set channel_priority strict
  ```

  Once the `conda-forge` channel has been enabled, `mypy-boto3-cloudformation`
  can be installed with:

  ```bash
  conda install mypy-boto3-cloudformation
  ```

  It is possible to list all of the versions of `mypy-boto3-cloudformation`
  available on your platform with:

  ```bash
  conda search mypy-boto3-cloudformation --channel conda-forge
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y mypy-boto3-cloudformation
  ```

  <a id="usage"></a>



  <a id="vscode"></a>



  - Install
    [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
  - Install
    [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
  - Set `Pylance` as your Python Language Server
  - Install `boto3-stubs[cloudformation]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[cloudformation]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `boto3` code as usual.

  <a id="pycharm"></a>



  Install `boto3-stubs-lite[cloudformation]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs-lite[cloudformation]'`
  ```

  Both type checking and code completion should now work. Explicit type
  annotations **are required**.

  Use `boto3-stubs` package instead for implicit type discovery.

  <a id="emacs"></a>



  - Install `boto3-stubs` with services you use in your environment:

  ```bash
  python -m pip install 'boto3-stubs[cloudformation]'
  ```

  - Install [use-package](https://github.com/jwiegley/use-package),
    [lsp](https://github.com/emacs-lsp/lsp-mode/),
    [company](https://github.com/company-mode/company-mode) and
    [flycheck](https://github.com/flycheck/flycheck) packages
  - Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package

  ```elisp
  (use-package lsp-pyright
    :ensure t
    :hook (python-mode . (lambda ()
                            (require 'lsp-pyright)
                            (lsp)))  ; or lsp-deferred
    :init (when (executable-find "python3")
            (setq lsp-pyright-python-executable-cmd "python3"))
    )
  ```

  - Make sure emacs uses the environment where you have installed `boto3-stubs`

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="sublime-text"></a>



  - Install `boto3-stubs[cloudformation]` with services you use in your
    environment:

  ```bash
  python -m pip install 'boto3-stubs[cloudformation]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="other-ides"></a>



  Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
  should work.

  <a id="mypy"></a>



  - Install `mypy`: `python -m pip install mypy`
  - Install `boto3-stubs[cloudformation]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[cloudformation]'`
  ```

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `boto3-stubs[cloudformation]` in your environment:

  ```bash
  python -m pip install 'boto3-stubs[cloudformation]'
  ```

  Optionally, you can install `boto3-stubs` to `typings` folder.

  Type checking should now work. No explicit type annotations required, write
  your `boto3` code as usual.

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudFormationClient` provides annotations for
  `boto3.client("cloudformation")`.

  ```python
  from boto3.session import Session

  from mypy_boto3_cloudformation import CloudFormationClient

  client: CloudFormationClient = Session().client("cloudformation")


  ```

  <a id="paginators-annotations"></a>



  `mypy_boto3_cloudformation.paginator` module contains type annotations for all
  paginators.

  ```python
  from boto3.session import Session

  from mypy_boto3_cloudformation import CloudFormationClient
  from mypy_boto3_cloudformation.paginator import (
      DescribeAccountLimitsPaginator,
      DescribeChangeSetPaginator,
      DescribeStackEventsPaginator,
      DescribeStacksPaginator,
      ListChangeSetsPaginator,
      ListExportsPaginator,
      ListImportsPaginator,
      ListStackInstancesPaginator,
      ListStackResourcesPaginator,
      ListStackSetOperationResultsPaginator,
      ListStackSetOperationsPaginator,
      ListStackSetsPaginator,
      ListStacksPaginator,
      ListTypesPaginator,
  )

  client: CloudFormationClient = Session().client("cloudformation")



  describe_account_limits_paginator: DescribeAccountLimitsPaginator = client.get_paginator(
      "describe_account_limits"
  )
  describe_change_set_paginator: DescribeChangeSetPaginator = client.get_paginator(
      "describe_change_set"
  )
  describe_stack_events_paginator: DescribeStackEventsPaginator = client.get_paginator(
      "describe_stack_events"
  )
  describe_stacks_paginator: DescribeStacksPaginator = client.get_paginator("describe_stacks")
  list_change_sets_paginator: ListChangeSetsPaginator = client.get_paginator("list_change_sets")
  list_exports_paginator: ListExportsPaginator = client.get_paginator("list_exports")
  list_imports_paginator: ListImportsPaginator = client.get_paginator("list_imports")
  list_stack_instances_paginator: ListStackInstancesPaginator = client.get_paginator(
      "list_stack_instances"
  )
  list_stack_resources_paginator: ListStackResourcesPaginator = client.get_paginator(
      "list_stack_resources"
  )
  list_stack_set_operation_results_paginator: ListStackSetOperationResultsPaginator = (
      client.get_paginator("list_stack_set_operation_results")
  )
  list_stack_set_operations_paginator: ListStackSetOperationsPaginator = client.get_paginator(
      "list_stack_set_operations"
  )
  list_stack_sets_paginator: ListStackSetsPaginator = client.get_paginator("list_stack_sets")
  list_stacks_paginator: ListStacksPaginator = client.get_paginator("list_stacks")
  list_types_paginator: ListTypesPaginator = client.get_paginator("list_types")
  ```

  <a id="waiters-annotations"></a>



  `mypy_boto3_cloudformation.waiter` module contains type annotations for all
  waiters.

  ```python
  from boto3.session import Session

  from mypy_boto3_cloudformation import CloudFormationClient
  from mypy_boto3_cloudformation.waiter import (
      ChangeSetCreateCompleteWaiter,
      StackCreateCompleteWaiter,
      StackDeleteCompleteWaiter,
      StackExistsWaiter,
      StackImportCompleteWaiter,
      StackRollbackCompleteWaiter,
      StackUpdateCompleteWaiter,
      TypeRegistrationCompleteWaiter,
  )

  client: CloudFormationClient = Session().client("cloudformation")



  change_set_create_complete_waiter: ChangeSetCreateCompleteWaiter = client.get_waiter(
      "change_set_create_complete"
  )
  stack_create_complete_waiter: StackCreateCompleteWaiter = client.get_waiter("stack_create_complete")
  stack_delete_complete_waiter: StackDeleteCompleteWaiter = client.get_waiter("stack_delete_complete")
  stack_exists_waiter: StackExistsWaiter = client.get_waiter("stack_exists")
  stack_import_complete_waiter: StackImportCompleteWaiter = client.get_waiter("stack_import_complete")
  stack_rollback_complete_waiter: StackRollbackCompleteWaiter = client.get_waiter(
      "stack_rollback_complete"
  )
  stack_update_complete_waiter: StackUpdateCompleteWaiter = client.get_waiter("stack_update_complete")
  type_registration_complete_waiter: TypeRegistrationCompleteWaiter = client.get_waiter(
      "type_registration_complete"
  )
  ```

  <a id="service-resource-annotations"></a>



  `CloudFormationServiceResource` provides annotations for
  `boto3.resource("cloudformation")`.

  ```python
  from boto3.session import Session

  from mypy_boto3_cloudformation import CloudFormationServiceResource

  resource: CloudFormationServiceResource = Session().resource("cloudformation")


  ```

  <a id="other-resources-annotations"></a>



  `mypy_boto3_cloudformation.service_resource` module contains type annotations
  for all resources.

  ```python
  from boto3.session import Session

  from mypy_boto3_cloudformation import CloudFormationServiceResource
  from mypy_boto3_cloudformation.service_resource import (
      Event,
      Stack,
      StackResource,
      StackResourceSummary,
  )

  resource: CloudFormationServiceResource = Session().resource("cloudformation")



  my_event: Event = resource.Event(...)
  my_stack: Stack = resource.Stack(...)
  my_stack_resource: StackResource = resource.StackResource(...)
  my_stack_resource_summary: StackResourceSummary = resource.StackResourceSummary(...)
  ```

  <a id="collections-annotations"></a>



  `mypy_boto3_cloudformation.service_resource` module contains type annotations
  for all `CloudFormationServiceResource` collections.

  ```python
  from boto3.session import Session

  from mypy_boto3_cloudformation import CloudFormationServiceResource
  from mypy_boto3_cloudformation.service_resource import ServiceResourceStacksCollection

  resource: CloudFormationServiceResource = Session().resource("cloudformation")



  stacks: cloudformation_resources.ServiceResourceStacksCollection = resource.stacks
  ```

  <a id="literals"></a>



  `mypy_boto3_cloudformation.literals` module contains literals extracted from
  shapes that can be used in user code for type checking.

  ```python
  from mypy_boto3_cloudformation.literals import (
      AccountFilterTypeType,
      AccountGateStatusType,
      CallAsType,
      CapabilityType,
      CategoryType,
      ChangeActionType,
      ChangeSetCreateCompleteWaiterName,
      ChangeSetHooksStatusType,
      ChangeSetStatusType,
      ChangeSetTypeType,
      ChangeSourceType,
      ChangeTypeType,
      DeprecatedStatusType,
      DescribeAccountLimitsPaginatorName,
      DescribeChangeSetPaginatorName,
      DescribeStackEventsPaginatorName,
      DescribeStacksPaginatorName,
      DifferenceTypeType,
      EvaluationTypeType,
      ExecutionStatusType,
      HandlerErrorCodeType,
      HookFailureModeType,
      HookInvocationPointType,
      HookStatusType,
      HookTargetTypeType,
      IdentityProviderType,
      ListChangeSetsPaginatorName,
      ListExportsPaginatorName,
      ListImportsPaginatorName,
      ListStackInstancesPaginatorName,
      ListStackResourcesPaginatorName,
      ListStackSetOperationResultsPaginatorName,
      ListStackSetOperationsPaginatorName,
      ListStackSetsPaginatorName,
      ListStacksPaginatorName,
      ListTypesPaginatorName,
      OnFailureType,
      OperationResultFilterNameType,
      OperationStatusType,
      PermissionModelsType,
      ProvisioningTypeType,
      PublisherStatusType,
      RegionConcurrencyTypeType,
      RegistrationStatusType,
      RegistryTypeType,
      ReplacementType,
      RequiresRecreationType,
      ResourceAttributeType,
      ResourceSignalStatusType,
      ResourceStatusType,
      StackCreateCompleteWaiterName,
      StackDeleteCompleteWaiterName,
      StackDriftDetectionStatusType,
      StackDriftStatusType,
      StackExistsWaiterName,
      StackImportCompleteWaiterName,
      StackInstanceDetailedStatusType,
      StackInstanceFilterNameType,
      StackInstanceStatusType,
      StackResourceDriftStatusType,
      StackRollbackCompleteWaiterName,
      StackSetDriftDetectionStatusType,
      StackSetDriftStatusType,
      StackSetOperationActionType,
      StackSetOperationResultStatusType,
      StackSetOperationStatusType,
      StackSetStatusType,
      StackStatusType,
      StackUpdateCompleteWaiterName,
      TemplateStageType,
      ThirdPartyTypeType,
      TypeRegistrationCompleteWaiterName,
      TypeTestsStatusType,
      VersionBumpType,
      VisibilityType,
      CloudFormationServiceName,
      ServiceName,
      ResourceServiceName,
      PaginatorName,
      WaiterName,
      RegionName,
  )


  def check_value(value: AccountFilterTypeType) -> bool:
      ...
  ```

  <a id="typed-dictionaries"></a>



  `mypy_boto3_cloudformation.type_defs` module contains structures and shapes
  assembled to typed dictionaries for additional type checking.

  ```python
  from mypy_boto3_cloudformation.type_defs import (
      AccountGateResultTypeDef,
      AccountLimitTypeDef,
      LoggingConfigTypeDef,
      ResponseMetadataTypeDef,
      AutoDeploymentTypeDef,
      TypeConfigurationIdentifierTypeDef,
      TypeConfigurationDetailsTypeDef,
      CancelUpdateStackInputRequestTypeDef,
      CancelUpdateStackInputStackCancelUpdateTypeDef,
      ChangeSetHookResourceTargetDetailsTypeDef,
      ChangeSetSummaryTypeDef,
      ContinueUpdateRollbackInputRequestTypeDef,
      ParameterTypeDef,
      ResourceToImportTypeDef,
      TagTypeDef,
      DeploymentTargetsTypeDef,
      StackSetOperationPreferencesTypeDef,
      ManagedExecutionTypeDef,
      DeactivateTypeInputRequestTypeDef,
      DeleteChangeSetInputRequestTypeDef,
      DeleteStackInputRequestTypeDef,
      DeleteStackInputStackDeleteTypeDef,
      DeleteStackSetInputRequestTypeDef,
      DeregisterTypeInputRequestTypeDef,
      PaginatorConfigTypeDef,
      DescribeAccountLimitsInputRequestTypeDef,
      DescribeChangeSetHooksInputRequestTypeDef,
      WaiterConfigTypeDef,
      DescribeChangeSetInputRequestTypeDef,
      DescribePublisherInputRequestTypeDef,
      DescribeStackDriftDetectionStatusInputRequestTypeDef,
      DescribeStackEventsInputRequestTypeDef,
      StackEventTypeDef,
      DescribeStackInstanceInputRequestTypeDef,
      DescribeStackResourceDriftsInputRequestTypeDef,
      DescribeStackResourceInputRequestTypeDef,
      DescribeStackResourcesInputRequestTypeDef,
      DescribeStackSetInputRequestTypeDef,
      DescribeStackSetOperationInputRequestTypeDef,
      DescribeStacksInputRequestTypeDef,
      DescribeTypeInputRequestTypeDef,
      RequiredActivatedTypeTypeDef,
      DescribeTypeRegistrationInputRequestTypeDef,
      DetectStackDriftInputRequestTypeDef,
      DetectStackResourceDriftInputRequestTypeDef,
      ExecuteChangeSetInputRequestTypeDef,
      ExportTypeDef,
      GetStackPolicyInputRequestTypeDef,
      GetTemplateInputRequestTypeDef,
      GetTemplateSummaryInputRequestTypeDef,
      ResourceIdentifierSummaryTypeDef,
      ListChangeSetsInputRequestTypeDef,
      ListExportsInputRequestTypeDef,
      ListImportsInputRequestTypeDef,
      StackInstanceFilterTypeDef,
      ListStackResourcesInputRequestTypeDef,
      OperationResultFilterTypeDef,
      ListStackSetOperationsInputRequestTypeDef,
      ListStackSetsInputRequestTypeDef,
      ListStacksInputRequestTypeDef,
      ListTypeRegistrationsInputRequestTypeDef,
      ListTypeVersionsInputRequestTypeDef,
      TypeVersionSummaryTypeDef,
      TypeFiltersTypeDef,
      TypeSummaryTypeDef,
      ModuleInfoTypeDef,
      OutputTypeDef,
      ParameterConstraintsTypeDef,
      PhysicalResourceIdContextKeyValuePairTypeDef,
      PropertyDifferenceTypeDef,
      PublishTypeInputRequestTypeDef,
      RecordHandlerProgressInputRequestTypeDef,
      RegisterPublisherInputRequestTypeDef,
      ResourceTargetDefinitionTypeDef,
      RollbackTriggerTypeDef,
      RollbackStackInputRequestTypeDef,
      SetStackPolicyInputRequestTypeDef,
      SetTypeConfigurationInputRequestTypeDef,
      SetTypeDefaultVersionInputRequestTypeDef,
      SignalResourceInputRequestTypeDef,
      StackDriftInformationSummaryTypeDef,
      StackDriftInformationTypeDef,
      StackInstanceComprehensiveStatusTypeDef,
      StackResourceDriftInformationTypeDef,
      StackResourceDriftInformationSummaryTypeDef,
      StackSetDriftDetectionDetailsTypeDef,
      StackSetOperationStatusDetailsTypeDef,
      StopStackSetOperationInputRequestTypeDef,
      TemplateParameterTypeDef,
      TestTypeInputRequestTypeDef,
      UpdateTerminationProtectionInputRequestTypeDef,
      ValidateTemplateInputRequestTypeDef,
      StackSetOperationResultSummaryTypeDef,
      ActivateTypeInputRequestTypeDef,
      RegisterTypeInputRequestTypeDef,
      ActivateTypeOutputTypeDef,
      CreateChangeSetOutputTypeDef,
      CreateStackInstancesOutputTypeDef,
      CreateStackOutputTypeDef,
      CreateStackSetOutputTypeDef,
      DeleteStackInstancesOutputTypeDef,
      DescribeAccountLimitsOutputTypeDef,
      DescribePublisherOutputTypeDef,
      DescribeStackDriftDetectionStatusOutputTypeDef,
      DescribeTypeRegistrationOutputTypeDef,
      DetectStackDriftOutputTypeDef,
      DetectStackSetDriftOutputTypeDef,
      EmptyResponseMetadataTypeDef,
      EstimateTemplateCostOutputTypeDef,
      GetStackPolicyOutputTypeDef,
      GetTemplateOutputTypeDef,
      ImportStacksToStackSetOutputTypeDef,
      ListImportsOutputTypeDef,
      ListTypeRegistrationsOutputTypeDef,
      ModuleInfoResponseMetadataTypeDef,
      PublishTypeOutputTypeDef,
      RegisterPublisherOutputTypeDef,
      RegisterTypeOutputTypeDef,
      RollbackStackOutputTypeDef,
      SetTypeConfigurationOutputTypeDef,
      StackDriftInformationResponseMetadataTypeDef,
      StackResourceDriftInformationResponseMetadataTypeDef,
      StackResourceDriftInformationSummaryResponseMetadataTypeDef,
      TestTypeOutputTypeDef,
      UpdateStackInstancesOutputTypeDef,
      UpdateStackOutputTypeDef,
      UpdateStackSetOutputTypeDef,
      UpdateTerminationProtectionOutputTypeDef,
      BatchDescribeTypeConfigurationsErrorTypeDef,
      BatchDescribeTypeConfigurationsInputRequestTypeDef,
      ChangeSetHookTargetDetailsTypeDef,
      ListChangeSetsOutputTypeDef,
      EstimateTemplateCostInputRequestTypeDef,
      CreateStackInstancesInputRequestTypeDef,
      DeleteStackInstancesInputRequestTypeDef,
      DetectStackSetDriftInputRequestTypeDef,
      ImportStacksToStackSetInputRequestTypeDef,
      UpdateStackInstancesInputRequestTypeDef,
      CreateStackSetInputRequestTypeDef,
      StackSetSummaryTypeDef,
      UpdateStackSetInputRequestTypeDef,
      DescribeAccountLimitsInputDescribeAccountLimitsPaginateTypeDef,
      DescribeChangeSetInputDescribeChangeSetPaginateTypeDef,
      DescribeStackEventsInputDescribeStackEventsPaginateTypeDef,
      DescribeStacksInputDescribeStacksPaginateTypeDef,
      ListChangeSetsInputListChangeSetsPaginateTypeDef,
      ListExportsInputListExportsPaginateTypeDef,
      ListImportsInputListImportsPaginateTypeDef,
      ListStackResourcesInputListStackResourcesPaginateTypeDef,
      ListStackSetOperationsInputListStackSetOperationsPaginateTypeDef,
      ListStackSetsInputListStackSetsPaginateTypeDef,
      ListStacksInputListStacksPaginateTypeDef,
      DescribeChangeSetInputChangeSetCreateCompleteWaitTypeDef,
      DescribeStacksInputStackCreateCompleteWaitTypeDef,
      DescribeStacksInputStackDeleteCompleteWaitTypeDef,
      DescribeStacksInputStackExistsWaitTypeDef,
      DescribeStacksInputStackImportCompleteWaitTypeDef,
      DescribeStacksInputStackRollbackCompleteWaitTypeDef,
      DescribeStacksInputStackUpdateCompleteWaitTypeDef,
      DescribeTypeRegistrationInputTypeRegistrationCompleteWaitTypeDef,
      DescribeStackEventsOutputTypeDef,
      DescribeTypeOutputTypeDef,
      ListExportsOutputTypeDef,
      ListStackInstancesInputListStackInstancesPaginateTypeDef,
      ListStackInstancesInputRequestTypeDef,
      ListStackSetOperationResultsInputListStackSetOperationResultsPaginateTypeDef,
      ListStackSetOperationResultsInputRequestTypeDef,
      ListTypeVersionsOutputTypeDef,
      ListTypesInputListTypesPaginateTypeDef,
      ListTypesInputRequestTypeDef,
      ListTypesOutputTypeDef,
      ParameterDeclarationTypeDef,
      StackResourceDriftTypeDef,
      ResourceChangeDetailTypeDef,
      RollbackConfigurationResponseMetadataTypeDef,
      RollbackConfigurationTypeDef,
      StackSummaryTypeDef,
      StackInstanceSummaryTypeDef,
      StackInstanceTypeDef,
      StackResourceDetailTypeDef,
      StackResourceTypeDef,
      StackResourceSummaryTypeDef,
      StackSetTypeDef,
      StackSetOperationSummaryTypeDef,
      StackSetOperationTypeDef,
      ValidateTemplateOutputTypeDef,
      ListStackSetOperationResultsOutputTypeDef,
      BatchDescribeTypeConfigurationsOutputTypeDef,
      ChangeSetHookTypeDef,
      ListStackSetsOutputTypeDef,
      GetTemplateSummaryOutputTypeDef,
      DescribeStackResourceDriftsOutputTypeDef,
      DetectStackResourceDriftOutputTypeDef,
      ResourceChangeTypeDef,
      CreateChangeSetInputRequestTypeDef,
      CreateStackInputRequestTypeDef,
      CreateStackInputServiceResourceCreateStackTypeDef,
      StackTypeDef,
      UpdateStackInputRequestTypeDef,
      UpdateStackInputStackUpdateTypeDef,
      ListStacksOutputTypeDef,
      ListStackInstancesOutputTypeDef,
      DescribeStackInstanceOutputTypeDef,
      DescribeStackResourceOutputTypeDef,
      DescribeStackResourcesOutputTypeDef,
      ListStackResourcesOutputTypeDef,
      DescribeStackSetOutputTypeDef,
      ListStackSetOperationsOutputTypeDef,
      DescribeStackSetOperationOutputTypeDef,
      DescribeChangeSetHooksOutputTypeDef,
      ChangeTypeDef,
      DescribeStacksOutputTypeDef,
      DescribeChangeSetOutputTypeDef,
  )


  def get_structure() -> AccountGateResultTypeDef:
      return {...}
  ```

  <a id="how-it-works"></a>



  Fully automated
  [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
  generates type annotations for each service, patiently waiting for `boto3`
  updates. It delivers drop-in type annotations for you and makes sure that:

  - All available `boto3` services are covered.
  - Each public class and method of every `boto3` service gets valid type
    annotations extracted from `botocore` schemas.
  - Type annotations include up-to-date documentation.
  - Link to documentation is provided for every method.
  - Code is processed by [black](https://github.com/psf/black) and
    [isort](https://github.com/PyCQA/isort) for readability.

  <a id="what's-new"></a>



  <a id="implemented-features"></a>



  - Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
    libraries
  - `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
    compatibility
  - `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
    annotations for each service
  - Generated `TypeDefs` for each service
  - Generated `Literals` for each service
  - Auto discovery of types for `boto3.client` and `boto3.resource` calls
  - Auto discovery of types for `session.client` and `session.resource` calls
  - Auto discovery of types for `client.get_waiter` and `client.get_paginator`
    calls
  - Auto discovery of types for `ServiceResource` and `Resource` collections
  - Auto discovery of types for `aiobotocore.Session.create_client` calls

  <a id="latest-changes"></a>



  Builder changelog can be found in
  [Releases](https://github.com/youtype/mypy_boto3_builder/releases).

  <a id="versioning"></a>



  `mypy-boto3-cloudformation` version is the same as related `boto3` version and
  follows [PEP 440](https://www.python.org/dev/peps/pep-0440/) format.

  <a id="thank-you"></a>



  - [Allie Fitter](https://github.com/alliefitter) for
    [boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
    this package is based on top of his work
  - [black](https://github.com/psf/black) developers for an awesome formatting
    tool
  - [Timothy Edmund Crosley](https://github.com/timothycrosley) for
    [isort](https://github.com/PyCQA/isort) and how flexible it is
  - [mypy](https://github.com/python/mypy) developers for doing all dirty work
    for us
  - [pyright](https://github.com/microsoft/pyright) team for the new era of typed
    Python

  <a id="documentation"></a>



  All services type annotations can be found in
  [boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_cloudformation/)

  <a id="support-and-contributing"></a>



  This package is auto-generated. Please reports any bugs or request new features
  in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
  repository.


