# packages

pkgId: 960d2f407b766163e8a1cadb7a75f737b551829414ff29bc3556c69a7526d36e
name: python3-rateLimitedQueues
arch: noarch
version: 0.0.3.post1
epoch: 0
release: 1
url: https://github.com/BhaskarPanja93/rateLimitedQueues
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-rateLimitedQueues-0.0.3.post1-1.src.rpm
location_href: Packages/python3-rateLimitedQueues-0.0.3.post1-1.noarch.rpm
checksum_type: sha256
summary:
  A well maintained program to execute functions in queue as if only 1 worker is executing them one by one (High priority first). Works wonders when a series of time consuming tasks has to be performed but they need to be in sequence.

description:
  ```pip install rateLimitedQueues --upgrade```




  <br>To install:
  ```
  pip install rateLimitedQueues --upgrade
  pip3 install rateLimitedQueues --upgrade
  python -m pip install rateLimitedQueues --upgrade
  python3 -m pip install rateLimitedQueues --upgrade
  ```



  ```
  from rateLimitedQueues import RateLimitedQueues

  rateLimiter = RateLimitedQueues()

  def mainFunction(n, *args, **kwargs):
      sleep(1)
      print(args, kwargs)

  def postFunction(*args, **kwargs):
      sleep(1)
      print(args, kwargs)

  for i in range(10):
      rateLimiter.queueAction(mainFunction=mainFunction, executeMainInThread=True, executePostInThread=True,
      postFunction=postFunction, postArgs=(i,), postKwArgs={i: i**2}, n=i)

  ```


pkgId: d6bc0f5cd71aa8ee89e22130f3248ed8d5b99f21e460501f58ea81483bbe12ee
name: python3-readmission-model
arch: noarch
version: 0.0.5
epoch: 0
release: 1
url: https://github.com/pypa/sampleproject
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-readmission-model-0.0.5-1.src.rpm
location_href: Packages/python3-readmission-model-0.0.5-1.noarch.rpm
checksum_type: sha256
summary:
  A package the modules to carry out the readmission modelling based on the patient's information and medical conditions

description:
  Development of models for readmission in US hospitals.



  Individual readmission prediction models are developed for the following conditions:

  - Pneumonia (POAY)
  - Myocardial infarction
  - Stroke
  - Diabetes
  - Dementia
  - Chronic pulmonary disease
  - Heart faliure

  These predictions are developed using a range of different models.



  Initial datasets required:
  - Data:
      - AdmissionsAllTriggers
      - AdmissionsPOANTriggers
      - AdmissionsDiagnosis
      - dates
      - Ids
  - Condition Spreadsheets:
      - Codes
      - CoMorbidity_List
      - Comorb_Mappings
      - Chronic condition mapping
      - ComorbiditiesMap_Groups
      - ChronicConditionsMap




  No license is offered for this package, and it cannot be used, modified, or shared for any purpose.


pkgId: 0e50e5ca8580798b050dd99c3ff16b3b7e0b3188c7ce701c9f909ee07e360316
name: python3-receptorctl
arch: noarch
version: 1.5.2
epoch: 0
release: 1
url: https://ansible.readthedocs.io/projects/receptor/
rpm_license: "Apache License 2.0"
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-receptorctl-1.5.2-1.src.rpm
location_href: Packages/python3-receptorctl-1.5.2-1.noarch.rpm
checksum_type: sha256
summary:
  "Receptorctl is a front-end CLI and importable Python library that interacts with Receptor over its control socket interface."


pkgId: 21cf788a8a77ee4c943db3a6705190b2201e080b2944ad80861cf37e3ff36154
name: python3-redis-key-analyzer
arch: noarch
version: 0.1.5
epoch: 0
release: 1
url: https://pypi.org/project/redis-key-analyzer/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-redis-key-analyzer-0.1.5-1.src.rpm
location_href: Packages/python3-redis-key-analyzer-0.1.5-1.noarch.rpm
checksum_type: sha256
summary:
  Redis Key Analyzer is a CLI tool for scanning and analyzing Redis database keys, providing insights into their distribution, type, memory usage, and TTL.

description:
  `redis-key-analyzer` is a tool designed to analyze Redis keys, providing detailed statistics on key patterns, memory usage, TTL (Time to Live), and more. This tool is useful for understanding the distribution and characteristics of keys in a Redis database, which can help in optimizing and managing Redis instances.



  - Analyze Redis keys based on patterns, prefixes, and separators.
  - Collect statistics on key types, memory usage, and TTL.
  - Support for read-only Redis clusters.
  - Configurable batch size and sleep intervals for large datasets.



  To install `redis-key-analyzer`, use pip:

  ```bash
  pip install rka
  ```



  You can use the `redis-key-analyzer` via the command line interface (CLI). Below are the available options:

  ```bash
  Usage: redis-key-analyzer [OPTIONS]

  Options:
    --host TEXT          Redis host. Default is 'localhost'.
    --port INTEGER       Redis port. Default is 6379.
    --db INTEGER         Redis database. Default is 0.
    --read-only, -ro     Check read-only cluster.
    --match, -m TEXT     Redis key pattern. Default is '*'.
    --batch-size INTEGER Batch size. Default is 1000.
    --prefix TEXT        Prefixes for key pattern. Example: --prefix 'prefix1 prefix2'.
    --separator TEXT     Separators for key pattern. Default is ':'.
    --limit INTEGER      Limit total keys. -1 for no limit. Default is -1.
    --sleep INTEGER      Sleep seconds between batches. -1 for no sleep. Default is -1.
    --help               Show this message and exit.
  ```

  Search

  ```bash
  rka --host localhost [--port 6379] [--db 0] [-m '*']

  +-------------+--------+-------+---------+---------+-------+--------------+-----------+------------+------------+----------+----------+--------------+
  | pattern     | dtype  |  ttl  | avg_ttl | max_ttl | count | total_memory | memory_hu | memory_avg | memory_max | size_avg | size_max | key(max_ttl) |
  +-------------+--------+-------+---------+---------+-------+--------------+-----------+------------+------------+----------+----------+--------------+
  | my-set      |  set   | NOTTL |    -1   |    -1   |   1   |          272 |  272.0  B |    272     |    272     |    3     |    3     | my-set       |
  | my-list     |  list  | NOTTL |    -1   |    -1   |   1   |          223 |  223.0  B |    223     |    223     |    14    |    14    | my-list      |
  | foos:<*>    | string |  TTL  |   524   |   984   |   3   |          183 |  183.0  B |     61     |     61     |    3     |    3     | foos:123     |
  | my-hash     |  hash  | NOTTL |    -1   |    -1   |   1   |           87 |   87.0  B |     87     |     87     |    2     |    2     | my-hash      |
  | my-zset     |  zset  | NOTTL |    -1   |    -1   |   1   |           83 |   83.0  B |     83     |     83     |    2     |    2     | my-zset      |
  | user.sc:<*> |  hash  | NOTTL |    -1   |    -1   |   1   |           75 |   75.0  B |     75     |     75     |    1     |    1     | user.sc:123  |
  | my-string   | string | NOTTL |    -1   |    -1   |   1   |           61 |   61.0  B |     61     |     61     |    3     |    3     | my-string    |
  +-------------+--------+-------+---------+---------+-------+--------------+-----------+------------+------------+----------+----------+--------------+
  ```


pkgId: 47ab2c416e32e12010300a80a3849b03246ec3f49b7b903e489a78115ac5026c
name: python3-repominify
arch: noarch
version: 0.1.0
epoch: 0
release: 1
url: https://github.com/mikewcasale/repominify
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-repominify-0.1.0-1.src.rpm
location_href: Packages/python3-repominify-0.1.0-1.noarch.rpm
checksum_type: sha256
summary:
  A Python package that optimizes codebase representations for LLMs by generating compact, context-rich summaries

description:
  A Python package that optimizes codebase representations for Large Language Models (LLMs) by generating compact, context-rich summaries that minimize token usage while preserving essential structural information.

  [![PyPI version](https://badge.fury.io/py/repominify.svg)](https://badge.fury.io/py/repominify)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)



  repominify helps you provide detailed context about your codebase to LLMs without consuming excessive space in their context windows. It processes Repomix output to create optimized representations that maintain critical structural information while significantly reducing token usage. This enables more efficient and effective code-related conversations with AI models by maximizing the amount of useful context that can fit within token limits.

  ⚠️ Warning: repominify performs deep code analysis which can be resource-intensive for large codebases. Please start with a small subset of your code to understand the process and resource requirements.



  - **Automatic Dependency Management**
    - Checks and installs Node.js and npm dependencies
    - Automatically installs Repomix if not present
    - Handles version compatibility checks

  - **Code Analysis**
    - Parses and analyzes code structure
    - Extracts imports, classes, and functions
    - Builds dependency graphs
    - Performance optimized for large codebases

  - **Multiple Output Formats**
    - GraphML for visualization tools
    - JSON for web-based tools
    - YAML for statistics
    - Text for human-readable analysis

  - **Size Optimization**
    - Generates minified code structure representation
    - Provides detailed size reduction statistics
    - Shows character and token reduction percentages
    - Maintains semantic meaning while reducing size

  - **Security Awareness**
    - Detects potentially sensitive patterns
    - Provides security recommendations
    - Flags suspicious file content
    - Helps maintain security best practices

  - **Debug Support**
    - Comprehensive logging
    - Performance tracking
    - Detailed error messages



  ```bash
  pip install repominify
  ```



  - Python 3.7 or higher
  - Node.js 12+ (will be checked during runtime)
  - npm 6+ (will be checked during runtime)
  - Repomix (will be installed automatically if not present)





  ```bash

  repominify path/to/repomix-output.txt


  repominify path/to/repomix-output.txt -o output_dir


  repominify path/to/repomix-output.txt --debug
  ```



  ```python
  from repominify import CodeGraphBuilder, ensure_dependencies, configure_logging


  configure_logging(debug=True)


  if ensure_dependencies():
      
      builder = CodeGraphBuilder()

      
      file_entries = builder.parser.parse_file("repomix-output.txt")

      
      graph = builder.build_graph(file_entries)

      
      text_content, comparison = builder.save_graph(
          "output_directory",
          input_file="repomix-output.txt"
      )

      
      print(comparison)
  ```



  ```
  Analysis Complete!
  📊 File Stats:
  ────────────────
    Total Files: 18
    Total Chars: 1,091,801
   Total Tokens: 354,159
         Output: repomix-output.txt
       Security: ✔ No suspicious files detected

  📊 File Stats:
  ────────────────
    Total Files: 18
    Total Chars: 245,123
   Total Tokens: 89,456
         Output: code_graph.txt
       Security: ✔ No suspicious files detected

  📈 Comparison:
  ────────────────
   Char Reduction: 77.5%
  Token Reduction: 74.7%
  Security Notes: ✔ No issues found
  ```



  ```
  repominify/
  ├── src/                 # Source code
  │   ├── core/           # Core functionality
  │   │   ├── graph.py    # Graph building and analysis
  │   │   ├── parser.py   # Repomix file parsing
  │   │   └── types.py    # Shared types and data structures
  │   ├── io/             # Input/Output operations
  │   │   ├── exporters.py  # Graph export functionality
  │   │   └── formatters.py # Text representation formatting
  │   ├── utils/          # Utility modules
  │   │   ├── dependency_checker.py  # Dependency management
  │   │   ├── logging.py   # Logging configuration
  │   │   └── stats.py     # Statistics and comparison
  │   ├── cli.py          # Command-line interface
  │   └── __init__.py     # Package initialization
  ├── tests/              # Test suite
  │   ├── test_end2end.py  # End-to-end tests
  │   └── data/          # Test data files
  ├── setup.py           # Package configuration
  ├── pyproject.toml     # Build system requirements
  ├── LICENSE            # MIT License
  └── README.md          # This file
  ```



  When you run repominify, it generates several files in your output directory:

  - `code_graph.graphml`: Graph representation in GraphML format
  - `code_graph.json`: Graph data in JSON format for web visualization
  - `graph_statistics.yaml`: Statistical analysis of the codebase
  - `code_graph.txt`: Human-readable text representation



  repominify is designed to handle large codebases efficiently:

  - Memory usage scales linearly with codebase size
  - File I/O is buffered for efficiency
  - Graph operations are optimized
  - Performance statistics available in debug mode



  The package provides detailed error messages and proper error boundaries:

  - Dependency errors (Node.js, npm, Repomix)
  - File parsing errors
  - Graph building errors
  - Export errors



  To set up for development:

  ```bash

  git clone https://github.com/mikewcasale/repominify.git
  cd repominify


  pip install -e '.[dev]'


  pytest tests/
  ```



  Contributions are welcome! Please feel free to submit a Pull Request. By contributing to this project, you agree to abide by its terms.

  This project has adopted the [Python Style Guide](STYLEGUIDE.md) for consistency and maintainability.



  **Mike Casale**
  - Email: mike@casale.xyz
  - GitHub: [@mikewcasale](https://github.com/mikewcasale)
  - Website: [casale.xyz](https://casale.xyz)



  MIT License - see the [LICENSE](LICENSE) file for details.



  This project makes use of or was influenced by several excellent open source projects:

  - [Repomix](https://github.com/yamadashy/repomix) - Our analysis pipeline integrates with this Node.js tool for initial code scanning
  - [NetworkX](https://networkx.org/) - Core graph algorithms and data structures
  - [PyYAML](https://pyyaml.org/) - YAML file handling
  - [GraphRAG Accelerator](https://github.com/Azure-Samples/graphrag-accelerator) - Graph-based code analysis patterns and implementation concepts



  This project is not an officially supported product. It is provided as-is, without warranty or support. Users should evaluate its suitability for their use case and understand the implications of deep code analysis on their systems.



  - For bugs and feature requests, please [open an issue](https://github.com/mikewcasale/repominify/issues)
  - For usage questions, please [start a discussion](https://github.com/mikewcasale/repominify/discussions)
  - For security concerns, please email security@casale.xyz directly



  Any trademarks or registered trademarks mentioned in this project are the property of their respective owners.


pkgId: 78304d02f8b3c8dd93529ea3f3e07e4a2ed2638dea542460c5d1d7fc93543229
name: python3-sandlersteam
arch: noarch
version: 0.1.3
epoch: 0
release: 1
url: https://pypi.org/project/sandlersteam/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-sandlersteam-0.1.3-1.src.rpm
location_href: Packages/python3-sandlersteam-0.1.3-1.noarch.rpm
checksum_type: sha256
summary:
  Steam tables from Chemical, Biochemical, and Engineering Thermodynamics (5th edition) by Stan Sandler

description:
  > Digitized steam tables from Sandler's 5th ed.

  Sandlersteam implements a python interface to the steam tables found in Appendix III of _Chemical, Biochemical, and Engineering Thermodynamics_ (5th edition) by Stan Sandler (Wiley, USA). It should be used for educational purposes only.

  The interface operates similarly to the IAPWS steam tables (which you should use instead of these).



  Sandlersteam is available via `pip`:

  ```sh
  pip install sandlersteam
  ```



  Below we create a `State` object to define a thermodynamic state for steam at 100 deg. C and 0.1 MPa:

  ```python
  >>> from sandlersteam.state import State
  >>> state1 = State(T=100.0,P=0.1)
  >>> state1.h  # enthalpy in kJ/kg
  2676.2
  >>> state1.u  # internal energy in kJ/kg
  2506.7
  >>> state1.v  # volume in m3/kg
  1.6958
  >>> state1.s  # entropy in kJ/kg-K
  7.3614
  ```

  Specifying a state requires values for two independent state variables.  The state variables recognized by sandlersteam are:

  * `T` temperature in C
  * `P` pressure in MPa
  * `u` specific internal energy in kJ/kg
  * `v` specific volume in m<sup>3</sup>/kg
  * `h` specific enthalpy in kJ/kg
  * `s` specific entropy in kJ/kg
  * `x` quality; mass fraction of vapor in a saturated vapor/liquid system (between 0 and 1)

  Initializing a `State` instance with any two of these values set by keyword parameters results in the other
  properties receiving values by (bi)linear interpolation.

  When specifying quality, a `State` objects acquires `Liquid` and `Vapor` attributes that each hold intensive, saturated single-phase property values.  The property value attributes owned directly by the `State` object reflect the quality-weighted sum of the respective single-phase values:

  ```python
  >>> s = State(T=100,x=0.5)
  >>> s.P
  0.10135
  >>> s.v
  0.836972
  >>> s.Vapor.v
  1.6729
  >>> s.Liquid.v
  0.001044
  >>> 0.5*(s.Vapor.v+s.Liquid.v)
  0.836972
  ```



  * 0.1.3
      * Updated interpolators
  * 0.1.1
      * Updated pyproject.toml and README.md
  * 0.1.0
      * Initial version



  Cameron F. Abrams – cfa22@drexel.edu

  Distributed under the MIT license. See ``LICENSE`` for more information.

  [https://github.com/cameronabrams](https://github.com/cameronabrams/)



  1. Fork it (<https://github.com/cameronabrams/sandlersteam/fork>)
  2. Create your feature branch (`git checkout -b feature/fooBar`)
  3. Commit your changes (`git commit -am 'Add some fooBar'`)
  4. Push to the branch (`git push origin feature/fooBar`)
  5. Create a new Pull Request


pkgId: 33cc97661c7edcdf22e70c0524f9bed016005caa38365d331c98f8ae61f85665
name: python3-shabdamegha
arch: noarch
version: 0.1.7
epoch: 0
release: 1
url: https://sbissoyi.github.io/shabdamegha/docs
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-shabdamegha-0.1.7-1.src.rpm
location_href: Packages/python3-shabdamegha-0.1.7-1.noarch.rpm
checksum_type: sha256
summary:
  A python library to generate word cloud for Odia language with proper rendering of Ligatures (Yuktakshars). ଯୁକ୍ତାକ୍ଷର ଗୁଡ଼ିକୁ ସଠିକ୍‌ ପ୍ରଦର୍ଶିତ କରି ଶବ୍ଦମେଘ ସୃଷ୍ଟି କରିବା ନିମନ୍ତେ ଏକ ପାଇଥନ୍‌ ଲାଇବ୍ରେରୀ

description:
  ![shabdamegha](https://sbissoyi.github.io/shabdamegha/docs/shabdamegha.png)

  `Shabdamegha` is a python library to generate word cloud for Odia language with proper rendering of Ligatures (Yuktakshars). (ଯୁକ୍ତାକ୍ଷର ଗୁଡ଼ିକୁ ସଠିକ୍‌ ପ୍ରଦର୍ଶିତ କରି ଶବ୍ଦମେଘ ସୃଷ୍ଟି କରିବା ନିମନ୍ତେ ଏକ ପାଇଥନ୍‌ ଲାଇବ୍ରେରୀ)


  - Support for Yuktakshar rendering.
  - Flexible customization of font, color, orientation, and placement.
  - Expandable canvas for dynamic word placement.


  ```bash
  pip install shabdamegha


  from shabdamegha.shabdamegha import draw_shabdamegha


  districts_of_odisha = {
                          "ଅନୁଗୋଳ": 13, "କଟକ": 8, "କଳାହାଣ୍ଡି": 16, "କନ୍ଧମାଳ": 16, "କେନ୍ଦୁଝର": 17, "କେନ୍ଦ୍ରାପଡ଼ା": 5, "କୋରାପୁଟ": 18, "ଖୋର୍ଦ୍ଧା": 6,
                          "ଗଜପତି": 8, "ଗଞ୍ଜାମ": 16, "ଜଗତସିଂହପୁର": 4, "ଝାରସୁଗୁଡ଼ା": 4, "ଢେଙ୍କାନାଳ": 9, "ଦେବଗଡ଼": 6, "ନବରଙ୍ଗପୁର": 11, "ନୟାଗଡ଼": 8,
                          "ନୂଆପଡ଼ା": 8, "ପୁରୀ": 6, "ବରଗଡ଼": 12, "ବଲାଙ୍ଗୀର": 13, "ବାଲେଶ୍ୱର": 7, "ବୌଦ୍ଧ": 7, "ଭଦ୍ରକ": 5, "ମୟୂରଭଞ୍ଜ": 21, "ମାଲକାନଗିରି": 12,
                          "ଯାଜପୁର": 6, "ରାୟଗଡ଼ା": 14, "ସମ୍ବଲପୁର": 13, "ସୁବର୍ଣ୍ଣପୁର": 5, "ସୁନ୍ଦରଗଡ଼": 19
                          }
  draw_shabdamegha(districts_of_odisha, colors=[(148, 0, 211), (0, 0, 255), (5, 108, 8), (255, 127, 0), (255, 0, 0)])

  draw_shabdamegha(
      data="ଶ୍ରୀଜଗନ୍ନାଥ ଓଡ଼ିଶା ଦୁର୍ଗାପୂଜା କଟକ ପୁରୀ ଭୁବନେଶ୍ୱର ନବରଙ୍ଗପୁର କୋରାପୁଟ ମୟୂରଭଞ୍ଜ",
      save_file_path="example_wordcloud.png",
      orientations=[-90, -60, -30, 0, 30, 60, 90]
      )

  words = ["ଶ୍ଳେଷ", "ସନ୍ନିବେଶ", "ଶୃଙ୍ଖଳା", "ଚାଞ୍ଛିବା", "ଝୁଣ୍ଟିଆ", "ରୋମନ୍ଥନ", "କୁମ୍ଭୀର", "ବାଗ୍ଦେବୀ", "କଚ୍ଛପ", "ଖଡ୍ଗଧାରି", "ଅକ୍ଷୁର୍ଣ୍ଣ", "ଉଡ୍ଡୀୟମାନ", "ଉତ୍କଣ୍ଠା", "ସମ୍ଭତ୍ସର", "ଉଦ୍ଘାଟନ", "ଉଦ୍ଦେଶ୍ୟ", "ଉଦ୍ଧାର", "ମୁଦ୍ଗର", "ଅଦ୍ଭୁତ", "ପିପ୍ପଳୀ", "ଅପ୍ସରା", "କୁବ୍ଜ", "ତିବ୍ବତ", "ସମ୍ମାନ", "ବଳ୍କଳ", "ଫାଲ୍ଗୁନ", "ସଂକଳ୍ପ", " ବଲ୍ଲଭ", "ଶିରଶ୍ଛେଦ", "ନିଷ୍ପୀଡନ", "ମାହାତ୍ମ୍ୟ", "ନିର୍ଦ୍ଧାରିତ", "ପଶ୍ଚିମ", "ପରିଷ୍କାର", "ଆସ୍ଫାଳନ", "ସମ୍ପ୍ରଦାନ", "ନିଷ୍ପ୍ରୟୋଜନ"]
  draw_shabdamegha(words, font_file_paths=['C:/Windows/Fonts/Kalinga.ttf', 'C:/Windows/Fonts/nirmala.ttc'], colors=True)


pkgId: 199a2f11d0a6e455ac91a0bb86ffe9aa93fdee73bad04bd7b4831ae91c243b90
name: python3-signe
arch: noarch
version: 0.4.22
epoch: 0
release: 1
url: https://github.com/CrystalWindSnake/py-signe
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-signe-0.4.22-1.src.rpm
location_href: Packages/python3-signe-0.4.22-1.noarch.rpm
checksum_type: sha256
summary:
  A responsive system implemented in python with reference to the core mechanisms of S.js and vue reactivity.

description:
  [中文文档](./README.cn.md)



  A responsive system implemented in python with reference to the core mechanisms of [S.js](https://github.com/adamhaile/S) and [vue reactivity](https://github.com/vuejs/core/tree/main/packages/reactivity).



  ```shell
  pip install signe
  ```




  ```python
  from signe import signal, effect, computed

  num = signal(1)

  @computed
  def plus1():
      return num.value + 1


  @effect
  def _():
      print('plus1 is :',plus1.value)



  num.value=10




  ```

  - `signal` Creates a signal. Reads and writes via `.value`.
  - `computed` Creates a computed expression. The argument is a function. When a signal (`signal.value`) is used in the function to get a value, this calculation expression is automatically associated with the signal. When the value of the signal changes, the computed expression is automatically triggered to change.
  - `effect` is essentially the same as `computed`. A change in the signal or `computed` expression is automatically captured and triggered.


pkgId: c1a63563613ae970b8c0e303be8d13ea03ec637329a1ba4ffc6120f143a93b03
name: python3-smol_k8s_lab
arch: noarch
version: 5.20.1
epoch: 0
release: 1
url: https://small-hack.github.io/smol-k8s-lab
rpm_license: AGPL-3.0-or-later
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-smol_k8s_lab-5.20.1-1.src.rpm
location_href: Packages/python3-smol_k8s_lab-5.20.1-1.noarch.rpm
checksum_type: sha256
summary:
  CLI and TUI to quickly install slimmer Kubernetes distros and then manage apps declaratively using Argo CD

description:
  * [Installation](#installation)
      * [pipx](#pipx)
      * [brew (still unstable)](#brew-still-unstable)
      * [Usage](#usage)
          * [Initialization](#initialization)
  * [Under the hood](#under-the-hood)
      * [Supported k8s distributions](#supported-k8s-distributions)
      * [Default Installed Applications](#default-installed-applications)
  * [Status](#status)

  🐝 sure to check out our full [installation guide](https://small-hack.github.io/smol-k8s-lab/installation/), but the gist of it is `smol-k8s-lab` can be installed via `pipx` (or `brew` coming soon).

  `smol-k8s-lab` requires Python 3.11+ (and [pipx](https://github.com/pypa/pipx)). If you've already got both and [other pre-reqs](https://small-hack.github.io/smol-k8s-lab/installation/#prerequisites), you should be able to:
  ```bash

  pipx install smol-k8s-lab

  smol-k8s-lab --help
  ```

  [`brew`] is the future preferred installation method for macOS/Debian/Ubuntu, as this will also install any non-python prerequisites you need, so you don't need to worry about them. This method is new, so please [let us know if anything isn't working for you](https://github.com/small-hack/homebrew-tap/issues).
  ```bash

  brew install small-hack/tap/smol-k8s-lab
  ```
  Then you should be able to check the version and cli options with:
  ```bash
  smol-k8s-lab --help
  ```
  <p align="center">
    <a href="https://raw.githubusercontent.com/jessebot/smol-k8s-lab/main/docs/assets/images/screenshots/help_text.svg">
        <img src="./docs/assets/images/screenshots/help_text.svg" alt="Output of smol-k8s-lab --help after cloning the directory and installing the prerequisites.">
    </a>
  </p>
  Checkout our [TUI docs](https://small-hack.github.io/smol-k8s-lab/tui/create_modify_screens/) for more info on how to get started playing with `smol-k8s-lab` :-)


  After you've followed the installation instructions, if you're *new* to `smol-k8s-lab`,  initialize a new config file:
  ```bash


  smol-k8s-lab
  ```
  <details>
    <summary><b>Upgrading config from v4.x to v5.x</b></summary>
  If you've installed smol-k8s-lab prior to `v5.0.0`, please backup your old configuration, and then remove the `~/.config/smol-k8s-lab/config.yaml` (or `$XDG_CONFIG_HOME/smol-k8s-lab/config.yaml`) file entirely, then run the following with either pip or pipx:
  *if using pip*:
  ```yaml

  pip3.11 uninstall smol-k8s-lab

  pip3.12 install --upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  *or if using pipx*:
  ```yaml

  pipx upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  We have done a *masive* upgrade of the config file. You'll need to update your configs based on the details in https://github.com/small-hack/smol-k8s-lab/pull/210 . The main changes are to the following (check each doc link for details):
  - [accessibility features](https://small-hack.github.io/smol-k8s-lab/config_file/#tui-and-accessibility-configuration)
  - [k3s nodes section](https://small-hack.github.io/smol-k8s-lab/config_file/#k3s)
  - [backups and restores](https://small-hack.github.io/smol-k8s-lab/config_file/#backups-and-restores)
  - [sensitive values](https://small-hack.github.io/smol-k8s-lab/config_file/#sensitive-values)
  - [k9s has been removed in favor of run command](https://small-hack.github.io/smol-k8s-lab/config_file/#run-command) (hint: you can still use k9s via run command)
  </details>
  <details>
    <summary><b>Upgrading config from v3.7.1 to v4.x</b></summary>
  If you've installed smol-k8s-lab prior to `v4.0.0`, please backup your old configuration, and then remove the `~/.config/smol-k8s-lab/config.yaml` (or `$XDG_CONFIG_HOME/smol-k8s-lab/config.yaml`) file entirely, then run the following with either pip or pipx:
  *if using pip*:
  ```yaml

  pip3.11 install --upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  *or if using pipx*:
  ```yaml

  pipx upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  The main breaking changes between `v3.7.1` and `v4.0.0` are that we now default enable metrics on most apps. Because of this, you need to have the Prometheus ServiceMonitor CRD installed ahead of time. Luckily, we now provide that as an app as well :) If you deleted your config and created a new one, it will already be there, but if you want to reuse your old config, you can add the app like this:
  ```yaml
  apps:
    prometheus_crds:
      description: |
        [link=https://prometheus.io/docs/introduction/overview/]Prometheus[/link] CRDs to start with.
        You can optionally disable this if you don't want to deploy apps with metrics.
      enabled: true
      argo:
        
        secret_keys: {}
        
        repo: https://github.com/small-hack/argocd-apps
        
        path: prometheus/crds/
        
        revision: main
        
        namespace: prometheus
        
        directory_recursion: false
        
        project:
          name: prometheus
          source_repos:
          - https://github.com/prometheus-community/helm-charts.git
          destination:
            
            namespaces:
            - kube-system
            - prometheus
  ```
  If using the default repos, please also disable directory directory_recursion for:
  - your prometheus stack app
  - zitadel
  For all changes, please check out [PR #206](https://github.com/small-hack/smol-k8s-lab/pull/206).
  </details>
  <details>
    <summary><b>Upgrading config from v2.2.4 to v3.x</b></summary>
  If you've installed smol-k8s-lab prior to `v3.0.0`, please backup your old configuration, and then remove the `~/.config/smol-k8s-lab/config.yaml` (or `$XDG_CONFIG_HOME/smol-k8s-lab/config.yaml`) file entirely, then run the following with either pip or pipx:
  *if using pip*:
  ```yaml

  pip3.11 install --upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  *or if using pipx*:
  ```yaml

  pipx upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  The main breaking changes between `v2.2.4` and `v3.0` are as follows:
  - *home assistant has graduated from demo app to live app*
  You'll need to change `apps.home_assistant.argo.path` to either `home-assistant/toleration_and_affinity/` if you're using node labels and taints, or `home-assistant/` if you're deploying to a single node cluster. Here's an example with no tolerations or node affinity:
  ```yaml
  apps:
    home_assistant:
      enabled: false
      description: |
        [link=https://home-assistant.io]Home Assistant[/link] is a home IOT management solution.
        By default, we assume you want to use node affinity and tolerations to keep home assistant pods on certain nodes and keep other pods off said nodes. If you don't want to use either of these features but still want to use the small-hack/argocd-apps repo, first change the argo path to /home-assistant/ and then remove the 'toleration_' and 'affinity' secret_keys from the yaml file under apps.home_assistant.description.
      argo:
        secret_keys:
          hostname: "home-assistant.coolestdogintheworld.dog"
        repo: https://github.com/small-hack/argocd-apps
        path: home-assistant/
        revision: main
        namespace: home-assistant
        directory_recursion: false
        project:
          source_repos:
          - http://jessebot.github.io/home-assistant-helm
          destination:
            namespaces:
            - argocd
  ```
  And here's an example for labeled and tainted nodes, where your pod can use tolerations and node affinity:
  ```yaml
  apps:
    home_assistant:
      enabled: false
      description: |
        [link=https://home-assistant.io]Home Assistant[/link] is a home IOT management solution.
        By default, we assume you want to use node affinity and tolerations to keep home assistant pods on certain nodes and keep other pods off said nodes. If you don't want to use either of these features but still want to use the small-hack/argocd-apps repo, first change the argo path to /home-assistant/ and then remove the 'toleration_' and 'affinity' secret_keys from the yaml file under apps.home_assistant.description.
      argo:
        secret_keys:
          hostname: "home-assistant.coolestdogintheworld.dog"
          toleration_key: "blutooth"
          toleration_operator: "Equals"
          toleration_value: "True"
          toleration_effect: "NoSchedule"
          affinity_key: "blutooth"
          affinity_value: "True"
        repo: https://github.com/small-hack/argocd-apps
        path: home-assistant/toleration_and_affinity/
        revision: main
        namespace: home-assistant
        directory_recursion: false
        project:
          source_repos:
          - http://jessebot.github.io/home-assistant-helm
          destination:
            namespaces:
            - argocd
  ```
  - *new k3s feature for adding additional nodes*
  This feature changes `k8s_distros.k3s.nodes` to be a dictionary so that you can include additional nodes for us to join to the cluster after we create it, but before we install apps. Here's an example of how you can add a new node to k3s on installation:
  ```yaml
  k8s_distros:
    k3s:
      enabled: false
      k3s_yaml:
        
        
        secrets-encryption: true
        
        disable:
        - "traefik"
        node-label:
        - "ingress-ready=true"
        kubelet-arg:
        - "max-pods=150"
      
      nodes:
        
        serverfriend1.lan:
          
          ssh_key: id_rsa
          
          node_type: worker
          
          node_labels:
            - iot=true
          
          node_taints:
            - iot=true:NoSchedule
  ```
  if you don't want to add any nodes, this is what you should change your nodes section to be:
  ```yaml
  k8s_distros:
    k3s:
      enabled: false
      k3s_yaml:
        
        
        secrets-encryption: true
        
        disable:
        - "traefik"
        node-label:
        - "ingress-ready=true"
        kubelet-arg:
        - "max-pods=150"
      
      nodes: {}
  ```
  - *cert-manager now supports DNS01 challenge solver using the Cloudflare provider*
  This feature reworks the `apps.cert_manager.init` and `apps.cert_manager.argo.secret_keys` sections.
  Here's an example of using the HTTP01 challenge solver, which would be the only previously supported challenge solver, so if you want everything to just work how it did before your config file should look like this:
  ```yaml
  apps:
    cert_manager:
      enabled: true
      description: |
        [link=https://cert-manager.io/]cert-manager[/link] let's you use LetsEncrypt to generate TLS certs for all your apps with ingress.
        smol-k8s-lab supports optional initialization by creating [link=https://cert-manager.io/docs/configuration/acme/]ACME Issuer type[/link] [link=https://cert-manager.io/docs/concepts/issuer/]ClusterIssuers[/link] using either the HTTP01 or DNS01 challenge solvers. We create two ClusterIssuers: letsencrypt-staging and letsencrypt-staging.
        For the DNS01 challange solver, you will need to either export $CLOUDFLARE_API_TOKEN as an env var, or fill in the sensitive value for it each time you run smol-k8s-lab.
        Currently, Cloudflare is the only supported DNS provider for the DNS01 challenge solver. If you'd like to use a different DNS provider or use a different Issuer type all together, please either set one up outside of smol-k8s-lab. We also welcome [link=https://github.com/small-hack/smol-k8s-lab/pulls]PRs[/link] to add these features :)
      
      init:
        
        
        
        enabled: true
        values:
          
          email: "you@emailsforfriends.com"
          
          cluster_issuer_acme_challenge_solver: http01
          
          
          cluster_issuer_acme_dns01_provider: cloudflare
        sensitive_values: []
      argo:
        secret_keys: {}
        
        repo: "https://github.com/small-hack/argocd-apps"
        
        path: "cert-manager/"
        
        revision: main
        
        namespace: "cert-manager"
        
        directory_recursion: false
        
        project:
          source_repos:
            - https://charts.jetstack.io
          destination:
            
            namespaces:
              - kube-system
  ```
  And here's how you'd use the new DNS01 feature (keep in mind you need to either provide a sensitive value each time you run `smol-k8s-lab`, OR you need to export `$CLOUDFLARE_API_TOKEN` as an env var prior to running `smol-k8s-lab`):
  ```yaml
  apps:
    cert_manager:
      enabled: true
      description: |
        [link=https://cert-manager.io/]cert-manager[/link] let's you use LetsEncrypt to generate TLS certs for all your apps with ingress.
        smol-k8s-lab supports optional initialization by creating [link=https://cert-manager.io/docs/configuration/acme/]ACME Issuer type[/link] [link=https://cert-manager.io/docs/concepts/issuer/]ClusterIssuers[/link] using either the HTTP01 or DNS01 challenge solvers. We create two ClusterIssuers: letsencrypt-staging and letsencrypt-staging.
        For the DNS01 challange solver, you will need to either export $CLOUDFLARE_API_TOKEN as an env var, or fill in the sensitive value for it each time you run smol-k8s-lab.
        Currently, Cloudflare is the only supported DNS provider for the DNS01 challenge solver. If you'd like to use a different DNS provider or use a different Issuer type all together, please either set one up outside of smol-k8s-lab. We also welcome [link=https://github.com/small-hack/smol-k8s-lab/pulls]PRs[/link] to add these features :)
      
      init:
        
        
        
        enabled: true
        values:
          
          email: "you@emailsforfriends.com"
          
          cluster_issuer_acme_challenge_solver: dns01
          
          
          cluster_issuer_acme_dns01_provider: cloudflare
        sensitive_values:
          
          
        - CLOUDFLARE_API_TOKEN
      argo:
        secret_keys: {}
        
        repo: "https://github.com/small-hack/argocd-apps"
        
        path: "cert-manager/"
        
        revision: main
        
        namespace: "cert-manager"
        
        directory_recursion: false
        
        project:
          source_repos:
            - https://charts.jetstack.io
          destination:
            
            namespaces:
              - kube-system
  ```
  </details>
  <details>
    <summary><b>Upgrading config from v1.x to v2.x</b></summary>
  If you've installed smol-k8s-lab prior to `v2.0.0`, please backup your old configuration, and then remove the `~/.config/smol-k8s-lab/config.yaml` (or `$XDG_CONFIG_HOME/smol-k8s-lab/config.yaml`) file entirely, then run the following:
  ```yaml

  pip3.11 install --upgrade smol-k8s-lab

  smol-k8s-lab
  ```
  The main difference between the old and new config files are for apps, we've added:
  - `apps.APPNAME.description` - for adding a custom description, set it to whatever you like
  - `apps.APPNAME.argo.directory_recursion` - so you can have bigger nested apps :)
  - `apps.APPNAME.argo.project.destination.namespaces` - control what namespaces are allowed for a project
  And we've changed:
  - `apps.APPNAME.argo.ref` to `apps.APPNAME.argo.revision`
  - `apps.APPNAME.argo.project_source_repos` to `apps.APPNAME.argo.project.source_repos`
  And we've REMOVED:
  - `apps.APPNAME.argo.part_of_app_of_apps` - this was mostly used internally, we think
  Here's an example of an updated cert-manager app with the new config:
  ```yaml
  apps:
    cert_manager:
      
      
      
      enabled: true
      description: |
        [link=https://cert-manager.io/]cert-manager[/link] let's you use LetsEncrypt to generate TLS certs for all your apps with ingress.
        smol-k8s-lab supports initialization by creating two [link=https://cert-manager.io/docs/concepts/issuer/]ClusterIssuers[/link] for both staging and production using a provided email address as the account ID for acme.
      
      init:
        
        
        
        enabled: true
      argo:
        secret_keys:
          
          email: ""
        
        repo: "https://github.com/small-hack/argocd-apps"
        
        path: "cert-manager/"
        
        revision: main
        
        namespace: "cert-manager"
        
        directory_recursion: false
        
        project:
          source_repos:
            - https://charts.jetstack.io
          destination:
            
            namespaces:
              - kube-system
  ```
  </details>

  Note: this project is not officially affiliated with any of the below tooling or applications.

  We always install the latest version of Kubernetes that is available from the distro's startup script.
  |  Distro    |         Description              |
  |:----------:|:------------------------------------------------------|
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/k3s_icon.ico" width="26">][k3s] <br /> [k3s] | The certified Kubernetes distribution built for IoT & Edge computing |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/k3d.png" width="26">][k3d] <br /> [k3d] | **TESTING PHASE** k3s in docker 🐳 |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/kind_icon.png" width="32">][KinD] <br /> [KinD] | kind is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI. |
  We tend to test first on k3s first, then the other distros. k3d support coming soon.

  All of these can be disabled with the exception of Argo CD, which is optional, but if not installed, `smol-k8s-lab` will <i>only</i> install: MetalLB, nginx-ingress, and cert-manager.
  |           Application           |                      Description                      | Initialization Supported |
  |:-------------------------------:|:------------------------------------------------------|:------------------------:|
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/metallb_icon.png" width="32px" alt="metallb logo, blue arrow pointing up, with small line on one leg of arrow to show balance">][metallb] <br /> [metallb] | Loadbalancer and IP Address pool manager for metal | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/nginx.ico" width="32px" alt="nginx logo, white letter N with green background">][ingress-nginx] <br /> [ingress-nginx] | The ingress controller allows access to the cluster remotely, needed for web traffic | ❌ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/cert-manager_icon.png" width="32px" alt="cert manager logo">][cert-manager] <br /> [cert-manager] | For SSL/TLS certificates | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/argo_icon.png" width="32" alt="argo CD logo, an organer squid wearing a fishbowl helmet">][Argo CD] <br /> [Argo CD] | Gitops - Continuous Deployment | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/argo_icon.png" width="32" alt="argo CD logo, an organer squid wearing a fishbowl helmet">][Argo CD Appset Secret Plugin] <br /> [Argo CD Appset Secret Plugin] | Gitops - Continuous Deployment | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/eso_icon.png" width="32" alt="ESO logo, outline of robot with astricks in a screen in it's belly">][ESO] <br /> [ESO] | external-secrets-operator integrates external secret management systems like Bitwarden or GitLab | ❌ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/eso_icon.png" width="32" alt="ESO logo, again">][Bitwarden ESO Provider] <br /> [Bitwarden ESO Provider] | Bitwarden external-secrets-operator provider  | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/zitadel.png" width="32" alt="Zitadel logo, an orange arrow pointing left">][ZITADEL] <br /> [ZITADEL] | An identity provider and OIDC provider to provide SSO | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/vouch.png" width="32" alt="Vouch logo, the letter V in rainbow ">][Vouch] <br /> [Vouch] | Vouch proxy allows you to secure web pages that lack authentication e.g. prometheus | ✅ |
  | [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/assets/images/icons/prometheus.png" width="32" alt="Prometheus logo, a torch">][Prometheus Stack] <br /> [Prometheus Stack] | Prometheus monitoring and logging stack using [loki]/[promtail], [alert manager], and [grafana]  | ✅ |
  For a complete list of installable applications, checkout the [default apps docs](https://small-hack.github.io/smol-k8s-lab/k8s_apps/). To install your own custom apps, you can check out an [example via the config file](https://small-hack.github.io/smol-k8s-lab/config_file/#applications) or [learn how to do it via the tui](https://small-hack.github.io/smol-k8s-lab/tui/apps_screen/#adding-new-applications).

  Somewhat stable and being actively supported, so if you'd like to [contribute](./CONTRIBUTING.md) or just found a :bug:, feel free to open an issue (and/or pull request), and we'll try to take a look ASAP!
  <!-- k8s distro link references -->
  [k3s]: https://k3s.io/
  [k3d]: https://k3d.io/
  [KinD]: https://kind.sigs.k8s.io/
  <!-- k8s optional apps link references -->
  [ESO]: https://external-secrets.io/v0.8.1/
  [alert manager]: https://prometheus.io/docs/alerting/latest/alertmanager/
  [Argo CD]:https://argo-cd.readthedocs.io/en/latest/
  [Argo CD Appset Secret Plugin]: https://github.com/jessebot/argocd-appset-secret-plugin/
  [cert-manager]: https://cert-manager.io/docs/
  [cilium]: https://github.com/cilium/cilium/tree/v1.14.1/install/kubernetes/cilium
  [Bitwarden ESO Provider]: https://github.com/jessebot/bitwarden-eso-provider
  [grafana]: https://grafana.com/
  [ingress-nginx]: https://github.io/kubernetes/ingress-nginx
  [k8tz]: https://github.com/small-hack/argocd-apps/tree/main/alpha/k8tz
  [k8up]: https://k8up.io
  [Kyverno]: https://github.com/kyverno/kyverno/
  [kepler]: https://github.com/sustainable-computing-io/kepler-helm-chart/tree/main/chart/kepler
  [Local Path Provisioner]: https://github.com/rancher/local-path-provisioner
  [loki]: https://grafana.com/oss/loki/
  [Mastodon]: https://joinmastodon.org/
  [matrix]: https://matrix.org/
  [metallb]: https://github.io/metallb/metallb "metallb"
  [minio]: https://min.io/
  [Nextcloud]: https://github.com/nextcloud/helm
  [Prometheus Stack]: https://github.com/small-hack/argocd-apps/tree/main/prometheus
  [promtail]: https://grafana.com/docs/loki/latest/send-data/promtail/
  [Vouch]: https://github.com/jessebot/vouch-helm-chart
  [ZITADEL]: https://github.com/zitadel/zitadel-charts/tree/main
  <!-- k8s tooling reference -->
  [`brew`]: https://brew.sh
  [k9s]: https://k9scli.io/topics/install/
  [restic]: https://restic.readthedocs.io/en/stable/


pkgId: 488ffa10827a3474b91817bbaa59327fd8af47c85fd89a44e2f88e582d101369
name: python3-social-post-api
arch: noarch
version: 1.2.3
epoch: 0
release: 1
url: https://www.ayrshare.com
rpm_license: Apache License 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-social-post-api-1.2.3-1.src.rpm
location_href: Packages/python3-social-post-api-1.2.3-1.noarch.rpm
checksum_type: sha256
summary:
  Social Media API: Schedule posts, get analytics, manage comments for Instagram, X/Twitter, Facebook, YouTube, LinkedIn, Google Business Profile, Pinterest, Telegram, TikTok, and Reddit.

description:
  ![Ayrshare logo](https://www.ayrshare.com/wp-content/uploads/2020/08/ayr-logo-2156-reduced.png)

  The Social Media API is a Python wrapper SDK for [Ayrshare's APIs](https://www.ayrshare.com). While most of the capabliites are supported, the Python wrapper SDK is not as feature complete as the [Ayrshare's APIs](https://www.ayrshare.com/docs/introduction).
  The Social Media API is a Python wrapper SDK for [Ayrshare's APIs](https://www.ayrshare.com). While most of the capabliites are supported, the Python wrapper SDK is not as feature complete as the [Ayrshare's APIs](https://www.ayrshare.com/docs/introduction).



  Ayrshare is a powerful set of APIs that enable you to send social media posts, get analytics, manage comments, do DMs, and more to *X/Twitter*, *Instagram*, *Facebook*, *LinkedIn*, *YouTube*, *Google Busienss Profile*, *Pinterest*, *TikTok*, *Reddit*, and *Telegram* on behalf of your users or clients.

  The Ayrshare Social API handles all the setup and maintenance for the social media networks. One API to rule them all (yeah, went there). See the full list of [full list of features](https://www.ayrshare.com/docs/apis/overview).
  The Ayrshare Social API handles all the setup and maintenance for the social media networks. One API to rule them all (yeah, went there). See the full list of [full list of features](https://www.ayrshare.com/docs/apis/overview).

  Get started with a [free plan](https://www.ayrshare.com/pricing), or if you have a platform or manage multiple users check out the [Business Plan](https://www.ayrshare.com/business-plan-for-multiple-users/).

  For more information on setup, see our installation [video](https://youtu.be/G8M6DZdtcMc) or our [Quick Start Guide](https://www.ayrshare.com/docs/quickstart).
  For more information on setup, see our installation [video](https://youtu.be/G8M6DZdtcMc) or our [Quick Start Guide](https://www.ayrshare.com/docs/quickstart).



  `pip install social-post-api`



  **1.** Create a free [Ayrshare account](https://app.ayrshare.com).

     ![alt Social Accounts Setup](https://www.ayrshare.com/wp-content/uploads/Ayrshare-login.png)

  **2.** Enable your social media accounts such as C/Twitter, Facebook, LinkedIn, Reddit, Instagram, Google Business Profile, Telegram, TikTok, or YouTube in the Ayrshare dashboard.

     ![alt Social Accounts Setup](https://www.ayrshare.com/wp-content/uploads/Ayrshare-social-linking.png)

  **3.** Copy your API Key from the Ayrshare dashboard. Used for authentication.

     ![alt API Key](https://www.ayrshare.com/wp-content/uploads/Ayrshare-API-key.png)





  Create a new Social Post object with your API Key.

  ``` python
  from ayrshare import SocialPost
  social = SocialPost('DJED-DKEP-SJWK-WJKS') # get an API Key at ayrshare.com
  ```



  This simple example shows how to post, get history, and delete the post. This example assumes you have a free API key from [Ayrshare](https://www.ayrshare.com) and have enabled X/Twitter, Facebook, and LinkedIn. Note, Instagram, Telegram, YouTube, TikTok, and Reddit also available.

  ``` python
  from ayrshare import SocialPost
  social = SocialPost('8jKj782Aw8910dCN') # get an API Key at ayrshare.com


  postResult = social.post({'post': 'Nice Posting 2', 'platforms': ['twitter', 'facebook', 'linkedin']})
  print(postResult)


  deleteResult = social.delete({'id': postResult['id']})
  print(deleteResult)


  print(social.history())
  ```





  [Published a new post](https://www.ayrshare.com/docs/apis/post/overview) to the specified social networks either immediately or at scheduled future date with the Social API. Returns a promise that resolves to an object containing the post ID and post status (success, error). See the [post endpoint](https://www.ayrshare.com/docs/apis/post/post) for the full capabilities.

  ``` python
  postResponse = social.post({
      
      'post': 'Best post ever!',

    
    
      'platforms': ['twitter', 'facebook', 'linkedin', 'pinterest', 'telegram', 'instagram'],

    
    'mediaUrls': ['https://img.ayrshare.com/012/gb.jpg'],

    
    
    'scheduleDate': '2020-08-07T15:17:00Z',

    
    
    'shorten_links': true
  })
  ```



  Delete a post with a given post ID, obtained from the "post" response. Returns a promise with the delete status. Also, can bulk delete multiple IDs at once using the "bulk" key. See the [delete endpoint](https://www.ayrshare.com/docs/apis/post/delete-post) for more details.
  Delete a post with a given post ID, obtained from the "post" response. Returns a promise with the delete status. Also, can bulk delete multiple IDs at once using the "bulk" key. See the [delete endpoint](https://www.ayrshare.com/docs/apis/post/delete-post) for more details.

  ``` python
  deleteResponse = social.delete({
      
      'id': 'POST ID',                          # Optional, but required if "bulk" not present
      'bulk': ['Post ID 1', 'Post ID 2', ...]   # Optional, but required if "id" not present
    })
  ```



  Get a post with a given post ID. Returns a promise that resolves to a post object. See the [get post endpoint](https://www.ayrshare.com/docs/apis/post/get-post) for more details.
  Get a post with a given post ID. Returns a promise that resolves to a post object. See the [get post endpoint](https://www.ayrshare.com/docs/apis/post/get-post) for more details.

  ``` python
  getResponse = social.getPost({
      
      'id': 'POST ID',
    })
  ```



  Retry a failed post with a given post ID. Returns a promise that resolves to an object with the post status. See the [retry post endpoint](https://www.ayrshare.com/docs/apis/post/retry-post) for more details.
  Retry a failed post with a given post ID. Returns a promise that resolves to an object with the post status. See the [retry post endpoint](https://www.ayrshare.com/docs/apis/post/retry-post) for more details.

  ``` python
  retryResponse = social.retryPost({
      
      'id': 'POST ID',
    })
  ```



  Update a post with a given post ID. Returns a promise that resolves to an object with status and update info. See the [update post endpoint](https://www.ayrshare.com/docs/apis/post/retry-post) for more details.

  ``` python
  updateResponse = social.updatePost({
      'id': 'POST ID',                         # Required: ID of the post to update
      'scheduleDate': '2024-08-07T15:17:00Z',  # Optional: Datetime to schedule a future post.
      'approved': 'true',                         # Optional: Approve the post to send it.
      'youTubeOptions': {                         # Optional: YouTube specific options
        'title': 'New Title',
        'description': 'New Description',
        'visibility': 'unlisted',
        'categoryId': 24,
      },
      'notes': 'New notes',                      # optional: Notes about the post
    })
  ```



  Get a [history](https://www.ayrshare.com/docs/apis/history/overview) of all posts and their current status in descending order. Returns a promise that resolves to an array of post objects. See the [history endpoint](https://www.ayrshare.com/docs/apis/history/get-history) for more details.

  ``` python
  historyResponse = social.history({
    'lastRecords': 10,    # optional: returns the last X number of history records
    'lastDays': 30,       # optional: returns the last X number of days of history records. Defaults to 30 if not present.
  })
  ```



  Upload and store a new image. Returns a URL referencing the image. Can be used in "image_url" in "post". See the [media endpoint](https://www.ayrshare.com/docs/apis/media/overview) for more details.

  ``` python
  uploadResponse = social.upload({
    
    'file': 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...',

    
    'fileName': 'test.png',

    
      'description': 'best image'
  })
  ```



  Get all media URLS. Returns a promise that resolves to an array of URL objects. See the [media endpoint](https://www.ayrshare.com/docs/apis/media/get-media-in-gallery) for more details.
  Get all media URLS. Returns a promise that resolves to an array of URL objects. See the [media endpoint](https://www.ayrshare.com/docs/apis/media/get-media-in-gallery) for more details.

  ``` python
  mediaResponse = social.media()
  ```



  Verify that the media file exists when uploaded. See the [media verify exists endpoint](https://www.ayrshare.com/docs/apis/media/verify-media-url) for more details.
  Verify that the media file exists when uploaded. See the [media verify exists endpoint](https://www.ayrshare.com/docs/apis/media/verify-media-url) for more details.

  ``` python
  verifyResponse = social.verifyMediaExists({
    
    'mediaUrl': 'https://img.ayrshare.com/012/gb.jpg',
  })
  ```



  Get image resized according to social network requirements. See the [resize image endpoint](https://www.ayrshare.com/docs/apis/media/resize) for more details.
  Get image resized according to social network requirements. See the [resize image endpoint](https://www.ayrshare.com/docs/apis/media/resize) for more details.

  ``` python
  resizeResponse = social.resizeImage({
    'imageUrl': "https://theImage.jpg", # required: URL of the image to resize
    'platform': "facebook" # required: Platform to resize the image for.
    'watermarkUrl': "https:#theWatermark.png", # optional: URL of the watermark image to add to the image.
    'effects': { color: "#A020F0" } # optional: Change opacity, colors, etc. See endpoint for more details.
    'dimensions': { width: 1200, height: 628 } # optional: Width and height of the image. Required if platform is not specified.
    'mode': "blur" # optional. See endpoint for more details.
  })
  ```



  Get data about the logged in [user](https://www.ayrshare.com/docs/apis/user/overview), such as post quota, used quota, active social networks, and created date. See the [user endpoint](https://www.ayrshare.com/docs/apis/user/profile-details) for more details.

  ``` python
  user = social.user()
  ```



  Shorten a URL and return the shortened URL. See the [shorten endpoint](https://www.ayrshare.com/docs/apis/links/create-short-link) for more details.

  ``` python
  shortenResponse = social.shorten({
      
      'url': 'https://theURLtoShorten.com/whatmore',
    })
  ```



  Get [analytics](https://www.ayrshare.com/docs/apis/analytics/overview) on shortened links and shares, likes, shares, and impressions with for a post or at the accounts level. See the [analytics endpoint](https://www.ayrshare.com/docs/apis/analytics/post) for more details.

  ``` python
  analytics = social.analyticsLinks({
    
    'lastDays': 3
  })
  ```

  ``` python
  analytics = social.analyticsPost({
    'id': 'Post ID',
    'platforms': ['twitter', 'linkedin'] # optional: filter by platform
  })
  ```



  Get analytics on a social network. Returns a promise that resolves to an object containing the analytics data. See the [social analytics endpoint](https://www.ayrshare.com/docs/apis/analytics/social) for more details.

  ```python
  analytics = social.analyticsSocial({
    'platforms': ['twitter', 'linkedin'] # required
  })
  ```



  Add a new RSS or Substack feed to auto post all new articles. Returns a promise that resolved to an object containing the feed ID. See [How to Automate Your Blog or Newsletter](https://www.ayrshare.com/how-to-automatically-post-your-blog-or-newsletter-to-social-media/) for more info.

  ``` python
  feedResponse = social.addFeed({
    
    'url': 'https://theRSSFeed',

    
    
      'type': 'RSS',
  })
  ```



  Delete an RSS feed for a given ID.

  ``` python
  feedResponse = social.deleteFeed({
    
    'id': 'Feed ID',
  })
  ```



  Get all registered RSS feeds. Returns a promise that resolves to an array of feed objects. See the [RSS Feeds](https://www.ayrshare.com/docs/apis/feeds/overview) for more details.

  ``` python
  feedsResponse = social.getFeeds()
  ```



  Update an RSS feed for a given ID. Returns a promise that resolves to an object containing the feed ID. See the [update feed endpoint](https://www.ayrshare.com/docs/apis/feeds/update-feed) for more details.
  Update an RSS feed for a given ID. Returns a promise that resolves to an object containing the feed ID. See the [update feed endpoint](https://www.ayrshare.com/docs/apis/feeds/update-feed) for more details.

  ``` python
  feedResponse = social.updateFeed({
      'id': 'Feed ID', # required: ID of the feed
      'useFirstImage': 'true', # optional: Use the first image in the article to add to the post.
      'autoHashtag': 'true', # optional: Automatically add hashtags to the post.
    })
  ```



  Get comments for a post. See the [comments endpoint](https://www.ayrshare.com/docs/apis/comments/overview) for more details.

  ``` python
  getCommentsResponse = social.getComments({
    
    'id': 'Post Id',
  })
  ```



  Add a comment to a post. See the [create comment endpoint](https://www.ayrshare.com/docs/apis/comments/post-comment) for more details.

  ``` python
  postCommentResponse = social.postComment({
    
    'id': 'Post Id',
    'platforms': ['facebook', 'instagram'],
    'comment': 'The best comment ever!',
  })
  ```



  Delete either a single comment or all comments under a post that were sent via Ayrshare. Available for Facebook, Instagram, LinkedIn, Reddit, TikTok, X/Twitter, and YouTube. See the [delete comments endpoint](https://www.ayrshare.com/docs/apis/comments/post-comment) for more details.

  ``` python
  deleteCommentResponse = social.deleteComments({
      'id': "Pkdo9sjk2", # required: Post top-level ID or social comment ID
      'platforms': ["instagram", "facebook"], # optional: Required only if using the social comment id.
    })
  ```



  Reply to a comment. Available for Facebook, Instagram, LinkedIn, TikTok, X/Twitter, and YouTube. See the [reply comment endpoint](https://www.ayrshare.com/docs/apis/comments/reply-to-comment) for more details.
  Reply to a comment. Available for Facebook, Instagram, LinkedIn, TikTok, X/Twitter, and YouTube. See the [reply comment endpoint](https://www.ayrshare.com/docs/apis/comments/reply-to-comment) for more details.

  ``` python
  replyCommentResponse = social.replyComment({
      'commentId': 'Pkdo9sjk2', # required: The Ayrshare commentId returned from the POST comment endpoint. Be sure to use the top level commentId.
      'platforms': ['instagram', 'facebook'], # required: Array of platforms to post the reply. Values: facebook, instagram, linkedin, tiktok, twitter, youtube
      'comment': 'What a comment' # required: The reply to add to the comment.
    })
  ```



  The [Business Plan](https://www.ayrshare.com/business-plan-for-multiple-users/) allows you to create, manage, and post on behalf of client profiles via the API or Dashboard GUI. You can [integrate](https://www.ayrshare.com/docs/multiple-users/business-plan-overview) Ayrshare into your platform, product, or agency and give your clients social media capabilites. Please [contact us](mailto:contact@ayrshare.com) with any questions.

  A User Profile PROFILE_KEY can be used in the body or query parameters with the `profileKey` field. For example:

  ``` python
  postResult = social.post({
      'post': 'Nice Posting 2',
      'platforms': ['twitter', 'facebook', 'linkedin'],
      'profileKey': 'JI9s-kJII-9283-OMKM',
  })
  ```

  Please see the [Authorization](https://www.ayrshare.com/docs/apis/overview#authorization) docs for more details.



  Create a new account [profile](https://www.ayrshare.com/docs/apis/profiles/overview) under the primary account. See the [create profile endpoint](https://www.ayrshare.com/docs/apis/profiles/create-profile) for more details.

  ``` python
  createProfileResponse = social.createProfile({
      
      'title': 'New Profile Title',
  })
  ```



  Delete a profile owned by the primary account. See the [delete profile endpoint](https://www.ayrshare.com/docs/apis/profiles/delete-profile) for more details.
  Delete a profile owned by the primary account. See the [delete profile endpoint](https://www.ayrshare.com/docs/apis/profiles/delete-profile) for more details.

  ``` python
  deleteProfileResponse = social.deleteProfile({
      
      'profileKey': 'JI9s-kJII-9283-OMKM',
    })
  ```



  Generate a JWT Token and URL used for authorizing a user's access to the Social Account linking page. See the [generate JWT endpoint](https://www.ayrshare.com/docs/apis/profiles/generate-jwt) for more details.
  Generate a JWT Token and URL used for authorizing a user's access to the Social Account linking page. See the [generate JWT endpoint](https://www.ayrshare.com/docs/apis/profiles/generate-jwt) for more details.

  ``` python
  generateJWTResponse = social.generateJWT({
      'domain': 'mydomain',
      'privateKey': 'private key data...',
      'profileKey': 'JI9s-kJII-9283-OMKM',
    })
  ```



  Update a profile owned by the primary account. See the [update profile endpoint](https://www.ayrshare.com/docs/apis/profiles/update-profile) for more details.
  Update a profile owned by the primary account. See the [update profile endpoint](https://www.ayrshare.com/docs/apis/profiles/update-profile) for more details.

  ``` python
  updateProfileResponse = social.updateProfile({
    'profileKey': 'JI9s-kJII-9283-OMKM',  #Required: profileKey - the API Key of the profile to update
    'title': 'This is a great new title' #Optional: the new title of the profile
    'disableSocial': ['facebook', 'linkedin'] #Optional: an array of social networks to disable
    'hideTitle': 'true' #Optional: hide the title of the profile
    'displayTitle': 'true' #Optional: display the title of the profile
    })
  ```



  Get all the profiles associated with the primary account. See the [get profile endpoint](https://www.ayrshare.com/docs/apis/profiles/get-profiles) for more details.
  Get all the profiles associated with the primary account. See the [get profile endpoint](https://www.ayrshare.com/docs/apis/profiles/get-profiles) for more details.

  ``` python
  getProfileResponse = social.getProfiles()
  ```



  Unlink a social account for a given user profile owned by the primary account. See the [unlink social network endpoint](https://www.ayrshare.com/docs/apis/profiles/unlink-social-network) for more details.
  Unlink a social account for a given user profile owned by the primary account. See the [unlink social network endpoint](https://www.ayrshare.com/docs/apis/profiles/unlink-social-network) for more details.

  ``` python
  unlinkResponse = social.unlinkSocial({
      'profileKey': "JI9s-kJII-9283-OMKM",     # Required: profileKey - the API Key of the profile to unlink for.
      'platform': "facebook"
    })
  ```



  Get brand information on users and companies public social media accounts. See the [brand endpoint](https://www.ayrshare.com/docs/apis/brand/overview) for more details.

  ``` python
  brandResponse = social.getBrandByUser({
      'platforms': ['instagram', 'facebook'],
      'instagramUser': '@ayrshare',
      'facebookUser': 'ayrshare',
    })
  ```



  Automatically add hashtags to your post. See the [auto hashtags endpoint](https://www.ayrshare.com/docs/apis/hashtags/overview) for more details.

  ``` python
  autoHashtagsResponse = social.autoHashtags({
      'post': 'I love social media', # required: Post text to add hashtags for.
      'position': 'auto' # optional: Position of the hashtags. Values: 'auto', 'end'. Default: 'auto'.
      'max': 2 # optional: Maximum number of hashtags to add, ranging 1-5. Default: 2.
  })
  ```



  Get suggestions for hashtags based on a keyword. See the [recommend hashtags endpoint](https://www.ayrshare.com/docs/apis/hashtags/recommend-hashtags) for more details.
  Get suggestions for hashtags based on a keyword. See the [recommend hashtags endpoint](https://www.ayrshare.com/docs/apis/hashtags/recommend-hashtags) for more details.

  ``` python
  recommendHashtagsResponse = social.recommendHashtags({
      'keyword': 'social media', # required: Keyword to get hashtags for.
  })
  ```



  Check if a hashtag is banned on Instagram or other social networks. See the [check banned hashtags endpoint](https://www.ayrshare.com/docs/apis/hashtags/check-hashtags) for more details.
  Check if a hashtag is banned on Instagram or other social networks. See the [check banned hashtags endpoint](https://www.ayrshare.com/docs/apis/hashtags/check-hashtags) for more details.

  ``` python
  checkBannedHashtagsResponse = social.checkBannedHashtags({
      'hashtag': 'socialmedia', # required: Hashtag to check.
  })
  ```



  Retrieve all the reviews for the specified platform. See the [get all reviews endpoint](https://www.ayrshare.com/docs/apis/reviews/get-reviews) for more details.
  Retrieve all the reviews for the specified platform. See the [get all reviews endpoint](https://www.ayrshare.com/docs/apis/reviews/get-reviews) for more details.

  ``` python
  allReviewsResponse = social.reviews({
      'platform': 'facebook', # required: Platform to get reviews for. Currently available: "facebook", "gmb"
  })
  ```



  Retrieve a single review. See the [get single review endpoint](https://www.ayrshare.com/docs/apis/reviews/get-one-review) for more details.
  Retrieve a single review. See the [get single review endpoint](https://www.ayrshare.com/docs/apis/reviews/get-one-review) for more details.

  ``` python
  singleReviewResponse = social.review({
      'id': 'Review ID', # required
      'platform': 'gmb', # required: Platform to get review for. Currently available: "gmb"
  })
  ```



  Reply to a review. See the [reply to review endpoint](https://www.ayrshare.com/docs/apis/reviews/reply-review) for more details.
  Reply to a review. See the [reply to review endpoint](https://www.ayrshare.com/docs/apis/reviews/reply-review) for more details.

  ``` python
  replyReviewResponse = social.replyReview({
      'reviewId': 'Review ID', # required: Review ID to reply to.
      'platform': 'facebook', # required: Platform to reply to review for. Currently available: "facebook", "gmb"
      'reply': 'Thank you for the review' # required: Text of the reply to the review.
  })
  ```



  Delete a review reply. See the [delete review reply endpoint](https://www.ayrshare.com/docs/apis/reviews/reply-review) for more details.

  ``` python
  deleteReplyReviewResponse = social.deleteReplyReview({
      'reviewId': 'Review ID', # required: Review ID to delete reply for.
      'platform': 'gmb', # required: Platform to delete reply for. Currently available: "gmb"
  })
  ```





  Generate a new social post using ChatGPT. Token limits applicable. See the [generate post endpoint](https://www.ayrshare.com/docs/apis/generate/post-text) for more details.
  Generate a new social post using ChatGPT. Token limits applicable. See the [generate post endpoint](https://www.ayrshare.com/docs/apis/generate/post-text) for more details.

  ``` python
  generatePostResponse = social.generatePost({
      'text': 'I love social media', # required: Description of what the post should be about.
      'hashtags': 'true', #optional: Include hashtags in the post. Default: true
      'emojis': 'true', # optional: Include emojis in the post. Default: false
      'twitter': 'true', # optional: Construct a post 280 or few characters. Default: false
  })
  ```



  Generate variations of a social media post using ChatGPT. Token limits applicable. See the [generate rewrite endpoint](https://www.ayrshare.com/docs/apis/generate/rewrite-post) for more details.
  Generate variations of a social media post using ChatGPT. Token limits applicable. See the [generate rewrite endpoint](https://www.ayrshare.com/docs/apis/generate/rewrite-post) for more details.

  ``` python
  generateRewriteResponse = social.generateRewrite({
      'post': 'I love social media', # required: The post text to be rewritten.
      'emojis': 'true', # optional: Include emojis in the post. Default: false
      'hashtags': 'true', # optional: Include hashtags in the post. Default: false
      'twitter': 'true', # optional: Construct a post 280 or few characters. Default: false
      'rewrites': 5, # optional: Number of rewrites to generate. Default: 5
  })
  ```



  Provide a transcription of a video file. See the [generate transcription endpoint](https://www.ayrshare.com/docs/apis/generate/transcribe-video) for more details.
  Provide a transcription of a video file. See the [generate transcription endpoint](https://www.ayrshare.com/docs/apis/generate/transcribe-video) for more details.

  ``` python
  generateTranscriptionResponse = social.generateTranscription({
    'videoUrl': 'https://theVideo.mp4', # required: URL encoded video URL. The video must be hosted by Ayrshare.
  })
  ```



  Translate text for a post to over 100 different languages. See the [generate translation endpoint](https://www.ayrshare.com/docs/apis/generate/translate-post) for more details.
  Translate text for a post to over 100 different languages. See the [generate translation endpoint](https://www.ayrshare.com/docs/apis/generate/translate-post) for more details.

  ``` python
  generateTranslationResponse = social.generateTranslation({
    'text': 'I love social media', # required: The text to be translated.
    'lang': 'es', # required: The language code to translate the text to.
  })
  ```



  Generate a sentiment analysis on a social media post or comment to understand if the text is positive, negative, or neutral and recommendations on improving the text for a more positive reaction. See the [generate sentiment analysis endpoint](https://www.ayrshare.com/docs/apis/generate/sentiment) for more details.

  ``` python
  generateSentiment= social.generateSentiment({
    'text': 'I love social media' # required: The text to generate a sentiment analysis for.
  })
  ```



  Create AI-generated alt text for your images.  See the [generate alt text endpoint](https://www.ayrshare.com/docs/apis/generate/sentiment) for more details.

  ``` python
  generateAltTextResponse = social.generateAltText({
      'url': 'https://theImage.jpg', # required: URL of the image to generate alt text for.
      'keywords': ['social media', 'ayrshare'], # optional: Keywords to help the AI generate better alt text.
      'lang': 'en' # optional: The language code to generate the alt text in. Default: 'en'
  })
  ```



  Provide a URL and a shortened link will be returned. See the [shorten link endpoint](https://www.ayrshare.com/docs/apis/links/overview) for more details.

  ``` python
  shortenLinkResponse = social.shortLink({
      'url': 'https://theURL.com', # required: URL to shorten.
      'utmId': '1234', # optional: UTM ID to track the link. See more details about utm parameters at endpoint link above.
      'utmSource': 'source', # optional
      'utmMedium': 'medium', # optional
      'utmCampaign': 'campaign', # optional
      'utmTerm': 'term', # optional
      'utmContent': 'content', # optional
  })
  ```



  Return analytics for all shortened links or a single link for a given link ID. See the [analytics link endpoint](https://www.ayrshare.com/docs/apis/links/link-analytics) for more details.
  Return analytics for all shortened links or a single link for a given link ID. See the [analytics link endpoint](https://www.ayrshare.com/docs/apis/links/link-analytics) for more details.

  ``` python
  analyticsLinkResponse = social.shortLinkAnalytics({
      'id': 'Link ID', # optional: Link ID to get analytics for.
      'fromCreatedDate': '2023-07-08T12:30:00Z', # optional: Get history of links shortened after this date.
      'toCreatedDate': '2023-07-08T12:30:00Z', # optional: Get history of links shortened before this date.
      'fromClickDate': '2023-07-08T12:30:00Z', # optional: Get history of links clicked after this date.
      'toClickDate': '2023-07-08T12:30:00Z', # optional: Get history of links clicked before this date.
  })
  ```



  - [Webhooks endpoints](https://www.ayrshare.com/docs/apis/webhooks/overview)
  - [Webhooks endpoints](https://www.ayrshare.com/docs/apis/webhooks/overview)
  - unregisterWebhook
  - listWebhook
  - setAutoSchedule
  - deleteAutoSchedule
  - listAutoSchedule



  We have other package and integrations such as [Node NPM](https://www.ayrshare.com/docs/packages-guides/nodejs), [Bubble.io](https://www.ayrshare.com/docs/packages-guides/bubble), [Make](https://www.ayrshare.com/docs/packages-guides/make), and [Airtable](https://www.ayrshare.com/docs/packages-guides/airtable).



  Additional examples, responses, etc. can be found at:

  [RESTful API Endpoint Docs](https://www.ayrshare.com/docs/apis/overview)
  [RESTful API Endpoint Docs](https://www.ayrshare.com/docs/apis/overview)

  [GitHub](https://github.com/ayrshare/social-post-api-python)

  See our [changelog](https://www.ayrshare.com/docs/whatsnew/latest) for the latest and greatest.
  See our [changelog](https://www.ayrshare.com/docs/whatsnew/latest) for the latest and greatest.

  Please [contact us](mailto:support@ayrshare.com) with your questions, or just to give us shout-out 📢!


pkgId: 3057b3e1947caaf1a1714abe7bafaeed7c50c45b53b0998e743239c979a5d681
name: python3-spectrum.py
arch: noarch
version: 0.0.8
epoch: 0
release: 1
url: http://github.com/henry232323/spectrum.py
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-spectrum.py-0.0.8-1.src.rpm
location_href: Packages/python3-spectrum.py-0.0.8-1.noarch.rpm
checksum_type: sha256
summary:
  spectrum.py is a [discord.py](https://github.com/Rapptz/discord.py) style proof-of-concept library for making chatbots for Star Citizen's [Spectrum](https://robertsspaceindustries.com/spectrum/community/SC) chat client.

description:
  spectrum.py is a [discord.py](https://github.com/Rapptz/discord.py) style proof-of-concept library for making chatbots
  for Star Citizen's [Spectrum](https://robertsspaceindustries.com/spectrum/community/SC) chat client. It also offers HTTP clients for interacting
  with both Spectrum's REST API and the Community Hub's GraphQL API.


  ```shell

  python -m pip install spectrum.py

  python -m pip install git+https://github.com/henry232323/spectrum.py
  ```



  ```python
  import asyncio
  from spectrum import Client, Message

  class MyClient(Client):
      async def on_message(self, message: Message):
          print(message)

      async def on_ready(self):
          print("We're ready!")


  async def run():
      myclient = MyClient(
          rsi_token=...,
          device_id=...,
      )

      asyncio.ensure_future(myclient.run())
      await asyncio.Event().wait()


  asyncio.run(run())
  ```



  ```python
  import asyncio
  from spectrum import HTTPClient

  async def run():
      client = HTTPClient(
          rsi_token=...,
          device_id=...,
      )

      await client.identify()
      member = await client.fetch_member_by_handle("Khuzdul")
      print(member)

      await client.close()

  asyncio.run(run())
  ```


  ```python
  import asyncio
  from spectrum import CommunityHubClient

  async def run():
      client = CommunityHubClient()
      print(await client.fetch_user_profile("Khuzdul"))

  asyncio.run(run())
  ```


  The bot can be run in a read only state without any authentication.
  If you want to be able to send messages or read private messages (and eventually do other things),
  you'll need to provide credentials for an RSI account. These can be found in the cookies sent
  with any request to [RSI](https://robertsspaceindustries.com/) when logged in.

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


pkgId: b02961d26b59279a6a200aa02544f83b5988dc06f0618348daa15ea3581f3605
name: python3-sql-blocks
arch: noarch
version: 0.31.13
epoch: 0
release: 1
url: https://github.com/julio-cascalles/sql_blocks
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-sql-blocks-0.31.13-1.src.rpm
location_href: Packages/python3-sql-blocks-0.31.13-1.noarch.rpm
checksum_type: sha256
summary:
  Allows you to create objects for parts of SQL query commands. Also to combine these objects by joining them, adding or removing parts...

description:
  * a = Select('Actor a', **name=Field**)
  * Here are another ways to add a field:
      - Select('Actor a', name=Distinct )
      - Select('Actor a', name=NamedField('actors_name'))
      - Select(
          'Actor a',
          name=NamedField('actors_name', Distinct)
      )
      2.1 -- Using expression as a field:
  ```
      Select(
          'Product',
          due_date=NamedField(
              'YEAR_ref',
              ExpressionField('extract(year from {f})') #  <<---
          )
      )
  ```


pkgId: 18404e17ab67ee66b38f3161a6b8e5dccfec6e037118967a75921295a4edde0e
name: python3-sqlalchemy-ingres
arch: noarch
version: 0.0.10
epoch: 0
release: 1
url: https://github.com/ActianCorp/sqlalchemy-ingres
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-sqlalchemy-ingres-0.0.10-1.src.rpm
location_href: Packages/python3-sqlalchemy-ingres-0.0.10-1.noarch.rpm
checksum_type: sha256
summary:
  SQLAlchemy dialect for Actian databases; Actian Data Platform (nee Avalanche), Actian X, Ingres, and Vector

description:
  - [Quickstart](#quickstart)
    * [Install from PyPi](#install-from-pypi)
    * [Install latest from GitHub, without a source code checkout](#install-latest-from-github--without-a-source-code-checkout)
    * [Install latest from GitHub, with a source code checkout](#install-latest-from-github--with-a-source-code-checkout)
  - [Development instructions](#development-instructions)
    * [Quick python test](#quick-python-test)
    * [Troubleshooting](#troubleshooting)


pkgId: f83a6e5fb20d123fa2e13d8326ae8f658b7910b39d1dc9d0ca381eeae602a45f
name: python3-sqlfactory
arch: noarch
version: 1.5.0
epoch: 0
release: 1
url: https://gitlab.com/gcm-cz/sqlfactory
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-sqlfactory-1.5.0-1.src.rpm
location_href: Packages/python3-sqlfactory-1.5.0-1.noarch.rpm
checksum_type: sha256
summary:
  Convenient classes for building SQL queries in Python. Main purpose of this library is to ease construction of SQL queries in Python code. It is not an ORM (and don't intend to be), just a plain SQL query builder with syntax as similar to actual SQL as possible.

description:
  Let's see how to build a SELECT statement like this:
  ```sql
  SELECT column1, column2, column3 FROM books WHERE column1 = 'value' AND column2 IN (1, 2, 3);
  ```
  All the following examples are equivalent and produce the same SQL query:
  ```python
  from sqlfactory import SELECT, Table, Select, And, Eq, In

  Select("column1", "column2", "column3", table="books", where=And(Eq("column1", "value"), In("column2", [1, 2, 3])))

  SELECT("column1", "column2", "column3", table="books")
      .WHERE(Eq("column1", "value") & In("column2", [1, 2, 3]))

  books = Table("books")
  SELECT(books.column1, books.column2, books.column3, table=books)
      .WHERE((books.column1 == "value") & In(books.column2, [1, 2, 3]))


pkgId: db9dd0755912667b3947c7b8e973e7184299d41d8632e9e54b721e31febf7450
name: python3-staged-script
arch: noarch
version: 2.0.1
epoch: 0
release: 1
url: https://github.com/sandialabs/staged-script
rpm_license: LICENSE.md
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-staged-script-2.0.1-1.src.rpm
location_href: Packages/python3-staged-script-2.0.1-1.noarch.rpm
checksum_type: sha256
summary:
  A Python package enabling the development of robust automation scripts that are subdivided into stages.

description:
  ![Lines of code](https://sloc.xyz/github/sandialabs/staged-script/?category=code)
  [![codecov](https://codecov.io/gh/sandialabs/staged-script/branch/master/graph/badge.svg?token=FmDStZ6FVR)](https://codecov.io/gh/sandialabs/staged-script)
  [![CodeFactor](https://www.codefactor.io/repository/github/sandialabs/staged-script/badge/master)](https://www.codefactor.io/repository/github/sandialabs/staged-script/overview/master)
  [![CodeQL](https://github.com/sandialabs/staged-script/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/sandialabs/staged-script/actions/workflows/github-code-scanning/codeql)
  [![Conda Version](https://img.shields.io/conda/v/conda-forge/staged-script?label=conda-forge)](https://anaconda.org/conda-forge/staged-script)
  ![Conda Downloads](https://img.shields.io/conda/d/conda-forge/staged-script?label=conda-forge%20downloads)
  [![Continuous Integration](https://github.com/sandialabs/staged-script/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/sandialabs/staged-script/actions/workflows/continuous-integration.yml)
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
  [![GitHub contributors](https://img.shields.io/github/contributors/sandialabs/staged-script.svg)](https://github.com/sandialabs/staged-script/graphs/contributors)
  [![Documentation Status](https://readthedocs.org/projects/staged-script/badge/?version=latest)](https://staged-script.readthedocs.io/en/latest/?badge=latest)
  [![License](https://anaconda.org/conda-forge/staged-script/badges/license.svg)](LICENSE.md)
  [![Merged PRs](https://img.shields.io/github/issues-pr-closed-raw/sandialabs/staged-script.svg?label=merged+PRs)](https://github.com/sandialabs/staged-script/pulls?q=is:pr+is:merged)
  [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/8864/badge)](https://bestpractices.coreinfrastructure.org/projects/8864)
  [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sandialabs/staged-script/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sandialabs/staged-script)
  ![Platforms](https://anaconda.org/conda-forge/staged-script/badges/platforms.svg)
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
  [![pre-commit.ci Status](https://results.pre-commit.ci/badge/github/sandialabs/staged-script/master.svg)](https://results.pre-commit.ci/latest/github/sandialabs/staged-script/master)
  [![PyPI - Version](https://img.shields.io/pypi/v/staged-script?label=PyPI)](https://pypi.org/project/staged-script/)
  ![PyPI - Downloads](https://img.shields.io/pypi/dm/staged-script?label=PyPI%20downloads)
  ![Python Version](https://img.shields.io/badge/Python-3.9|3.10|3.11|3.12|3.13-blue.svg)
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)



  Python is an ideal language for certain types of infrastructure automation.
  Automating what a user does manually often involves walking through a series of
  stages.  A user may wish to run all the stages in series, or perhaps only a
  subset, and depending on how things go, certain stages may need to be retried.
  Once the script finishes running, it'd be ideal if it could tell the user
  exactly what was run, for the sake of easing replicability.  `staged-script`
  aims to ease the development such automation scripts.  It's easy to get started
  with, but also provides significant power-user functionality for those who need
  it.



  To get up and running with `staged-script`, simply:
  ```bash
  python3 -m pip install staged-script
  ```



  Once installed, you can simply
  ```python
  import sys

  from staged_script import StagedScript


  class MyScript(StagedScript):

      @StagedScript.stage("hello", "Greeting the user")
      def say_hello(self) -> None:
          self.run("echo 'Hello World'", shell=True)

      @StagedScript.stage("goodbye", "Bidding farewell")
      def say_goodbye(self) -> None:
          self.run("echo 'Goodbye World'", shell=True)

      def main(self, argv: list[str]) -> None:
          self.parse_args(argv)
          try:
              self.say_hello()
              self.say_goodbye()
          finally:
              self.print_script_execution_summary()


  if __name__ == "__main__":
      my_script = MyScript({"hello", "goodbye"})
      my_script.main(sys.argv[1:])
  ```

  For more detailed usage and API information, please see
  [our documentation][docs].

  [docs]: https://staged-script.readthedocs.io



  If you're having trouble with `staged-script`, or just want to ask a question,
  head on over to [our issue board][issues].  If a quick search doesn't yield
  what you're looking for, feel free to file an issue.

  [issues]: https://github.com/sandialabs/staged-script/issues



  If you're interested in contributing to the development of `staged-script`,
  we'd love to have your help :grinning:  Check out our
  [contributing guidelines](CONTRIBUTING.md) for how to get started.
  [Past contributors][contributors] include:
  * [@jmgate](https://github.com/jmgate)

  [contributors]: https://github.com/sandialabs/staged-script/graphs/contributors



  See [LICENSE.md](LICENSE.md) and [COPYRIGHT.md](COPYRIGHT.md).



  Special thanks to [the GMS project][gms] for investing in the development of
  this package.  Aspects of this functionality were inspired by the
  [SPiFI][spifi] Jenkins Pipeline plugin and the [ShellLogger][shelllogger]
  Python package.

  [gms]: https://github.com/SNL-GMS/GMS-PI25
  [spifi]: https://github.com/sandialabs/SPiFI
  [shelllogger]: https://github.com/sandialabs/shell-logger


pkgId: 7e4cb7a828eb680cce435650129a9916fbcc03c8f96189b70a237bc26030d1bc
name: python3-stop-idle-sessions
arch: noarch
version: 0.9.3
epoch: 0
release: 1
url: https://github.com/liverwust/stop-idle-sessions
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-stop-idle-sessions-0.9.3-1.src.rpm
location_href: Packages/python3-stop-idle-sessions-0.9.3-1.noarch.rpm
checksum_type: sha256
summary:
  Stop idle `systemd-logind` sessions to prevent interactive access from unattended terminals. E.g., a laptop left unlocked in a coffee shop, with an SSH session into an internal network resource.

description:
  Stop idle `systemd-logind` sessions to prevent interactive access from
  unattended terminals. E.g., a laptop left unlocked in a coffee shop, with an
  SSH session into an internal network resource.



  NIST Special Publication 800-53 "Security and Privacy Controls for Information
  Systems and Organizations" includes a broadly-worded control, [SC-10 "Network
  Disconnect,"](https://csf.tools/reference/nist-sp-800-53/r5/sc/sc-10/) which
  requires:

  > Terminate the network connection associated with a communications session at
  > the end of the session or after [Assignment: organization-defined time period]
  > of inactivity. Network disconnect applies to internal and external networks.
  > Terminating network connections associated with specific communications
  > sessions includes de-allocating TCP/IP address or port pairs at the operating
  > system level and de-allocating the networking assignments at the application
  > level if multiple application sessions are using a single operating
  > system-level network connection. Periods of inactivity may be established by
  > organizations and include time periods by type of network access or for
  > specific network accesses.

  The OpenSSH software provides a general-purpose tool for accessing remote
  systems. It includes functionality for remote terminal emulation, execution of
  remote commands, tunneling of TCP sessions (e.g., for remote desktop access
  with Xvnc), and file copying. This software package intends to address
  `systemd-logind` sessions -- mostly OpenSSH sessions -- as a prime vector for
  "communications session[s]" and to "de-allocate [OpenSSH] networking
  assignments" after "[established] periods of activity."



  The application should be run by means of the following command, on a timer
  (either via SystemD or cron):

      /usr/libexec/platform-python -m stop_idle_sessions.main --syslog

  The purpose of using `/usr/libexec/platform-python` rather than
  `/usr/bin/python3` is to ensure that the base OS version of Python is selected
  (i.e., the one which hosts the distro-provided `python3-*` packages) and NOT an
  alternative via `/etc/alternatives`.

  The location to a configuration may be specified with `-c` or simply by using
  the default location, `/etc/stop-idle-sessions.conf`. It may contain the
  following contents to control execution:

      
      
      

      [stop-idle-sessions]

      
      timeout = 15

      
      
      

      
      
      
      

      
      
      
      

      
      
      
      
      
      
      

      
      
      

  Although the timeout is specified, it is still necessary to set up a recurring
  SystemD timer or cronjob to run the app. _It will not run itself._



  By design, this `stop-idle-sessions` package is _stateless_. It is not intended
  to run as a daemon. Instead, it should be configured as a SystemD
  [one-shot service](https://www.man7.org/linux/man-pages/man5/systemd.service.5.html#OPTIONS)
  (with a corresponding
  [.timer unit](https://www.man7.org/linux/man-pages/man5/systemd.timer.5.html)).
  Alternatively, it can be run as a cronjob.

  ```mermaid
  erDiagram
    "LOGIND SESSION" ||--|| "SYSTEMD SCOPE": corresponds
    "SYSTEMD SCOPE" ||--|{ "PROCESS": organizes
    "LOGIND SESSION" ||--o| "PROCESS": leads
    "PROCESS" ||--o| "TCP TUNNEL": connects
    "TCP TUNNEL" ||--o| "PROCESS": listens
    "VNC INSTANCE" |o--|| "TCP TUNNEL": listens
  ```

  Each time it runs, the `stop-idle-sessions` package builds a relational
  representation of system elements similar to the preceding diagram. For each
  `systemd-logind` session meeting certain criteria, it then calculates an
  "idleness" metric. This "idleness" is subject to configurable limits for
  warning and termination.



  The concept of a **Session Leader** is critical to the design of this software
  package. The `Leader` attribute of a [`systemd-logind` Session
  object](https://www.freedesktop.org/software/systemd/man/latest/org.freedesktop.login1.html#Properties3)
  is defined simply as "the PID of the process that registered the session."
  There is a lot of significance hiding behind this simple definition.

  Every Session Leader can be described as follows: it is a privileged process
  (run as root) which has initiated an authentication workflow via Pluggable
  Authentication Modules (PAM) on behalf of a user. More specifically, the
  [`pam_systemd` module](https://www.man7.org/linux/man-pages/man8/pam_systemd.8.html)
  provides the _only mechanism_ by which a `systemd-login` session may be
  registered.

  Here are a few common examples of Session Leader:

  * `/usr/libexec/gdm-session-worker` for local (GDM) graphical logins
  * `/usr/bin/login` for local text-based logins
  * `/usr/sbin/vncsession` for SystemD-mediated VNC sessions (Note: running
    `vncserver -localhost` from the command-line does NOT create a separate
    `systemd-logind` session)
  * `/usr/sbin/sshd`, specifically the fork which shows up as `sshd: username
    [priv]` in the process table

  All Session Leaders have something else in common: they are the singular
  conduit through which users may continue to interact with their session. When
  `stop-idle-sessions` needs to disconnect an idle user, it does so specifically
  by terminating a Session Leader process.



  Not every `systemd-logind` session is checked for idleness. The following types
  of session are **exempt** from the idleness computation and will not be
  terminated by `stop-idle-sessions` enforcement:

  * **Graphical sessions.** Both local (GDM) and remote (VNC) sessions are
    exempted from idleness computation and enforcement. Such environments have
    their own ways to protect idle sessions (e.g., screensavers). They aren't
    necessarily _ignored_ --- as
    [explained later](#idleness-calculation-for-eligible-sessions), they might be
    referenced when computing idleness of _other_ sessions --- but they
    themselves are not subject to any scrutiny by `stop-idle-sessions`.

    **Note:** interestingly, running a `vncserver -localhost` command does NOT
    launch a proper graphical session. An Xvnc instance will run inside of the
    original (SSH) session. Remember that only root can spawn [Session
    Leaders](#session-leaders). This isn't a problem --- see the [later
    section](#idleness-calculation-for-eligible-sessions) which explains how
    these sessions are handled.

  * **`systemd-logind` sessions without an assigned teletype (TTY) or
    pseudo-teletype (PTY) device.** These can be started by, for instance,
    `ssh -T remote-host.remote-domain.com`. Typically these are established by
    programs that are driving a remote system programmatically
    / noninteractively, and which only need to interact with the remote system
    thru CLI primitives. For example, Visual Studio Code Remoting will establish
    this kind of SSH session. Because these "sessions" are noninteractive, there
    is limited "walk-up" risk and they are therefore not subject to termination.

  * **`systemd-logind` sessions belonging to excluded users.** If configured to
    do so, `stop-idle-sessions` will ignore any session associated with a list of
    named user accounts. All SSH sessions associated with these users, even
    interactive ones (= with an assigned PTY), will be allowed to remain idle
    indefinitely.

  * **Any `systemd-logind` session whose [Session Leader](#session-leaders) has
    been terminated.** The preceding section explains the significance of Session
    Leaders. Things get even more interesting _after_ a Session Leader has exited
    or been terminated.

    Each `systemd-logind` session also employs a `systemd.scope` (a concept
    related to cgroups) under the hood. Although the `systemd-logind` session
    tracks a Process Leader, a `systemd.scope` is specifically designed NOT to
    treat any process specially.
    [The manpage](https://www.man7.org/linux/man-pages/man5/systemd.scope.5.html)
    specifically states "all processes in the scope are equivalent. The lifecycle
    of the scope unit is thus not bound to the lifetime of one specific process."

    When the Leader exits or is terminated, both the `systemd-logind` session and
    `systemd.scope` continue to exist. The scope is essentially unchanged, but
    the session undergoes three observable changes:

      * Its `Leader` attribute is reset to 0
      * Its `State` is demoted from `active` to `closing` (where it may remain
        _indefinitely_ until the entire `systemd.scope` has gone away)
      * Its `TTY` value, if it had one, will remain unchanged BUT is no longer
        trustworthy (i.e., it may claim `pts/N`, even if that device has
        automatically disappeared or been reassigned to another session)

    Although confusing, `stop-idle-sessions` considers this behavior to be quite
    useful. The [Session Leader](#session-leaders) concept basically guarantees
    that a user (or an attacker) cannot "interact" with the system unless they do
    so thru the "conduit" provided by a Session Leader. Consider the following
    sample workflow with some made-up session identifiers:

      1. User connects via SSH.
      2. `systemd-logind` session ID=121 is established by its Session Leader,
         which is an instance of `sshd [priv]`
      3. User starts a TMUX session inside of this session (and scope).
      4. After a while, `stop-idle-sessions` terminates the `sshd [priv]` Session
         Leader process.
      5. _From the User's perspective:_ The SSH connection established is
         immediately disconnected.
      6. _From the Session's perspective:_ `systemd-logind` session ID=121
         undergoes the described changes. It is orphaned/separated from its
         original Session Leader. **Importantly:** processes other than the
         Session Leader continue to run, including TMUX.
      7. User connects again via SSH.
      8. `systemd-logind` session ID=122 is established by its Session Leader,
         which is a new instance of `sshd [priv]`.
      9. User re-attaches to the TMUX session, which is still running in the
         _old_ session and scope.

    The key point here is that the user --- or an attacker sitting behind them in
    the coffee shop --- _cannot_ interact with the TMUX (or any other process)
    in-between steps 5 and 7. Or to put it another way, all of the user's
    **interactions** are "gated" by the existence of an interactive
    `systemd-logind` session (thru a Leader), but there is no limit on their
    ability to run **processes** (e.g., TMUX or VNC) in the background
    indefinitely.



  After setting aside the various ineligible sessions, `stop-idle-sessions` needs
  to calculate an idleness metric for each of the remaining `systemd-logind`
  sessions. Depending on the nature of the session and the processes running
  inside of it, this information can come from multiple places.

  In the context of a non-graphical session, it is obvious that a user's
  keystrokes should be counted as "activity" on the user's part. To borrow
  wording from the STIG control: it is nearly certain that a console session
  which is registering keystrokes has not been *left unattended*. Similarly,
  a program which is actively generating new output (such as a compiler or
  a shell loop) should also reset the idle timer. This information is encoded on
  the access time (atime) and modification time (mtime) on the teletype (TTY) or
  pseudo-teletype (PTY) device associated with that session.

  Interestingly, the following patterns can be observed empirically — e.g., by
  running `man 1 inotifywatch` against a tty or pty:

  | Event          | Updates `mtime`? | Updates `atime`? |
  |----------------|------------------|------------------|
  | Keyboard input | Yes              | Yes              |
  | Program output | Yes              | **No**           |

  `stop-idle-sessions` will look for the later of the two times, giving the user
  the benefit of the doubt when it comes to usage patterns which involve
  continuous output but little or no keyboard input.

  Note that programs which are displaying static output will NOT touch the
  `mtime` and will therefore not be successful at extending the idle timeout. For
  instance, a console session which is displaying a manpage for longer than the
  threshold will be terminated at the timeout interval.



  [OpenSSH provides various forwarding features](https://www.openssh.com/features.html),
  which can be used to instruct the server to "tunnel" traffic to/from remote
  locations on behalf of the client. This means that a console session's
  continued existence might affect more than just the interactive terminal
  session itself.

  A key feature of `stop-idle-sessions` is the ability to trace through these
  established tunnels to find a local Virtual Network Computing (VNC) service. If
  it finds one, it can further trace the idleness status of that VNC service by
  using information provided by the
  [X11 Screen Saver Extension](https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html).

  In doing so, the idle-or-not-idle status of the VNC session is propagated to
  the SSH session. So long as a user continues to generate regular input events
  (e.g., mouse movement), their tunneled SSH session will also be considered
  active by `stop-idle-sessions`.



  The `stop-idle-sessions` package aims to be cohesive and reliable, but it is
  definitely not a "native" way to accomplish SC-10 compliance. There are at
  least three major alternatives which any security-conscious team should
  consider before choosing this solution. These alternatives were not sufficient
  in our case, but they are probably easier to implement and less likely to break
  in the future.



  The simplest possible way to terminate an idle non-graphical session is to
  [set the TMOUT shell variable (POSIX shells)](https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-TMOUT)
  and the
  [autologout shell variable (C shells like tcsh)](https://linux.die.net/man/1/tcsh).

  However, this has a few downsides:

  * POSIX shells offer the `readonly` keyword to lock down the TMOUT setting, but
    this can be bypassed with a bit of Googling. This creates a disparity between
    users who know how to bypass the control (plus everyone they tell) vs. those
    who do not.

  * C shell doesn't even have the `readonly` keyword and so the `autologout`
    setting is trivially overridden.

  * The `TMOUT` and `autologout` timeouts only occur at the shell prompt. So, for
    example, a `vim` or `cat` session will linger indefinitely even if not
    producing any new output.

  * These settings are not sensitive to the existence of tunneled VNC traffic and
    will terminate such a tunnel without checking for graphical session idleness.



  Newer versions of OpenSSH provide a
  [ChannelTimeout setting](https://man.openbsd.org/sshd_config#ChannelTimeout)
  which is much more easily-audited than the `TMOUT` settings. This setting will
  likely be featured in upcoming revisions of the NIST and DISA STIG control
  sets. However, this new version (9.2) is not available in either Red Hat
  Enterprise Linux (RHEL) major version 8 or 9.



  [NIST S.P. 800-53](#background) is not the only U.S. federal government
  standard which considers this attack vector. The Defense Information Systems
  Agency (DISA) Security Technical Implementation Guide (STIG) for Red Hat
  Enterprise Linux (RHEL) 8 includes the following technical control:

  [V-257258: Terminating an idle session within a short time period reduces the
  window of opportunity for unauthorized personnel to take control of
  a management session enabled on the console or console port that has been left
  unattended.](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/2023-09-11/finding/V-257258)

  The implementation which is prescribed for this technical control is as follows:

  ```bash

  $ sudo grep -i ^StopIdleSessionSec /etc/systemd/logind.conf
  StopIdleSessionSec=900

  ```

  This has the major benefit of being built-into SystemD and `systemd-logind`.
  However, there are a few notable downsides:

  * This setting affects _all_ `systemd-logind` sessions, including graphical
    sessions. There is even a
    [known bug in RHEL8](https://access.redhat.com/solutions/7061354)
    where it terminates the GDM login screen after that becomes "idle" (though
    this will eventually be fixed). Our team wanted to allow persistent graphical
    sessions while continuing to rely on screen-lock and/or SSH tunnel
    termination (for VNC) to protect these sessions.

  * For a non-graphical session, such as one launched from the local console or
    from SSH, the [StopIdleSessionSec
    setting](https://www.freedesktop.org/software/systemd/man/latest/logind.conf.html#StopIdleSessionSec=)
    (`man 5 logind.conf`) only consults the `atime` (access time) of the tty or
    pty device to determine idleness. If the `atime` is older than the specified
    threshold, then the session is terminated. As described in the
    [idleness calculation section](#idleness-calculation-for-eligible-sessions),
    active program output _does not update_ the `atime` --- only user input
    (keystrokes) can update the `atime`. In our case, we wanted to avoid
    terminating long-running processes like compilers and shell loops, and so the
    solution needed to respect _both_ `mtime` and `atime`.

  * This implementation terminates an _entire_ session by terminating each
    individual process associated with the `systemd.scope`. This is a reasonable
    implementation which cleans up the `State=closing` sessions that would
    otherwise be left behind by terminating just the [Sesssion
    Leader](#session-leaders). However, for
    [the reasons described above (4th bullet)](#ineligible-sessions),
    our team actually considers these lingering sessions to be useful for
    allowing users to continue running persistent processes.


pkgId: d57511eefc73239d0edd0baa0e8a68b68c3cec91091f18c97e8c98baeb0c56fd
name: python3-stopstart
arch: noarch
version: 0.3.0
epoch: 0
release: 1
url: https://github.com/ReverieTides/stopstart
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-stopstart-0.3.0-1.src.rpm
location_href: Packages/python3-stopstart-0.3.0-1.noarch.rpm
checksum_type: sha256
summary:
  A simple timer class for tracking elapsed time across multiple sessions, with detailed statistics and formatted output.

description:
  A simple and intuitive Python class for tracking elapsed time across multiple sessions. The `Timer` class offers a clean, human-readable interface to start and stop time, while providing detailed session statistics and beautifully formatted elapsed time. Whether you're measuring short intervals or long-running processes, the `Timer` class ensures you have accurate data with minimal effort.



  - **Easy to Use**: No complex setup—just call `start()` to begin and `stop()` to end your time tracking. Perfect for quick and efficient use.
  - **Time Formatting**: Effortlessly convert elapsed time into a human-friendly format, including days, hours, minutes, seconds, and even fractions like microseconds and nanoseconds.
  - **Session Statistics**: Track total time, the number of sessions, and average session durations with just one method call.
  - **Formatted Output**: Receive time statistics in an easy-to-read format that includes precise microseconds and nanoseconds.



  - **`start(reset=True)`**: Starts the timer. If `reset=True`, it resets the timer and clears any past session history. If `reset=False`, the timer continues from where it left off.
  - **`stop()`**: Stops the timer, records the elapsed time for the current session, and appends it to the history.
  - **`print_snapshot(prefix="")`**: Prints a snapshot of the total elapsed time up to the current moment, appending a given prefix (optional).
  - **`print(prefix="")`**: Prints the formatted total elapsed time with an optional prefix.
  - **`get_stats()`**: Returns a dictionary with statistics about the timer, including total time, number of sessions, and average session time.



  - **`days`**: The total elapsed time in days.
  - **`hours`**: The total elapsed time in hours.
  - **`minutes`**: The total elapsed time in minutes.
  - **`seconds`**: The total elapsed time in seconds.
  - **`milli`**: The total elapsed time in milliseconds (total duration in seconds * 1e3).
  - **`nano`**: The total elapsed time in nanoseconds (total duration in seconds * 1e9).
  - **`total_duration`**: The total accumulated duration of all actions in seconds, calculated by summing the durations of all recorded sessions.




  Install the package via `pip`:

  ```bash
  pip install timer
  ```


  In this example, the timer is used to measure a single session. Starting and stopping the timer around an activity (like a 2-second wait) will give you the total duration for that period, along with a detailed human-readable output and session statistics.
  ```python
  import time
  from stopstart import Timer


  timer = Timer()


  timer.start()


  time.sleep(2)


  timer.stop()


  print(f"Total duration in seconds: {timer.seconds}")


  print(timer)


  stats = timer.get_stats()
  print(f"Stats: {stats}")
  ```

  ```
  Total duration in seconds: 2.000082492828369
  2 seconds, 82 microseconds, and 492 nanoseconds
  Stats: {'total_time': 2.000082492828369, 'num_sessions': 1, 'avg_time': 2.000082492828369}
  ```

  The Timer class can resume timing without resetting the session history, allowing you to track multiple periods of time over the course of your work. This makes it easy to start new sessions without losing track of the total time across sessions.

  In this example, we start a second session without resetting the timer, simulate another 2-second activity, and then stop the timer to get the updated total duration.
  ```python

  timer.start(reset=False)


  time.sleep(2)


  timer.stop()


  print(f"Total duration in seconds: {timer.seconds}")
  print(timer)
  ```

  ```
  Total duration in seconds: 4.0001797676086426
  4 seconds, 179 microseconds, and 767 nanoseconds
  Stats: {'total_time': 4.0001797676086426, 'num_sessions': 2, 'avg_time': 2.0000898838043213}
  ```

  You can also print time snapshots without affecting the ongoing time tracking. This is useful for logging intermediate results or showing progress without interrupting the current session. The snapshot feature is non-intrusive and does not reset or stop the timer.
  ```python
  time.sleep(30)
  timer.print_snapshot(prefix='Snapshot Example:')
  timer.print('Actual recorded time:')
  ```


  ```
  Snapshot Example: 34 seconds, 132 microseconds, and 165 nanoseconds
  Actual recorded time: 4 seconds, 179 microseconds, and 767 nanoseconds
  ```


  The Timer automatically preserves the history of previous sessions in the `actions` attribute. This allows you to access a complete log of all sessions, including their start and stop times, without losing any context. You can easily retrieve this history to analyze past sessions or track progress over time.
  ```python
  import time
  from stopstart import Timer


  timer = Timer()


  timer.start()
  time.sleep(2)
  timer.stop()
  print(f"Session 1 Duration: {timer}")


  timer.start(reset=False)
  time.sleep(3)
  timer.stop()
  print(f"Session 2 Duration: {timer}")


  print(f"Actions History: {timer.actions}")
  ```


  ```
  Session 1 Duration: 2 seconds, 0 microseconds, and 0 nanoseconds
  Session 2 Duration: 5 seconds, 0 microseconds, and 0 nanoseconds
  Actions History: [
      {'start': 1699392400.0, 'stop': 1699392402.0, 'duration': 2.0},
      {'start': 1699392402.0, 'stop': 1699392407.0, 'duration': 5.0}
  ]
  ```


pkgId: c6bb07f068cca7a5e7b2f6002177c3dfad7855c52f15a46fe6760e95e4c8994a
name: python3-streamlit-login-auth-ui-zh
arch: noarch
version: 0.1.2
epoch: 0
release: 1
url: https://pypi.org/project/streamlit-login-auth-ui-zh/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-streamlit-login-auth-ui-zh-0.1.2-1.src.rpm
location_href: Packages/python3-streamlit-login-auth-ui-zh-0.1.2-1.noarch.rpm
checksum_type: sha256
summary:
  这个库是一个用户友好的 Streamlit 登录/注册系统，基于streamlit_login_auth_ui 库改写构建。 它为开发者提供了一种简单的方法，以便在其 Streamlit 应用程序中实现安全的用户身份注册和验证。

description:
  这个插件是一个用户友好的 Streamlit 登录/注册系统，基于[streamlit_login_auth_ui](https://github.com/GauriSP10/streamlit_login_auth_ui)库改写构建，
  本项目修改为了中文版，同时支持兼容更高版本的streamlit，修复了部分Bug。
  它为开发者提供了一种简单的方法，以便在其 Streamlit 应用程序中实现安全的用户身份注册和验证。

  streamlit>=1.12.0


  1. **用户登录与注册**：允许用户使用用户名和密码安全地登录和注册新帐户。

  2. **密码重置功能**：用户可以通过点击“忘记密码？”链接，接收一封包含临时密码的电子邮件，方便重置密码。

  3. **输入验证**：在注册过程中，系统会验证用户名和邮箱的有效性及唯一性，确保用户输入的信息符合标准。

  4. **加密存储**：所有用户密码都经过加密处理，增强了安全性。

  5. **自动登录**：使用加密的 Cookie 记住用户的登录状态，避免每次都输入密码。

  6. **用户界面**：提供一个可定制的登录/注册页面，用户可以通过修改参数来更改界面的外观和行为。



  1. **依赖项安装**：确保在使用之前安装了相关依赖项，包括 `streamlit`, `argon2-cffi`, `trycourier` 等。

  2. **初始化和配置**：创建 `__login__` 类的实例时，传入必要的参数，如认证token和公司名称。

  3. **界面集成**：使用 `build_login_ui()` 方法整合所有功能，构建完整的用户界面。



  [Rycen7822](kristinharrison7826@gmail.com)


  ( https://pypi.org/project/streamlit-login-auth-ui-zh/0.1.0/)

  https://github.com/Rycen7822/streamlit_login_auth_ui_zh/tree/main

  [The UI](https://github.com/user-attachments/assets/d430963f-9148-4999-a2e3-772ba52f5561)




  ```python
  pip install streamlit_login_auth_ui_zh
  ```

  要导入该库，只需在代码开头粘贴以下内容：
  ```python
  from streamlit_login_auth_ui_zh.widgets import __login__
  ```

  您只需要为 ```__login__``` 类创建一个对象，并传入以下参数：

  1. **auth_token**：从 [Courier](https://www.courier.com/email-api/) 获取的唯一授权token，用于安全地发送电子邮件。
  2. **company_name**：发送密码重置邮件的个人或组织的名称，例如 "Shims"。
  3. **width**：登录页面上动画的宽度，单位为像素（例如 200 像素）。
  4. **height**：登录页面上动画的高度，单位为像素（例如 250 像素）。
  5. **logout_button_name**：设置注销按钮的名称（例如 'Logout'）。
  6. **hide_menu_bool**：传入 `True` 以隐藏 Streamlit 菜单，传入 `False` 则显示菜单。
  7. **hide_footer_bool**：传入 `True` 以隐藏“由 Streamlit 制作”的页脚，传入 `False` 则显示页脚。
  8. **lottie_url**：希望在登录页面使用的 Lottie 动画 URL，可以从 [LottieFiles](https://lottiefiles.com/featured) 上找到适合的动画。





  1. **auth_token**：
     从 [Courier](https://www.courier.com/email-api/) 获取的token

  2. **company_name**：
     发送密码重置邮件的个人或组织的名称。

  3. **width**：
     登录页面上动画的宽度。

  4. **height**：
     登录页面上动画的高度。



  1. **logout_button_name** [默认值 = '退出登录']：
     注销按钮的名称。如果不提供，默认为 '退出登录'。

  2. **hide_menu_bool** [默认值 = False]：
     传入 `True` 以隐藏 Streamlit 菜单，默认为 `False`，表示菜单将显示。

  3. **hide_footer_bool** [默认值 = False]：
     传入 `True` 以隐藏“由 Streamlit 制作”的页脚，默认为 `False`，表示页脚将显示。

  4. **lottie_url**
     希望在登录页面使用的 Lottie 动画的 URL。

  在创建 __login__ 类的对象之后，你需要调用该对象的 build_login_ui() 方法。这个方法将用于生成和展示登录用户界面。调用该方法的结果可以存储在一个变量中，方便后续操作。




  本示例演示如何使用 `__login__` 类构造对象并调用 `build_login_ui()` 方法来构建登录用户界面。


      
      import streamlit as st
      from streamlit_login_auth_ui_zh.widgets import __login__

      
      login_ui = __login__(
          auth_token="courier_auth_token",  # 从 Courier 获取的授权令牌
          company_name="MyCompany",  # 发送密码重置邮件的公司名称
          width=300,  # 动画宽度
          height=400,  # 动画高度
      )

      
      user_logged_in = login_ui.build_login_ui()

      
      if user_logged_in:
          st.success("用户已成功登录!")
      else:
         st.warning("请登录以继续.")

      def main():
         

      if user_logged_in == True:
         main()



  请确保将你的应用程序逻辑缩进在 `if st.session_state['LOGGED_IN'] == True:` 语句下，这样可以保证只有在用户安全登录后，应用程序才会运行。



  登录页面，用于验证用户身份。
  ![image](https://github.com/user-attachments/assets/e24003af-6ede-425c-81f4-103aea9ddfd5)

  以安全的方式将用户信息存储在 ```_secret_auth_.json``` 文件中。
  ![image](https://github.com/user-attachments/assets/a456993d-46b2-4df6-a545-0a684652752e)

  在用户身份验证（电子邮件）后，触发一封包含随机密码的电子邮件发送给用户。
  ![image](https://github.com/user-attachments/assets/2c6bb1b7-0691-45f6-a15b-de2e76976c8e)

  在用户身份验证（电子邮件和通过电子邮件共享的密码）后，重置密码并更新到 ```_secret_auth_.json``` 文件中。
  ![image](https://github.com/user-attachments/assets/01fe4b6d-9e51-4885-be42-da1729b9ea09)

  仅在用户已登录时在侧边栏生成，允许用户退出。
  ![image](https://github.com/user-attachments/assets/39886c88-7a46-458c-b038-7981fc81750b)



  v0.1.0




  本项目使用 MIT 许可证。有关详细信息，请查看 [LICENSE](LICENSE) 文件。


pkgId: 18128c21e8c77c07518228eb71c23612d14c4de0187c1d5c9d7c61fb2ab94c54
name: python3-streamsnapper
arch: noarch
version: 0.2.5
epoch: 0
release: 1
url: https://github.com/henrique-coder/streamsnapper
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-streamsnapper-0.2.5-1.src.rpm
location_href: Packages/python3-streamsnapper-0.2.5-1.noarch.rpm
checksum_type: sha256
summary:
  StreamSnapper is an intuitive library designed to simplify, enhance, and organize media downloads from a variety of audiovisual platforms. It offers efficient, high-speed media extraction with optional tools for extracting data from these platforms.

description:
  StreamSnapper is an intuitive library designed to simplify, enhance, and organize media downloads from a variety of audiovisual platforms. It offers efficient, high-speed media extraction with optional tools for extracting data from these platforms.

  ![PyPI - Version](https://img.shields.io/pypi/v/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)
  ![PyPI - Downloads](https://img.shields.io/pypi/dm/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)
  ![PyPI - Code Style](https://img.shields.io/badge/code%20style-ruff-blue?style=flat&logo=ruff&logoColor=blue&color=blue&link=https://github.com/astral-sh/ruff)
  ![PyPI - Format](https://img.shields.io/pypi/format/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)
  ![PyPI - Python Compatible Versions](https://img.shields.io/pypi/pyversions/streamsnapper?style=flat&logo=python&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)



  ```bash
  pip install -U streamsnapper  # It does not have any features by default, but it can be extended with optional features
  pip install -U streamsnapper[downloader]  # It has the feature of downloading online content with support for multiple simultaneous connections
  pip install -U streamsnapper[merger]  # It has the feature of merging video files with audio files using FFmpeg (currently it does not need any dependencies)
  pip install -U streamsnapper[youtube]  # It has advanced features to extract data from YouTube, with support for several other features
  pip install -U streamsnapper[all]  # It has all features available at once
  ```





  ```python
  from streamsnapper import Downloader
  from pathlib import Path  # Optional



  downloader = Downloader(
      
      max_connections='auto',  # The maximum number of connections to use for downloading the file. (default: 'auto')
      connection_speed='auto',  # The connection speed in Mbps. If 'auto', the connection speed will be set to 80 Mbps. (default: 'auto')
      overwrite=True,  # Overwrite the file if it already exists. Otherwise, a "_1", "_2", etc. suffix will be added. (default: True)
      show_progress_bar=True,  # Show or hide the download progress bar. (default: True)
      headers=None,  # Custom headers to include in the request. If None, default headers will be used. (default: None)
      timeout=None  # Timeout in seconds for the download process. Or None for no timeout. (default: None)
  )





  downloader.download(
      url='https://example.com/file',  # The download URL to download the file from. (required)
      output_path=Path.cwd()  # The path to save the downloaded file to. If the path is a directory, the file name will be generated from the server response. If the path is a file, the file will be saved with the provided name. If not provided, the file will be saved to the current working directory. (default: Path.cwd())
  )



  ```



  ```python
  from streamsnapper import Merger



  merger = Merger(
      
      logging=False  # Enable or disable FFmpeg logging. (default: False)
  )


  merger.merge(
      video_path='path/to/video',  # The path to the video file to merge. (required)
      audio_path='path/to/audio',  # The path to the audio file to merge. (required)
      output_path='path/to/output',  # The path to save the output file to. (required)
      ffmpeg_path='local'  # The path to the FFmpeg executable. If 'local', the FFmpeg executable will be searched in the PATH environment variable. (default: 'local')
  )



  ```



  ```python
  from streamsnapper import YouTube
  from pathlib import Path  # Optional



  youtube = YouTube(
      
      logging=False  # Enable or disable logging for the YouTube class. Defaults to False. (default: False)
  )





  youtube.extract(
      url=None,  # The YouTube video URL to extract data from. (default: None)
      ytdlp_data=None  # The previously extracted yt-dlp data. (default: None)
  )


  youtube.analyze(
      check_thumbnails=False,  # Check if all video thumbnails are available. (default: False)
      retrieve_dislike_count=False  # Retrieve the dislike count from the returnyoutubedislike.com API. (default: False)
  )


  youtube.analyze_video_streams(
      preferred_quality='all'  # The preferred quality of the video stream. If a specific quality is provided, the stream will be selected according to the chosen quality, however if the quality is not available, the best quality will be selected. If 'all', all streams will be considered and sorted by quality. (default: 'all')
  )


  youtube.analyze_audio_streams(
      preferred_language='local'  # The preferred language for the audio stream. If 'source', use the original audio language. If 'local', use the system language. If 'all', return all available audio streams. (default: 'local')
  )


  youtube.analyze_subtitle_streams()





  youtube.download(
      video_stream=None,  # The video stream generated by .analyze_video_streams(). (default: None)
      audio_stream=None,  # The audio stream generated by .analyze_audio_streams(). (default: None)
      output_path=Path.cwd(),  # The output path to save the downloaded video and/or audio to. If a directory is provided, the file name will be generated based on the video title and ID, like 'title - [id].extension'. If a file is provided, the file will be saved with the provided name. (default: Path.cwd())
      ffmpeg_path='local',  # The path to the ffmpeg executable. If 'local', the ffmpeg executable will be searched in the PATH environment variable. (default: 'local')
      show_progress_bar=True,  # Show or hide the download progress bar. (default: True)
      timeout=None,  # Timeout in seconds for the download process. Or None for no timeout. (default: None)
      logging=False  # Enable or disable ffmpeg logging. (default: False)
  )  # --> Returns the Path object of the finished file.


  from streamsnapper import YouTubeExtractor



  youtube_extractor = YouTubeExtractor(
      
  )


  youtube_extractor.identify_platform(
      url='https://music.youtube.com/watch?v=***********'  # The URL to identify the platform from. (required)
  )  # --> Returns 'youtube' if the URL corresponds to YouTube, 'youtubeMusic' if it corresponds to YouTube Music. Returns None if the platform is not recognized.


  youtube_extractor.extract_video_id(
      url='https://www.youtube.com/watch?v=***********'  # The URL to extract the video ID from. (required)
  )  # --> Returns the extracted video ID. If no video ID is found, return None.


  youtube_extractor.extract_playlist_id(
      url='https://www.youtube.com/playlist?list=**********************************',  # The URL to extract the playlist ID from. (required)
      include_private=False  # Whether to include private playlists, like the mixes YouTube makes for you. (default: False)
  )  # --> Returns the extracted playlist ID. If no playlist ID is found or the playlist is private and include_private is False, return None.


  youtube_extractor.search(
      query='A cool music name',  # The search query string. (required)
      sort_by='relevance',  # The sorting method to use for the search results. Options are 'relevance', 'upload_date', 'view_count', and 'rating'. (default: 'relevance')
      results_type='video',  # The type of content to search for. Options are 'video', 'channel', 'playlist', and 'movie'. (default: 'video')
      limit=1  # The maximum number of video URLs to return. (default: 1)
  )  # --> Returns a list of video URLs from the search results. If no videos are found, returns None.


  youtube_extractor.get_playlist_videos(
      url='https://www.youtube.com/playlist?list=**********************************',  # The URL of the YouTube playlist. (required)
      limit=None  # The maximum number of video URLs to return. If None, return all video URLs. (default: None)
  )  # --> Returns a list of video URLs from the playlist. If no videos are found or the playlist is private, return None.




  youtube_extractor.get_channel_videos(
      channel_id='************************',  # The ID of the YouTube channel. (default: None)
      channel_url='https://www.youtube.com/@********',  # The URL of the YouTube channel. (default: None)
      channel_username='********',  # The username of the YouTube channel. (default: None)
      sort_by='newest',  # The sorting method to use for the channel videos. Options are 'newest', 'oldest', and 'popular' (default: 'newest').
      content_type='videos',  # The type of content to search for. Options are 'videos', 'shorts', and 'streams' (default: 'videos').
      limit=None  # The maximum number of video URLs to return. If None, return all video URLs. (default: None)
  )  # --> Returns a list of video URLs from the channel. If no videos are found or the channel is non-existent, return None.



  ```



  Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

  If you have a suggestion that would make this better, fork the repository and create a pull request. You can also simply open an issue and describe your ideas or report bugs. **Don't forget to give the project a star if you like it!**

  1. Fork the project;
  2. Create your feature branch ・ `git checkout -b feature/{feature_name}`;
  3. Commit your changes ・ `git commit -m "{commit_message}"`;
  4. Push to the branch ・ `git push origin feature/{feature_name}`;
  5. Open a pull request, describing the changes you made and wait for a review.



  Please note that downloading copyrighted content from some media services may be illegal in your country. This tool is designed for educational purposes only. Use at your own risk.


pkgId: d6ff811ef086218cd75112d6d9e3a9c34c698cc7f2ec373e257631a0d18dc06d
name: python3-strip-notebook-metadata
arch: noarch
version: 0.2.0
epoch: 0
release: 1
url: https://github.com/kyriaki-mvr/strip-notebook-metadata
rpm_license: GPL
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-strip-notebook-metadata-0.2.0-1.src.rpm
location_href: Packages/python3-strip-notebook-metadata-0.2.0-1.noarch.rpm
checksum_type: sha256
summary:
  A package to strip metadata from code cells and markdowns without editing the output in Jupyter notebooks.

description:
  ![PyPI - Version](https://img.shields.io/pypi/v/strip-notebook-metadata?color=green)


  A package to strip metadata from code cells and markdowns without editing the output in Jupyter notebooks.

  A simple, effective tool for cleaning metadata from Jupyter notebooks. This package helps in reducing the size of notebooks and removing potentially sensitive information stored in metadata, making notebooks cleaner for version control and sharing.

  Pypi.org: https://pypi.org/project/strip-notebook-metadata/



  - **Simple Command-Line interface**: Easy to use, run it directly from your terminal.
  - **Cleans metadata**: Strips out metadata from both code and markdown cells.
  - **Supports Jupyter Notebooks**: Works with `.ipynb` files, the standard Jupyter notebook format.



  Install `strip-notebook-metadata` using pip:

  ```bash
  pip install strip-notebook-metadata
  ```



  - sys
  - nbformat



  To strip metadata from a Jupyter notebook, run:

  ```bash
  strip-notebook-metadata path/to/your_notebook.ipynb
  ```

  Replace `path/to/your_notebook.ipynb` with the actual path to the notebook you wish to clean.

  To add it under your pre-commit hooks, add the following under your **pre-commit-config.yaml**:
  ```
  -   repo: https://github.com/kyriaki-mvr/strip-notebook-metadata
      rev: v0.2.0
      hooks:
      -   id: strip-notebook-metadata
  ```



  Contributions are welcome! If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcomed.



  If you have any feedback, please file an issue on the GitHub repository page. I am always looking to improve and appreciate all feedback, bug reports, and suggestions.



  This project is licensed under the GPL License - see the LICENSE file for details.



  - Kyriaki Mavropoulou (kyriaki@quanterra.gr) - Initial work


  02-March-2024


pkgId: 5ba59e7a3baaac081722b864f6506299e8d77203881e3d90d59b758c25e4c7d3
name: python3-superduper-sqlalchemy
arch: noarch
version: 0.4.2
epoch: 0
release: 1
url: https://pypi.org/project/superduper-sqlalchemy/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-superduper-sqlalchemy-0.4.2-1.src.rpm
location_href: Packages/python3-superduper-sqlalchemy-0.4.2-1.noarch.rpm
checksum_type: sha256
summary:
  Superduper sqlalchemy is a metadata plugin for Superduper that allows you to store metadata in a SQL database.

description:
  <!-- Auto-generated content start -->


  Superduper sqlalchemy is a metadata plugin for Superduper that allows you to store metadata in a SQL database.

  This plugin cannot be used independently; it must be used together with superduper_ibis.




  ```bash
  pip install superduper_sqlalchemy
  ```




  - [Code](https://github.com/superduper-io/superduper/tree/main/plugins/sqlalchemy)
  - [API-docs](/docs/api/plugins/superduper_sqlalchemy)

  | Class | Description |
  |---|---|
  | `superduper_sqlalchemy.metadata.SQLAlchemyMetadata` | Abstraction for storing meta-data separately from primary data. |



  <!-- Auto-generated content end -->

  <!-- Add your additional content below -->

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


pkgId: 5eb5cc23cd9b92dc59204d32059eb5a633ae691f09c614375673a00681e6fc5d
name: python3-symmetria
arch: noarch
version: 0.3.1
epoch: 0
release: 1
url: https://github.com/VascoSch92/symmetria
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-symmetria-0.3.1-1.src.rpm
location_href: Packages/python3-symmetria-0.3.1-1.noarch.rpm
checksum_type: sha256
summary:
  Symmetria provides an intuitive, thorough, and comprehensive framework for interacting with the symmetric group and its elements.

description:
  - [Installation](#installation)
  - [Quickstart](#quickstart)
  - [Command Line Interface](#command-line-interface)


pkgId: 7bb63c36da989c639c7f6d5ef2bc85d043eb0c7a96752d5c775c4797d5fbe0c7
name: python3-test-globaleaks-ephemeral-fs
arch: noarch
version: 0.0.2
epoch: 0
release: 1
url: https://github.com/globaleaks/globaleaks-ephemeral-fs
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-test-globaleaks-ephemeral-fs-0.0.2-1.src.rpm
location_href: Packages/python3-test-globaleaks-ephemeral-fs-0.0.2-1.noarch.rpm
checksum_type: sha256
summary:
  An ephemeral ChaCha20-encrypted filesystem implementation using fusepy and cryptography suitable for privacy-sensitive applications, such as whistleblowing platforms.

description:
  An ephemeral ChaCha20-encrypted filesystem implementation using fusepy and cryptography suitable for privacy-sensitive applications, such as whistleblowing platforms.

  [![build workflow](https://github.com/globaleaks/globaleaks-ephemeral-fs/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/globaleaks/globaleaks-whistleblowing-ephemeral-fs/actions/workflows/test.yml?query=branch%3Amain) [![Codacy Badge](https://app.codacy.com/project/badge/Coverage/f75ab1598a5d43fd9dc6efba8ceb806f)](https://app.codacy.com/gh/globaleaks/globaleaks-ephemeral-fs/dashboard) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/f75ab1598a5d43fd9dc6efba8ceb806f)](https://app.codacy.com/gh/globaleaks/globaleaks-ephemeral-fs/dashboard) [![PyPI - Downloads](https://img.shields.io/pypi/dm/globaleaks-ephemeral-fs)](https://pypi.org/project/globaleaks-ephemeral-fs/)


  `globaleaks-ephemeral-fs` provides an ephemeral, ChaCha20-encrypted filesystem implementation using Python, FUSE, and Cryptography. This filesystem is designed for temporary, secure storage with strong encryption, making it ideal for privacy-sensitive applications like whistleblowing platforms.



  To install the package, use `pip`:

  ```bash
  pip install globaleaks-ephemeral-fs
  ```





  To mount the filesystem from the command line:

  ```bash
  globaleaks-ephemeral-fs <mountpoint> [--storage_directory <directory>]
  ```

  - `<mountpoint>`: The path where the filesystem will be mounted.
  - `--storage_directory` (optional): The directory used for storage. If not provided, a temporary directory will be used.



  You can also use `globaleaks-ephemeral-fs` within your Python code. Here's an example:

  ```python
  import argparse
  from globaleaks_ephemeral_fs.ephemeral_fs import EphemeralFS

  def main():
      parser = argparse.ArgumentParser(description="Globaleaks Ephemeral FS")
      parser.add_argument('mount_point', help="Path to mount the filesystem")
      parser.add_argument('--storage_directory', '-s', help="Optional storage directory. Defaults to a temporary directory.")
      args = parser.parse_args()

      
      EphemeralFS(args.mount_point, args.storage_directory, nothreads=True, foreground=True)

  if __name__ == '__main__':
      main()
  ```



  - `mount_point` (required): The directory where the encrypted filesystem will be mounted.
  - `--storage_directory` (optional): Specify a custom storage directory for the filesystem. If not provided, a temporary directory will be used.



  - **ChaCha20 Encryption**: All data stored in the filesystem is encrypted with ChaCha20.
  - **FUSE Integration**: Mount the filesystem as a virtual disk using FUSE.
  - **Temporary Storage**: The filesystem is ephemeral and can use a temporary directory for storage.



  - Python 3.7+
  - `fusepy` for FUSE support
  - `cryptography` for encryption



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


pkgId: 751a1fda841a3718724c742c154b6bab09c2e92b0e4612d4f6e095df5244fdf2
name: python3-tgshops-integrations
arch: noarch
version: 3.6
epoch: 0
release: 1
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-tgshops-integrations-3.6-1.src.rpm
location_href: Packages/python3-tgshops-integrations-3.6-1.noarch.rpm
checksum_type: sha256
summary:
  Library is intended to provide the integration of the external service or CRM system with the TelegramShops/It allows to configure the relationship between NocoDB list of the products used further to display in the shop/As a resultss the products can be synchronized and updated uppon the request.

description:
  ```python

  from typing import List
  import asyncio

  from config import NocoDBConfig
  from tgshops_integrations.middlewares.gateway import Gateway
  from services.bitrix.client import BitrixClient


  NOCODB_HOST = NocoDBConfig.HOST
  NOCODB_API_KEY = NocoDBConfig.API_KEY
  SOURCE=NocoDBConfig.source_table

  async def main():

      
      bitrixService=BitrixClient()

      
          
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              

      bitrix_product_list=await bitrixService.get_crm_product_list()

      NocoGateway = Gateway(NOCODB_HOST=NOCODB_HOST,NOCODB_API_KEY=NOCODB_API_KEY)

      
      
      


      
      await NocoGateway.load_data(SOURCE=SOURCE)
      
      await NocoGateway.category_manager.update_categories(external_products=bitrix_product_list)

      
      await NocoGateway.update_products(external_products=bitrix_product_list)


  asyncio.run(main())








  ```

url:
  https://git.the-devs.com/virtual-shops/shop-system/shop-backend-integrations/integration-library/integration-library


pkgId: 15898e3c974ce10cd59c46880dea5283be053fd94f3055a221c4d831eb682163
name: python3-tonellishanks
arch: noarch
version: 0.1.1
epoch: 0
release: 1
url: https://pypi.org/project/tonellishanks/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-tonellishanks-0.1.1-1.src.rpm
location_href: Packages/python3-tonellishanks-0.1.1-1.noarch.rpm
checksum_type: sha256
summary:
  Pure-Python implementation of the Tonelli–Shanks algorithm for calculating a square root modulo a prime.


pkgId: d91b97df2e6d51449e8505d0e810305a642dd42ef08303aeaa361481482fa713
name: python3-torch-mdct
arch: noarch
version: 0.4.0
epoch: 0
release: 1
url: https://github.com/Kinyugo/torch_mdct
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-torch-mdct-0.4.0-1.src.rpm
location_href: Packages/python3-torch-mdct-0.4.0-1.noarch.rpm
checksum_type: sha256
summary:
  A PyTorch implementation of the Modified Discrete Cosine Transform (MDCT) and its inverse for audio processing.

description:
  A fast and clean implementation of the Modified Discrete Cosine Transform (MDCT) algorithm in PyTorch.



  ```bash
  pip install torch_mdct
  ```



  ```python
  import torchaudio
  from torch_mdct import MDCT, IMDCT


  waveform, sample_rate = torchaudio.load("/path/to/audio.file")


  mdct = MDCT(win_length=2048)
  imdct = IMDCT(win_length=2048)


  spectrogram = mdct(waveform)


  reconst_waveform = imdct(spectrogram)


  print(f"L1: {(waveform - reconst_waveform).abs().mean()}")
  ```


  [[1]](https://github.com/zafarrafii/Zaf-Python) Zaf-Python: Zafar's Audio Functions in **Python** for audio signal analysis.

  [[2]](https://github.com/nils-werner/mdct) MDCT: A fast MDCT implementation using SciPy and FFTs.


pkgId: 7fd2b2a2bacd164012b1118fc9aeb1fefbe07a8d9bc68ed84f0e119a7be8b391
name: python3-tremolo
arch: noarch
version: 0.0.850
epoch: 0
release: 1
url: https://github.com/nggit/tremolo
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-tremolo-0.0.850-1.src.rpm
location_href: Packages/python3-tremolo-0.0.850-1.noarch.rpm
checksum_type: sha256
summary:
  Tremolo is a stream-oriented, asynchronous, programmable HTTP server written in pure Python. It can also serve as an ASGI server.

description:
  [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=nggit_tremolo&metric=coverage)](https://sonarcloud.io/summary/new_code?id=nggit_tremolo)
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=nggit_tremolo&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=nggit_tremolo)

  Tremolo is a [stream-oriented](https://nggit.github.io/tremolo-docs/yield.html), asynchronous, programmable HTTP server written in pure Python. It can also serve as an [ASGI server](#asgi-server).

  Tremolo provides a common routing functionality to some unique features such as download/upload speed limiters, etc. While maintaining its simplicity and performance.

  Being built with a stream in mind, Tremolo tends to use `yield` instead of `return` in route handlers.

  ```python
  @app.route('/hello')
  async def hello_world(**server):
      yield b'Hello '
      yield b'world!'
  ```

  You can take advantage of this to serve/generate big files efficiently:

  ```python
  @app.route('/my/url/speedtest.bin')
  async def my_big_data(**server):
      response = server['response']
      buffer_size = 16384

      response.set_content_type('application/octet-stream')

      with open('/dev/random', 'rb') as f:
          chunk = True

          while chunk:
              chunk = f.read(buffer_size)
              yield chunk
  ```

  And other use cases…


  Tremolo is only suitable for those who value [minimalism](https://en.wikipedia.org/wiki/Minimalism_%28computing%29) and stability over features.

  With only **3k** lines of code, with **no dependencies** other than the [Python Standard Library](https://docs.python.org/3/library/index.html), it gives you:

  * HTTP/1.x with [WebSocket support](https://nggit.github.io/tremolo-docs/websocket.html)
  * Keep-Alive connections with [configurable limit](https://nggit.github.io/tremolo-docs/configuration.html#keepalive_connections)
  * Stream chunked uploads
  * [Stream multipart uploads](https://nggit.github.io/tremolo-docs/body.html#multipart)
  * Download/upload speed throttling
  * [Resumable downloads](https://nggit.github.io/tremolo-docs/resumable-downloads.html)
  * Framework features; routing, middleware, etc.
  * ASGI server
  * PyPy compatible


  Here is a complete *hello world* example in case you missed the usual `return`.

  ```python
  from tremolo import Application

  app = Application()

  @app.route('/hello')
  async def hello_world(**server):
      return 'Hello world!', 'latin-1'


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

  Well, `latin-1` on the right side is not required. The default is `utf-8`.

  You can save it as `hello.py` and just run it with `python3 hello.py`.

  Your first *hello world* page with Tremolo will be at http://localhost:8000/hello.


  Tremolo is an HTTP Server framework. You can build abstractions on top of it, say an ASGI server.

  In fact, Tremolo already has ASGI server (plus WebSocket) implementation.

  So you can immediately use existing [ASGI applications / frameworks](https://asgi.readthedocs.io/en/latest/implementations.html#application-frameworks), behind Tremolo (ASGI server).

  For example, If a minimal ASGI application with the name `example.py`:

  ```python
  async def app(scope, receive, send):
      assert scope['type'] == 'http'

      await send({
          'type': 'http.response.start',
          'status': 200,
          'headers': [
              (b'content-type', b'text/plain')
          ]
      })

      await send({
          'type': 'http.response.body',
          'body': b'Hello world!'
      })
  ```

  Then you can run as follows:

  ```
  python3 -m tremolo --debug --bind 127.0.0.1:8000 example:app
  ```

  To see more available options:

  ```
  python3 -m tremolo --help
  ```

  It's also possible to run the ASGI server programmatically ([example with uvloop](https://github.com/nggit/tremolo/blob/main/example_uvloop.py)):

  ```
  python3 example_uvloop.py
  ```


  The first thing to note is that Tremolo is a pure Python server framework.

  As a pure Python server framework, it is hard to find a comparison.
  Because most servers/frameworks today are full of steroids like `httptools`, `uvloop`, Rust, etc.

  You can try comparing with [Uvicorn](https://www.uvicorn.org/) with the following option (disabling steroids to be fair):

  ```
  uvicorn --loop asyncio --http h11 --log-level error example:app
  ```

  vs

  ```
  python3 -m tremolo --log-level ERROR example:app
  ```

  You will find that Tremolo is reasonably fast.

  However, it should be noted that bottlenecks often occur on the application side.
  Which means that in real-world usage, throughput reflects more on the application than the server.


  Tremolo utilizes `SO_REUSEPORT` (Linux 3.9+) to load balance worker processes.

  ```python
  app.run('0.0.0.0', 8000, worker_num=2)
  ```

  Tremolo can also listen to multiple ports in case you are using an external load balancer like Nginx / HAProxy.

  ```python
  app.listen(8001)
  app.listen(8002)

  app.run('0.0.0.0', 8000)
  ```

  You can even get higher concurrency with [PyPy](https://www.pypy.org/) or [uvloop](https://magic.io/blog/uvloop-blazing-fast-python-networking/):

  ```
  python3 -m tremolo --loop uvloop --log-level ERROR example:app
  ```

  See: [--loop](https://nggit.github.io/tremolo-docs/configuration.html#loop)


  ```
  python3 -m pip install --upgrade tremolo
  ```


  Just run `python3 alltests.py` for all tests. Or individual *test_\*.py* in the [tests/](https://github.com/nggit/tremolo/tree/main/tests) folder, for example `python3 tests/test_cli.py`.

  If you also want measurements with [coverage](https://coverage.readthedocs.io/):

  ```
  coverage run alltests.py
  coverage combine
  coverage report
  coverage html # to generate html reports
  ```


  MIT License


pkgId: 0cf4af03ba3a322dd9a0ad21f6c8f4d5f317aa2eb584feab506ec8391f8b79ac
name: python3-twnet-parser
arch: noarch
version: 0.14.1
epoch: 0
release: 1
url: https://gitlab.com/teeworlds-network/twnet_parser
rpm_license: BSD-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-twnet-parser-0.14.1-1.src.rpm
location_href: Packages/python3-twnet-parser-0.14.1-1.noarch.rpm
checksum_type: sha256
summary:
  A teeworlds network protocol library, designed according to sans I/O (http://sans-io.readthedocs.io/) principles

description:
  ```bash
  pip install twnet_parser
  ```

  ```python
  import twnet_parser.packet
  packet = twnet_parser.packet.parse7(b'\x04\x0a\x00\xcf\x2e\xde\x1d\04') # 0.7 close
  print(packet) # => <class: 'TwPacket7'>: {'version': '0.7', 'header': <class: 'Header'>, 'messages': [<class: 'CtrlMessage'>]}
  print(packet.header) # => <class: 'Header'>: {'flags': <class: 'PacketFlags7, 'size': 0, 'ack': 10, 'token': b'\xcf.\xde\x1d', 'num_chunks': 0}
  print(packet.header.flags) # => <class: 'PacketFlags7'>: {'control': True, 'resend': False, 'compression': False, 'connless': False}
  for msg in packet.messages:
      print(msg.message_name) # => close
  print(packet.to_json())





















  ```
  More examples can be found in the [examples/](./examples/) folder:

  - [map downloader client](./examples/07/download_map/)
  - [flood client (connect multiple tees to a server)](./examples/07/flood/)

  - [pcap printer (capture with tcpdump and print teeworlds traffic details)](./examples/06_and_07/print_pcap_files/)

  | Feature                      | 0.6.4              | 0.6.5              | 0.7.0 - 0.7.5      |
  | ---------------------------- | ------------------ | ------------------ | ------------------ |
  | Deserialize packet headers   |                    | :heavy_check_mark: | :heavy_check_mark: |
  | Deserialize chunk headers    | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
  | Deserialize messages         | 90%                | 90%                | 90%                |
  | Deserialize snapshots        |                    |                    |                    |
  | Deserialize connless packets | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
  | Serialize packet headers     | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
  | Serialize chunk headers      | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
  | Serialize messages           | 90%                | 90%                | 90%                |
  | Serialize snapshots          |                    |                    |                    |
  | Serialize connless packets   |                    | :heavy_check_mark: | :heavy_check_mark: |

  | Feature                        | Status  | Where to find it                            |
  | ------------------------------ | ------- | ------------------------------------------- |
  | Networking                     | :x:     | TODO: link if someone implemented it on top |
  | Protocol version detection     | :x:     | TODO: link if someone implemented it on top |
  | Track sequence number state    | :x:     | TODO: link if someone implemented it on top |
  | Track connection state         | :x:     | TODO: link if someone implemented it on top |
  Look elsewhere for these features. Or use this library to implement them on top.
  This project is intentionally only covering parsing the protocol.
  Not fully implemeting a state machine of the protocol.
  Or a fully working client / server software.
  If you want to build something with this library
  you do have to understand how the protocol works
  and when the client and server have to send what.
  This [protocol documentation](https://chillerdragon.github.io/teeworlds-protocol/index.html)
  should get you started to understand the basics.

  ```python
  from twnet_parser.packet import TwPacket7
  from twnet_parser.messages7.game.cl_call_vote import MsgClCallVote
  """
  The call to packet.pack() generates
  a valid byte array that can be sent as an udp payload
  It uses default values for things like:
   security token, acknowledge number, packet flags,
   chunk header (flags, size, seq),
   vote type, vote value, vote reason, vote force
  It computes a valid chunk header size field based
  on the payload length.
  It sets the correct num chunks field in the packet header
  based on the amount of messages you added (1 in this case)
  While this has all fields set that packet would be dropped by a vanilla
  implementation because the security token and sequence number is wrong.
  So you have to take care of those your self.
  """
  packet = TwPacket7()
  msg = MsgClCallVote()
  packet.messages.append(msg)
  packet.pack() # => b'\x00\x00\x01\xff\xff\xff\xff\x00\x00\x80\x01default\x00default\x00default\x00\x00'
  """
  Here we also send a Call vote message.
  But this time we set a security token and a few other fields.
  Note that we set num_chunks to 6 which is wrong because
  we only send one message (MsgClCallVote).
  But this library allows you to do so.
  And it will not compute the correct amount.
  But use your explicitly set wrong one instead.
  This allows you to have full control and craft any kind of packet.
  May it be correct or not.
  """
  packet = TwPacket7()
  packet.header.token = b'\x48\x1f\x93\xd7'
  packet.header.num_chunks = 6
  packet.header.ack = 638
  packet.header.flags.control = False
  packet.header.flags.compression = False
  msg = MsgClCallVote()
  msg.header.seq = 10
  msg.type = 'option'
  msg.value = 'test'
  msg.reason = ''
  msg.force = False
  packet.messages.append(msg)
  packet.pack() # => b'\x02~\x06H\x1f\x93\xd7\x00\x00\x80\x01option\x00test\x00\x00\x00'
  ```

  Running ``pip install twnet_parser`` will not install any additional packages.
  But there is an optional dependency for huffman compression.
  By default twnet_parser is using the huffman compression code from the [huffman-py](https://github.com/ChillerDragon/huffman-py)
  project which is written in pure python.
  If you have [libtw2-huffman](https://pypi.org/project/libtw2-huffman/) installed it will use that one instead.
  Because it is faster since it is written in rust and has better error handling.
  But since it is so much overhead it is not installed by default to keep twnet_parser light weight.
  You can install it by running ``pip install libtw2-huffman``
  or by running ``pip install -r requirements/optional.txt``
  You can also check which huffman backend is currently active with these lines of code
  ```python
  import twnet_parser.huffman
  print(twnet_parser.huffman.backend_name()) # => rust-libtw2 or python-twnet_parser
  ```

  ```bash
  git clone https://gitlab.com/teeworlds-network/twnet_parser
  cd twnet_parser
  python -m venv venv
  source venv/bin/activate
  pip install -r requirements/dev.txt
  pre-commit install --hook-type commit-msg
  ```

  ```bash

  pip install -r requirements/dev.txt

  pytest .

  pylint src/

  mypy src/

  ./scripts/run_tests.sh
  ```

  ```bash

  pip install -r requirements/dev.txt
  version=0.0.2
  sed -i "s/^version =.*/version = $version/" setup.cfg
  python -m build
  git tag -a "v$version" -m "# version $version"
  python -m twine upload dist/*

  ./scripts/release.sh
  ```


pkgId: 29fd00d922e6e21959f59b24be03841a5c4d6d092fa68f5249571d63b18c3769
name: python3-typed-envs
arch: noarch
version: 0.0.8
epoch: 0
release: 1
url: https://github.com/BobTheBuidler/typed-envs
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-typed-envs-0.0.8-1.src.rpm
location_href: Packages/python3-typed-envs-0.0.8-1.noarch.rpm
checksum_type: sha256
summary:
  typed_envs is used to create specialized `EnvironmentVariable` objects that behave exactly the same as any other instance of the `typ` used to create them.

description:
  typed_envs is used to create specialized `EnvironmentVariable` objects that behave exactly the same as any other instance of the `typ` used to create them.

  typed_envs is used for:
      - defining your envs in a readable, user friendly way
      - enhancing type hints for the returned instances
      - enhancing __repr__ of the returned instance with extra contextual information

  In the example below, `some_var` can be used just like as any other `int` object.

  ```
  import typed_envs
  some_var = typed_envs.create_env("SET_WITH_THIS_ENV", int, 10)
  >>> isinstance(some_var, int)
  True
  >>> isinstance(some_var, EnvironmentVariable)
  True
  ```

  There are only 2 differences between `some_var` and `int(10)`:
      - `some_var` will properly type check as an instance of both `int` and `EnvironmentVariable`
      - `some_var.__repr__()` will include contextual information about the `EnvironmentVariable`.

  ```
  >>> some_var
  <EnvironmentVariable[name=`SET_WITH_THIS_ENV`, type=int, default_value=10, current_value=10, using_default=True]>
  >>> str(some_var)
  "10"
  >>> some_var + 5
  15
  >>> 20 / some_var
  2
  ```


pkgId: 93100efe791b45a5bb149c0303dec66d62f735f2c046e70078a93f077686ecea
name: python3-typegraph
arch: noarch
version: 0.4.10
epoch: 0
release: 1
url: https://metatype.dev
rpm_license: MPL-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-typegraph-0.4.10-1.src.rpm
location_href: Packages/python3-typegraph-0.4.10-1.noarch.rpm
checksum_type: sha256
summary:
  Declarative API development platform. Build backend components with WASM, Typescript and Python, no matter where and how your (legacy) systems are.


pkgId: 092ab4dd5b4ae2d617a92ad4067332a3889b79f9d04f7287cad36b084adec209
name: python3-types-aiobotocore-cloudcontrol
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-cloudcontrol-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-cloudcontrol-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudControlApi 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-cloudcontrol"></a>



  [![PyPI - types-aiobotocore-cloudcontrol](https://img.shields.io/pypi/v/types-aiobotocore-cloudcontrol.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudcontrol/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-cloudcontrol.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudcontrol/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-cloudcontrol)](https://pypistats.org/packages/types-aiobotocore-cloudcontrol)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudControlApi 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-cloudcontrol docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudcontrol/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-cloudcontrol](#types-aiobotocore-cloudcontrol)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Waiters annotations](#waiters-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudControlApi` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudControlApi` service.

  ```bash

  python -m pip install 'types-aiobotocore[cloudcontrol]'



  python -m pip install 'types-aiobotocore-lite[cloudcontrol]'


  python -m pip install types-aiobotocore-cloudcontrol
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-cloudcontrol
  ```

  <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 `types-aiobotocore[cloudcontrol]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudcontrol]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[cloudcontrol]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudcontrol]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudcontrol]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[cloudcontrol]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudcontrol]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[cloudcontrol]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudcontrol]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[cloudcontrol]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudcontrol]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-cloudcontrol` dependency in production. However, there is an
  issue in `pylint` that it complains about undefined variables. To fix it, set
  all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudControlApiClient` provides annotations for
  `session.create_client("cloudcontrol")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudcontrol import CloudControlApiClient

  session = get_session()
  async with session.create_client("cloudcontrol") as client:
      client: CloudControlApiClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_cloudcontrol.paginator` module contains type annotations for
  all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudcontrol import CloudControlApiClient
  from types_aiobotocore_cloudcontrol.paginator import (
      ListResourceRequestsPaginator,
      ListResourcesPaginator,
  )

  session = get_session()
  async with session.create_client("cloudcontrol") as client:
      client: CloudControlApiClient

      
      
      list_resource_requests_paginator: ListResourceRequestsPaginator = client.get_paginator(
          "list_resource_requests"
      )
      list_resources_paginator: ListResourcesPaginator = client.get_paginator("list_resources")
  ```

  <a id="waiters-annotations"></a>



  `types_aiobotocore_cloudcontrol.waiter` module contains type annotations for
  all waiters.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudcontrol.client import CloudControlApiClient
  from types_aiobotocore_cloudcontrol.waiter import ResourceRequestSuccessWaiter

  session = get_session()
  async with session.create_client("cloudcontrol") as client:
      client: CloudControlApiClient

      
      
      resource_request_success_waiter: ResourceRequestSuccessWaiter = client.get_waiter(
          "resource_request_success"
      )
  ```

  <a id="literals"></a>



  `types_aiobotocore_cloudcontrol.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `CloudControlApi` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudcontrol/literals/).

  ```python
  from types_aiobotocore_cloudcontrol.literals import HandlerErrorCodeType


  def check_value(value: HandlerErrorCodeType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_cloudcontrol.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `CloudControlApi` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudcontrol/type_defs/).

  ```python
  from types_aiobotocore_cloudcontrol.type_defs import CancelResourceRequestInputRequestTypeDef


  def get_value() -> CancelResourceRequestInputRequestTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-cloudcontrol` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudcontrol/)

  <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: 0817bd10a67db48a2005c436476b1b6dd05008afcfac064a475d589de98f0825
name: python3-types-aiobotocore-clouddirectory
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-clouddirectory-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-clouddirectory-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudDirectory 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-clouddirectory"></a>



  [![PyPI - types-aiobotocore-clouddirectory](https://img.shields.io/pypi/v/types-aiobotocore-clouddirectory.svg?color=blue)](https://pypi.org/project/types-aiobotocore-clouddirectory/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-clouddirectory.svg?color=blue)](https://pypi.org/project/types-aiobotocore-clouddirectory/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-clouddirectory)](https://pypistats.org/packages/types-aiobotocore-clouddirectory)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudDirectory 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-clouddirectory docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_clouddirectory/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-clouddirectory](#types-aiobotocore-clouddirectory)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudDirectory` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudDirectory` service.

  ```bash

  python -m pip install 'types-aiobotocore[clouddirectory]'



  python -m pip install 'types-aiobotocore-lite[clouddirectory]'


  python -m pip install types-aiobotocore-clouddirectory
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-clouddirectory
  ```

  <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 `types-aiobotocore[clouddirectory]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[clouddirectory]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[clouddirectory]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[clouddirectory]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[clouddirectory]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[clouddirectory]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[clouddirectory]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[clouddirectory]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[clouddirectory]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[clouddirectory]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[clouddirectory]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-clouddirectory` dependency in production. However, there is
  an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudDirectoryClient` provides annotations for
  `session.create_client("clouddirectory")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_clouddirectory import CloudDirectoryClient

  session = get_session()
  async with session.create_client("clouddirectory") as client:
      client: CloudDirectoryClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_clouddirectory.paginator` module contains type annotations
  for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_clouddirectory import CloudDirectoryClient
  from types_aiobotocore_clouddirectory.paginator import (
      ListAppliedSchemaArnsPaginator,
      ListAttachedIndicesPaginator,
      ListDevelopmentSchemaArnsPaginator,
      ListDirectoriesPaginator,
      ListFacetAttributesPaginator,
      ListFacetNamesPaginator,
      ListIncomingTypedLinksPaginator,
      ListIndexPaginator,
      ListManagedSchemaArnsPaginator,
      ListObjectAttributesPaginator,
      ListObjectParentPathsPaginator,
      ListObjectPoliciesPaginator,
      ListOutgoingTypedLinksPaginator,
      ListPolicyAttachmentsPaginator,
      ListPublishedSchemaArnsPaginator,
      ListTagsForResourcePaginator,
      ListTypedLinkFacetAttributesPaginator,
      ListTypedLinkFacetNamesPaginator,
      LookupPolicyPaginator,
  )

  session = get_session()
  async with session.create_client("clouddirectory") as client:
      client: CloudDirectoryClient

      
      
      list_applied_schema_arns_paginator: ListAppliedSchemaArnsPaginator = client.get_paginator(
          "list_applied_schema_arns"
      )
      list_attached_indices_paginator: ListAttachedIndicesPaginator = client.get_paginator(
          "list_attached_indices"
      )
      list_development_schema_arns_paginator: ListDevelopmentSchemaArnsPaginator = (
          client.get_paginator("list_development_schema_arns")
      )
      list_directories_paginator: ListDirectoriesPaginator = client.get_paginator("list_directories")
      list_facet_attributes_paginator: ListFacetAttributesPaginator = client.get_paginator(
          "list_facet_attributes"
      )
      list_facet_names_paginator: ListFacetNamesPaginator = client.get_paginator("list_facet_names")
      list_incoming_typed_links_paginator: ListIncomingTypedLinksPaginator = client.get_paginator(
          "list_incoming_typed_links"
      )
      list_index_paginator: ListIndexPaginator = client.get_paginator("list_index")
      list_managed_schema_arns_paginator: ListManagedSchemaArnsPaginator = client.get_paginator(
          "list_managed_schema_arns"
      )
      list_object_attributes_paginator: ListObjectAttributesPaginator = client.get_paginator(
          "list_object_attributes"
      )
      list_object_parent_paths_paginator: ListObjectParentPathsPaginator = client.get_paginator(
          "list_object_parent_paths"
      )
      list_object_policies_paginator: ListObjectPoliciesPaginator = client.get_paginator(
          "list_object_policies"
      )
      list_outgoing_typed_links_paginator: ListOutgoingTypedLinksPaginator = client.get_paginator(
          "list_outgoing_typed_links"
      )
      list_policy_attachments_paginator: ListPolicyAttachmentsPaginator = client.get_paginator(
          "list_policy_attachments"
      )
      list_published_schema_arns_paginator: ListPublishedSchemaArnsPaginator = client.get_paginator(
          "list_published_schema_arns"
      )
      list_tags_for_resource_paginator: ListTagsForResourcePaginator = client.get_paginator(
          "list_tags_for_resource"
      )
      list_typed_link_facet_attributes_paginator: ListTypedLinkFacetAttributesPaginator = (
          client.get_paginator("list_typed_link_facet_attributes")
      )
      list_typed_link_facet_names_paginator: ListTypedLinkFacetNamesPaginator = client.get_paginator(
          "list_typed_link_facet_names"
      )
      lookup_policy_paginator: LookupPolicyPaginator = client.get_paginator("lookup_policy")
  ```

  <a id="literals"></a>



  `types_aiobotocore_clouddirectory.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `CloudDirectory` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_clouddirectory/literals/).

  ```python
  from types_aiobotocore_clouddirectory.literals import BatchReadExceptionTypeType


  def check_value(value: BatchReadExceptionTypeType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_clouddirectory.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `CloudDirectory` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_clouddirectory/type_defs/).

  ```python
  from types_aiobotocore_clouddirectory.type_defs import ObjectReferenceTypeDef


  def get_value() -> ObjectReferenceTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-clouddirectory` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_clouddirectory/)

  <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: 9dff6da4dda1eabb70c569585c7c628153bdce2afc6a895c72d15bc40a549888
name: python3-types-aiobotocore-cloudformation
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-cloudformation-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-cloudformation-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudFormation 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-cloudformation"></a>



  [![PyPI - types-aiobotocore-cloudformation](https://img.shields.io/pypi/v/types-aiobotocore-cloudformation.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudformation/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-cloudformation.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudformation/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-cloudformation)](https://pypistats.org/packages/types-aiobotocore-cloudformation)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudFormation 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-cloudformation docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudformation/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-cloudformation](#types-aiobotocore-cloudformation)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [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)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudFormation` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudFormation` service.

  ```bash

  python -m pip install 'types-aiobotocore[cloudformation]'



  python -m pip install 'types-aiobotocore-lite[cloudformation]'


  python -m pip install types-aiobotocore-cloudformation
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-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 `types-aiobotocore[cloudformation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudformation]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[cloudformation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudformation]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[cloudformation]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudformation]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[cloudformation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudformation]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[cloudformation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudformation]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-cloudformation` dependency in production. However, there is
  an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudFormationClient` provides annotations for
  `session.create_client("cloudformation")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudformation import CloudFormationClient

  session = get_session()
  async with session.create_client("cloudformation") as client:
      client: CloudFormationClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_cloudformation.paginator` module contains type annotations
  for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudformation import CloudFormationClient
  from types_aiobotocore_cloudformation.paginator import (
      DescribeAccountLimitsPaginator,
      DescribeChangeSetPaginator,
      DescribeStackEventsPaginator,
      DescribeStacksPaginator,
      ListChangeSetsPaginator,
      ListExportsPaginator,
      ListGeneratedTemplatesPaginator,
      ListImportsPaginator,
      ListResourceScanRelatedResourcesPaginator,
      ListResourceScanResourcesPaginator,
      ListResourceScansPaginator,
      ListStackInstancesPaginator,
      ListStackResourcesPaginator,
      ListStackSetOperationResultsPaginator,
      ListStackSetOperationsPaginator,
      ListStackSetsPaginator,
      ListStacksPaginator,
      ListTypesPaginator,
  )

  session = get_session()
  async with session.create_client("cloudformation") as client:
      client: CloudFormationClient

      
      
      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_generated_templates_paginator: ListGeneratedTemplatesPaginator = client.get_paginator(
          "list_generated_templates"
      )
      list_imports_paginator: ListImportsPaginator = client.get_paginator("list_imports")
      list_resource_scan_related_resources_paginator: ListResourceScanRelatedResourcesPaginator = (
          client.get_paginator("list_resource_scan_related_resources")
      )
      list_resource_scan_resources_paginator: ListResourceScanResourcesPaginator = (
          client.get_paginator("list_resource_scan_resources")
      )
      list_resource_scans_paginator: ListResourceScansPaginator = client.get_paginator(
          "list_resource_scans"
      )
      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>



  `types_aiobotocore_cloudformation.waiter` module contains type annotations for
  all waiters.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudformation.client import CloudFormationClient
  from types_aiobotocore_cloudformation.waiter import (
      ChangeSetCreateCompleteWaiter,
      StackCreateCompleteWaiter,
      StackDeleteCompleteWaiter,
      StackExistsWaiter,
      StackImportCompleteWaiter,
      StackRollbackCompleteWaiter,
      StackUpdateCompleteWaiter,
      TypeRegistrationCompleteWaiter,
  )

  session = get_session()
  async with session.create_client("cloudformation") as client:
      client: CloudFormationClient

      
      
      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
  `aiobotocore.resource("cloudformation")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudformation import CloudFormationServiceResource

  session = get_session()
  async with session.resource("cloudformation") as resource:
      resource: CloudFormationServiceResource
      
  ```

  <a id="other-resources-annotations"></a>



  `types_aiobotocore_cloudformation.service_resource` module contains type
  annotations for all resources.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudformation import CloudFormationServiceResource
  from types_aiobotocore_cloudformation.service_resource import (
      Event,
      Stack,
      StackResource,
      StackResourceSummary,
  )

  session = get_session()
  async with session.resource("cloudformation") as resource:
      resource: CloudFormationServiceResource

      
      
      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>



  `types_aiobotocore_cloudformation.service_resource` module contains type
  annotations for all `CloudFormationServiceResource` collections.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudformation import CloudFormationServiceResource
  from types_aiobotocore_cloudformation.service_resource import ServiceResourceStacksCollection

  session = get_session()
  async with session.resource("cloudformation") as resource:
      resource: CloudFormationServiceResource

      
      
      stacks: cloudformation_resources.ServiceResourceStacksCollection = resource.stacks
  ```

  <a id="literals"></a>



  `types_aiobotocore_cloudformation.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `CloudFormation` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudformation/literals/).

  ```python
  from types_aiobotocore_cloudformation.literals import AccountFilterTypeType


  def check_value(value: AccountFilterTypeType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_cloudformation.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `CloudFormation` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudformation/type_defs/).

  ```python
  from types_aiobotocore_cloudformation.type_defs import AccountGateResultTypeDef


  def get_value() -> 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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-cloudformation` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_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.


pkgId: a0c329af9b38ef0ea4b2eb8c3cf0be169b3feb7f01201ed118c5951e074af493
name: python3-types-aiobotocore-cloudfront-keyvaluestore
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-cloudfront-keyvaluestore-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-cloudfront-keyvaluestore-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudFrontKeyValueStore 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-cloudfront-keyvaluestore"></a>



  [![PyPI - types-aiobotocore-cloudfront-keyvaluestore](https://img.shields.io/pypi/v/types-aiobotocore-cloudfront-keyvaluestore.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudfront-keyvaluestore/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-cloudfront-keyvaluestore.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudfront-keyvaluestore/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-cloudfront-keyvaluestore)](https://pypistats.org/packages/types-aiobotocore-cloudfront-keyvaluestore)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudFrontKeyValueStore 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-cloudfront-keyvaluestore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudfront_keyvaluestore/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-cloudfront-keyvaluestore](#types-aiobotocore-cloudfront-keyvaluestore)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudFrontKeyValueStore` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudFrontKeyValueStore` service.

  ```bash

  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'



  python -m pip install 'types-aiobotocore-lite[cloudfront-keyvaluestore]'


  python -m pip install types-aiobotocore-cloudfront-keyvaluestore
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-cloudfront-keyvaluestore
  ```

  <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 `types-aiobotocore[cloudfront-keyvaluestore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[cloudfront-keyvaluestore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[cloudfront-keyvaluestore]` with services you use
    in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[cloudfront-keyvaluestore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[cloudfront-keyvaluestore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudfront-keyvaluestore]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-cloudfront-keyvaluestore` dependency in production. However,
  there is an issue in `pylint` that it complains about undefined variables. To
  fix it, set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudFrontKeyValueStoreClient` provides annotations for
  `session.create_client("cloudfront-keyvaluestore")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudfront_keyvaluestore import CloudFrontKeyValueStoreClient

  session = get_session()
  async with session.create_client("cloudfront-keyvaluestore") as client:
      client: CloudFrontKeyValueStoreClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_cloudfront_keyvaluestore.paginator` module contains type
  annotations for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudfront_keyvaluestore import CloudFrontKeyValueStoreClient
  from types_aiobotocore_cloudfront_keyvaluestore.paginator import ListKeysPaginator

  session = get_session()
  async with session.create_client("cloudfront-keyvaluestore") as client:
      client: CloudFrontKeyValueStoreClient

      
      
      list_keys_paginator: ListKeysPaginator = client.get_paginator("list_keys")
  ```

  <a id="literals"></a>



  `types_aiobotocore_cloudfront_keyvaluestore.literals` module contains literals
  extracted from shapes that can be used in user code for type checking.

  Full list of `CloudFrontKeyValueStore` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudfront_keyvaluestore/literals/).

  ```python
  from types_aiobotocore_cloudfront_keyvaluestore.literals import ListKeysPaginatorName


  def check_value(value: ListKeysPaginatorName) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_cloudfront_keyvaluestore.type_defs` module contains
  structures and shapes assembled to typed dictionaries and unions for additional
  type checking.

  Full list of `CloudFrontKeyValueStore` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudfront_keyvaluestore/type_defs/).

  ```python
  from types_aiobotocore_cloudfront_keyvaluestore.type_defs import DeleteKeyRequestListItemTypeDef


  def get_value() -> DeleteKeyRequestListItemTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-cloudfront-keyvaluestore` version is the same as related
  `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudfront_keyvaluestore/)

  <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: 57ed03bb1b5815f764c0f1b4a3bb67967df3024f73056d994494bb94410e4e7d
name: python3-types-aiobotocore-cloudsearchdomain
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-cloudsearchdomain-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-cloudsearchdomain-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudSearchDomain 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-cloudsearchdomain"></a>



  [![PyPI - types-aiobotocore-cloudsearchdomain](https://img.shields.io/pypi/v/types-aiobotocore-cloudsearchdomain.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudsearchdomain/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-cloudsearchdomain.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudsearchdomain/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-cloudsearchdomain)](https://pypistats.org/packages/types-aiobotocore-cloudsearchdomain)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudSearchDomain 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-cloudsearchdomain docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudsearchdomain/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-cloudsearchdomain](#types-aiobotocore-cloudsearchdomain)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudSearchDomain` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudSearchDomain` service.

  ```bash

  python -m pip install 'types-aiobotocore[cloudsearchdomain]'



  python -m pip install 'types-aiobotocore-lite[cloudsearchdomain]'


  python -m pip install types-aiobotocore-cloudsearchdomain
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-cloudsearchdomain
  ```

  <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 `types-aiobotocore[cloudsearchdomain]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudsearchdomain]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[cloudsearchdomain]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudsearchdomain]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudsearchdomain]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[cloudsearchdomain]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudsearchdomain]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[cloudsearchdomain]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudsearchdomain]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[cloudsearchdomain]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudsearchdomain]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-cloudsearchdomain` dependency in production. However, there
  is an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudSearchDomainClient` provides annotations for
  `session.create_client("cloudsearchdomain")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudsearchdomain import CloudSearchDomainClient

  session = get_session()
  async with session.create_client("cloudsearchdomain") as client:
      client: CloudSearchDomainClient
      
  ```

  <a id="literals"></a>



  `types_aiobotocore_cloudsearchdomain.literals` module contains literals
  extracted from shapes that can be used in user code for type checking.

  Full list of `CloudSearchDomain` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudsearchdomain/literals/).

  ```python
  from types_aiobotocore_cloudsearchdomain.literals import ContentTypeType


  def check_value(value: ContentTypeType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_cloudsearchdomain.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `CloudSearchDomain` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudsearchdomain/type_defs/).

  ```python
  from types_aiobotocore_cloudsearchdomain.type_defs import BlobTypeDef


  def get_value() -> BlobTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-cloudsearchdomain` version is the same as related
  `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudsearchdomain/)

  <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: b51d577a504f051d3e0452b6caba884372a15a039abecaa133afb7a13ece9c43
name: python3-types-aiobotocore-cloudtrail-data
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-cloudtrail-data-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-cloudtrail-data-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudTrailDataService 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-cloudtrail-data"></a>



  [![PyPI - types-aiobotocore-cloudtrail-data](https://img.shields.io/pypi/v/types-aiobotocore-cloudtrail-data.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudtrail-data/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-cloudtrail-data.svg?color=blue)](https://pypi.org/project/types-aiobotocore-cloudtrail-data/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-cloudtrail-data)](https://pypistats.org/packages/types-aiobotocore-cloudtrail-data)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudTrailDataService 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-cloudtrail-data docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudtrail_data/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-cloudtrail-data](#types-aiobotocore-cloudtrail-data)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudTrailDataService` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudTrailDataService` service.

  ```bash

  python -m pip install 'types-aiobotocore[cloudtrail-data]'



  python -m pip install 'types-aiobotocore-lite[cloudtrail-data]'


  python -m pip install types-aiobotocore-cloudtrail-data
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-cloudtrail-data
  ```

  <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 `types-aiobotocore[cloudtrail-data]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudtrail-data]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[cloudtrail-data]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudtrail-data]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudtrail-data]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[cloudtrail-data]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudtrail-data]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[cloudtrail-data]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudtrail-data]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[cloudtrail-data]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[cloudtrail-data]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-cloudtrail-data` dependency in production. However, there is
  an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudTrailDataServiceClient` provides annotations for
  `session.create_client("cloudtrail-data")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_cloudtrail_data import CloudTrailDataServiceClient

  session = get_session()
  async with session.create_client("cloudtrail-data") as client:
      client: CloudTrailDataServiceClient
      
  ```

  <a id="literals"></a>



  `types_aiobotocore_cloudtrail_data.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `CloudTrailDataService` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudtrail_data/literals/).

  ```python
  from types_aiobotocore_cloudtrail_data.literals import CloudTrailDataServiceServiceName


  def check_value(value: CloudTrailDataServiceServiceName) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_cloudtrail_data.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `CloudTrailDataService` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudtrail_data/type_defs/).

  ```python
  from types_aiobotocore_cloudtrail_data.type_defs import AuditEventResultEntryTypeDef


  def get_value() -> AuditEventResultEntryTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-cloudtrail-data` version is the same as related
  `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_cloudtrail_data/)

  <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: 350293b0afe1dd1d47fac4562a0115319c238536c994bad478649305375e9ef3
name: python3-types-aiobotocore-globalaccelerator
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-globalaccelerator-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-globalaccelerator-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore GlobalAccelerator 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-globalaccelerator"></a>



  [![PyPI - types-aiobotocore-globalaccelerator](https://img.shields.io/pypi/v/types-aiobotocore-globalaccelerator.svg?color=blue)](https://pypi.org/project/types-aiobotocore-globalaccelerator/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-globalaccelerator.svg?color=blue)](https://pypi.org/project/types-aiobotocore-globalaccelerator/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-globalaccelerator)](https://pypistats.org/packages/types-aiobotocore-globalaccelerator)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore GlobalAccelerator 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-globalaccelerator docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_globalaccelerator/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-globalaccelerator](#types-aiobotocore-globalaccelerator)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `GlobalAccelerator` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `GlobalAccelerator` service.

  ```bash

  python -m pip install 'types-aiobotocore[globalaccelerator]'



  python -m pip install 'types-aiobotocore-lite[globalaccelerator]'


  python -m pip install types-aiobotocore-globalaccelerator
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-globalaccelerator
  ```

  <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 `types-aiobotocore[globalaccelerator]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[globalaccelerator]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[globalaccelerator]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[globalaccelerator]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[globalaccelerator]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[globalaccelerator]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[globalaccelerator]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[globalaccelerator]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[globalaccelerator]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[globalaccelerator]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[globalaccelerator]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-globalaccelerator` dependency in production. However, there
  is an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `GlobalAcceleratorClient` provides annotations for
  `session.create_client("globalaccelerator")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_globalaccelerator import GlobalAcceleratorClient

  session = get_session()
  async with session.create_client("globalaccelerator") as client:
      client: GlobalAcceleratorClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_globalaccelerator.paginator` module contains type
  annotations for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_globalaccelerator import GlobalAcceleratorClient
  from types_aiobotocore_globalaccelerator.paginator import (
      ListAcceleratorsPaginator,
      ListByoipCidrsPaginator,
      ListCrossAccountAttachmentsPaginator,
      ListCrossAccountResourcesPaginator,
      ListCustomRoutingAcceleratorsPaginator,
      ListCustomRoutingEndpointGroupsPaginator,
      ListCustomRoutingListenersPaginator,
      ListCustomRoutingPortMappingsByDestinationPaginator,
      ListCustomRoutingPortMappingsPaginator,
      ListEndpointGroupsPaginator,
      ListListenersPaginator,
  )

  session = get_session()
  async with session.create_client("globalaccelerator") as client:
      client: GlobalAcceleratorClient

      
      
      list_accelerators_paginator: ListAcceleratorsPaginator = client.get_paginator(
          "list_accelerators"
      )
      list_byoip_cidrs_paginator: ListByoipCidrsPaginator = client.get_paginator("list_byoip_cidrs")
      list_cross_account_attachments_paginator: ListCrossAccountAttachmentsPaginator = (
          client.get_paginator("list_cross_account_attachments")
      )
      list_cross_account_resources_paginator: ListCrossAccountResourcesPaginator = (
          client.get_paginator("list_cross_account_resources")
      )
      list_custom_routing_accelerators_paginator: ListCustomRoutingAcceleratorsPaginator = (
          client.get_paginator("list_custom_routing_accelerators")
      )
      list_custom_routing_endpoint_groups_paginator: ListCustomRoutingEndpointGroupsPaginator = (
          client.get_paginator("list_custom_routing_endpoint_groups")
      )
      list_custom_routing_listeners_paginator: ListCustomRoutingListenersPaginator = (
          client.get_paginator("list_custom_routing_listeners")
      )
      list_custom_routing_port_mappings_by_destination_paginator: ListCustomRoutingPortMappingsByDestinationPaginator = client.get_paginator(
          "list_custom_routing_port_mappings_by_destination"
      )
      list_custom_routing_port_mappings_paginator: ListCustomRoutingPortMappingsPaginator = (
          client.get_paginator("list_custom_routing_port_mappings")
      )
      list_endpoint_groups_paginator: ListEndpointGroupsPaginator = client.get_paginator(
          "list_endpoint_groups"
      )
      list_listeners_paginator: ListListenersPaginator = client.get_paginator("list_listeners")
  ```

  <a id="literals"></a>



  `types_aiobotocore_globalaccelerator.literals` module contains literals
  extracted from shapes that can be used in user code for type checking.

  Full list of `GlobalAccelerator` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_globalaccelerator/literals/).

  ```python
  from types_aiobotocore_globalaccelerator.literals import AcceleratorStatusType


  def check_value(value: AcceleratorStatusType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_globalaccelerator.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `GlobalAccelerator` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_globalaccelerator/type_defs/).

  ```python
  from types_aiobotocore_globalaccelerator.type_defs import AcceleratorAttributesTypeDef


  def get_value() -> AcceleratorAttributesTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-globalaccelerator` version is the same as related
  `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_globalaccelerator/)

  <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: f9e47829ab6e4b7be04e6dbf80caff0f07454f172e2b7ae18ea63d5178e2809e
name: python3-types-aiobotocore-grafana
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-grafana-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-grafana-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore ManagedGrafana 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-grafana"></a>



  [![PyPI - types-aiobotocore-grafana](https://img.shields.io/pypi/v/types-aiobotocore-grafana.svg?color=blue)](https://pypi.org/project/types-aiobotocore-grafana/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-grafana.svg?color=blue)](https://pypi.org/project/types-aiobotocore-grafana/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-grafana)](https://pypistats.org/packages/types-aiobotocore-grafana)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore ManagedGrafana 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-grafana docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_grafana/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-grafana](#types-aiobotocore-grafana)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `ManagedGrafana` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `ManagedGrafana` service.

  ```bash

  python -m pip install 'types-aiobotocore[grafana]'



  python -m pip install 'types-aiobotocore-lite[grafana]'


  python -m pip install types-aiobotocore-grafana
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-grafana
  ```

  <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 `types-aiobotocore[grafana]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[grafana]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[grafana]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[grafana]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[grafana]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[grafana]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[grafana]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[grafana]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[grafana]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[grafana]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[grafana]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-grafana` dependency in production. However, there is an
  issue in `pylint` that it complains about undefined variables. To fix it, set
  all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `ManagedGrafanaClient` provides annotations for
  `session.create_client("grafana")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_grafana import ManagedGrafanaClient

  session = get_session()
  async with session.create_client("grafana") as client:
      client: ManagedGrafanaClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_grafana.paginator` module contains type annotations for all
  paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_grafana import ManagedGrafanaClient
  from types_aiobotocore_grafana.paginator import (
      ListPermissionsPaginator,
      ListVersionsPaginator,
      ListWorkspaceServiceAccountTokensPaginator,
      ListWorkspaceServiceAccountsPaginator,
      ListWorkspacesPaginator,
  )

  session = get_session()
  async with session.create_client("grafana") as client:
      client: ManagedGrafanaClient

      
      
      list_permissions_paginator: ListPermissionsPaginator = client.get_paginator("list_permissions")
      list_versions_paginator: ListVersionsPaginator = client.get_paginator("list_versions")
      list_workspace_service_account_tokens_paginator: ListWorkspaceServiceAccountTokensPaginator = (
          client.get_paginator("list_workspace_service_account_tokens")
      )
      list_workspace_service_accounts_paginator: ListWorkspaceServiceAccountsPaginator = (
          client.get_paginator("list_workspace_service_accounts")
      )
      list_workspaces_paginator: ListWorkspacesPaginator = client.get_paginator("list_workspaces")
  ```

  <a id="literals"></a>



  `types_aiobotocore_grafana.literals` module contains literals extracted from
  shapes that can be used in user code for type checking.

  Full list of `ManagedGrafana` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_grafana/literals/).

  ```python
  from types_aiobotocore_grafana.literals import AccountAccessTypeType


  def check_value(value: AccountAccessTypeType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_grafana.type_defs` module contains structures and shapes
  assembled to typed dictionaries and unions for additional type checking.

  Full list of `ManagedGrafana` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_grafana/type_defs/).

  ```python
  from types_aiobotocore_grafana.type_defs import AssertionAttributesTypeDef


  def get_value() -> AssertionAttributesTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-grafana` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_grafana/)

  <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: f34a9fceae2bf8b4fba460e9611f7eec8b6d081a60d48d3c67b266d5cbb0936c
name: python3-types-aiobotocore-greengrassv2
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-greengrassv2-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-greengrassv2-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore GreengrassV2 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-greengrassv2"></a>



  [![PyPI - types-aiobotocore-greengrassv2](https://img.shields.io/pypi/v/types-aiobotocore-greengrassv2.svg?color=blue)](https://pypi.org/project/types-aiobotocore-greengrassv2/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-greengrassv2.svg?color=blue)](https://pypi.org/project/types-aiobotocore-greengrassv2/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-greengrassv2)](https://pypistats.org/packages/types-aiobotocore-greengrassv2)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore GreengrassV2 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-greengrassv2 docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_greengrassv2/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-greengrassv2](#types-aiobotocore-greengrassv2)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `GreengrassV2` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `GreengrassV2` service.

  ```bash

  python -m pip install 'types-aiobotocore[greengrassv2]'



  python -m pip install 'types-aiobotocore-lite[greengrassv2]'


  python -m pip install types-aiobotocore-greengrassv2
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-greengrassv2
  ```

  <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 `types-aiobotocore[greengrassv2]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[greengrassv2]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[greengrassv2]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[greengrassv2]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[greengrassv2]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[greengrassv2]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[greengrassv2]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[greengrassv2]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[greengrassv2]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[greengrassv2]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[greengrassv2]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-greengrassv2` dependency in production. However, there is an
  issue in `pylint` that it complains about undefined variables. To fix it, set
  all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `GreengrassV2Client` provides annotations for
  `session.create_client("greengrassv2")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_greengrassv2 import GreengrassV2Client

  session = get_session()
  async with session.create_client("greengrassv2") as client:
      client: GreengrassV2Client
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_greengrassv2.paginator` module contains type annotations for
  all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_greengrassv2 import GreengrassV2Client
  from types_aiobotocore_greengrassv2.paginator import (
      ListClientDevicesAssociatedWithCoreDevicePaginator,
      ListComponentVersionsPaginator,
      ListComponentsPaginator,
      ListCoreDevicesPaginator,
      ListDeploymentsPaginator,
      ListEffectiveDeploymentsPaginator,
      ListInstalledComponentsPaginator,
  )

  session = get_session()
  async with session.create_client("greengrassv2") as client:
      client: GreengrassV2Client

      
      
      list_client_devices_associated_with_core_device_paginator: ListClientDevicesAssociatedWithCoreDevicePaginator = client.get_paginator(
          "list_client_devices_associated_with_core_device"
      )
      list_component_versions_paginator: ListComponentVersionsPaginator = client.get_paginator(
          "list_component_versions"
      )
      list_components_paginator: ListComponentsPaginator = client.get_paginator("list_components")
      list_core_devices_paginator: ListCoreDevicesPaginator = client.get_paginator(
          "list_core_devices"
      )
      list_deployments_paginator: ListDeploymentsPaginator = client.get_paginator("list_deployments")
      list_effective_deployments_paginator: ListEffectiveDeploymentsPaginator = client.get_paginator(
          "list_effective_deployments"
      )
      list_installed_components_paginator: ListInstalledComponentsPaginator = client.get_paginator(
          "list_installed_components"
      )
  ```

  <a id="literals"></a>



  `types_aiobotocore_greengrassv2.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `GreengrassV2` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_greengrassv2/literals/).

  ```python
  from types_aiobotocore_greengrassv2.literals import CloudComponentStateType


  def check_value(value: CloudComponentStateType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_greengrassv2.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `GreengrassV2` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_greengrassv2/type_defs/).

  ```python
  from types_aiobotocore_greengrassv2.type_defs import AssociateClientDeviceWithCoreDeviceEntryTypeDef


  def get_value() -> AssociateClientDeviceWithCoreDeviceEntryTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-greengrassv2` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_greengrassv2/)

  <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: 3fbf7e0794869c8994b4e3670536406a64d4b31a6d8c078e6c6bda03537fbd48
name: python3-types-aiobotocore-groundstation
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-groundstation-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-groundstation-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore GroundStation 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-groundstation"></a>



  [![PyPI - types-aiobotocore-groundstation](https://img.shields.io/pypi/v/types-aiobotocore-groundstation.svg?color=blue)](https://pypi.org/project/types-aiobotocore-groundstation/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-groundstation.svg?color=blue)](https://pypi.org/project/types-aiobotocore-groundstation/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-groundstation)](https://pypistats.org/packages/types-aiobotocore-groundstation)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore GroundStation 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-groundstation docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_groundstation/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-groundstation](#types-aiobotocore-groundstation)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Waiters annotations](#waiters-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `GroundStation` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `GroundStation` service.

  ```bash

  python -m pip install 'types-aiobotocore[groundstation]'



  python -m pip install 'types-aiobotocore-lite[groundstation]'


  python -m pip install types-aiobotocore-groundstation
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-groundstation
  ```

  <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 `types-aiobotocore[groundstation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[groundstation]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[groundstation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[groundstation]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[groundstation]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[groundstation]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[groundstation]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[groundstation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[groundstation]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[groundstation]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[groundstation]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-groundstation` dependency in production. However, there is
  an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `GroundStationClient` provides annotations for
  `session.create_client("groundstation")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_groundstation import GroundStationClient

  session = get_session()
  async with session.create_client("groundstation") as client:
      client: GroundStationClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_groundstation.paginator` module contains type annotations
  for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_groundstation import GroundStationClient
  from types_aiobotocore_groundstation.paginator import (
      ListConfigsPaginator,
      ListContactsPaginator,
      ListDataflowEndpointGroupsPaginator,
      ListEphemeridesPaginator,
      ListGroundStationsPaginator,
      ListMissionProfilesPaginator,
      ListSatellitesPaginator,
  )

  session = get_session()
  async with session.create_client("groundstation") as client:
      client: GroundStationClient

      
      
      list_configs_paginator: ListConfigsPaginator = client.get_paginator("list_configs")
      list_contacts_paginator: ListContactsPaginator = client.get_paginator("list_contacts")
      list_dataflow_endpoint_groups_paginator: ListDataflowEndpointGroupsPaginator = (
          client.get_paginator("list_dataflow_endpoint_groups")
      )
      list_ephemerides_paginator: ListEphemeridesPaginator = client.get_paginator("list_ephemerides")
      list_ground_stations_paginator: ListGroundStationsPaginator = client.get_paginator(
          "list_ground_stations"
      )
      list_mission_profiles_paginator: ListMissionProfilesPaginator = client.get_paginator(
          "list_mission_profiles"
      )
      list_satellites_paginator: ListSatellitesPaginator = client.get_paginator("list_satellites")
  ```

  <a id="waiters-annotations"></a>



  `types_aiobotocore_groundstation.waiter` module contains type annotations for
  all waiters.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_groundstation.client import GroundStationClient
  from types_aiobotocore_groundstation.waiter import ContactScheduledWaiter

  session = get_session()
  async with session.create_client("groundstation") as client:
      client: GroundStationClient

      
      
      contact_scheduled_waiter: ContactScheduledWaiter = client.get_waiter("contact_scheduled")
  ```

  <a id="literals"></a>



  `types_aiobotocore_groundstation.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `GroundStation` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_groundstation/literals/).

  ```python
  from types_aiobotocore_groundstation.literals import AgentStatusType


  def check_value(value: AgentStatusType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_groundstation.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `GroundStation` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_groundstation/type_defs/).

  ```python
  from types_aiobotocore_groundstation.type_defs import ComponentVersionTypeDef


  def get_value() -> ComponentVersionTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-groundstation` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_groundstation/)

  <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: 4d530122d7a8833d18439f0b756e63ccc7a8a2f46dae362cd63c3a00ee2456be
name: python3-types-aiobotocore-identitystore
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-identitystore-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-identitystore-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore IdentityStore 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-identitystore"></a>



  [![PyPI - types-aiobotocore-identitystore](https://img.shields.io/pypi/v/types-aiobotocore-identitystore.svg?color=blue)](https://pypi.org/project/types-aiobotocore-identitystore/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-identitystore.svg?color=blue)](https://pypi.org/project/types-aiobotocore-identitystore/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-identitystore)](https://pypistats.org/packages/types-aiobotocore-identitystore)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore IdentityStore 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-identitystore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_identitystore/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-identitystore](#types-aiobotocore-identitystore)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `IdentityStore` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `IdentityStore` service.

  ```bash

  python -m pip install 'types-aiobotocore[identitystore]'



  python -m pip install 'types-aiobotocore-lite[identitystore]'


  python -m pip install types-aiobotocore-identitystore
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-identitystore
  ```

  <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 `types-aiobotocore[identitystore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[identitystore]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[identitystore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[identitystore]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[identitystore]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[identitystore]` with services you use in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[identitystore]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[identitystore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[identitystore]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[identitystore]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[identitystore]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-identitystore` dependency in production. However, there is
  an issue in `pylint` that it complains about undefined variables. To fix it,
  set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `IdentityStoreClient` provides annotations for
  `session.create_client("identitystore")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_identitystore import IdentityStoreClient

  session = get_session()
  async with session.create_client("identitystore") as client:
      client: IdentityStoreClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_identitystore.paginator` module contains type annotations
  for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_identitystore import IdentityStoreClient
  from types_aiobotocore_identitystore.paginator import (
      ListGroupMembershipsForMemberPaginator,
      ListGroupMembershipsPaginator,
      ListGroupsPaginator,
      ListUsersPaginator,
  )

  session = get_session()
  async with session.create_client("identitystore") as client:
      client: IdentityStoreClient

      
      
      list_group_memberships_for_member_paginator: ListGroupMembershipsForMemberPaginator = (
          client.get_paginator("list_group_memberships_for_member")
      )
      list_group_memberships_paginator: ListGroupMembershipsPaginator = client.get_paginator(
          "list_group_memberships"
      )
      list_groups_paginator: ListGroupsPaginator = client.get_paginator("list_groups")
      list_users_paginator: ListUsersPaginator = client.get_paginator("list_users")
  ```

  <a id="literals"></a>



  `types_aiobotocore_identitystore.literals` module contains literals extracted
  from shapes that can be used in user code for type checking.

  Full list of `IdentityStore` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_identitystore/literals/).

  ```python
  from types_aiobotocore_identitystore.literals import ListGroupMembershipsForMemberPaginatorName


  def check_value(value: ListGroupMembershipsForMemberPaginatorName) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_identitystore.type_defs` module contains structures and
  shapes assembled to typed dictionaries and unions for additional type checking.

  Full list of `IdentityStore` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_identitystore/type_defs/).

  ```python
  from types_aiobotocore_identitystore.type_defs import AddressTypeDef


  def get_value() -> AddressTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-identitystore` version is the same as related `aiobotocore`
  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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_identitystore/)

  <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: 7763ae4ea5d6b7f696d0d04d8a7f2a6e142f2609536e8794efb49b288f91a3d6
name: python3-types-aiobotocore-meteringmarketplace
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-meteringmarketplace-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-meteringmarketplace-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore MarketplaceMetering 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-meteringmarketplace"></a>



  [![PyPI - types-aiobotocore-meteringmarketplace](https://img.shields.io/pypi/v/types-aiobotocore-meteringmarketplace.svg?color=blue)](https://pypi.org/project/types-aiobotocore-meteringmarketplace/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-meteringmarketplace.svg?color=blue)](https://pypi.org/project/types-aiobotocore-meteringmarketplace/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-meteringmarketplace)](https://pypistats.org/packages/types-aiobotocore-meteringmarketplace)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore MarketplaceMetering 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-meteringmarketplace docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_meteringmarketplace/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-meteringmarketplace](#types-aiobotocore-meteringmarketplace)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `MarketplaceMetering` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `MarketplaceMetering` service.

  ```bash

  python -m pip install 'types-aiobotocore[meteringmarketplace]'



  python -m pip install 'types-aiobotocore-lite[meteringmarketplace]'


  python -m pip install types-aiobotocore-meteringmarketplace
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-meteringmarketplace
  ```

  <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 `types-aiobotocore[meteringmarketplace]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[meteringmarketplace]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[meteringmarketplace]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[meteringmarketplace]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[meteringmarketplace]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[meteringmarketplace]` with services you use in
    your environment:

  ```bash
  python -m pip install 'types-aiobotocore[meteringmarketplace]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[meteringmarketplace]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[meteringmarketplace]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[meteringmarketplace]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[meteringmarketplace]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-meteringmarketplace` dependency in production. However,
  there is an issue in `pylint` that it complains about undefined variables. To
  fix it, set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `MarketplaceMeteringClient` provides annotations for
  `session.create_client("meteringmarketplace")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_meteringmarketplace import MarketplaceMeteringClient

  session = get_session()
  async with session.create_client("meteringmarketplace") as client:
      client: MarketplaceMeteringClient
      
  ```

  <a id="literals"></a>



  `types_aiobotocore_meteringmarketplace.literals` module contains literals
  extracted from shapes that can be used in user code for type checking.

  Full list of `MarketplaceMetering` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_meteringmarketplace/literals/).

  ```python
  from types_aiobotocore_meteringmarketplace.literals import UsageRecordResultStatusType


  def check_value(value: UsageRecordResultStatusType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_meteringmarketplace.type_defs` module contains structures
  and shapes assembled to typed dictionaries and unions for additional type
  checking.

  Full list of `MarketplaceMetering` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_meteringmarketplace/type_defs/).

  ```python
  from types_aiobotocore_meteringmarketplace.type_defs import ResponseMetadataTypeDef


  def get_value() -> ResponseMetadataTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-meteringmarketplace` version is the same as related
  `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_meteringmarketplace/)

  <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: 7f8ea1e9b5b2b277da8d47b7415a0699a0d093e812c0a3b7a87f6efe8766c262
name: python3-types-aiobotocore-mgh
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-mgh-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-mgh-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore MigrationHub 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-mgh"></a>



  [![PyPI - types-aiobotocore-mgh](https://img.shields.io/pypi/v/types-aiobotocore-mgh.svg?color=blue)](https://pypi.org/project/types-aiobotocore-mgh/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-mgh.svg?color=blue)](https://pypi.org/project/types-aiobotocore-mgh/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-mgh)](https://pypistats.org/packages/types-aiobotocore-mgh)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore MigrationHub 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-mgh docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_mgh/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-mgh](#types-aiobotocore-mgh)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `MigrationHub` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `MigrationHub` service.

  ```bash

  python -m pip install 'types-aiobotocore[mgh]'



  python -m pip install 'types-aiobotocore-lite[mgh]'


  python -m pip install types-aiobotocore-mgh
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-mgh
  ```

  <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 `types-aiobotocore[mgh]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[mgh]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[mgh]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[mgh]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[mgh]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[mgh]` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[mgh]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[mgh]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[mgh]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[mgh]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[mgh]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-mgh` dependency in production. However, there is an issue in
  `pylint` that it complains about undefined variables. To fix it, set all types
  to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `MigrationHubClient` provides annotations for `session.create_client("mgh")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_mgh import MigrationHubClient

  session = get_session()
  async with session.create_client("mgh") as client:
      client: MigrationHubClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_mgh.paginator` module contains type annotations for all
  paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_mgh import MigrationHubClient
  from types_aiobotocore_mgh.paginator import (
      ListApplicationStatesPaginator,
      ListCreatedArtifactsPaginator,
      ListDiscoveredResourcesPaginator,
      ListMigrationTaskUpdatesPaginator,
      ListMigrationTasksPaginator,
      ListProgressUpdateStreamsPaginator,
      ListSourceResourcesPaginator,
  )

  session = get_session()
  async with session.create_client("mgh") as client:
      client: MigrationHubClient

      
      
      list_application_states_paginator: ListApplicationStatesPaginator = client.get_paginator(
          "list_application_states"
      )
      list_created_artifacts_paginator: ListCreatedArtifactsPaginator = client.get_paginator(
          "list_created_artifacts"
      )
      list_discovered_resources_paginator: ListDiscoveredResourcesPaginator = client.get_paginator(
          "list_discovered_resources"
      )
      list_migration_task_updates_paginator: ListMigrationTaskUpdatesPaginator = client.get_paginator(
          "list_migration_task_updates"
      )
      list_migration_tasks_paginator: ListMigrationTasksPaginator = client.get_paginator(
          "list_migration_tasks"
      )
      list_progress_update_streams_paginator: ListProgressUpdateStreamsPaginator = (
          client.get_paginator("list_progress_update_streams")
      )
      list_source_resources_paginator: ListSourceResourcesPaginator = client.get_paginator(
          "list_source_resources"
      )
  ```

  <a id="literals"></a>



  `types_aiobotocore_mgh.literals` module contains literals extracted from shapes
  that can be used in user code for type checking.

  Full list of `MigrationHub` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_mgh/literals/).

  ```python
  from types_aiobotocore_mgh.literals import ApplicationStatusType


  def check_value(value: ApplicationStatusType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_mgh.type_defs` module contains structures and shapes
  assembled to typed dictionaries and unions for additional type checking.

  Full list of `MigrationHub` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_mgh/type_defs/).

  ```python
  from types_aiobotocore_mgh.type_defs import ApplicationStateTypeDef


  def get_value() -> ApplicationStateTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-mgh` version is the same as related `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_mgh/)

  <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: 1f245c1404e9816fa8657a8fb73bac39a32b29a8368e526875b2dc6859ace179
name: python3-types-aiobotocore-migration-hub-refactor-spaces
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-migration-hub-refactor-spaces-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-migration-hub-refactor-spaces-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore MigrationHubRefactorSpaces 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-migration-hub-refactor-spaces"></a>



  [![PyPI - types-aiobotocore-migration-hub-refactor-spaces](https://img.shields.io/pypi/v/types-aiobotocore-migration-hub-refactor-spaces.svg?color=blue)](https://pypi.org/project/types-aiobotocore-migration-hub-refactor-spaces/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-migration-hub-refactor-spaces.svg?color=blue)](https://pypi.org/project/types-aiobotocore-migration-hub-refactor-spaces/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-migration-hub-refactor-spaces)](https://pypistats.org/packages/types-aiobotocore-migration-hub-refactor-spaces)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore MigrationHubRefactorSpaces 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-migration-hub-refactor-spaces docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_migration_hub_refactor_spaces/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-migration-hub-refactor-spaces](#types-aiobotocore-migration-hub-refactor-spaces)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `MigrationHubRefactorSpaces` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `MigrationHubRefactorSpaces` service.

  ```bash

  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'



  python -m pip install 'types-aiobotocore-lite[migration-hub-refactor-spaces]'


  python -m pip install types-aiobotocore-migration-hub-refactor-spaces
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-migration-hub-refactor-spaces
  ```

  <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 `types-aiobotocore[migration-hub-refactor-spaces]` in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[migration-hub-refactor-spaces]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[migration-hub-refactor-spaces]` with services you
    use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[migration-hub-refactor-spaces]` in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[migration-hub-refactor-spaces]` in your
    environment:

  ```bash
  python -m pip install 'types-aiobotocore[migration-hub-refactor-spaces]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-migration-hub-refactor-spaces` dependency in production.
  However, there is an issue in `pylint` that it complains about undefined
  variables. To fix it, set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `MigrationHubRefactorSpacesClient` provides annotations for
  `session.create_client("migration-hub-refactor-spaces")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_migration_hub_refactor_spaces import MigrationHubRefactorSpacesClient

  session = get_session()
  async with session.create_client("migration-hub-refactor-spaces") as client:
      client: MigrationHubRefactorSpacesClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_migration_hub_refactor_spaces.paginator` module contains
  type annotations for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_migration_hub_refactor_spaces import MigrationHubRefactorSpacesClient
  from types_aiobotocore_migration_hub_refactor_spaces.paginator import (
      ListApplicationsPaginator,
      ListEnvironmentVpcsPaginator,
      ListEnvironmentsPaginator,
      ListRoutesPaginator,
      ListServicesPaginator,
  )

  session = get_session()
  async with session.create_client("migration-hub-refactor-spaces") as client:
      client: MigrationHubRefactorSpacesClient

      
      
      list_applications_paginator: ListApplicationsPaginator = client.get_paginator(
          "list_applications"
      )
      list_environment_vpcs_paginator: ListEnvironmentVpcsPaginator = client.get_paginator(
          "list_environment_vpcs"
      )
      list_environments_paginator: ListEnvironmentsPaginator = client.get_paginator(
          "list_environments"
      )
      list_routes_paginator: ListRoutesPaginator = client.get_paginator("list_routes")
      list_services_paginator: ListServicesPaginator = client.get_paginator("list_services")
  ```

  <a id="literals"></a>



  `types_aiobotocore_migration_hub_refactor_spaces.literals` module contains
  literals extracted from shapes that can be used in user code for type checking.

  Full list of `MigrationHubRefactorSpaces` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_migration_hub_refactor_spaces/literals/).

  ```python
  from types_aiobotocore_migration_hub_refactor_spaces.literals import ApiGatewayEndpointTypeType


  def check_value(value: ApiGatewayEndpointTypeType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_migration_hub_refactor_spaces.type_defs` module contains
  structures and shapes assembled to typed dictionaries and unions for additional
  type checking.

  Full list of `MigrationHubRefactorSpaces` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_migration_hub_refactor_spaces/type_defs/).

  ```python
  from types_aiobotocore_migration_hub_refactor_spaces.type_defs import ApiGatewayProxyConfigTypeDef


  def get_value() -> ApiGatewayProxyConfigTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-migration-hub-refactor-spaces` version is the same as
  related `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_migration_hub_refactor_spaces/)

  <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: 41789ccb462a0143677e0388516f3eb3023255e516f2948484c2284b3a2feb2e
name: python3-types-aiobotocore-notificationscontacts
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-notificationscontacts-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-notificationscontacts-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore UserNotificationsContacts 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-notificationscontacts"></a>



  [![PyPI - types-aiobotocore-notificationscontacts](https://img.shields.io/pypi/v/types-aiobotocore-notificationscontacts.svg?color=blue)](https://pypi.org/project/types-aiobotocore-notificationscontacts/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-notificationscontacts.svg?color=blue)](https://pypi.org/project/types-aiobotocore-notificationscontacts/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-notificationscontacts)](https://pypistats.org/packages/types-aiobotocore-notificationscontacts)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore UserNotificationsContacts 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-notificationscontacts docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_notificationscontacts/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-notificationscontacts](#types-aiobotocore-notificationscontacts)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `UserNotificationsContacts` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `UserNotificationsContacts` service.

  ```bash

  python -m pip install 'types-aiobotocore[notificationscontacts]'



  python -m pip install 'types-aiobotocore-lite[notificationscontacts]'


  python -m pip install types-aiobotocore-notificationscontacts
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-notificationscontacts
  ```

  <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 `types-aiobotocore[notificationscontacts]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[notificationscontacts]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[notificationscontacts]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[notificationscontacts]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[notificationscontacts]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[notificationscontacts]` with services you use in
    your environment:

  ```bash
  python -m pip install 'types-aiobotocore[notificationscontacts]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[notificationscontacts]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[notificationscontacts]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[notificationscontacts]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[notificationscontacts]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-notificationscontacts` dependency in production. However,
  there is an issue in `pylint` that it complains about undefined variables. To
  fix it, set all types to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `UserNotificationsContactsClient` provides annotations for
  `session.create_client("notificationscontacts")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_notificationscontacts import UserNotificationsContactsClient

  session = get_session()
  async with session.create_client("notificationscontacts") as client:
      client: UserNotificationsContactsClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_notificationscontacts.paginator` module contains type
  annotations for all paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_notificationscontacts import UserNotificationsContactsClient
  from types_aiobotocore_notificationscontacts.paginator import ListEmailContactsPaginator

  session = get_session()
  async with session.create_client("notificationscontacts") as client:
      client: UserNotificationsContactsClient

      
      
      list_email_contacts_paginator: ListEmailContactsPaginator = client.get_paginator(
          "list_email_contacts"
      )
  ```

  <a id="literals"></a>



  `types_aiobotocore_notificationscontacts.literals` module contains literals
  extracted from shapes that can be used in user code for type checking.

  Full list of `UserNotificationsContacts` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_notificationscontacts/literals/).

  ```python
  from types_aiobotocore_notificationscontacts.literals import EmailContactStatusType


  def check_value(value: EmailContactStatusType) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_notificationscontacts.type_defs` module contains structures
  and shapes assembled to typed dictionaries and unions for additional type
  checking.

  Full list of `UserNotificationsContacts` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_notificationscontacts/type_defs/).

  ```python
  from types_aiobotocore_notificationscontacts.type_defs import (
      ActivateEmailContactRequestRequestTypeDef,
  )


  def get_value() -> ActivateEmailContactRequestRequestTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-notificationscontacts` version is the same as related
  `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_notificationscontacts/)

  <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: 58982df6ce9335cef5b6dc92697f4aeae2c8f0ce753cd6ed14af90b6e8244c44
name: python3-types-aiobotocore-oam
arch: noarch
version: 2.16.0
epoch: 0
release: 1
url: https://github.com/youtype/mypy_boto3_builder
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-types-aiobotocore-oam-2.16.0-1.src.rpm
location_href: Packages/python3-types-aiobotocore-oam-2.16.0-1.noarch.rpm
checksum_type: sha256
summary:
  Type annotations for aiobotocore CloudWatchObservabilityAccessManager 2.16.0 service generated with mypy-boto3-builder 8.6.4

description:
  <a id="types-aiobotocore-oam"></a>



  [![PyPI - types-aiobotocore-oam](https://img.shields.io/pypi/v/types-aiobotocore-oam.svg?color=blue)](https://pypi.org/project/types-aiobotocore-oam/)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-aiobotocore-oam.svg?color=blue)](https://pypi.org/project/types-aiobotocore-oam/)
  [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_aiobotocore_docs/)
  [![PyPI - Downloads](https://static.pepy.tech/badge/types-aiobotocore-oam)](https://pypistats.org/packages/types-aiobotocore-oam)

  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)

  Type annotations for
  [aiobotocore CloudWatchObservabilityAccessManager 2.16.0](https://pypi.org/project/aiobotocore/)
  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 with
  [mypy-boto3-builder 8.6.4](https://github.com/youtype/mypy_boto3_builder).

  More information can be found on
  [types-aiobotocore](https://pypi.org/project/types-aiobotocore/) page and in
  [types-aiobotocore-oam docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_oam/).

  See how it helps you find and fix potential bugs:

  ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)

  - [types-aiobotocore-oam](#types-aiobotocore-oam)
    - [How to install](#how-to-install)
      - [Generate locally (recommended)](<#generate-locally-(recommended)>)
      - [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)
      - [Pylint compatibility](#pylint-compatibility)
    - [Explicit type annotations](#explicit-type-annotations)
      - [Client annotations](#client-annotations)
      - [Paginators annotations](#paginators-annotations)
      - [Literals](#literals)
      - [Type definitions](#type-definitions)
    - [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="generate-locally-(recommended)"></a>



  You can generate type annotations for `aiobotocore` package locally with
  `mypy_boto3_builder`. Use
  [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
  isolation.

  1. Run mypy-boto3-builder in your package root directory:
     `uvx --with 'aiobotocore==2.16.0' mypy_boto3_builder`
  2. Select `aiobotocore` AWS SDK.
  3. Add `CloudWatchObservabilityAccessManager` service.
  4. Use provided commands to install generated packages.

  <a id="from-pypi-with-pip"></a>



  Install `types-aiobotocore` for `CloudWatchObservabilityAccessManager` service.

  ```bash

  python -m pip install 'types-aiobotocore[oam]'



  python -m pip install 'types-aiobotocore-lite[oam]'


  python -m pip install types-aiobotocore-oam
  ```

  <a id="how-to-uninstall"></a>



  ```bash
  python -m pip uninstall -y types-aiobotocore-oam
  ```

  <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 `types-aiobotocore[oam]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[oam]'
  ```

  Both type checking and code completion should now work. No explicit type
  annotations required, write your `aiobotocore` code as usual.

  <a id="pycharm"></a>



  > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
  > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
  > to use
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/)
  > until the issue is resolved.

  > ⚠️ If you experience slow performance and high CPU usage, try to disable
  > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
  > [pyright](https://github.com/microsoft/pyright) instead.

  > ⚠️ To continue using `PyCharm` type checker, you can try to replace
  > `types-aiobotocore` with
  > [types-aiobotocore-lite](https://pypi.org/project/types-aiobotocore-lite/):

  ```bash
  pip uninstall types-aiobotocore
  pip install types-aiobotocore-lite
  ```

  Install `types-aiobotocore[oam]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[oam]'
  ```

  Both type checking and code completion should now work.

  <a id="emacs"></a>



  - Install `types-aiobotocore` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[oam]'
  ```

  - 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
    `types-aiobotocore`

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="sublime-text"></a>



  - Install `types-aiobotocore[oam]` with services you use in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[oam]'
  ```

  - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` 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 `types-aiobotocore[oam]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[oam]'
  ```

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pyright"></a>



  - Install `pyright`: `npm i -g pyright`
  - Install `types-aiobotocore[oam]` in your environment:

  ```bash
  python -m pip install 'types-aiobotocore[oam]'
  ```

  Optionally, you can install `types-aiobotocore` to `typings` directory.

  Type checking should now work. No explicit type annotations required, write
  your `aiobotocore` code as usual.

  <a id="pylint-compatibility"></a>



  It is totally safe to use `TYPE_CHECKING` flag in order to avoid
  `types-aiobotocore-oam` dependency in production. However, there is an issue in
  `pylint` that it complains about undefined variables. To fix it, set all types
  to `object` in non-`TYPE_CHECKING` mode.

  ```python
  from typing import TYPE_CHECKING

  if TYPE_CHECKING:
      from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
      from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
      from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
  else:
      EC2Client = object
      EC2ServiceResource = object
      BundleTaskCompleteWaiter = object
      DescribeVolumesPaginator = object

  ...
  ```

  <a id="explicit-type-annotations"></a>



  <a id="client-annotations"></a>



  `CloudWatchObservabilityAccessManagerClient` provides annotations for
  `session.create_client("oam")`.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_oam import CloudWatchObservabilityAccessManagerClient

  session = get_session()
  async with session.create_client("oam") as client:
      client: CloudWatchObservabilityAccessManagerClient
      
  ```

  <a id="paginators-annotations"></a>



  `types_aiobotocore_oam.paginator` module contains type annotations for all
  paginators.

  ```python
  from aiobotocore.session import get_session

  from types_aiobotocore_oam import CloudWatchObservabilityAccessManagerClient
  from types_aiobotocore_oam.paginator import (
      ListAttachedLinksPaginator,
      ListLinksPaginator,
      ListSinksPaginator,
  )

  session = get_session()
  async with session.create_client("oam") as client:
      client: CloudWatchObservabilityAccessManagerClient

      
      
      list_attached_links_paginator: ListAttachedLinksPaginator = client.get_paginator(
          "list_attached_links"
      )
      list_links_paginator: ListLinksPaginator = client.get_paginator("list_links")
      list_sinks_paginator: ListSinksPaginator = client.get_paginator("list_sinks")
  ```

  <a id="literals"></a>



  `types_aiobotocore_oam.literals` module contains literals extracted from shapes
  that can be used in user code for type checking.

  Full list of `CloudWatchObservabilityAccessManager` Literals can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_oam/literals/).

  ```python
  from types_aiobotocore_oam.literals import ListAttachedLinksPaginatorName


  def check_value(value: ListAttachedLinksPaginatorName) -> bool: ...
  ```

  <a id="type-definitions"></a>



  `types_aiobotocore_oam.type_defs` module contains structures and shapes
  assembled to typed dictionaries and unions for additional type checking.

  Full list of `CloudWatchObservabilityAccessManager` TypeDefs can be found in
  [docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_oam/type_defs/).

  ```python
  from types_aiobotocore_oam.type_defs import ResponseMetadataTypeDef


  def get_value() -> ResponseMetadataTypeDef:
      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
  `aiobotocore` updates. It delivers drop-in type annotations for you and makes
  sure that:

  - All available `aiobotocore` services are covered.
  - Each public class and method of every `aiobotocore` 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 [ruff](https://docs.astral.sh/ruff/) 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>



  `types-aiobotocore-oam` version is the same as related `aiobotocore` 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
  [aiobotocore docs](https://youtype.github.io/types_aiobotocore_docs/types_aiobotocore_oam/)

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


