# packages

pkgId: 153bbd203012aa174b4adedd635ab33fa563005a818338cb59e9d82f4b989f8a
name: python-ipybox-help
arch: noarch
version: 0.2.4
epoch: 0
release: 1
summary: Development documents and examples for ipybox
url: https://github.com/gradion-ai/ipybox
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ipybox-0.2.4-1.src.rpm
location_href: Packages/python-ipybox-help-0.2.4-1.noarch.rpm
checksum_type: sha256
description:
  `ipybox` is a lightweight, stateful and secure Python code execution sandbox built with [IPython](https://ipython.org/) and [Docker](https://www.docker.com/). Designed for AI agents that interact with their environment through code execution, it is also well-suited for general-purpose code execution. Fully open-source and free to use, ipybox is distributed under the Apache 2.0 license.

  <p align="center">
    <img src="docs/img/logo.png" alt="logo">
  </p>



  - **Secure Execution**: Executes code in isolated Docker containers, preventing unauthorized access to the host system.
  - **Stateful Execution**: Retains variable and session state across commands using IPython kernels.
  - **Real-Time Output Streaming**: Streams execution outputs directly, enabling real-time feedback.
  - **Enhanced Plotting Support**: Facilitates downloading plots created with Matplotlib and other libraries.
  - **Flexible Dependency Management**: Supports installing and updating dependencies during runtime or at build time.
  - **Resource Management**: Manages container lifecycle with built-in timeout and resource control mechanisms.
  - **Reproducible Environments**: Provides a consistent execution setup across different systems to ensure reproducibility.

  This project is in early beta, with active development of new features ongoing.



  The official documentation is available [here](https://gradion-ai.github.io/ipybox/).



  Install `ipybox` Python package:

  ```bash
  pip install ipybox
  ```

  Build a `gradion-ai/ipybox` Docker image:

  ```bash
  python -m ipybox build -t gradion-ai/ipybox
  ```

  Print something inside `ipybox`:

  ```python
  import asyncio
  from ipybox import ExecutionClient, ExecutionContainer

  async def main():
      async with ExecutionContainer(tag="gradion-ai/ipybox") as container:
          async with ExecutionClient(port=container.port) as client:
              result = await client.execute("print('Hello, world!')")
              print(f"Output: {result.text}")

  if __name__ == "__main__":
      asyncio.run(main())
  ```

  Find out more in the [user guide](https://gradion-ai.github.io/ipybox/).



  Clone the repository:

  ```bash
  git clone https://github.com/gradion-ai/ipybox.git
  cd ipybox
  ```

  Create a new Conda environment and activate it:

  ```bash
  conda env create -f environment.yml
  conda activate ipybox
  ```

  Install dependencies with Poetry:

  ```bash
  poetry install --with docs
  ```

  Run tests:

  ```bash
  pytest -s tests
  ```


pkgId: 3bd5fc12b58ed9696e6bff1c4e88d95eca363be6e1e1f6e51683fafba11798f3
name: python-ipyflow-core-help
arch: noarch
version: 0.0.205
epoch: 0
release: 1
summary: Development documents and examples for ipyflow-core
url: https://github.com/ipyflow/ipyflow
rpm_license: BSD-3-Clause
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ipyflow-core-0.0.205-1.src.rpm
location_href: Packages/python-ipyflow-core-help-0.0.205-1.noarch.rpm
checksum_type: sha256
description:
  Precise reactive Python notebooks for Jupyter[Lab]:
  1. `pip install ipyflow`
  2. Pick `Python 3 (ipyflow)` from the launcher or kernel selector.
  3. For each cell execution, the (minimal) set of out-of-sync upstream and
     downstream cells also re-execute, so that executed cells appear as they
     would when running the notebook from top-to-bottom.
  <p align="center">
  <img src="https://raw.githubusercontent.com/ipyflow/ipyflow/master/img/ipyflow-tldr.gif" />
  </p>


pkgId: 34b63dad2908b5e8872d1d782d94c96877a3842fa37c4caba36647bcad32ea34
name: python-iqm-benchmarks-help
arch: noarch
version: 2.0
epoch: 0
release: 1
summary: Development documents and examples for iqm-benchmarks
url: https://github.com/iqm-finland/iqm-benchmarks
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-iqm-benchmarks-2.0-1.src.rpm
location_href: Packages/python-iqm-benchmarks-help-2.0-1.noarch.rpm
checksum_type: sha256
description:
  IQM Benchmarks is a suite of Quantum Characterization, Verification, and Validation (QCVV) tools for quantum computing. It is designed to be a comprehensive tool for benchmarking quantum hardware. The suite is designed to be modular, allowing users to easily add new benchmarks and customize existing ones. The suite is designed to be easy to use, with a simple API that allows users to run benchmarks with a single command.


  Below is a list of the benchmarks currently available in the suite:
  * Gates / Layers:
    - Standard Clifford Randomized Benchmarking [[Phys. Rev. A 85, 042311](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.85.042311) (2012)]
    - Interleaved Randomized Benchmarking [[Phys. Rev. Lett. 109, 080505](https://doi.org/10.1103/PhysRevLett.109.080505) (2012)]
    - Compressive Gate Set Tomography [[PRX Quantum 4, 010325](https://journals.aps.org/prxquantum/abstract/10.1103/PRXQuantum.4.010325) (2023)]
    - Mirror Randomized Benchmarking [[Phys. Rev. Lett. 129, 150502](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.129.150502) (2022)]
  * Holistic:
    - Quantum Volume [[Phys. Rev. A 100, 032328](https://doi.org/10.1103/PhysRevA.100.032328) (2019)]
    - CLOPS [[arXiv:2110.14108 [quant-ph]](https://arxiv.org/abs/2110.14108) (2021)]
  * Entanglement:
    - GHZ State Fidelity [[arXiv:0712.0921 [quant-ph]](https://arxiv.org/abs/0712.0921) (2007)]
  * Optimization:
    - Q-Score [[IEEE Trans. Quantum Eng., 2](https://doi.org/10.1109/TQE.2021.3090207) (2021)]

  The project is split into different benchmarks, all sharing the `Benchmark` class or the legacy `BenchmarkBase` class. Each individual benchmark takes as an argument their own `BenchmarkConfigurationBase` class. All the (legacy) benchmarks executed at once are wrapped by the `BenchmarkExperiment` class, which handles dependencies among the benchmarks, storing the results, producing the plots...




  Usually it makes sense to use a new Conda environment (e.g. ``iqm-benchmarks``) to isolate your setup from the global Python installation. That way, you can play around without messing the rest of your system.

  Start a terminal in your machine, and type

  ```
  conda create -n iqm-benchmarks python=3.11.2
  conda activate iqm-benchmarks
  ```

  Then, you can install the latest release of the IQM Benchmarks by running:
  ```bash
  $ pip install iqm-benchmarks
  ```

  If you have already installed `iqm-benchmarks` and want to get the latest release you can add the --upgrade flag:

  ```bash
  pip install iqm-benchmarks --upgrade
  ```



  To install in development mode with all required dependencies, you can instead clone the [repository](https://www.github.com/iqm-finland/iqm-benchmarks) and from the project directory run

  ```bash
  python -m pip install -e ".[develop,test]" --upgrade --upgrade-strategy=eager
  ```

  To run the tests, you can use the following command:

  ```bash
  tox -e test
  ```

  To build the API documentation as HTML:

  ```bash
  tox -e docs
  ```



  The IQM Benchmarks suite is designed to be used with real quantum hardware. To use the suite, you will need to have access to a quantum computer. The suite is designed to work with both IQM Resonance (IQM's quantum cloud service) and on-prem devices, but can be easily adapted to work with other quantum computing platforms.

  To use the suite with IQM Resonance, you will need to set up an account and obtain an API token. You can then set the `IQM_TOKEN` environment variable to your API token. The suite will automatically use this token to authenticate with IQM Resonance.

  ```python
  import os
  os.environ["IQM_TOKEN"] = "your_token"
  ```



  You can easily set up one or more benchmarks by defining a configuration for them. For example, for Randomized, Interleaved and Mirror Benchmarking, or Quantum Volume:

  ```python
  from iqm.benchmarks.randomized_benchmarking.interleaved_rb.interleaved_rb import InterleavedRBConfiguration
  from iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb import MirrorRBConfiguration
  from iqm.benchmarks.quantum_volume.quantum_volume import QuantumVolumeConfiguration

  EXAMPLE_IRB = InterleavedRBConfiguration(
      qubits_array=[[3,4],[8,9]],
      sequence_lengths=[2**(m+1)-1 for m in range(7)],
      num_circuit_samples=30,
      shots=2**10,
      calset_id=None,
      parallel_execution=True,
      interleaved_gate = "iSwapGate",
      interleaved_gate_params = None,
      simultaneous_fit = ["amplitude", "offset"],
  )

  EXAMPLE_MRB = MirrorRBConfiguration(
      qubits_array=[[0,1],
                    [0,1,3,4],
                    [0,1,3,4,8,9],
                    [0,1,3,4,8,9,13,14],
                    [0,1,3,4,8,9,13,14,17,18]],
      depths_array=[[2**m for m in range(9)],
                    [2**m for m in range(8)],
                    [2**m for m in range(7)],
                    [2**m for m in range(6)],
                    [2**m for m in range(5)]],
      num_circuit_samples=10,
      num_pauli_samples=5,
      shots=2**8,
      two_qubit_gate_ensemble={"CZGate": 0.7, "iSwapGate": 0.3}, # {GATE: PROBABILITY}
      density_2q_gates=0.25,
      calset_id=None,
  )

  EXAMPLE_QV = QuantumVolumeConfiguration(
      num_circuits=500,
      shots=2**8,
      calset_id=None,
      num_sigmas=2,
      choose_qubits_routine="custom",
      custom_qubits_array=[[0,1,2,3], [0,1,3,4]],
      qiskit_optim_level=3,
      optimize_sqg=True,
      routing_method="sabre",
      physical_layout="fixed",
      max_gates_per_batch=60_000,
      rem=True,
      mit_shots=1_000,
  )
  ```

  In order to execute them, you must specify a backend.
  * for IQM Resonance this can be given as a simple string, such as "garnet" (together with your IQM Token environment variable)
  * and for an on-prem device and IQM Resonance this can be defined using the URL of the quantum computer.

  Also, you need to reference the benchmark configuration you want to run:

  ```python
  from iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb import *



  backend = IQMProvider("https://example-station.qc.iqm.fi/cocos/").get_backend()

  EXAMPLE_EXPERIMENT = MirrorRandomizedBenchmarking(backend, EXAMPLE_MRB)
  EXAMPLE_EXPERIMENT.run()
  ```

  Full examples on how to run benchmarks and analyze the results can be found in the `examples` folder.



  This repository can be setup to perform a scheduled (weekly, daily...) benchmark from a Gitlab/Github pipeline, executed on a real device. An example configuration is given in the `scheduled_experiments` folder.


pkgId: 42cbcad1ce29a0ee8236c6a98b9748019379cc41c0c926691dbdd0dc25203b3f
name: python-iqm-client-help
arch: noarch
version: 20.9
epoch: 0
release: 1
summary: Development documents and examples for iqm-client
url: https://github.com/iqm-finland/iqm-client
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-iqm-client-20.9-1.src.rpm
location_href: Packages/python-iqm-client-help-20.9-1.noarch.rpm
checksum_type: sha256
description:
  IQM client is not intended to be used directly by human users. For executing code on an IQM quantum computer,
  you can use for example the `Qiskit on IQM <https://iqm-finland.github.io/qiskit-on-iqm/>`_ library.
  If you want just this library, though, you can install it from the Python Package Index (PyPI):
      $ pip install iqm-client

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 2024 IQM  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: fa8149b08a4d5ce783c53421cf9bc5274bcdbba82e793a5baf73b75091c59fd7
name: python-irie-help
arch: noarch
version: 0.0.17
epoch: 0
release: 1
summary: Development documents and examples for irie
url: https://pypi.org/project/irie/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-irie-0.0.17-1.src.rpm
location_href: Packages/python-irie-help-0.0.17-1.noarch.rpm
checksum_type: sha256
description:
  <div align="center">
  <h4><code>irie</code></h4>
  <hr>
  <span style="font-size: 150;"><i><b>i</b>nfrastructure <b>r</b>es<b>i</b>lience <b>e</b>ngine</i></span>
  <hr>
  <h4>PEER</h4>
  </div>



  - [`opensees`](https://pypi.org/project/opensees)
  - [`quakeio`](https://pypi.org/project/quakeio)
  - [`mdof`](https://pypi.org/project/mdof)
  - [`sees`](https://pypi.org/project/sees)
  - [`sdof`](https://pypi.org/project/sdof)


pkgId: 9a3662a7420fd12667bb7ca34935db8b7537507bde65ab626770f1f2040f868b
name: python-iris-pex-embedded-python-help
arch: noarch
version: 3.1.5
epoch: 0
release: 1
summary: Development documents and examples for iris-pex-embedded-python
url: https://pypi.org/project/iris-pex-embedded-python/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-iris-pex-embedded-python-3.1.5-1.src.rpm
location_href: Packages/python-iris-pex-embedded-python-help-3.1.5-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI - Status](https://img.shields.io/pypi/status/iris-pex-embedded-python)](https://pypi.org/project/iris-pex-embedded-python/)
  [![PyPI](https://img.shields.io/pypi/v/iris-pex-embedded-python)](https://pypi.org/project/iris-pex-embedded-python/)
  [![PyPI - Downloads](https://img.shields.io/pypi/dm/iris-pex-embedded-python)](https://pypi.org/project/iris-pex-embedded-python/)
  [![PyPI - License](https://img.shields.io/pypi/l/iris-pex-embedded-python)](https://pypi.org/project/iris-pex-embedded-python/)
  ![GitHub last commit](https://img.shields.io/github/last-commit/grongierisc/interoperability-embedded-python)

  Welcome to the **Interoperability On Python (IoP)** proof of concept! This project demonstrates how the **IRIS Interoperability Framework** can be utilized with a **Python-first approach**.

  Documentation can be found [here](https://grongierisc.github.io/interoperability-embedded-python/).



  Here's a simple example of how a Business Operation can be implemented in Python:

  ```python
  from iop import BusinessOperation

  class MyBo(BusinessOperation):
      def on_message(self, request):
          self.log_info("Hello World")
  ```



  To start using this proof of concept, install it using pip:

  ```bash
  pip install iris-pex-embedded-python
  ```



  If you're new to this project, begin by reading the [installation guide](https://grongierisc.github.io/interoperability-embedded-python/getting-started/installation.md). Then, follow the [first steps](https://grongierisc.github.io/interoperability-embedded-python/getting-started/first-steps.md) to create your first Business Operation.

  Happy coding!

rpm_license:
  MIT License  Copyright (c) 2019 InterSystems Developer Community  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: 0f8cb14e71e339350203db5fb6f25960b38e1d269413535af8be11e2b5481546
name: python-is-x-py-help
arch: noarch
version: 0.0.1
epoch: 0
release: 1
summary: Development documents and examples for is-x-py
url: https://github.com/deidaraiorek/is-x/packages/is-x-py
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-is-x-py-0.0.1-1.src.rpm
location_href: Packages/python-is-x-py-help-0.0.1-1.noarch.rpm
checksum_type: sha256
description:
  Python implementation of is-x, a flexible and fun library for number comparison and manipulation.



  ```bash
  pip install is-x-py
  ```



  ```python
  from is_x import Is


  Is(20).set_X()


  Is(15).plus(5).is_X()      # True (15 + 5 = 20)
  Is(40).divided_by(2).is_X() # True (40 / 2 = 20)


  Is.X.is_even()           # True (20 is even)
  Is.X.is_prime()          # False (20 is not prime)
  ```





  ```python

  Is(15).plus(5).is_X()           # True (15 + 5 = 20)
  Is(25).minus(5).is_X()          # True (25 - 5 = 20)
  Is(10).times(2).is_X()          # True (10 * 2 = 20)
  Is(40).divided_by(2).is_X()     # True (40 / 2 = 20)


  Is(10).plus(5).times(2).minus(10).is_X()  # True (10 + 5 = 15, *2 = 30, -10 = 20)


  Is(4).squared()                # squares the number
  Is(400).square_root()          # square root
  Is(2).power(4)                # raises to power
  Is(8000).root(3)              # nth root
  Is(100).modulo(80)            # modulo operation
  Is(-20).absolute()            # absolute value
  Is(3).factorial()             # factorial
  ```



  ```python

  Is(19.9).roughly.is_X()           # True (within 0.2 units)
  Is(19.5).approximately.is_X()     # True (within 0.5 units)
  Is(18).within(3).of.is_X()        # True (within 3 units)
  ```



  ```python
  Is.X.is_perfect_square()    # checks if perfect square
  Is.X.is_prime()            # checks if prime
  Is.X.is_fibonacci()        # checks if Fibonacci number
  Is.X.is_even()            # checks if even
  Is.X.is_odd()             # checks if odd
  Is.X.is_divisible_by(4)    # checks divisibility
  Is.X.has_factors()        # returns all factors
  Is.X.is_multiple_of(5)     # checks if multiple
  ```



  ```python
  Is.X.is_current_hour()     # compares with current hour
  Is.X.is_current_year()     # compares with current year
  Is.X.is_answer_to_life()   # checks if 42
  Is.X.is_unlucky()         # checks if 13
  Is.X.is_dice_roll()       # checks if valid dice number (1-6)
  Is.X.is_card_number()     # checks if valid card number (1-13)
  Is.X.is_pokemon_number()   # checks if valid PokÃ©mon number (1-898)
  ```



  ```python
  Is.X.is_port()           # checks if valid port number (0-65535)
  Is.X.is_http_status()    # checks if valid HTTP status code
  Is.X.is_rgb_value()      # checks if valid RGB value (0-255)
  Is.X.is_version()        # checks if valid version number
  Is.X.is_phone_number()   # checks if valid phone number format
  ```



  The library includes proper error handling for:

  - Division by zero
  - Invalid square roots (negative numbers)
  - Invalid factorials (negative numbers or non-integers)
  - Invalid root calculations
  - Invalid phone numbers
  - Out of range values



  Check out our multi-language installer:

  ```bash
  npm install -g is-x-installer
  ```



  - JavaScript implementation: [is-x-js](https://www.npmjs.com/package/is-x-js)
  - Installer implementation: [is-x-installer](https://www.npmjs.com/package/is-x-installer)


pkgId: c3d94bd87c39c4b75d4063526e1d02d0b94bd10347672406e088a5b1d361cbc9
name: python-isahitlab-help
arch: noarch
version: 0.0.2
epoch: 0
release: 1
summary: Development documents and examples for isahitlab
url: https://pypi.org/project/isahitlab/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isahitlab-0.0.2-1.src.rpm
location_href: Packages/python-isahitlab-help-0.0.2-1.noarch.rpm
checksum_type: sha256
description:
  - [Installation](#installation)
  - [License](#license)

  ```console
  pip install isahitlab
  ```

  `isahitlab` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.


pkgId: 582a9258f327be88f14d6b60c5e9db5108c7e877a45da18acd3a6667aaed87f2
name: python-isar-help
arch: noarch
version: 1.25.2
epoch: 0
release: 1
summary: Development documents and examples for isar
url: https://pypi.org/project/isar/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isar-1.25.2-1.src.rpm
location_href: Packages/python-isar-help-1.25.2-1.noarch.rpm
checksum_type: sha256
description:
  [![Python package](https://github.com/equinor/isar/actions/workflows/pythonpackage.yml/badge.svg)](https://github.com/equinor/isar/actions/workflows/pythonpackage.yml)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![License](https://img.shields.io/badge/License-EPL_2.0-blue.svg)](https://opensource.org/licenses/EPL-2.0)

  ISAR - Integration and Supervisory control of Autonomous Robots - is a tool for integrating robot applications into
  operator systems. Through the ISAR API you can send commands to a robot to do missions and collect results from the
  missions.



  Steps:

  - Install
  - Integrate a robot
  - Run the ISAR server
  - Run a robot mission



  For local development, please fork the repository. Then, clone and install in the repository root folder:

  ```
  git clone https://github.com/<path_to_parent>/isar
  cd isar
  pip install -e .[dev]
  ```

  For `zsh` you might have to type `".[dev]"`

  Verify that you can run the tests:

  ```bash
  pytest .
  ```

  The repository contains a configuration file for installing pre-commit hooks. Currently, [black](https://github.com/psf/black) and a mirror of [mypy](https://github.com/pre-commit/mirrors-mypy) are configured hooks. Install with:

  ```
  pre-commit install
  ```

  Verify that pre-commit runs:

  ```
  pre-commit
  ```

  pre-commit will now run the installed hooks before code is commited to git. To turn pre-commit off, run:

  ```
  pre-commit uninstall
  ```



  To connect the state machine to a robot in a separate repository, it is required that the separate repository implements
  the [robot interface](https://github.com/equinor/isar/blob/main/src/robot_interface/robot_interface.py).
  The separate repository should also have a settings.env file in a config folder where `CAPABILITIES` and `ROBOT_MODEL` are set.
  A mocked robot can be found in [this repository](https://github.com/equinor/isar-robot). Install the repo, i.e:

  ```bash
  pip install isar-robot
  ```

  NB: isar-robot has not been published to PyPi for some time, and needs to be downloaded directly
  from git to work.

  Then, ensure the `ISAR_ROBOT_PACKAGE` variable in [settings.env](./src/isar/config/settings.env)
  is set to the name of the package you installed. `isar_robot` is set by default. See the section
  for [configuration](#configuration) for overwriting configuration.

  If you have the robot repository locally, you can simply install through

  ```bash
  pip install -e /path/to/robot/repo/
  ```



  A simulator based on the open source robot Turtlebot3 has been implemented for use with ISAR and may be
  found [here](https://github.com/equinor/isar-turtlebot). Follow the installation instructions for the simulator and
  install `isar-turtlebot` in the same manner as given in the [robot integration](#robot-integration) section. Overwrite
  the following configuration variables:

  ```bash
  ISAR_ROBOT_PACKAGE = isar_turtlebot
  ISAR_DEFAULT_MAP = turtleworld
  ```



  To run ISAR:

  ```bash
  python main.py
  ```

  Note, running the full system requires that an implementation of a robot has been installed. See
  this [section](#robot-integration) for installing a mocked robot or a Turtlebot3 simulator.



  Once the application has been started the swagger site may be accessed at

  ```
  http://localhost:3000/docs
  ```

  Execute the `/schedule/start-mission` endpoint with `mission_id=1` to run a mission.

  In [this](./src/isar/config/predefined_missions) folder there are predefined default missions, for example the mission
  corresponding to `mission_id=1`. A new mission may be added by adding a new json-file with a mission description. Note,
  the mission IDs must be unique.



  ISAR may be started with an instance of the [isar-robot](https://github.com/equinor/isar-robot) package by

  ```shell
  docker-compose up --build
  ```

  Provided that the simulator from [isar-turtlebot](https://github.com/equinor/isar-turtlebot) is running ISAR may be
  started with the turtlebot by

  ```shell
  docker-compose -f docker-compose-turtlebot.yml up --build
  ```



  The system consists of many configuration variables which may alter the functionality. As an example, it is possible to
  change mission planners or add multiple storage handlers as described in the [mission planner](#mission-planner)
  and [storage](#storage) sections.

  There are two methods of specifying configuration.

  1. Override the default value by setting an environment variable.

     Every configuration variable is defined in [settings.py](./src/isar/config/settings.py), and they may all be
     overwritten by specifying the variables in the environment instead. Note that the configuration variable must be
     prefixed with `ISAR_` when specified in the environment. So for the `ROBOT_PACKAGE`configuration variable:

     ```shell
     export ISAR_ROBOT_PACKAGE=isar_turtlebot
     ```

     This means ISAR will connect to `isar_turtlebot` robot package.

  2. Adding environment variables through [settings.env](./src/isar/config/settings.env).

     By adding environment variables with the prefix `ISAR_` to the [settings.env](./src/isar/config/settings.env) file
     the configuration variables will be overwritten by the values in this file.



  After following the steps in [Development](#install), you can run the tests:

  ```bash
  pytest .
  ```

  To create an interface test in your robot repository, use the function `interface_test` from `robot_interface`. The
  argument should be an interface object from your robot specific implementation.
  See [isar-robot](https://github.com/equinor/isar-robot/blob/main/tests/interfaces/test_robotinterface.py) for example.



  Integration tests can be found [here](https://github.com/equinor/isar/tree/main/tests/integration) and have been created
  with a simulator in mind. The integration tests will not run as part of `pytest .` or as part of the CI/CD pipeline. To
  run the integration tests please follow the instructions in [this section](#running-isar-with-a-robot-simulator) for
  setting up the `isar-turtlebot` implementation with simulator and run the following command once the simulation has been
  launched.

  ```bash
  pytest tests/integration
  ```

  Note that these tests will run towards the actual simulation (you may monitor it through Gazebo and RVIZ) and it will
  take a long time.



  To build the project documentation, run the following commands:

  ```bash
  cd docs
  make docs
  ```

  The documentation can now be viewed at `docs/build/html/index.html`.



  The system consists of two main components.

  1. State machine
  1. FastAPI



  The state machine handles interaction with the robots API and monitors the execution of missions. It also enables
  interacting with the robot before, during and after missions.

  The state machine is based on the [transitions](https://github.com/pytransitions/transitions) package for Python. An visualization of the state machine can be seen below:
  ![State Machine](./docs/state_machine_diagram.png)

  In general the states

  ```
  States.Off,
  States.Initialize,
  States.Initiate,
  States.Stop,
  States.Monitor,
  States.Paused,
  ```

  indicates that the state machine is already running. For running a mission the state machine need to be in the state

  ```
  States.Idle
  ```



  The FastAPI establishes an interface to the state machine for the user. As the API and state machine are separate
  threads, they communicate through python queues. FastAPI runs on an ASGI-server, specifically uvicorn. The
  FastAPI-framework is split into routers where the endpoint operations are defined.



  The mission planner that is currently in use is a local mission planner, where missions are specified in a json file. You can create your own mission planner by implementing
  the [mission planner interface](./src/isar/mission_planner/mission_planner_interface.py) and adding your planner to the
  selection [here](./src/isar/modules.py). Note that you must add your module as an option in the dictionary.



  The storage modules that are used is defined by the `ISAR_STORAGE` configuration variable. This can be changed by
  overriding the configuration through an environment variable. It accepts a json encoded list and will use each element
  in the list to retrieve the corresponding handler. The current options are

  ```
  ISAR_STORAGE = '["local", "blob", "slimm"]'
  ```

  Note that the `blob` and `slimm` options require special configuration to authenticate to these endpoints.



  You can create your own storage module by implementing the [storage interface](./src/isar/storage/storage_interface.py)
  and adding your storage module to the selection [here](./src/isar/modules.py). Note that you must add your module as an
  option in the dictionary.



  The tasks of a mission are selected based on a task selector module, defined by the `TASK_SELECTOR` configuration variable. The default task selector is `sequential`. When using the default module, tasks are executed in sequential order defined by the current input mission.



  Custom task selector modules may be added by implementing additional versions of the [task selector interface](./src/isar/mission_planner/task_selector_interface.py).

  For every custom module, the interface function `next_task()` must be implemented. All interface implementations by default have access to the list of tasks in the current mission through the member `self.tasks`, however additional variables may be supplied by adding arguments to `next_task()`. To comply with the interface definition, the function should return the next task upon every call, and raise the `TaskSelectorStop` exception when all tasks in the current mission have been completed:

  ```python
  class CustomTaskSelector(TaskSelectorInterface):
      ...
      def next_task(...) -> Task:

          
          ...

          
          ...
  ```

  Optionally, the `initialize()` function may be extended by supplementing the parameter list or function body:

  ```python
  class CustomTaskSelector(TaskSelectorInterface):
      ...
      def initialize(self, tasks: List[Task], ...) -> None:
          super.initialize(tasks=tasks)

          
          ...
  ```

  A custom task selector may be made available during [module selection](./src/isar/modules.py) by adding it to the series of options in the dictionary of injector modules. It can then be activated by overriding the task selector configuration variable:

  ```python


  class CustomTaskSelectorModule(Module):
      @provider
      @singleton
      def provide_task_selector(self) -> TaskSelectorInterface:
          return CustomTaskSelector()

  ...



  modules: dict[str, tuple[Module, Union[str, bool]]] = {
      ...
      "task_selector": (
          {
              "sequential": SequentialTaskSelectorModule,
              "custom": CustomTaskSelectorModule
          }
          ...
      )
      ...
  }
  ```



  The API has an option to include user authentication. This can be enabled by setting the environment variable

  ```
  ISAR_AUTHENTICATION_ENABLED = true
  ```

  By default, the `local` storage module is used and API authentication is disabled. If using Azure Blob Storage a set of
  environment variables must be available which gives access to an app registration that may use the storage account.
  Enabling API authentication also requires the same environment variables. The required variables are

  ```
  AZURE_CLIENT_ID
  AZURE_TENANT_ID
  AZURE_CLIENT_SECRET
  ```



  ISAR is able to publish parts of its internal state to topics on an MQTT broker whenever they change. This is by default
  turned off but may be activated by setting the environment variable

  ```
  ISAR_MQTT_ENABLED = true
  ```

  The connection to the broker will be determined by the following configuration values in `settings.py`

  ```
  ISAR_MQTT_USERNAME
  ISAR_MQTT_HOST
  ISAR_MQTT_PORT
  ```

  The default values of these are overwritten by the environment in `settings.env`.

  To specify broker password, add the following environment variable to a .env file in the root of the repository:

  ```
  ISAR_MQTT_PASSWORD
  ```

  If not specified the password will default to an empty string.



  To run several ISAR instances in parallel locally:

  1. Generate a guid: https://www.guidgenerator.com/
  2. Open a new terminal in the isar folder
  3. Run the following command before running main.py:

  ```
  export ISAR_API_PORT=port_name_higher_than_1024 ISAR_ISAR_ID=guid ISAR_ROBOT_NAME=random_robot_name
  ```



  The dependencies used for this package are listed in `pyproject.toml` and pinned in `requirements.txt`. This ensures our builds are predictable and deterministic. This project uses `pip-compile` (from [`pip-tools`](https://github.com/jazzband/pip-tools)) for this:

  ```
  pip-compile --output-file=requirements.txt pyproject.toml
  ```

  To update the requirements to the latest versions, run the same command with the `--upgrade` flag:

  ```
  pip-compile --output-file=requirements.txt pyproject.toml --upgrade
  ```



  Equinor welcomes all kinds of contributions, including code, bug reports, issues, feature requests, and documentation
  Please initiate your contribution by creating an [issue](https://github.com/equinor/isar/issues) or by forking the
  project and making a pull requests. Commit messages shall be written according to [this guide](https://cbea.msgit-commit/).

rpm_license:
  Eclipse Public License version 2.0  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.  1. DEFINITIONS “Contribution” means:  a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and b) in the case of each subsequent Contributor: i) changes to the Program, and ii) additions to the Program; where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution “originates” from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works. “Contributor” means any person or entity that Distributes the Program.  “Licensed Patents” mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  “Program” means the Contributions Distributed in accordance with this Agreement.  “Recipient” means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.  “Derivative Works” shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.  “Modified Works” shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.  “Distribute” means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.  “Source Code” means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.  “Secondary License” means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor.  2. GRANT OF RIGHTS a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works. b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3). 3. REQUIREMENTS 3.1 If a Contributor Distributes the Program in any form, then:  a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license: i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3. 3.2 When the Program is Distributed as Source Code:  a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and b) a copy of this Agreement must be included with each copy of the Program. 3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices’) contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.  4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (“Commercial Contributor”) hereby agrees to defend and indemnify every other Contributor (“Indemnified Contributor”) against any losses, damages and costs (collectively “Losses”) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.  For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.  5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.  6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.  If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.  All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version.  Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement.  Exhibit A – Form of Secondary Licenses Notice “This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}.”  Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.  If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.  You may add additional accurate notices of copyright ownership.


pkgId: f1a2d679320b1c3e6e7387ab66fd8acca688e4dcc8c82bfa4c97e0792e8d00b6
name: python-isar-robot-help
arch: noarch
version: 1.4.5
epoch: 0
release: 1
summary: Development documents and examples for isar-robot
url: https://pypi.org/project/isar-robot/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isar-robot-1.4.5-1.src.rpm
location_href: Packages/python-isar-robot-help-1.4.5-1.noarch.rpm
checksum_type: sha256
description:
  [ISAR](https://github.com/equinor/isar) - Integration and Supervisory control of Autonomous Robots - is a tool for integrating robot applications into Equinor systems. Through the ISAR API you can send command to a robot to do missions and collect results from the missions.

  Running the full ISAR system requires an installation of a robot which satisfies the required [interface](https://github.com/equinor/isar/blob/main/src/robot_interface/robot_interface.py). isar-robot is a default implementation of such a robot.



  For installation of isar-robot to use with ISAR, please follow the robot integration [installation guide](https://github.com/equinor/isar#robot-integration).



  After installing isar-robot, it can be used through [ISAR](https://github.com/equinor/isar).



  For local development, create a fork of the repository and clone the fork to your machine:

  ```bash
  git clone https://github.com/<your-username>/isar-robot
  cd isar-robot
  ```

  It is recommended to create a virtual environment, see a guide for this here: https://docs.python.org/3/library/venv.html.

  Then install the requirements and the package:

  ```bash
  pip install -r requirements.txt -e .[dev]
  ```



  Specific mission and step behaviours can be configured as enviorment variables. These are optional and do not have to be set. These allow for always failing specific mission types, failing specific step types, setting custom step durations, and setting custom mission durations. The following list shows all configurable environment variables. In this case "normal" means non-localization or return to home tasks.

  The variable names and types are as follows:
  ```env
  STEP_DURATION_IN_SECONDS: float
  MISSION_DURATION_IN_SECONDS: float
  SHOULD_FAIL_NORMAL_STEP: bool
  SHOULD_FAIL_NORMAL_MISSION: bool
  SHOULD_FAIL_LOCALIZATION_STEP: bool
  SHOULD_FAIL_LOCALIZATION_MISSION: bool
  SHOULD_FAIL_RETURN_TO_HOME_STEP: bool
  SHOULD_FAIL_RETURN_TO_HOME_MISSION: bool
  ```

  Every configuration variable is defined in [settings.py](https://github.com/equinor/isar-robot/blob/main/src/isar_robot/config/settings.py), and they may all be overwritten by specifying the variables in your ".env" file in [ISAR](https://github.com/equinor/isar). Note that the configuration variable must be prefixed with ROBOT_ when specified in the ISAR environment file.



  The dependencies used for this package are listed in `pyproject.toml` and pinned in `requirements.txt`. This ensures our builds are predictable and deterministic. This project uses `pip-compile` (from [`pip-tools`](https://github.com/jazzband/pip-tools)) for this:

  ```
  pip-compile --output-file=requirements.txt pyproject.toml
  ```

  To update the requirements to the latest versions, run the same command with the `--upgrade` flag:

  ```
  pip-compile --output-file=requirements.txt pyproject.toml --upgrade
  ```



  We welcome all kinds of contributions, including code, bug reports, issues, feature requests, and documentation. The preferred way of submitting a contribution is to either make an [issue on github](https://github.com/equinor/isar-robot/issues) or by forking the project on github and making a pull request.

rpm_license:
  Eclipse Public License - v 2.0  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.  1. DEFINITIONS  "Contribution" means:  a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and  b) in the case of each subsequent Contributor: i) changes to the Program, and ii) additions to the Program; where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution "originates" from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works.  "Contributor" means any person or entity that Distributes the Program.  "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  "Program" means the Contributions Distributed in accordance with this Agreement.  "Recipient" means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.  "Derivative Works" shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.  "Modified Works" shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.  "Distribute" means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.  "Source Code" means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.  "Secondary License" means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor.  2. GRANT OF RIGHTS  a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works.  b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.  c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.  d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.  e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3).  3. REQUIREMENTS  3.1 If a Contributor Distributes the Program in any form, then:  a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and  b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license: i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;  ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;  iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and  iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3.  3.2 When the Program is Distributed as Source Code:  a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and  b) a copy of this Agreement must be included with each copy of the Program.  3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability ("notices") contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.  4. COMMERCIAL DISTRIBUTION  Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.  For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.  5. NO WARRANTY  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.  6. DISCLAIMER OF LIABILITY  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  7. GENERAL  If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.  If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.  All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version.  Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement.  Exhibit A - Form of Secondary Licenses Notice  "This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}."  Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.  If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.  You may add additional accurate notices of copyright ownership.


pkgId: 5fbbedc318d2ddf667751f450afa2f44d76fe2cf34e7f19b3397f9982e069565
name: python-isat-sam-help
arch: noarch
version: 1.2.7
epoch: 0
release: 1
summary: Development documents and examples for isat-sam
url: https://github.com/yatengLG/ISAT_with_segment_anything
rpm_license: Apache2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isat-sam-1.2.7-1.src.rpm
location_href: Packages/python-isat-sam-help-1.2.7-1.noarch.rpm
checksum_type: sha256
description:
  Please refers to our latest [Documentation in English](https://isat-with-segment-anything.readthedocs.io/en/latest/index.html) or [中文文档](https://isat-samzh.readthedocs.io/zh-cn/latest/)

  **Please support us with a star—it's like a virtual coffee!**
  [![Star History Chart](https://api.star-history.com/svg?repos=yatengLG/ISAT_with_segment_anything&type=Date)](https://star-history.com/#yatengLG/ISAT_with_segment_anything&Date)

  <table border="0">
  <tr>
      <td><img alt="yatengLG" src="https://avatars.githubusercontent.com/u/31759824?v=4" width="60" height="60" href="">
      <td><img alt="Alias-z" src="https://avatars.githubusercontent.com/u/66273343?v=4" width="60" height="60" href="">
      <td>...
  </td>
  </tr>
  <tr>
    <td><a href="https://github.com/yatengLG">yatengLG</a>
    <td><a href="https://github.com/Alias-z">Alias-z</a>
      <td><a href="https://github.com/yatengLG/ISAT_with_segment_anything/graphs/contributors">...</a>
  </tr>
  </table>

  ```text
  @misc{ISAT_with_segment_anything,
    title={{ISAT with Segment Anything: An Interactive Semi-Automatic Annotation Tool}},
    author={Ji, Shuwei and Zhang, Hongyuan},
    url={https://github.com/yatengLG/ISAT_with_segment_anything},
    note={Updated on 2023-06-03},
    year={2023},
    version={1.10}
  }
  ```


pkgId: 70eaa52567e8696e474659afbccd687933148cbd422923606c3b0f90b4cec665
name: python-isodesign-help
arch: noarch
version: 2.0.0b2
epoch: 0
release: 1
summary: Development documents and examples for isodesign
url: https://pypi.org/project/isodesign/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isodesign-2.0.0b2-1.src.rpm
location_href: Packages/python-isodesign-help-2.0.0b2-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/isodesign.svg)](https://badge.fury.io/py/isodesign)
  [![Documentation Status](https://readthedocs.org/projects/isodesign/badge/?version=latest)](https://isodesign.readthedocs.io/en/latest/?badge=latest)


  IsoDesign is a scientific tool designed to optimize the choice of the optimal
  isotopic composition of labeled substrates in 13C fluxomic labelling experiments. Simulated labeling is calculated using the [*influx_si* software](https://influx-si.readthedocs.io/en/latest/index.html), distributed with IsoDesign.

  It is one of the routine tools that we use at the [Mathematics cell of TBI](https://www.toulouse-biotechnology-institute.fr/en/plateformes-plateaux/cellule-mathematiques/)
  and [MetaToul platform](https://www.metabohub.fr/home.html).

  The code is open-source, and available under a GPLv3 license.

  Detailed documentation can be found online at Read the Docs ([https://isodesign.readthedocs.io/](https://isodesign.readthedocs.io/)).



     * user can **define lower and upper bounds** (between 0 and 100) and **define the desired number of intervals** for each isotopic form to be included,
     * **substrate pricing can be entered**, which will be incorporated into the scoring criteria,
     * **simulation of all possible combinations** of isotopic forms in a single run,
     * ability to **simulate stationary or instationary labeling**,
     * **multiple scoring criteria** are available and can be applied simultaneously to assess simulation results,
     * the results of the scoring criteria are displayed using a table for detailed values and a bar plot for visual representation,
     * shipped as a **library** with a **graphical** interface,
     * **open-source, free and easy to install** everywhere where Python 3 and pip run,
     * **biologist-friendly**.




  IsoDesign requires Python 3.10 or higher and run on all platforms.
  Please check [the documentation](https://isodesign.readthedocs.io/en/latest/quickstart.html) for complete
  installation and usage instructions.


  If you have Python3 and R
  installed on your system, you can install IsoDesign from Pypi with pip :

  ```bash
  $ pip install isodesign
  ```

  To use IsoDesign, you will need to some R dependencies (necessary for the simulation part with influx_si).
  Once you installed IsoDesign, you can install these dependencies by running the following command:

  ```bash
  $ influx_s --install_rdep
  ```

  For more information on the installation of R dependencies, please refer to [influx_si software](https://influx-si.readthedocs.io/en/latest/install.html#r-dependencies) documentation.


  Then, start the graphical interface with:

  ```bash
  $ isodesign
  ```

  IsoDesign is also available directly from command-line and as a Python library.



  If you have an idea on how we could improve IsoDesign please submit a new *issue*
  to [our GitHub issue tracker](https://github.com/MetaboHUB-MetaToul-FluxoMet/IsoDesign/issues).




  Contributions are very welcome! :heart:

  Please work on your own fork,
  follow [PEP8](https://www.python.org/dev/peps/pep-0008/) style guide,
  and make sure you pass all the tests before a pull request.


  In development mode, do a `pip install -e /path/to/isodesign` to install
  locally the development version.


  Build the HTML documentation with:

  ```bash
  $ cd doc
  $ make html
  ```

  The PDF documentation can be built locally by replacing `html` by `latexpdf`
  in the command above. You will need a recent latex installation.


  Rochelle KOUAKOU, Loic LE GREGAM


  :email: kouakou@insa-toulouse.fr, legregam@insa-toulouse.fr


pkgId: fb44441f1c1ed52cf5fcb15c34e4cfc78923388f95c676d4b7daa05070585615
name: python-isolate-help
arch: noarch
version: 0.15.0
epoch: 0
release: 1
summary: Development documents and examples for isolate
url: https://pypi.org/project/isolate/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isolate-0.15.0-1.src.rpm
location_href: Packages/python-isolate-help-0.15.0-1.noarch.rpm
checksum_type: sha256
description:
  Run any Python function, with any dependencies, in any machine you want. Isolate offers a
  pluggable end-to-end solution for building, managing, and using isolated environments (virtualenv,
  conda, remote, and more).




  ![XKCD 1987](https://imgs.xkcd.com/comics/python_environment.png)

  The fact that nearly every piece of software uses some other libraries or some
  other programs is undeniable. Each of these come with their set of dependencies,
  and this chain moves forward. Once there are enough 'nodes' in the chain, then
  the ["dependency mess"](https://en.wikipedia.org/wiki/Dependency_hell) starts
  to surface and our lives become much harder.

  Python tried to solve it by recommending the "virtual environment" concept. In
  theory it was designed to isolate environments of different projects, so my project
  A can depend on `pandas==1.0.0` while B depends on `pandas==2.0.0` and whichever
  project I choose to work with, I just activate its own environment.

  Overall this was a very nice solution that did work, and still continues to work
  for this use case. But as with every other scoped fix, in time other problems started
  to appear that demand a much narrower scope (like defining module-level dependencies,
  or even function-level ones for cloud runtimes that allow seamless integration with the
  rest of your code running in a different machine).

  However, unlike "virtual environment" concept, each of the projects that tried to tackle
  this problem lacked a universal interface which one can simply define a set of requirements
  (this might be dependencies, size of the machine that is needed to run it, or something completely
  different) and can change it without any loss. Isolate is working towards a future where this
  transititon is as seamless as the transition from your local environment to the remote
  environment.





  ```
  pip install -e '.[dev]'
  ```



  ```
  pytest
  ```



  ```
  pre-commit install
  ```



  Please follow [conventional commits specification](https://www.conventionalcommits.org/) for descriptions/messages.


pkgId: a759305285d3f5693f61f6c79a575de009e7d177d1c0b07a827463fe75e847f7
name: python-isopeptor-help
arch: noarch
version: 0.0.73
epoch: 0
release: 1
summary: Development documents and examples for isopeptor
url: https://github.com/FranceCosta/isopeptor
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-isopeptor-0.0.73-1.src.rpm
location_href: Packages/python-isopeptor-help-0.0.73-1.noarch.rpm
checksum_type: sha256
description:
  Python package for the detection of intamolecular isopeptide bonds in protein structures.
  The method is described in "Isopeptor: a tool for detecting intramolecular isopeptide bonds in protein structures".

  Isopeptor can be accessed via [this google colab](https://colab.research.google.com/github/FranceCosta/Isopeptor_development/blob/main/notebooks/Isopeptide_finder.ipynb) or installed and run locally.

  Read the [documentation](https://isopeptor.readthedocs.io/en/latest/index.html) for complete information on its usage and examples.



  ```
  pip install isopeptor
  ```



  From the command line:
  ```
  isopeptor tests/data/test_structures/
  ```

  Output:
  ```
  protein_name	probability	chain	r1_bond	r_cat	r2_bond	r1_bond_name	r_cat_name	r2_bond_name	bond_type	rmsd	r_asa	template
  8beg        	0.987      	A    	590    	636  	729    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.004	8beg_A_590_636_729
  8beg        	0.987      	A    	756    	806  	894    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.028	8beg_A_756_806_894
  8beg        	0.987      	A    	922    	973  	1049   	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.015	8beg_A_922_973_1049
  8beg        	0.987      	A    	1076   	1123 	1211   	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.015	8beg_A_1076_1123_1211
  7woi        	0.987      	A    	57     	158  	195    	LYS         	GLU       	ASN         	CnaB-like	0.001	0.019	7woi_A_57_158_195
  7woi        	0.987      	A    	203    	246  	318    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.012	7woi_A_203_246_318
  5dz9        	0.987      	A    	556    	606  	703    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.009	4z1p_A_3_53_150
  5dz9        	0.987      	A    	730    	776  	861    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.019	4z1p_A_177_223_308
  4z1p        	0.987      	A    	3      	53   	150    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.009	4z1p_A_3_53_150
  4z1p        	0.987      	A    	177    	223  	308    	LYS         	ASP       	ASN         	CnaA-like	0.0  	0.019	4z1p_A_177_223_308
  6to1_af     	0.505      	A    	13     	334  	420    	LYS         	ASP       	ASN         	CnaA-like	0.548	0.002	4uzg_A_187_225_330
  ```

  To redirect the output to a `.tsv` file use:

  ```
  isopeptor tests/data/test_structures/ > output.tsv
  ```



  ```
  usage: isopeptor [-h] [--distance DISTANCE] [--fixed_r_asa FIXED_R_ASA] [--eval_geometry] path_to_structure_files

  Run isopeptide bond prediction from command line. Usage: isopeptor path/to pdb files/ > isopeptide_bonds.csv

  positional arguments:
    path_to_structure_files
                          Path to directory containing .pdb/.cif files.

  options:
    -h, --help            show this help message and exit
    --distance DISTANCE   Specifies permissivity of jess search. The higher, the more permissive.
    --fixed_r_asa FIXED_R_ASA
                          Fixes the relative solvent accessible area using a value between 0 and 1 to speed up the prediction.
    --eval_geometry       Run geometric evaluation of isopeptide bonds.
  ```



  ```
  python -m unittest discover -s tests -p "test_isopeptide.py"
  ```


pkgId: 4e92c3b3a1efb62f9bbbc4a8725535e9535b45a46412e38a9df7e646dfa49cbc
name: python-itch-dl-help
arch: noarch
version: 0.5.0
epoch: 0
release: 1
summary: Development documents and examples for itch-dl
url: https://github.com/DragoonAethis/itch-dl
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-itch-dl-0.5.0-1.src.rpm
location_href: Packages/python-itch-dl-help-0.5.0-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI](https://img.shields.io/pypi/v/itch-dl)](https://pypi.org/project/itch-dl/)

  Bulk download games from [itch.io](https://itch.io/)

  - Can handle links with:
    - [Game jams](https://itch.io/jams) (ex. https://itch.io/jam/gmtk-2023 or https://itch.io/jam/gbcompo23),
    - [Browse pages](https://itch.io/games) (popular, newest, browse by tag...),
    - [Collections](https://itch.io/my-collections) (ex. https://itch.io/c/4187503/test-collection),
    - [Your library](https://itch.io/my-purchases),
    - Individual games and titles (ex. https://maddymakesgamesinc.itch.io/celeste,
      https://dragonruby.itch.io/dragonruby-gtk, or https://supergiant-games.itch.io/pyre).
  - Currently **NOT** supported:
    - Bundles ([#11](https://github.com/DragoonAethis/itch-dl/issues/11))
    - Access restricted games ([#16](https://github.com/DragoonAethis/itch-dl/issues/16))
  - Requires Python 3.8+, grab it from [PyPI](https://pypi.org/project/itch-dl/): `pip install itch-dl`
  - For development, use [Poetry](https://python-poetry.org/).

  > [!WARNING]
  > This tool does not let you download paid games for free. To download paid games, you must have
  > them attached in [your library](https://itch.io/my-purchases).




  - Log into itch.io with the account you'd like to use for downloading.
  - Generate [a new API key](https://itch.io/user/settings/api-keys) on your user account page.
  - Optional: Save the API key in the [itch-dl configuration file](https://github.com/DragoonAethis/itch-dl/wiki/Configuration-Files).
  - Run the downloader: `itch-dl https://itch.io/jam/yourjamhere` (add `--api-key <KEY>` if you did not save the API key).
  - Wait. This is going to take a while.

  More arguments are available - check them out with `itch-dl --help`.

  The downloader is able to grab more or less everything you can download via the itch app.

  The input URL can be one of the supported link formats listed above, a path to a itch.io JSON
  file with game jam entries, a list of itch.io game URLs (not browse/jam pages!) to download.

  **It's expected that the downloader output will not be complete** - logs are stupidly verbose
  and it prints a report on failed downloads and external URLs (links to files that are not on
  itch.io itself, but rather on an external host like Google Drive, Dropbox, etc), so you must
  manually grab whatever was not handled for you automatically.

  The downloader also grabs the entry page HTML, which usually comes with controls and such. By
  default, it does not download images, assets and so on, just the text - use `--mirror-web` to
  try and download these as well. This does not work very well yet, but gets the basics done.




  Downloader can parse and download games from a game jam entries JSON file if you need it.
  (The script basically automates the steps below, so if it's not able to do the same, please
  create an issue!)

  - Go to your jam's page, ex. https://itch.io/jam/gbcompo21 and right-click -> View Source.
  - Ctrl-F for `"id":` - it should find that text once, followed by a number. Write it down.
  - (It you found it multiple times, grab the one after I.ViewJam something something.)
  - Download https://itch.io/jam/ID/entries.json (replacing ID with what you wrote down).
  - Feed that to `itch-dl`!


pkgId: 935b7eba8164956acf47aa30c7197e666f6290e0bbda01198cf60da01e0e8a8c
name: python-iterpy-help
arch: noarch
version: 1.11.1
epoch: 0
release: 1
summary: Development documents and examples for iterpy
url: https://pypi.org/project/iterpy/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-iterpy-1.11.1-1.src.rpm
location_href: Packages/python-iterpy-help-1.11.1-1.noarch.rpm
checksum_type: sha256
description:
  [![Open in Dev Container](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)][dev container]
  [![PyPI](https://img.shields.io/pypi/v/iterpy.svg)][pypi status]
  [![Python Version](https://img.shields.io/pypi/pyversions/iterpy)][pypi status]
  [![Roadmap](https://img.shields.io/badge/Projects-Roadmap-green)][roadmap]

  [pypi status]: https://pypi.org/project/iterpy/
  [dev container]: https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/MartinBernstorff/iterpy/
  [roadmap]: https://github.com/users/MartinBernstorff/projects/3/views/1?groupedBy%5BcolumnId%5D=70727793&sliceBy%5BcolumnId%5D=Status&filterQuery=-status%3ADone

  <!-- start short-description -->

  Python has implemented `map`, `filter` etc. as functions, rather than methods on a sequence. Since it does not contain a pipe operator, this makes the result harder to read. iterpy exists to change that.

  You get this 🔥:

  ```python
  from iterpy import Iter

  result = Iter([1,2,3]).map(multiply_by_2).filter(is_even)
  ```

  Instead of this:

  ```python
  sequence = [1,2,3]
  multiplied = [multiply_by_2(x) for x in sequence]
  result = [x for x in multiplied if is_even(x)]
  ```

  Or this:

  ```python
  result = filter(is_even, map(multiply_by_2, [1,2,3]))
  ```

  <!-- end short-description -->



  ```bash
  uv add iterpy
  ```



  ```python
  from iterpy import Iter

  result = (Iter([1, 2])
              .filter(lambda x: x % 2 == 0)
              .map(lambda x: x * 2)
              .to_list()
  )
  assert result == [4]
  ```



  Inspired by Polars, iterpy supports eager evaluation for easier debugging using `Arr`, and lazy evaluation for better performance using `Iter`. To access eager evaluation:

  ```python
  from iterpy import Arr

  result = Arr([1, 2, 3]).map(lambda x: x * 2).to_list()
  assert result == [2, 4, 6]
  ```

  `Arr` acts like a Python `list`, so you can pass it around anywhere flexibly!

  To access lazy evaluation, just rename `Arr` to `Iter`:

  ```python
  from iterpy import Iter

  result = Iter([1, 2, 3]).map(lambda x: x * 2).to_list()
  assert result == [2, 4, 6]
  ```



  iterpy stands on the shoulders of Scala, Rust etc.

  Other Python projects have had similar ideas:

  - [PyFunctional](https://github.com/EntilZha/PyFunctional) has existed for 7+ years with a comprehensive feature set. It is performant, with built-in lineage and caching. Unfortunately, this makes typing [non-trivial, with a 4+ year ongoing effort to add types](https://github.com/EntilZha/PyFunctional/issues/118).
  - [flupy](https://github.com/olirice/flupy) is highly similar, well typed, and mature. I had some issues with `.flatten()` not being type-hinted correctly, but but your mileage may vary.
  - Your library here? Feel free to make an issue if you have a good alternative!





  1. We use [`uv`](https://docs.astral.sh/uv/) for environment management. Once it is installed, setup the dev environment using `make dev`.

  Or, use the devcontainer.

  1. Install [Orbstack](https://orbstack.dev/) or Docker Desktop. Make sure to complete the full install process before continuing.
  1. If not installed, install VSCode
  1. Press this [link](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/MartinBernstorff/iterpy/)



  2. Make your changes

  3. See the makefile for tests, linting, and formatting.



  - Make it work: Concise syntax borrowed from Scala, Rust etc.
  - Make it right: Fully typed, no exceptions
  - Make it fast:
    - Concurrency through `.pmap`
    - (Future): Caching
    - (Future): Refactor operations to use generators
  - Keep it simple: No dependencies



  As a heuristic, we follow the APIs of:

  - Rust's [std::iter](https://doc.rust-lang.org/stable/std/iter/)
  - Rust's [itertools](https://docs.rs/itertools/latest/itertools/index.html)

  In cases where this conflicts with typical python implementations, the API should be as predictable as possible for Python users.



  | Type                            |                        |
  | ------------------------------- | ---------------------- |
  | 🚨 **Bug Reports**              | [GitHub Issue Tracker] |
  | 🎁 **Feature Requests & Ideas** | [GitHub Issue Tracker] |
  | 👩‍💻 **Usage Questions**          | [GitHub Discussions]   |
  | 🗯 **General Discussion**        | [GitHub Discussions]   |

  [github issue tracker]: https://github.com/MartinBernstorff/iterpy/issues
  [github discussions]: https://github.com/MartinBernstorff/iterpy/discussions

rpm_license:
  MIT License  Copyright (c) Martin Bernstorff  For some subsections, closely inspired by Flupy and hence probably Copyright (c) Oliver Rice.  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: 41f26d178eef71821ec8efb933ce416c21e4337d59df18d15b36d33e7a94d0be
name: python-itg-cli-help
arch: noarch
version: 1.0.3
epoch: 0
release: 1
summary: Development documents and examples for itg-cli
url: https://pypi.org/project/itg-cli/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-itg-cli-1.0.3-1.src.rpm
location_href: Packages/python-itg-cli-help-1.0.3-1.noarch.rpm
checksum_type: sha256
description:
  `itg-cli` is a command line interface that automates & simplifies common
  administrative tasks for Stepmania or its derivatives. Its functionality can
  also be imported as a package for use in a Python project.



  Make sure you have python 3.9 or newer installed.

  ```Bash
  $ python --version
  Python 3.9.20
  ```

  Install via pipx (recommended):

  1. Install [pipx](https://pipx.pypa.io/stable/)

  2. ```Bash
     pipx install itg-cli
     ```

  Install via pip (for use as a module):

  ```Bash
  pip install itg-cli
  ```

  ```python
  from itg_cli import *
  from pathlib import Path

  packs = Path("/path/to/packs")
  courses = Path("/path/to/courses")

  add_pack("https://omid.gg/THC", packs, courses)
  ```



  `itg-cli` will generate a config file if one is not found at the default
  location. This location and the default values vary depending on the platform
  (see below). The location of the created config file will be output by the
  program after it's created.

  The `init-config` command is used to write a default config file to a location
  of your choice (or the default location if none is supplied). You can supply
  this config file to other commands by passing it using the `--config`
  parameter.

  If your itgmania data folder location is not listed below (e.g. you are using a
  portable install), you will need to manually edit this config file in the text
  editor of your choice.

  ```plaintext
  Windows: %appdata%\ITGMania
  Linux: ~/.itgmania
  MacOS: ~/Library/Application Support/ITGMania
      MacOS cache: ~/Library/Caches/ITGMania
  ```



  * `add-pack` adds a pack from the supplied path or link to your configured `packs` directory.

      ```Bash
      
      itg-cli add-pack path/to/pack.zip
      
      itg-cli add-pack path/to/pack/

      
      itg-cli add-pack https://omid.gg/THC
      
      itg-cli add-pack "https://drive.google.com/file/d/18XoCKcA7N4ptE6U7wOJIJgfVwTAyuA10/view"
      ```

  * `add-song` adds a song from the supplied path or link to your configured `singles` directory.

      ```Bash
      
      itg-cli add-song path/to/song.zip
      
      itg-cli add-song path/to/song/
      
      itg-cli add-song "https://cdn.discordapp.com/attachments/529867916833718294/1286510412262805524/Love_Bomb.zip?ex=66ee2bb0&is=66ecda30&hm=6c6ac229657a01b0f48995ed236a22889502c5407478cfe6151596f4355ca7b4&"
      ```

  * `censor` Move a song in your packs folder to packs/.censored/\[pack]/\[SongFolder], hiding it from players.

      ```Bash
      itg-cli censor "path/to/Songs/7gays1pack/Stupid Hoe/"
      ```

  * `uncensor` displays a list of songs that have been censored and prompts you to select a file to uncensor.

      ```Bash
      $ itg-cli uncensor
      1. Monke Rave (Tech Heavy Charts)
      2. Stupid Hoe (7gays1pack)
      3. ME!ME!ME! (Anime Extravaganza 4)
      Select a song to uncensor (1-3): 1
      Uncensored Monke Rave from Tech Heavy Charts.
      ```



  This project is my first published/marketed open source project, so I'm still
  learning how all this works in practice. That being said, If you run into any bugs
  or have ideas for new features, please feel free to create an [issue](https://github.com/lucdar/itg-cli/issues) or [pull request](https://github.com/lucdar/itg-cli/pulls).



  [MIT](https://choosealicense.com/licenses/mit/)

rpm_license:
  MIT License  Copyright (c) 2023 Lucas Clark  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: 8ffd764c24e908a5fb9566ea0ba108a2034a01e6fcf4105926684ea30039c4cb
name: python-itkdb-gtk-help
arch: noarch
version: 0.14.1
epoch: 0
release: 1
summary: Development documents and examples for itkdb-gtk
url: https://gitlab.cern.ch/atlas-itk/sw/db/itk-pdb-gtk-gui-utils
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-itkdb-gtk-0.14.1-1.src.rpm
location_href: Packages/python-itkdb-gtk-help-0.14.1-1.noarch.rpm
checksum_type: sha256
description:
  This folder contains a collection of scripts that help interacting with the DB
  using a Gtk based GUI, which includes a first attempt of reauthentication.

  You need to install itkdb and serial. The former for obvious reasons. The latter
  to handle a WASP QR reader to create/receive shipments.

  Also needed to run is python-dateutil.


  A collections of utilities to show/edit in the GUI the values of the JSON files to be
  uploaded to the DB and to create the application windows.


  Contains a larga fraction of utility functions to "talk" to the DB.


  Provides a GUI interface to provide credentials to the DB. The token will be
  updated before expiration. This is usefull for very long sessions in the GUI.


  Reads the AVS Production Sheet and FAT reports. With this information it creates
  the petal core in the DB, if not yet there, make the assembly of the components,
  and uploadas the test runs made at AVS.


  A GUI to upload the JSON files corresponding to a test and, also, to add
  attachmetns.


  This will allow to select various test files, or even scan a whole directory to
  find them, and assign comments, defects or attachments to each of the tests found.


  Find all shipments to be received at a given site and list them. It handles a
  barcode reader that helps identifying the items actually received for the
  reception. It will finally make the DB aware of the items receptioned.


  Create a new shipment. Allows to add items with the QR reader as well as from a
  GUI dialog. One can add comments and attachments to the shipment.


  Allows to upload and enter valueos, comments and defects for those items in the gounding
  and visual instpections tests of the petal core.


  The idea behind this is that we messure the IV on a Ring module and on only one of the to Half modules. The IV of the remaining half modules is derived from the other 2. Eventually the IV test can be uploaded to the DB.


  This is an launcher application from which we can start most of the other
  applications. It is a very good starting point. There is a Gnome desktop file (ITkDB.desktop)
  that needs to be copied to `$HOME/.local/share/applications` and an icon (ITkDB.svg) that
  needs to go to `$HOME/.local/share/icons`


pkgId: 5734ad5afba2e35eeda91a758def03df168b91ebba6a59ebdb5b54c9eb887ea0
name: python-itkwasm-cuberille-wasi-help
arch: noarch
version: 0.2.0
epoch: 0
release: 1
summary: Development documents and examples for itkwasm-cuberille-wasi
url: https://pypi.org/project/itkwasm-cuberille-wasi/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-itkwasm-cuberille-wasi-0.2.0-1.src.rpm
location_href: Packages/python-itkwasm-cuberille-wasi-help-0.2.0-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/itkwasm-cuberille-wasi.svg)](https://badge.fury.io/py/itkwasm-cuberille-wasi)

  Cuberille implicit surface polygonization WASI implementation.

  This package provides the WASI WebAssembly implementation. It is usually not called directly. Please use [`itkwasm-cuberille`](https://pypi.org/project/itkwasm-cuberille/) instead.




  ```sh
  pip install itkwasm-cuberille-wasi
  ```



  ```sh
  pip install pytest
  pip install -e .
  pytest


  pip install hatch
  hatch run test
  ```


pkgId: e429c0da7ba771e0d284e9d91354ef64355c207fc9559f67f0371d82be88357c
name: python-itmgr-help
arch: noarch
version: 1.0.3.4
epoch: 0
release: 1
summary: Development documents and examples for itmgr
url: https://github.com/Cassssian/itmgr
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-itmgr-1.0.3.4-1.src.rpm
location_href: Packages/python-itmgr-help-1.0.3.4-1.noarch.rpm
checksum_type: sha256
description:
  An import manager that allow you to manage easily your importations in your project

   
   You can install it using pip:
   ```
   pip install itmgr
   ```


  ```python
  from itmgr import * #Or use : install_and_import, importation, install, uninstall, remove_module


  ```

  You can also add link between libs for importation and installations by using this line in your console :
  ```bash
  itmgr add lib_name link_to_install
  ```



  The contributions are welcome ! You can contribute by adding new features, fixing bugs, improving the documentation, etc.


  - [Cassssian](https://github.com/Cassssian)


pkgId: 10d78f7f324a84c437f2be1ed821ca8a82a9c2b0026bdad0d50bf5c4c54eaa5e
name: python-itscalledsoccer-help
arch: noarch
version: 1.3.1
epoch: 0
release: 1
summary: Development documents and examples for itscalledsoccer
url: https://pypi.org/project/itscalledsoccer/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-itscalledsoccer-1.3.1-1.src.rpm
location_href: Packages/python-itscalledsoccer-help-1.3.1-1.noarch.rpm
checksum_type: sha256
description:
  <!-- omit in toc -->


  <div align="center">
      <img src="https://raw.githubusercontent.com/American-Soccer-Analysis/itscalledsoccer-r/main/man/figures/logo.png" align="center" height="175"/>
  </div>

  <br>


  <!-- badges: start -->
  [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
  ![PyPi Version](https://img.shields.io/pypi/v/itscalledsoccer.svg)
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/itscalledsoccer)
  ![Python tests](https://github.com/American-Soccer-Analysis/itscalledsoccer/actions/workflows/python-tests.yml/badge.svg)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![PyPI download month](https://img.shields.io/pypi/dm/itscalledsoccer.svg)](https://pypi.python.org/pypi/itscalledsoccer/)
  [![codecov](https://codecov.io/github/American-Soccer-Analysis/itscalledsoccer/graph/badge.svg?token=RUWMM7ZLQ2)](https://codecov.io/github/American-Soccer-Analysis/itscalledsoccer)
  <!-- badges: end -->

  <!-- omit in toc -->


  - [Background](#background)
  - [Install](#install)
  - [Usage](#usage)
  - [Other versions](#other-versions)
  - [Contributing](#contributing)
  - [License](#license)



  `itscalledsoccer` is a wrapper around the same API that powers the [American Soccer Analysis app](https://app.americansocceranalysis.com/). It enables Python users to programmatically retrieve advanced analytics for their favorite [MLS](https://en.wikipedia.org/wiki/Major_League_Soccer), [NWSL](https://en.wikipedia.org/wiki/National_Women%27s_Soccer_League), and [USL](https://en.wikipedia.org/wiki/United_Soccer_League) players and teams.



  ```sh
  pip install itscalledsoccer
  ```



  ```python
  from itscalledsoccer.client import AmericanSoccerAnalysis

  asa_client = AmericanSoccerAnalysis()
  ```

  Any of the `get_*` methods can be used to retrieve the same data made available in the [American Soccer Analysis app](https://app.americansocceranalysis.com/). Partial matches or abbreviations are accepted for any player or team names. For most methods, arguments _must be named_. A few examples are below.

  ```python

  asa_players = asa_client.get_players(names="Andre")
  ```

  For more information, check out the [documentation site](https://american-soccer-analysis.github.io/itscalledsoccer/).



  - [itscalledsoccer-r](https://github.com/American-Soccer-Analysis/itscalledsoccer-r)
  - [itscalledsoccer-js](https://github.com/American-Soccer-Analysis/itscalledsoccer-js)



  See [CONTRIBUTING.md](./CONTRIBUTING.md)



  MIT © itscalledsoccer authors


pkgId: 37304d4550675535bb7425944cb83bee52f89cba0d05bc4eb247cfffae3d9981
name: python-ivoryos-client-help
arch: noarch
version: 0.1.1
epoch: 0
release: 1
summary: Development documents and examples for ivoryos-client
url: https://gitlab.com/heingroup/ivoryos-client
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ivoryos-client-0.1.1-1.src.rpm
location_href: Packages/python-ivoryos-client-help-0.1.1-1.noarch.rpm
checksum_type: sha256
description:
  [ivoryOS](https://gitlab.com/heingroup/ivoryos) client automates the generation of client-side APIs based on server-defined robotic control script.
  It mirrors the control Python code features but sending command through HTTP request to the ivoryOS backend (where the actual robotic communication are happening) that receives the info and execute the actual control methods.



  - **Dynamic Interface Generation**: Automatically generates Python classes and methods to match server-side API definitions.



  ```bash
  pip install git+https://gitlab.com/heingroup/ivoryos
  ```


  in terminal, use ivoryos-client + ivoryos server url
  ```bash
  ivoryos-client http://localhost:8000
  ```
  this will create a Python script `generated_classes.py` with all API instances created.

  ```Python
  from example import *
  ```


  classes generated ([generated_classes.py](example/generated_classes.py)) for abstract_sdl.py in [SDL examples](https://gitlab.com/heingroup/ivoryos/-/tree/main/example/sdl_example)


pkgId: 744c87218f7da7cdaa9edd354909ee4783acb0904734610623b17836f2456131
name: python-ivycheck-help
arch: noarch
version: 0.11.14
epoch: 0
release: 1
summary: Development documents and examples for ivycheck
url: https://github.com/ivycheck/ivycheck-python.git
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ivycheck-0.11.14-1.src.rpm
location_href: Packages/python-ivycheck-help-0.11.14-1.noarch.rpm
checksum_type: sha256
description:
  <div align="left">
      <a href="https://speakeasyapi.dev/"><img src="https://custom-icon-badges.demolab.com/badge/-Built%20By%20Speakeasy-212015?style=for-the-badge&logoColor=FBE331&logo=speakeasy&labelColor=545454" /></a>
      <a href="https://opensource.org/licenses/MIT">
          <img src="https://img.shields.io/badge/License-MIT-blue.svg" style="width: 100px; height: 28px;" />
      </a>
  </div>

  <!-- Start Summary [summary] -->



  <!-- End Summary [summary] -->

  <!-- Start Table of Contents [toc] -->

  <!-- $toc-max-depth=2 -->
  * [IvyCheck-SDK](https://github.com/ivycheck/ivycheck-python/blob/master/#ivycheck-sdk)
    * [SDK Installation](https://github.com/ivycheck/ivycheck-python/blob/master/#sdk-installation)
    * [SDK Example Usage](https://github.com/ivycheck/ivycheck-python/blob/master/#sdk-example-usage)
    * [Available Resources and Operations](https://github.com/ivycheck/ivycheck-python/blob/master/#available-resources-and-operations)
    * [Error Handling](https://github.com/ivycheck/ivycheck-python/blob/master/#error-handling)
    * [Custom HTTP Client](https://github.com/ivycheck/ivycheck-python/blob/master/#custom-http-client)
    * [Authentication](https://github.com/ivycheck/ivycheck-python/blob/master/#authentication)
  * [Development](https://github.com/ivycheck/ivycheck-python/blob/master/#development)
    * [Maturity](https://github.com/ivycheck/ivycheck-python/blob/master/#maturity)
    * [Contributions](https://github.com/ivycheck/ivycheck-python/blob/master/#contributions)

  <!-- End Table of Contents [toc] -->

  <!-- Start SDK Installation [installation] -->


  The SDK can be installed using the *pip* package manager, with dependencies and metadata stored in the `setup.py` file.

  ```bash
  pip install ivycheck
  ```
  <!-- End SDK Installation [installation] -->





  ```python
  import ivycheck

  ivy = ivycheck.IvyCheck(
      api_key="<YOUR_TOKEN_HERE>",
  )

  res = ivy.checks.hallucination(response="It is sunny outside", context="It is rainig cats and dogs")


  ```

  <!-- No SDK Example Usage [usage] -->

  <!-- Start Available Resources and Operations [operations] -->


  <details open>
  <summary>Available methods</summary>



  * [hallucination](https://github.com/ivycheck/ivycheck-python/blob/master/docs/sdks/checks/README.md#hallucination) - Hallucination
  * [pii](https://github.com/ivycheck/ivycheck-python/blob/master/docs/sdks/checks/README.md#pii) - Pii
  * [prompt_injection](https://github.com/ivycheck/ivycheck-python/blob/master/docs/sdks/checks/README.md#prompt_injection) - Prompt Injection


  </details>
  <!-- End Available Resources and Operations [operations] -->

  <!-- Start Error Handling [errors] -->


  Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an exception.

  By default, an API error will raise a models.SDKError exception, which has the following properties:

  | Property        | Type             | Description           |
  |-----------------|------------------|-----------------------|
  | `.status_code`  | *int*            | The HTTP status code  |
  | `.message`      | *str*            | The error message     |
  | `.raw_response` | *httpx.Response* | The raw HTTP response |
  | `.body`         | *str*            | The response content  |

  When custom error responses are specified for an operation, the SDK may also raise their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `hallucination` method may raise the following exceptions:

  | Error Type                 | Status Code | Content Type     |
  | -------------------------- | ----------- | ---------------- |
  | models.HTTPValidationError | 422         | application/json |
  | models.SDKError            | 4XX, 5XX    | \*/\*            |



  ```python
  import ivycheck
  from ivycheck import models

  s = ivycheck.IvyCheck(
      api_key='<YOUR_BEARER_TOKEN_HERE>',
  )

  res = None
  try:
      res = s.checks.hallucination(response='<value>', context='<value>')

  except models.HTTPValidationError as e:
      
      raise(e)
  except models.SDKError as e:
      
      raise(e)

  if res.check_result is not None:
      
      pass

  ```
  <!-- End Error Handling [errors] -->
  <!-- No Server Selection [server] -->

  <!-- Start Custom HTTP Client [http-client] -->


  The Python SDK makes API calls using the [requests](https://pypi.org/project/requests/) HTTP library.  In order to provide a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration, you can initialize the SDK client with a custom `requests.Session` object.

  For example, you could specify a header for every request that this sdk makes as follows:
  ```python
  import ivycheck
  import requests

  http_client = requests.Session()
  http_client.headers.update({'x-custom-header': 'someValue'})
  s = ivycheck.IvyCheck(client=http_client)
  ```
  <!-- End Custom HTTP Client [http-client] -->

  <!-- Start Authentication [security] -->




  This SDK supports the following security scheme globally:

  | Name      | Type | Scheme      |
  | --------- | ---- | ----------- |
  | `api_key` | http | HTTP Bearer |

  To authenticate with the API the `api_key` parameter must be set when initializing the SDK client instance. For example:
  ```python
  import ivycheck

  s = ivycheck.IvyCheck(
      api_key='<YOUR_BEARER_TOKEN_HERE>',
  )


  res = s.checks.hallucination(response='<value>', context='<value>')

  if res.check_result is not None:
      
      pass

  ```
  <!-- End Authentication [security] -->

  <!-- Placeholder for Future Speakeasy SDK Sections -->





  This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage
  to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally
  looking for the latest version.



  While we value open-source contributions to this SDK, this library is generated programmatically.
  Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release!


pkgId: 024f692c59fb8d15c8cc4347ada109f45614ab97ea54c3cae77473adabdbcae4
name: python-iw4m-help
arch: noarch
version: 0.3.3
epoch: 0
release: 1
summary: Development documents and examples for iw4m
url: https://github.com/Yallamaztar/iw4m
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-iw4m-0.3.3-1.src.rpm
location_href: Packages/python-iw4m-help-0.3.3-1.noarch.rpm
checksum_type: sha256
description:
  <div align="center">
      <h1 style="margin-bottom: -1.5rem; border: solid transparent; font-weight: 800; font-size: 3rem;">Table of Contents</h1>
  </div>
  <div style="display: flex; gap: 1rem; padding: 20px; border: solid transparent; flex-wrap: wrap;">
      <!-- Server Class Section -->
      <div style="flex: 1; border: 0.15rem solid #82C8F5; border-radius: 10px; padding: 15px;">
          <h2 style="font-size: 2.5rem; font-weight: 700;">
              <a href="#server-class" style="text-decoration: none; color: white;">
                  Server <span style="color: #82C8F5;">Class</span> 🎮
              </a>
          </h2>
          <ul style="list-style: none; padding: 0; line-height: 1.8;">
              <li><a href="#status" style="color: #91C1E6; font-size: 1.1rem;">status()</a></li>
              <li><a href="#info" style="color: #91C1E6;">info()</a></li>
              <li><a href="#get_server_ids" style="color: #91C1E6;">get_server_ids()</a></li>
              <li><a href="#send_command" style="color: #91C1E6;">send_command()</a></li>
              <li><a href="#read_chat" style="color: #91C1E6;">read_chat()</a></li>
              <li><a href="#recent_clients" style="color: #91C1E6;">recent_clients()</a></li>
              <li><a href="#find_player" style="color: #91C1E6;">find_player()</a></li>
              <li><a href="#get_users" style="color: #91C1E6;">get_users()</a></li>
              <li><a href="#get_players" style="color: #91C1E6;">get_players()</a></li>
              <li><a href="#get_roles" style="color: #91C1E6;">get_roles()</a></li>
              <li><a href="#get_admins" style="color: #91C1E6;">get_admins()</a></li>
              <li><a href="#get_audit_logs" style="color: #91C1E6;">get_audit_logs()</a></li>
              <li><a href="#get_client_penalties" style="color: #91C1E6;">get_client_penalties()</a></li>
              <li><a href="#get_top_players" style="color: #91C1E6;">get_top_players()</a></li>
          </ul>
      </div>
      <!-- Player Class Section -->
      <div style="flex: 1; border: 0.15rem solid #82C8F5; border-radius: 10px; padding: 15px; background-color: transparent;">
          <h2 style="font-size: 2.5rem; font-weight: 700;">
              <a href="#server-class" style="text-decoration: none; color: white;">
                  Player <span style="color: #82C8F5;">Class</span>👾
              </a>
          </h2>
          <ul style="list-style: none; padding: 0; line-height: 1.8;">
              <li><a href="#stats" style="color: #91C1E6; font-size: 1.1rem;">stats()</a></li>
              <li><a href="#advanced_stats" style="color: #91C1E6; font-size: 1.1rem;">advanced_stats()</a></li>
              <li><a href="#client_info" style="color: #91C1E6; font-size: 1.1rem;">client_info()</a></li>
              <li><a href="#info" style="color: #91C1E6; font-size: 1.1rem;">info()</a></li>
              <li><a href="#chat_history" style="color: #91C1E6; font-size: 1.1rem;">chat_history()</a></li>
              <li><a href="#name_changes" style="color: #91C1E6; font-size: 1.1rem;">name_changes()</a></li>
              <li><a href="#administered_penalties" style="color: #91C1E6; font-size: 1.1rem;">administered_penalties()</a></li>
              <li><a href="#received_penalties" style="color: #91C1E6; font-size: 1.1rem;">received_penalties()</a></li>
              <li><a href="#connection_history" style="color: #91C1E6; font-size: 1.1rem;">connection_history()</a></li>
              <li><a href="#permissions" style="color: #91C1E6; font-size: 1.1rem;">permissions()</a></li>
          </ul>
      </div>
  </div>
  <div align="center" id="server-class">
      <h1 style="padding-top: 5rem; padding-bottom: 0.2rem; font-weight: 800; font-size: 3rem;">Server Class 💻</h1>
      <p style="font-size: 1.2rem; color: white;">The Server class provides utility functions for interacting with the IW4M-Admin servers</p>
  </div>
  <div style="display: flex; gap: 1rem; padding: 20px; border: solid transparent; flex-wrap: wrap;">
      <div style="flex: 1; border: 0.15rem solid #82C8F5; border-radius: 10px; padding: 1rem; padding-left: 1.5rem;">
          <h2 style="font-size: 2.5rem; font-weight: 700;">Methods</h2>
          <ul style="list-style: none; padding: 0; line-height: 1.8;">
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="status">
                  <strong><code style="font-size: 1.2rem;">status()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the current status of the server</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(dict)</code> - The status information from the server in JSON format.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="info">
                  <strong><code>info()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the server information.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(dict)</code> - Information about the server in JSON format.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="get_server_ids">
                  <strong><code>get_server_ids()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves a list of available servers and their corresponding IDs.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of dictionaries, each containing:
                          <ul>
                              <li>server (str): The name of the server</li>
                              <li>id (str): The unique identifier for the server</li>
                          </ul>
                      </li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="send_command">
                  <strong><code>send_command(command: str)</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Executes an iw4m-admin console command and returns the response.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Parameters:</strong> <code>command (str)</code> - The command to execute.</li>
                      <li><strong>Returns:</strong> <code>(str)</code> - Response from the server.</li>
                      <li><strong>Raises:</strong> Exception if the request fails.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="read_chat">
                  <strong><code>read_chat()</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves chat messages from the server.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of tuples, each containing the sender's name and their message.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="recent_clients">
                  <strong><code>recent_clients(offset: int = 0)</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves a list of recent clients.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Parameters:</strong> <code>offset (int, optional)</code> - The offset for pagination (default is 0).</li>
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of dictionaries containing details about recent clients.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="find_player">
                  <strong><code>find_player(name: str = "", xuid: str = "", count: int = 1, offset: int = 0, direction: int = 0)</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Finds players on the server by name or XUID.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Parameters:</strong>
                          <ul>
                              <li><code>name (str, optional)</code>: The player's name</li>
                              <li><code>xuid (str, optional)</code>: The player's XUID</li>
                              <li><code>count (int, optional)</code>: Number of players to return (default is 1)</li>
                              <li><code>offset (int, optional)</code>: Offset for pagination (default is 0)</li>
                              <li><code>direction (int, optional)</code>: Search direction (default is 0)</li>
                          </ul>
                      </li>
                      <li><strong>Returns:</strong> <code>(str)</code> - The response from the server containing player information.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="get_users">
                  <strong><code>get_users()</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves a list of users with their corresponding links.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of tuples, each containing:
                          <ul>
                              <li>player (str): The name of the user</li>
                              <li>href (str): The corresponding link of the user</li>
                          </ul>
                      </li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="get_players">
                  <strong><code>get_players()</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves a list of players with their roles and corresponding links.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of dictionaries, each containing:
                          <ul>
                              <li>role (str): The role of the player (e.g., owner, senior, admin, user)</li>
                              <li>name (str): The name of the player</li>
                              <li>url (str): The corresponding link to the player</li>
                          </ul>
                      </li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="get_roles">
                  <strong><code>get_roles()</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves a list of available roles on the server.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> A list of roles available.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="get_admins">
                  <strong><code>get_admins(role: str = "all", count: int = None)</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves a list of administrators based on their role.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Parameters:</strong>
                          <ul>
                              <li><code>role (str)</code>: The role to filter by (default is "all")</li>
                              <li><code>count (int, optional)</code>: The number of admins to return (default is unlimited)</li>
                          </ul>
                      </li>
                      <li><strong>Returns:</strong> A list of dictionaries containing details about the administrators.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="get_audit_logs">
                  <strong><code>get_audit_logs()</code></strong><br>
                  <span style="font-size: 1rem; color: white;">Retrieves a list of audit logs from the server.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> A list of dictionaries containing:
                          <ul>
                              <li>type (str): The type of the audit log entry</li>
                              <li>origin (str): The origin of the log</li>
                              <li>href (str): The link to the log</li>
                          </ul>
                      </li>
                  </ul>
              </li>
          </ul>
      </div>
  </div>
  <div align="center" id="player-class">
      <h1 style="padding-top: 5rem; padding-bottom: 0.2rem; font-weight: 800; font-size: 3rem;">Player Class 🕹️</h1>
      <p style="font-size: 1.2rem; color: white;">The Player class provides utility functions for interacting with players on the IW4M-Admin server</p>
  </div>
  <div style="display: flex; gap: 1rem; padding: 20px; border: solid transparent; flex-wrap: wrap;">
      <div style="flex: 1; border: 0.15rem solid #82C8F5; border-radius: 10px; padding: 1rem; padding-left: 1.5rem;">
          <h2 style="font-size: 2.5rem; font-weight: 700;">Methods</h2>
          <ul style="list-style: none; padding: 0; line-height: 1.8;">
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="stats">
                  <strong><code style="font-size: 1rem; color: white;">stats()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves statistics about the player.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(dict)</code> - Player statistics in JSON format.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="advanced_stats">
                  <strong><code style="font-size: 1rem; color: white;">advanced_stats()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves advanced statistics for the player.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(dict)</code> - Advanced player statistics in JSON format.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="client_info">
                  <strong><code style="font-size: 1rem; color: white;">client_info()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the client's information.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(dict)</code> - Client information in JSON format.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="info">
                  <strong><code style="font-size: 1rem; color: white;">info()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the basic information about the player.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(dict)</code> - Player information in JSON format.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="chat_history">
                  <strong><code style="font-size: 1rem; color: white;">chat_history()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the player's chat history.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of chat messages sent by the player.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="name_changes">
                  <strong><code style="font-size: 1rem; color: white;">name_changes()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the history of the player's name changes.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of previous names.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="administered_penalties">
                  <strong><code style="font-size: 1rem; color: white;">administered_penalties()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the penalties administered to the player.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of administered penalties.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="received_penalties">
                  <strong><code style="font-size: 1rem; color: white;">received_penalties()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the penalties the player has received.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of received penalties.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="connection_history">
                  <strong><code style="font-size: 1rem; color: white;">connection_history()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the player's connection history to the server.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of connection events.</li>
                  </ul>
              </li>
              <li style="border-bottom: 1px solid #82C8F5; padding-bottom: 10px; margin-bottom: 10px;" id="permissions">
                  <strong><code style="font-size: 1rem; color: white;">permissions()</code></strong><br>
                  <span style="font-size: 1rem; font-weight: 500; color: white">Retrieves the permissions assigned to the player.</span>
                  <ul style="margin-top: 5px; padding-left: 1.2rem;">
                      <li><strong>Returns:</strong> <code>(list)</code> - A list of permissions.</li>
                  </ul>
              </li>
          </ul>
      </div>
  </div>
  <div style="padding-bottom: 2.5rem;"></div>
  <h1>Come Play on Brownies SND 🍰</h1>

  - **Stability:** Brownies delivers a consistent, lag-free experience, making it the perfect choice for players who demand uninterrupted action
  - **Community:** The players at Brownies are known for being helpful, competitive, and fun—something Orion can only dream of


pkgId: dae1ebec1496e40ad303f30b8fed8842184de9f1182643ab9b88dae16bb923de
name: python-iwutil
arch: noarch
version: 0.3.6
epoch: 0
release: 1
summary: Public utility functions for Ionworks code.
description: Public utility functions for Ionworks code
url: https://github.com/ionworks/iwutil
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-iwutil-0.3.6-1.src.rpm
location_href: Packages/python-iwutil-0.3.6-1.noarch.rpm
checksum_type: sha256
rpm_license:
  Copyright (c) 2024, Ionworks Technologies Inc. All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  - Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


pkgId: 9be818e576f56e1005e487e6957d7846c9c183867c52a079a39eb6ed0eae8e64
name: python-ixbrl-viewer-help
arch: noarch
version: 1.4.46
epoch: 0
release: 1
summary: Development documents and examples for ixbrl-viewer
url: https://arelle.org/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ixbrl-viewer-1.4.46-1.src.rpm
location_href: Packages/python-ixbrl-viewer-help-1.4.46-1.noarch.rpm
checksum_type: sha256
description:
  ![ixbrl-viewer](https://raw.githubusercontent.com/Arelle/ixbrl-viewer/master/examples/ixbrl-viewer-demo.gif)

  The [Arelle](https://arelle.org/) iXBRL Viewer allows [Inline XBRL](https://www.xbrl.org/ixbrl) (or iXBRL) reports to be
  viewed interactively in a web browser.  The viewer allows users to access the tagged XBRL data embedded in an iXBRL
  report.  Key features include:

  * Full text search on taxonomy labels and references
  * View full details of tagged facts
  * Export tables to Excel
  * Visualize and navigate calculation relationships
  * Produce on-the-fly graphs using XBRL data

  A sample viewer is provided in the [examples](https://github.com/Arelle/ixbrl-viewer/blob/master/examples/README.md) for those interested.

  The viewer project consists of two components:

  * A plugin for the [Arelle](https://www.arelle.org) XBRL tool
  * The Javascript viewer application

  In order to view an iXBRL report in the viewer, it must first be prepared using
  the Arelle plugin.  The preparation process updates the iXBRL file to include:

  1. A link to the JavaScript viewer
  2. A block of JSON data that contains the results of processing the XBRL data and associated taxonomy

  Once prepared, the resulting file provides an entirely standalone viewer, and
  does not require access to the taxonomy, or to any online services.  The only
  dependency is on the JavaScript viewer application, which is a single file
  which can be accessed directly online, downloaded or built locally.

  It is also possible to place the link to the viewer, and the block of JSON data
  in a separate file.  See Stub Viewer Mode below.

  The JavaScript viewer application is a single JavaScript file called ixbrlviewer.js. It
  contains all of the JavaScript that runs the viewer functionality.



  The Python portion of this repo is developed using Python 3.12.

  1. Clone the [iXBRL Viewer git repository][ixbrlviewer-github].
  2. Download and install [Arelle][arelle-download]





  The JavaScript file is available via a CDN. It can be accessed via the following url:

  ```text
  https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js
  ```

  Where `<version>` is the current version of ixbrl-viewer you are using. For instance [1.2.0][CDN].



  When a new version of ixbrl-viewer is released, the javascript is included as a
  release asset. The asset can be found on the releases [page][ixbrlviewer-github-releases] for each version of
  the ixbrl-viewer.



  1. Install npm. Instructions can be found here: <https://www.npmjs.com/get-npm>
  2. Install the dependencies for javascript by running: `npm install`.  This
     command must be run from within the `ixbrl-viewer directory` (i.e. the root
     of your checkout of the repository).
  3. Run `npm run font`. This will build the icon files.
  4. Run `npm run prod`. This will create the ixbrlviewer.js in the
     iXBRLViewerPlugin/viewer/dist directory.

  [ixbrlviewer-github]: https://github.com/Arelle/ixbrl-viewer
  [CDN]: https://cdn.jsdelivr.net/npm/ixbrl-viewer@1.2.0/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js
  [ixbrlviewer-github-releases]: https://github.com/Arelle/ixbrl-viewer/releases/tag/0.1.58
  [arelle-download]: http://arelle.org/pub



  The ixbrl-viewer plugin embeds processed XBRL metadata in the HTML that has a
  specific format read by the JavaScript. The metadata produced will work with a
  viewer application that has the same major version, and the same or later minor
  version as the plugin used to create it.

  This means that once an XBRL report has been prepared by the plugin, the
  associated JavaScript viewer application can be upgraded within the same major
  version.  Any features introduced in newer versions of the viewer that rely on
  additional metadata will degrade gracefully if that metadata is not present.





  1. Open Arelle and select **Manage Plugins** from the **Help** menu.
  2. Press **Browse** under "Find plug-in modules".
  3. Browse to the **iXBRLViewerPlugin** directory within your checkout of the iXBRL Viewer git repository and select
     the **\_\_init\_\_.py** file within it.
  4. Press **Close** and then **Yes** when prompted to restart Arelle.
  5. You should now have a **Save iXBRL Viewer instance** on the **Tools** menu.
  6. Open the ixbrl filing zip in Arelle
  7. Select **Save iXBRL Viewer instance** option on the **Tools** menu
  8. Provide a **script URL** to the **ixbrlviewer.js** file.

     This url can be one of the following:

     1. `https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js`
     2. A relative url to the downloaded ixviewer.js from github
     3. A relative url to the locally built ixviewer.js

  9. Save the viewer iXBRL file to a new file in the newly created directory by
     selecting **Browse**, browsing to the directory, and providing a file name.

  10. You should now be able to open the created file in Chrome, and the iXBRL viewer
      should load.



  To prepare an iXBRL document set, open the document set in Arelle.  The process
  is as for a single file, except that a directory should be selected as the
  output location, rather than a file.





  The plugin can also be used on the command line:

  ```shell
  python3 Arelle/arelleCmdLine.py --plugins=<path to iXBRLViewerPlugin> -f ixbrl-report.html --save-viewer ixbrl-report-viewer.html --viewer-url https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js
  ```

  Notes:

  * "Arelle/arelleCmdLine.py" should be the path to your installation of Arelle
  * The plugin path needs to an absolute file path to the ixbrl-viewer plugin
  * The viewer url can be one of the following:

    1. `https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js`
    2. A relative url to the downloaded ixviewer.js from github
    3. A relative url to the locally built ixviewer.js



  The iXBRL Viewer supports Inline XBRL document sets.  This requires the `inlineXbrlDocumentSet` plugin.
  The input is specified using JSON in the following form:

  ```json
  [
    {
      "ixds": [
        { "file": "file1.html" },
        { "file": "file2.html" },
      ]
    }
  ]
  ```

  The output must be specified as a directory.  For example:

  ```shell
  python3 Arelle/arelleCmdLine.py --plugins '/path/to/iXBRLViewerPlugin|inlineXbrlDocumentSet' -f '[{"ixds":[{"file":"document1.html"},{"file":"document2.html"}]}]'  --save-viewer out-dir --viewer-url https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js
  ```

  Notes:

  * The first file specified is the "primary" file, and should be opened in a
    browser to use the viewer.  The other files will be loaded in separate tabs
    within the viewer.
  * "Arelle/arelleCmdLine.py" should be the path to your installation of Arelle
  * The plugin path needs to an absolute file path to the ixbrl-viewer plugin
  * The viewer url can be one of the following:

    1. `https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js`
    2. A relative url to the downloaded ixviewer.js from github
    3. A relative url to the locally built ixviewer.js

  * Due to browser security restrictions, the resulting viewer cannot be loaded
    directly from `file:` URLs; it must be served by a web server.



  As an alternative to the standard Arelle command line, the
  `samples/build-viewer.py` script can also be used.  To use the script, both the
  Arelle source code and the iXBRLViewerPlugin must be on the Python path. e.g.:

  ```shell
  PYTHONPATH=/path/to/Arelle:/path/to/ixbrl-viewer ./samples/build-viewer.py --help
  ```

  A document set can be processed by passing a directory as input.  All `.html`
  and `.xhtml` in the directory will be combined into a document set.  The
  generated files will be saved into the directory specified by the `--out`
  option.

  Taxonomy packages can be specified using `--package-dir`.  All ZIP files in the
  specified directories will be loaded as taxonomy packages.

  e.g.

  ```shell
  PYTHONPATH=/path/to/Arelle:/path/to/ixbrl-viewer ./samples/build-viewer.py --out out-dir --package-dir /my/packages/ ixds-dir
  ```



  By default, the link to the JavaScript viewer and the JSON data block are added
  to the iXBRL report file (or to the first file, in the case of a document set).

  Stub viewer mode is an optional generation mode that creates an additional,
  minimal HTML file containing the JSON data block, and the link to the
  JavaScript viewer.  This mode has two advantages over the default approach of
  embedding the JSON data and JavaScript link in the iXBRL report:

  1. Provided that all facts and footnotes in the iXBRL report already have ID
     attributes, no modification of the iXBRL report is required.
  2. The iXBRL viewer loading mask will be displayed much more quickly.  This is
     helpful for very large iXBRL reports which can otherwise result in a long
     delay before there is any sign of the iXBRL Viewer loading.

  The downside of this mode is that due to browser security restrictions, the
  viewer cannot be loaded directly from files (using `file:` URLs); they must be
  served by a web server.



  Some features are disabled by default but can be enabled at generation time or with query parameters.

  To enable features:
  - Via CLI: `--viewer-feature-{feature name}`
  - Via query parameter:`?{feature name}=true`

  Features enabled by CLI/JSON can be disabled by query parameter via `?{feature name}=false`.
  Note that *any other value* besides "false" (case-sensitive) will *enable* the feature.
  This will override any enabling query parameters, so `?review=true&review=false&review=true` would result in the 'review' feature being disabled.

  This table uses the 'review' feature as an example to demonstrate how these options interact:

  | CLI/JSON | Query Param | Result     |
  |----------|-------------|------------|
  | `unset`  | `unset`     | `disabled` |
  | `unset`  | `true`      | `enabled`  |
  | `unset`  | `false`     | `disabled` |
  | `review` | `unset`     | `enabled`  |
  | `review` | `true`      | `enabled`  |
  | `review` | `false`     | `disabled` |


  ![ixbrl-viewer](https://raw.githubusercontent.com/Arelle/ixbrl-viewer/master/examples/review-mode.png)

  A review mode is available that is intended to assist in reviewing partially tagged or incomplete documents.
  This mode replaces the namespace-based highlighting with optional highlighting based on untagged numbers and/or dates.

  | CLI/JSON                  | Query Param    |
  |---------------------------|----------------|
  | `--viewer-feature-review` | `?review=true` |



  When launched, the viewer will check for the existence of
  `ixbrlviewer.config.json` in the same directory as `ixbrlviewer.js`.  If found,
  this will be loaded and used to configure the viewer.

  The file supports the following keys:

  * `features` - a JSON object containing defaults for features. These will be
  overridden by features defined at generation time, and then by query
  parameters, as defined above.

  * `skin` - a JSON object supporting the following keys:

      * `stylesheetUrl` - a URL to additional CSS definitions.
      * `faviconUrl` - a URL to an icon file to be used as the favicon for the viewer.
      * `footerLogoHtml` - a fragment of HTML that will be included in place of the standard footer logo.

  * `taxonomyNames` - a JSON object where:

      * Keys are strings that will be treated as a regular expression to match
        against a namespace.
      * Values are an array of (prefix, name) where "prefix" is the preferred
        namespace prefix for the namespace, and "name" is a short descriptive
        name for the taxonomy.

  Relative URLs defined in the config file are resolved relative to the config file.



  Loading of the viewer can be disabled by specifying `?disable-viewer` as a
  query parameter.  This will leave the iXBRL document loaded in the browser, but
  without any viewer functionality.  In the case of an iXBRL document set, or
  multi-document viewer, the first document will be shown.





  In order to run the javascript unit tests make sure that you have installed all of the npm requirements.

  Run the following command to run javascript unit tests: `npm run test`

  In order to run the python unit tests make sure that you have pip installed requirements-dev.txt.

  Run the following command to run python unit tests: `pytest tests/unit_tests`



  All commands should be run from repository root

  1. Install the npm requirements(instructions under [Building the javascript locally](#building-the-javascript-locally)).
  2. Install Arelle

      ```shell
      pip install .[arelle]
      ```

  3. [Terminal 1] Start the puppeteer serve

      ```shell
      npm run puppeteerServe
      ```

      * This command generates the `ixbrlviewer.js`, uses Arelle to generate several test files, then serves the files via a nodejs http-server.
      * Currently changes to application code require restarting this step to take effect.
  4. Start the puppeteer tests
      * [Terminal 2]:

         ```shell
         npm run test:puppeteer
         ```

      * IDE:
        * Many of the IDE's on the market can run tests via the UI.  The following is an example configuration for intellij.  Once set you can right-click on the test name or file and select the run option.
        ![ixbrl-viewer](https://raw.githubusercontent.com/Arelle/ixbrl-viewer/master/tests/puppeteer/puppeteer_test_run_via_intellij.jpg)
        * Debug runs with breakpoints are also typically supported.


pkgId: 7fe4177469d57126a8ebe12ba901178f9f50557e212521174781e0a806eb9914
name: python-ixmp4-help
arch: noarch
version: 0.9.8
epoch: 0
release: 1
summary: Development documents and examples for ixmp4
url: https://software.ece.iiasa.ac.at
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ixmp4-0.9.8-1.src.rpm
location_href: Packages/python-ixmp4-help-0.9.8-1.noarch.rpm
checksum_type: sha256
description:
  Copyright (c) 2023-2024 IIASA - Energy, Climate, and Environment Program (ECE)

  [![license: MIT](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/iiasa/ixmp4/blob/main/LICENSE)
  [![python](https://img.shields.io/badge/python-3.10_|_3.11_|_3.12_|_3.13-blue?logo=python&logoColor=white)](https://github.com/iiasa/ixmp4)
  [![Code style: ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)



  The **ixmp4** package is a data warehouse for high-powered scenario analysis
  in the domain of integrated assessment of climate change and energy systems modeling.



  The **ixmp4** package is released under
  the [MIT license](https://github.com/iiasa/ixmp4/blob/main/LICENSE).



  You can install ixmp4 using pip:

  ```console
  pip install ixmp4
  ```



  For installing the latest version directly from GitHub do the following.



  This project requires Python 3.10 (or higher) and poetry (>= 1.2).



  ```bash

  curl -sSL https://install.python-poetry.org | python -


  source ~/.bashrc


  poetry config virtualenvs.in-project true


  poetry self add "poetry-dynamic-versioning[plugin]"



  poetry install --with dev,docs,server


  poetry shell


  cp template.env .env


  ixmp4 platforms add test


  ixmp4 server start
  ```



  ```bash
  ixmp4 --help
  ```



  Read [doc/README.md](doc/README.md) to build and serve the documentation locally.



  Check [docker/README.md](docker/README.md) to build and publish docker images.



  See [DEVELOPING.md](DEVELOPING.md) for guidance. When contributing to this project via
  a Pull Request, add your name to the "authors" section in the `pyproject.toml` file.



  This project mainly targets postgres version 16 but we test version 15 continously also. Tests with pyarrow installed alongside are also run due to its effect on pandas etc.
  | python | postgres | with pyarrow |
  |--------|----------|--------------|
  | 3.10 | 16 | false |
  | 3.11 | 16 | false |
  | 3.12 | 16 | false |
  | 3.12 | 16 | true |
  | 3.12 | 15 | false |



  <img src="./doc/source/_static/ECEMF-logo.png" width="264" height="100"
  alt="ECEMF logo" />
  <img src="./doc/source/_static/openENTRANCE-logo.png" width="187" height="120"
  alt="openENTRANCE logo" />
  <img src="./doc/source/_static/ariadne-bmbf-logo.png" width="353" height="100"
  alt="Kopernikus project ARIADNE logo" />

  The development of the **ixmp4** package was funded from the EU Horizon 2020 projects
  [openENTRANCE](https://openentrance.eu) and [ECEMF](https://ecemf.eu)
  as well as the BMBF Kopernikus project [ARIADNE](https://ariadneprojekt.de)
  (FKZ 03SFK5A by the German Federal Ministry of Education and Research).

  <img src="./doc/source/_static/EU-logo-300x201.jpg" width="80" height="54" align="left"
  alt="EU logo" /> This project has received funding from the European Union’s Horizon
  2020 research and innovation programme under grant agreement No. 835896 and 101022622.


pkgId: 2a2edb1594dfef2d4a3d052063b5c01a2766344f51edcf98ffa05c8f3d2ed645
name: python-jacksung-help
arch: noarch
version: 0.0.2.130
epoch: 0
release: 1
summary: Development documents and examples for jacksung
url: https://pypi.org/project/jacksung/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jacksung-0.0.2.130-1.src.rpm
location_href: Packages/python-jacksung-help-0.0.2.130-1.noarch.rpm
checksum_type: sha256
description:
  Python version is required above 3.9.

  Recommend version: python 3.11.

  Create env by conda:
  ```conda create -n jacksung python=3.11```


  ```pip install jacksung```

  1 [download chromedriver](https://googlechromelabs.github.io/chrome-for-testing/)
      windows:chromedriver.exe
      linux:chromedriver

  p.s. chrome should be installed first,
  [see how to install Chrome](https://www.google.com/chrome/)

  2 make the directory 'chrome' in the home path

  3 put the driver file, and make a new directory 'tmp' in the 'chrome' directory (i.e., ~/chrome/chromedriver.exe and ~/chrome/tmp). The structure of directory:
  ```
  --Home directory
  --|--chrome
  --|--|--chromedriver.exe
  --|--|--tmp
  ```

  4 run cmd
  ```ecnu_login -u 璐﹀彿 -p 瀵嗙爜```
  Or
  set the username and password in ~/.ecnu_login
  ```
  u: 璐︽埛
  p: 瀵嗙爜
  ```
  and then run cmd ```ecnu_login```
  Or using python code:
  ```
  from jacksung.utils.login import ecnu_login

  login = ecnu_login(driver_path='chromedriver_path', tmp_path='tmp_path')
  login.get_drive()

  login.login_check('username', 'password')
  login.login('username', 'password')
  login.logout()
  ```



  ```
  from jacksung.utils.log import oprint as print

  print('this is a log')
  ```

  ```

  log_class = LogClass(url='https://www.example.com?log&api-key=123')
  log_class.send_log('35.8', 'PSNR')
  log_class.send_log('35.8', 'PSNR')
  time.sleep(10)
  ```


  ```
  from jacksung.utils.log import StdLog
  import sys


  if __name__ == '__main__':
      sys.stdout = StdLog(filename='log.txt', common_path='warning.txt')
      print(f'[TemporaryTag]Only in terminal', end='[TemporaryTag]\n')
      print(f'[Warning]In warning.txt and terminal', end='[Warning]\n')
      print(f'[Error]In warning.txt and terminal', end='[Error]\n')
      print(f'[Common]Common in warning.txt and terminal', end='[Common]\n')
      print(f'[OnlyFile]OnlyFile in warning.txt and terminal', end='[OnlyFile]\n')
      print(f'In log.txt and terminal')
  ```

  ```
  from jacksung.utils.multi_task import MultiTasks
  import time

  def worker(idx):
      print(idx)
      time.sleep(2)
      return idx

  mt = MultiTasks(3)
  for idx in range(10):
      mt.add_task(idx, worker, (idx))
  results = mt.execute_task()
  ```

  ```
  import jacksung.utils.fastnumpy as fnp


  fnp.load('xx.npy')
  ```


  ```
  from jacksung.utils.base_db import BaseDB, convert_str
  class DB:
      def __init__(self, ini_path='../db.ini'):
          self.bd = BaseDB(ini_path)
      
      def insert_record(self, year, month, day):
          sql = rf"INSERT INTO `data_record` (`year`,`month`,`day`) VALUES ({year},{month},{day});"
          self.bd.execute(sql)

      def select_record(self, year, month, day):
          sql = rf"select count(1) from data_record where year={year} and month={month} and day={day};"
          result, cursor = self.bd.execute(sql)
          return cursor.fetchone()[0]
  ```
  db.ini is the form  as follows:
  ```
  [database]
  host = 127.0.0.1
  user = root
  password = root
  database = XXXX
  ```

  ```watch_gpu```
  or set the command line to the bash file
  ```alias watch-gpu='watch -n 1 -d watch_gpu'```



  ```
  from jacksung.utils.time import RemainTime
  import time

  epochs=100
  rt = RemainTime(epochs)
  for i in range(epochs):
      rt.update()
      time.sleep(2)
  ```

  pinch(): return the seconds from the last stopwatch reset.

  reset(): return the seconds from the last stopwatch reset and reset the stopwatch.
  ```
  from jacksung.utils.time import Stopwatch
  import time

  sw = Stopwatch()
  time.sleep(1)
  print(sw.pinch())
  time.sleep(1)
  print(sw.reset())
  time.sleep(1)
  print(sw.pinch())
  ```



  convert .nc to numpy, convert numpy to tif (with or without geocoordinate)

  ```
  from jacksung.utils.data_convert import nc2np, np2tif
  import numpy as np

  nc_t, dim = nc2np(r'C:\Users\ECNU\Desktop\upper.nc')







  np2tif(nc_t, 'constant_masks/upper', dim_value=dim)

  np2tif('constant_masks/land_mask.npy', save_path='constant_masks', out_name='land_mask', left=0, top=90, x_res=0.25,
         y_res=0.25, dtype=np.float32, dim_value=dim)
  ```



  Please refer to how to upload a dependence
  ```
  python setup.py sdist bdist_wheel
  twine upload dist/*
  ```
  The repo is built by jacksung, contact me by jacksung1995@gmail.com


pkgId: 90d44a0194524751473c821720ea9c54ef1f29928b2212cdd1da07963adfcd31
name: python-jaf-help
arch: noarch
version: 0.1.0
epoch: 0
release: 1
summary: Development documents and examples for jaf
url: https://github.com/queelius/jaf
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jaf-0.1.0-1.src.rpm
location_href: Packages/python-jaf-help-0.1.0-1.noarch.rpm
checksum_type: sha256
description:
  `jaf` is a versatile filtering system designed to sift through JSON arrays.
  It allows users to filter JSON arrays based on complex conditions using a
  simple and intuitive query language. The query language is designed to be
  easy to use and understand, while still being powerful enough to handle
  complex filtering tasks.



  We refer to the available operators as `builtins`. These are the functions that
  are available to the user to use in their queries. The `builtins` are functions
  that are used to compare values, perform operations, or combine other functions
  to create complex queries. The `builtins` are the core of the filtering system
  and are used to create queries that can filter JSON arrays based on the
  specified conditions.

  Predicates conanically end with a `?`, e.g., `eq?` (eauals) and `lt?` (less-than).
  General operators do not canocially end with a `?`, e.g., `lower-case` and `or`.
  The predicates are used to compare values, while the operators are used to combine
  predicates or perform other operations that make the desired comparison possible
  or the desired result achievable.

  > *Note*: We do not use operators like `==` or `>`, but instead use `eq?` and
  > `gt?`. The primary reason for this choice is that we provide a command-line
  > tool, and if we used `>` it would be interpreted as a redirection operator
  > by the shell.

  For example, the `lower-case` operator is used to convert a string to lowercase before
  comparison, so that the comparison is case-insensitive. Here is an example
  query that uses the `lower-case` operator:

  ```python
  ['and', ['lower-case', ['path', 'language']], ['eq?', 'python']]
  ```

  This query will filter repositories where the `language` field is equal to
  `"python"`, regardless of the case of the letters.

  > *Note*: Depending on the `builtins`, the query language can be Turing complete.
  > e.g., it would be trivial to add a `lambda` builtin that allows users to define
  > their own functions. However, this is not a safe practice, as it would allow
  > users to execute arbitrary code. Therefore, we have chosen to limit the default
  > `builtins` to a safe set of functions that are useful for filtering JSON arrays.
  > If you need additional functionality, you can always extend or provide your own
  > set of `builtins` to include the functions you need. As a limiting case, a
  > `lambda` builtin could be added to the `builtins` to allow users to define their
  > own functions.



  Queries are represented using an Abstract Syntax Tree (AST) based on nested
  lists, where each list takes the form of `[<expressio>, <arg1>, <arg2>,...]`.

  We also provide a Domain-Specific Language (DSL) that allows users to craft
  queries using an intuitive infix notation. The DSL is converted into the AST
  before being evaluated. Here is the EBNF for the query language:

  ```ebnf
  %import common.WS
  %import common.ESCAPED_STRING
  %import common.SIGNED_NUMBER
  %ignore WS

  start: expr

  expr: bool_expr

  ?bool_expr: or_expr

  ?or_expr: and_expr
          | or_expr OR and_expr -> or_operation

  ?and_expr: primary
          | and_expr AND primary -> and_operation

  ?primary: operand
         | "(" bool_expr ")"

  ?operand: condition
         | function_call
         | path
         | bare_path
         | value

  condition: operand operator operand

  operator: IDENTIFIER

  function_call: "(" IDENTIFIER operand+ ")"

  path: ":" path_component ("." path_component)*

  bare_path: path_component ("." path_component)*

  path_component: IDENTIFIER
               | STAR
               | DOUBLESTAR

  STAR: "*"
  DOUBLESTAR: "**"

  value: ESCAPED_STRING
       | NUMBER
       | BOOLEAN

  BOOLEAN: "True" | "False"
  NUMBER: SIGNED_NUMBER

  IDENTIFIER: /[a-zA-Z][a-zA-Z0-9_\-\?]*/

  OR: "OR"
  AND: "AND"
  ```

  For example, consider the following query AST:

  ```python
  ['and',
      ['eq?', ['lower-case', ['path', 'language']], 'python'],
      ['gt?', ['path', 'stars'], 100],
      ['eq?', ['path','owner.name'], ['path': 'user.name']]]
  ```

  It has an equivalent DSL given by:

  ```text
  (lower-case :language) eq? "python" AND :stars gt? 100 AND :owner.name eq? :user.name
  ```

  We see that we have a special notation for `path` commands: we prefix the field
  name with a colon: `:`, such as `:language` and `:owner.name`. This is to distinguish
  field names from other strings in the query. The `path`command is used to
  access the value of a field in the JSON array. For example, `:owner.name` will
  access the value of the `name` field in the `owner` object where as `owner.name`
  will be interpreted as a string.

  Paths can also include two kinds of wildcards, `*` and `**`. The wildcard `*`
  matches any fieldname, e.g., `a.*.b.c` will match `a.d.b.c.a` (it will return `{'c': 'a'}`.
  The wildcard `**` will match any fieldname at any depth after the specified path,
  e.g., `a.**.c` will match `a.b.c.a` (it will also return `{'c': 'a'}`. You can use
  as many wildcards as you wish in a single query. If *any* of the objects denoted by
  a wildcard path satisfy the query, the object satisfies the query.

  The DSL is converted into the AST (see the above EBNF) before being evaluated.
  This query AST is evaluated against each element of the JSON array, and if it
  returns `True`, the corresponding index into the JSON array for that element is
  added to the result. This is how we filter the JSON array. Alternatively, since
  queries can also specify general functions, the result may be a value rather
  than a Boolean, e.g., `['lower-case', 'Python']` will return `'python`.



  Both have their own advantages and can be used interchangeably based on the
  user's preference. The AST is:

  - programmatic
  - easily manipulated
  - can be generated from a DSL
  - easily serialized for storage or transmission
  - allows for operators to be queries, facilitating some meta-programming

  The DSL is:

  - More human-readable, e.g. infix notation for logical operators
  - Easier to write and understand
  - Compact



  You can install `jaf` via PyPI:

  ```bash
  pip install `jaf`
  ```

  Or install directly from the source:

  ```bash
  git clone https://github.com/queelius/jaf.git
  cd jaf
  pip install .
  ```



  Suppose we have a list of repositories in the following format:

  ```python
  repos = [
      {
          'id': 1,
          'name': 'DataScienceRepo',
          'language': 'Python',
          'stars': 150,
          'forks': 30,
          'description': 'A repository for data science projects.',
          'owner': {
              'name': 'alice',
              'active': True
          }
      },
      
  ]
  ```



  Filter repositories where the lower-case of `language` is `"python"`,
  `owner.active` is `True`, and `stars` are greater than `100`:

  ```python
  query = ['and',
      ['eq?',
          ['lower-case', ['path', 'language'], 'Python']],
          ['path', 'owner.active'],
          ['gt?', ['path', 'stars'], 100]]

  filtered = jaf(sample_repos, query_ast)
  print("Filtered Repositories:")
  pprint(filtered)

  ```



  The equivalent query using the DSL:

  ```python
  query = '(lower-case :language) eq? "python" AND :owner.active AND :stars gt? 100'
  filtered = jaf(repos, query)
  print("Filtered Repositories:")
  print(filtered)

  ```



  Combine multiple conditions with logical operators.

  ```python
  query = ':language neq? "R" AND (:stars gt? 100 OR :forks gt? 50)'
  filtered = jaf(repos, query)
  print("Filtered Repositories:")
  ```



  Catch and handle filtering errors gracefully.

  ```python
  try:
      invalid_query = 'language unknown "Python"'
      jaf(repos, invalid_query)
  except FilterError as e:
      print(f"Error: {e}")
  ```



  Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.



  This project is licensed under the MIT License. See the `LICENSE` file for details.


pkgId: 3d0ea7b9123ce227b129c5f2f721899b6ad9ebdcf9c749460941337f93086f75
name: python-jahia-pylastic-help
arch: noarch
version: 0.0.9
epoch: 0
release: 1
summary: Development documents and examples for jahia-pylastic
url: https://github.com/jahia/pylastic
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jahia-pylastic-0.0.9-1.src.rpm
location_href: Packages/python-jahia-pylastic-help-0.0.9-1.noarch.rpm
checksum_type: sha256
description:
  *Jelastic* combined with *Python*, here is **Pylastic** !

  Pylastic provides many functions to interact with Jelastic API.

  Arguments needed for initialization:

  * hostame (Jelastic cluster endpoint)
  * login
  * password

  To upgrade Pylastic, here is the official documentation: https://packaging.python.org/tutorials/packaging-projects/


pkgId: 7c0a52ad64cbb68c43721b48554f89c97deb527977808a032f389ae4355f65c6
name: python-jammy-help
arch: noarch
version: 0.1.44
epoch: 0
release: 1
summary: Development documents and examples for jammy
url: https://pypi.org/project/jammy/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jammy-0.1.44-1.src.rpm
location_href: Packages/python-jammy-help-0.1.44-1.noarch.rpm
checksum_type: sha256
description:
  <h1 align="center"> Jammy (Jam) </h1>

  <p align="center">
    <a href="https://pypi.org/project/jammy/">
      <img src="https://img.shields.io/pypi/v/jammy?style=for-the-badge" alt="PyPI" />
    </a>
    <a href="#">
      <img src="https://img.shields.io/pypi/l/jammy?style=for-the-badge" alt="PyPI - License" />
    </a>
    <a href="https://github.com/qsh-zh/jam">
      <img src="https://img.shields.io/badge/-github-grey?style=for-the-badge&logo=github" alt="GitHub code" />
    </a>
    <a href="https://gitlab.com/qsh.zh/jam">
      <img src="https://img.shields.io/badge/-gitlab-grey?style=for-the-badge&logo=gitlab" alt="GitLab code" />
    </a>
    <a href="https://jammy.readthedocs.io/en/stable/index.html">
      <img src="https://img.shields.io/readthedocs/jammy?style=for-the-badge" alt="Read the Docs" />
    </a>
    <a href="#">
      <img src="https://img.shields.io/pypi/pyversions/jammy?style=for-the-badge" alt="PyPI - Python Version" />
    </a>
    <a href="https://github.com/psf/black">
      <img src="https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge" alt="Code style: black" />
    </a>
    <p align="center">
      <i>A personal toolbox by <a href="https://qsh-zh.github.io/">Qsh.zh</a>.</i>
    </p>
  </p>





  * For core package, run `pip install jammy`
  * To access functions in `bin`
  ```shell
  git clone https://gitlab.com/qsh.zh/jam.git --recursive
  export PATH=<path_to_jam>/bin:$PATH

  jam-run main.py
  jam-crun 1 main.py # use second nvidia gpu
  ```



  ```python
  import jammy.io as jio
  from jamtorch.utils import as_numpy
  jio.dump("ndarray.npz", np.arange(10))
  jio.dump("foo.pkl", {"foo": as_numpy(torch.arange(10).cuda())})
  ndarray = jio.load("ndarray.npz")
  jio.load("foo.pkl")
  model_dict = jio.load("checkpoint.pth")
  ```
  ```shell
  $ jinspect-file foo.pkl
  > python3
  [ins] print(f1)


  ```



  * [A DDP pytorch training framework](https://jammy.readthedocs.io/en/stable/jamtorch.ddp.html)
  * [Registry](https://jammy.readthedocs.io/en/stable/jammy.utils.html?highlight=registry#jammy.utils.registry.CallbackRegistry)
  * TODO


  * The naming is inspired from [Jyutping](https://en.wikipedia.org/wiki/Jyutping) of [Qin](https://en.wiktionary.org/wiki/%E6%AC%BD).



  * The package and framework are inspired from [Jacinle](https://github.com/vacancy/Jacinle) by [vacancy](https://github.com/vacancy), from which I learn and take utility functions shamelessly.


pkgId: 1ce16dfdd6ca42df06b4725ab0560d25028ae8781023e0e87c79ad4dcb35cf74
name: python-janito-help
arch: noarch
version: 0.7.0
epoch: 0
release: 1
summary: Development documents and examples for janito
url: https://github.com/joaompinto/janito
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-janito-0.7.0-1.src.rpm
location_href: Packages/python-janito-help-0.7.0-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/janito.svg)](https://badge.fury.io/py/janito)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  AI-powered CLI tool for code modifications and analysis. Janito helps you modify, analyze, and understand your codebase using natural language commands.



  - [Features](#features)
  - [Installation](#installation)
  - [Usage](#usage)
    - [Basic Commands](#basic-commands)
    - [Examples](#examples)
  - [Configuration](#configuration)
  - [Development](#development)
  - [License](#license)



  - 🤖 AI-powered code analysis and modifications
  - 🔄 Incremental code changes with search/replace operations
  - 🎯 Precise text modifications with context matching
  - 💬 Natural language interface for code operations
  - 🔍 Interactive code exploration
  - 📝 Automatic documentation generation
  - ⚡ Fast and efficient codebase navigation
  - 💾 Smart Claude AI prompt caching for faster responses





  - Python 3.8 or higher
  - Anthropic API key (with smart caching to reduce API costs)



  ```bash
  pip install janito
  ```



  ```bash
  export ANTHROPIC_API_KEY=your_api_key_here
  ```





  Janito supports incremental code changes through precise text operations:
  - Search and replace with context matching
  - Delete specific code blocks
  - File operations (create, replace, rename, move, remove)

  ```bash

  janito


  janito "add docstrings to this file"


  janito --ask "explain the main function in this file"


  janito --scan
  ```



  1. Add documentation to a file:
  ```bash
  janito "add docstrings to all functions in src/main.py"
  ```

  2. Analyze code structure:
  ```bash
  janito --ask "what are the main classes in this project?"
  ```

  3. Refactor code:
  ```bash
  janito "convert this function to use async/await"
  ```

  4. Generate tests:
  ```bash
  janito "create unit tests for the User class"
  ```





  - `ANTHROPIC_API_KEY`: Anthropic API key for Claude AI
  - `JANITO_TEST_CMD`: Default test command to run after changes



  - `-w, --workspace_dir`: Set working directory
  - `-i, --include`: Additional paths to include
  - `--debug`: Show debug information
  - `--verbose`: Show verbose output
  - `--auto-apply`: Apply changes without confirmation





  ```bash

  git clone https://github.com/joaompinto/janito.git
  cd janito


  python -m venv venv
  source venv/bin/activate  # On Windows: venv\Scripts\activate


  pip install -e ".[dev]"
  ```



  ```bash
  pytest
  ```



  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request



  MIT License - see [LICENSE](LICENSE)


pkgId: 5f06c8c91a2fef869b31156038dcaac420654d2fd93366769e8b98dd60ce7dca
name: python-jao-py-help
arch: noarch
version: 0.5.2
epoch: 0
release: 1
summary: Development documents and examples for jao-py
url: https://github.com/fboerman/jao-py
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jao-py-0.5.2-1.src.rpm
location_href: Packages/python-jao-py-help-0.5.2-1.noarch.rpm
checksum_type: sha256
description:
  ![tests](https://github.com/fboerman/jao-py/actions/workflows/run-tests.yml/badge.svg)

  Python client for the various endpoints offered by jao.eu, the Joint Allocation Office.
  "Europe's single leading trading platform( e-CAT) for cross-border transmission capacity"

  More information about JAO can be found on their website https://jao.eu/

  jao.eu has various ways of retrieving data. This package tries to offer useful functions to handle them.
  This package is not exhaustive, more methods are added when the authors needs them.
  If you want to see other methods added please either open a feature request issue to give others ideas or
  supply a pull request yourself.



  `python3 -m pip install jao-py`



  The package comes with the current pandas clients:
  - [`JaoAPIClient`](#JaoAPIClient): api client for the webservice API defined [here](https://www.jao.eu/page-api/market-data)
  - [`JaoPublicationToolClient`](#JaoPublicationToolClient): client for the CORE Day Ahead publication tool defined [here](https://publicationtool.jao.eu/core/)
  - [`JaoPublicationToolPandasIntraDay`](#JaoPublicationToolPandasIntraDay): client for CORE Intradaypublication tool for Intraday defined [here](https://publicationtool.jao.eu/coreID/)
  The publication tool clients have valid data from their respective go lives:
  - CORE Day Ahead: business day 2022-06-09 onwards
  - CORE Intraday(b): business day 2024-05-29 onwards
  - CORE Intraday(a): business day 2024-06-14 onwards

  CORE Intraday a and b are combined in the same intraday client. In the initialization of the client you can choose which one you want like so:
  ```python
  from jao import JaoPublicationToolPandasIntraDay

  client = JaoPublicationToolPandasIntraDay(version='a') # IDCC(a)
  client = JaoPublicationToolPandasIntraDay(version='b') # IDCC(b)
  ```


  The package also includes legacy clients for flowbased CWE data in the CWE subpackage. These return data up until business day 2022-06-08
  - [`JaoUtilityToolASMXClient`](#JaoUtilityToolASMXClient): a very light wrapper around the ASMX Web Service API implemented as a passthrough to the suds-community pakcage
  - [`JaoUtilityToolCSVClient`](#JaoUtilityToolCSVClient): client to download csv data inm the same way as the utility tool excel file, returns pandas dataframes
  - [`JaoUtilityToolXmlClient`](#JaoUtilityToolXmlClient): downloads xml data of the utilitytool, this requires solving a captcha by the user, returns pandas dataframes

  To use these deprecated clients be sure to install the following additional dependencies:
  ```
  suds-community
  lxml
  pillow
  ```
  this is only required for the CWE deprecated subpackage


pkgId: 49f61bf5abb436ad1f0cf65b02283e7eca36b93e55d1b170da944623363a6fae
name: python-japanese-vocabulary-extractor-help
arch: noarch
version: 1.4.3
epoch: 0
release: 1
summary: Development documents and examples for japanese-vocabulary-extractor
url: https://github.com/Fluttrr/japanese-vocabulary-extractor
rpm_license: GLPv3
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-japanese-vocabulary-extractor-1.4.3-1.src.rpm
location_href: Packages/python-japanese-vocabulary-extractor-help-1.4.3-1.noarch.rpm
checksum_type: sha256
description:
  This script allows you to automatically scan through various types of japanese media and generate a CSV with all contained words for studying. Currently supported formats are:

  * Manga (as images)
  * Subtitles (ASS/SRT files) from anime, shows or movies
  * PDF and EPUB files
  * Text (txt) files

  It allows you to automatically add the english definitions of each word to the CSV, as well as furigana if desired. It also allows creating individual CSVs for each file/volume and creates another large CSV with all vocab divided by file/volume (useful for Bunpro Units).

  The resulting CSV can be imported to Anki or Bunpro.

  *You may of course **share/upload** any lists created with this tool, but please leave a link to this repository whenever you do so other people can use it as well!*



  You need to have Python installed on your computer. I recommend using Python 3.12 (Make sure to tick the "Add Python to PATH" checkbox during the installation).
  I encountered errors during the installation on Windows with Python 3.13 so in that case, try Python 3.12.

  To install the Japanese Vocabulary Extractor, follow these steps:

  1. Open a terminal or command prompt on your computer.
  2. Type the following command and press Enter:
      ```
      pip install japanese-vocabulary-extractor
      ```

  This will download and install the necessary files for the tool to work.



  To update, run the following command:
      ```
      pip install --upgrade japanese-vocabulary-extractor
      ```



  To use the Japanese Vocabulary Extractor, follow these steps:

  1. Open a terminal or command prompt on your computer.
  2. Type the following command and press Enter:
      ```
      jpvocab-extractor --type TYPE input_path
      ```

  Replace `TYPE` with the type of media you are scanning: 'manga', 'subtitle', 'pdf', 'epub', 'txt' or 'generic'.

  Replace `input_path`:
  - For manga, provide a folder containing the images.
  - For other types, provide the file or a folder with multiple files. Use quotation marks if the path has spaces.

  This will create a `vocab_all.csv` file with all the words found.



  You can add options to the command to change its behavior. For example:
  To add English definitions to the CSV, include the `--add-english` option:
  ```
  jpvocab-extractor --add-english --type TYPE input_path
  ```

  Here is a list of all options:
  * `--add-english`: Looks up and adds the English translation of each word to the CSV file.
  * `--furigana`: Add furigana to all words in the CSV file. Note that this is quite primitive, it just adds the reading of the whole word in hiragana in brackets.
  * `--id`: Replaces each word with its JMDict ID in the CSV file. Incompatible with the `--furigana` flag.
  * `--separate`: Each volume/file will be saved to a separate CSV file. This also creates one big combined `vocab_combined.csv` file with all vocab for each file/chapter in its own section, with duplicates removed. Make sure the folders are alphabetically sorted for a correct section order! Requires `--parent` for manga.
  * `--freq-order`: Vocab will not be stored in order of appearance but in order of frequency in the given source material.

  There is one option only used for manga:
  * `--parent`: Only relevant if processing a manga: provided folder contains multiple volumes. Each folder will be treated as its own volume.



  This command for manga will work best for Bunpro:

  ```
  jpvocab-extractor --parent --separate --id --type manga input_path
  ```

  `--parent` marks that the folder contains other folders containing volumes.
  `--separate` creates a separate CSV file for each volume, and then combines them into a neat sectioned combined CSV file. This basically automatically creates Units in Bunpro for each volume.
  `--id` replaces each word with its JMDict ID, making importing much more consistent.

  For general creation of decks for media other than manga, you would only add the `--separate` and `--id` flag:

  ```
  jpvocab-extractor --separate --id --type TYPE input_path
  ```

  This will separate all vocab into sections for each file within the CSV. If you do not have multiple files or the need for sections in your deck, leave out `--separate`.



  Bonus: Using this script with manga will also generate `.mokuro` and `.html` files for each volume, allowing you to read the manga with selectable text in your browser. For more details, visit the mokuro GitHub page linked at the bottom.




  If you run into errors, look into the mokuro repository linked at the bottom. There might be some issues with python version compatibility.

  Also important: This script is not perfect. The text recognition can make mistakes and some of the extracted vocab can be wrong. If this proves to be a big issue I will look for a different method to parse vocabulary from the text. Do not be alarmed by the warning about words with no definition, these are likely names, hallucinations/mistakes by the OCR algorithm or chinese symbols (sometimes found in subtitles).




  * Better furigana (after each kanji instead of just the whole word)
  * More advanced dictionary lookup functionality
  * Support more input formats (Games, VNs, Audio files?) Please suggest any you might want, even the ones listed already!
  * Support other output formats
  * Improve dictionary result accuracy to include one-character-kana words when translating to english (currently filtered out due to mostly useless answers)




  This is hardly my work, I just stringed together some amazing libraries:

  * mokuro, to extract lines of text from manga - https://github.com/kha-white/mokuro
  * mecab-python3, to tokenize japanese text and extract the dictionary forms - https://github.com/SamuraiT/mecab-python3
  * unidic_lite, for data necessary for mecab to work - https://github.com/polm/unidic-lite
  * jamdict and jmdict, for the dictionary data - https://github.com/neocl/jamdict, https://www.edrdg.org/jmdict/j_jmdict.html



  If you find this program helpful and would like to support what I'm doing, feel free to buy me a coffee (or tea, i prefer tea...) on kofi! https://ko-fi.com/fluttr


pkgId: 2e8be303be984417b7e72c4284cf50f9b42fb22bf71eb51511672dc599ab8602
name: python-jaqpot-api-client-help
arch: noarch
version: 6.38.1
epoch: 0
release: 1
summary: Development documents and examples for jaqpot-api-client
url: https://pypi.org/project/jaqpot-api-client/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jaqpot-api-client-6.38.1-1.src.rpm
location_href: Packages/python-jaqpot-api-client-help-6.38.1-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI - Version](https://img.shields.io/pypi/v/jaqpot-api-client.svg)](https://pypi.org/project/jaqpot-api-client)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/jaqpot-api-client.svg)](https://pypi.org/project/jaqpot-api-client)

  Contains an openapi generated client for the Jaqpot API in python



  - [Installation](#installation)
  - [License](#license)



  ```console
  pip install jaqpot-api-client
  ```



  `jaqpot-api-client` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.


pkgId: d764d6354edea5bc1da16be76a9f976a5e924b50a4f727c4636199a089e65f44
name: python-jaqpotpy-help
arch: noarch
version: 6.19.2
epoch: 0
release: 1
summary: Development documents and examples for jaqpotpy
url: https://github.com/ntua-unit-of-control-and-informatics/jaqpotpy
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jaqpotpy-6.19.2-1.src.rpm
location_href: Packages/python-jaqpotpy-help-6.19.2-1.noarch.rpm
checksum_type: sha256
description:
  [![Build and test](https://github.com/ntua-unit-of-control-and-informatics/jaqpotpy/actions/workflows/build.yml/badge.svg)](https://github.com/ntua-unit-of-control-and-informatics/jaqpotpy/actions/workflows/build.yml) [![Publish to PyPI 📦](https://github.com/ntua-unit-of-control-and-informatics/jaqpotpy/actions/workflows/pipy_release.yml/badge.svg)](https://github.com/ntua-unit-of-control-and-informatics/jaqpotpy/actions/workflows/pipy_release.yml)



  The jaqpotpy library enables you to upload and deploy machine learning models to the Jaqpot platform. Once uploaded, you can manage, document, and share your models via the Jaqpot user interface at **https://app.jaqpot.org**. You can also make predictions online or programmatically using the [Jaqpot API](https://api.jaqpot.org).





  - Python 3.10
  - An account on **https://app.jaqpot.org**



  Install jaqpotpy using pip:

  ```bash
  pip install jaqpotpy
  ```



  Follow these steps to train and deploy your model on Jaqpot:

  	1. Train your model using pandas DataFrame as input.
  	2. Deploy the trained model using the deploy_on_jaqpot function.



  ```python
  import pandas as pd
  import numpy as np
  from sklearn.ensemble import RandomForestRegressor
  from jaqpotpy import Jaqpot
  from jaqpotpy.datasets import JaqpotpyDataset
  from jaqpotpy.models import SklearnModel


  np.random.seed(42)
  X1 = np.random.rand(100)
  X2 = np.random.rand(100)
  ACTIVITY = 2 * X1 + 3 * X2 + np.random.randn(100) * 0.1
  df = pd.DataFrame({"X1": X1, "X2": X2, "ACTIVITY": ACTIVITY})
  y_cols = ["ACTIVITY"]
  x_cols = ["X1", "X2"]


  dataset = JaqpotpyDataset(df=df, y_cols=y_cols, x_cols=x_cols, task="regression")


  rf = RandomForestRegressor(random_state=42)
  myModel = SklearnModel(dataset=dataset, model=rf)
  myModel.fit()


  jaqpot = Jaqpot()
  jaqpot.login() #log in to Jaqppt
  myModel.deploy_on_jaqpot(
      jaqpot=jaqpot,
      name="Demo: Regression",
      description="This is a description",
      visibility="PRIVATE"
  )

  ```

  Once your model is successfully deployed on the Jaqpot platform, the function will provide you with the model ID that you can use to manage your model through the user interface and API.

  Console Output:
  ```text
  <DATE> - INFO - Model has been successfully uploaded. The url of the model is https://app.jaqpot.org/dashboard/models/<ModelID>
  ```



  You can further manage your models through the Jaqpot user interface at https://app.jaqpot.org. This platform allows you to view detailed documentation, share models with your contacts, and make predictions.


pkgId: 46bfb0da9ff52a8399a51fb6af0b62c7832e5824071d581c7744f432a0922165
name: python-jax-help
arch: noarch
version: 0.4.38
epoch: 0
release: 1
summary: Development documents and examples for jax
url: https://github.com/jax-ml/jax
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jax-0.4.38-1.src.rpm
location_href: Packages/python-jax-help-0.4.38-1.noarch.rpm
checksum_type: sha256
description:
  <div align="center">
  <img src="https://raw.githubusercontent.com/jax-ml/jax/main/images/jax_logo_250px.png" alt="logo"></img>
  </div>



  [![Continuous integration](https://github.com/jax-ml/jax/actions/workflows/ci-build.yaml/badge.svg)](https://github.com/jax-ml/jax/actions/workflows/ci-build.yaml)
  [![PyPI version](https://img.shields.io/pypi/v/jax)](https://pypi.org/project/jax/)

  [**Quickstart**](#quickstart-colab-in-the-cloud)
  | [**Transformations**](#transformations)
  | [**Install guide**](#installation)
  | [**Neural net libraries**](#neural-network-libraries)
  | [**Change logs**](https://jax.readthedocs.io/en/latest/changelog.html)
  | [**Reference docs**](https://jax.readthedocs.io/en/latest/)




  JAX is a Python library for accelerator-oriented array computation and program transformation,
  designed for high-performance numerical computing and large-scale machine learning.

  With its updated version of [Autograd](https://github.com/hips/autograd),
  JAX can automatically differentiate native
  Python and NumPy functions. It can differentiate through loops, branches,
  recursion, and closures, and it can take derivatives of derivatives of
  derivatives. It supports reverse-mode differentiation (a.k.a. backpropagation)
  via [`grad`](#automatic-differentiation-with-grad) as well as forward-mode differentiation,
  and the two can be composed arbitrarily to any order.

  What’s new is that JAX uses [XLA](https://www.tensorflow.org/xla)
  to compile and run your NumPy programs on GPUs and TPUs. Compilation happens
  under the hood by default, with library calls getting just-in-time compiled and
  executed. But JAX also lets you just-in-time compile your own Python functions
  into XLA-optimized kernels using a one-function API,
  [`jit`](#compilation-with-jit). Compilation and automatic differentiation can be
  composed arbitrarily, so you can express sophisticated algorithms and get
  maximal performance without leaving Python. You can even program multiple GPUs
  or TPU cores at once using [`pmap`](#spmd-programming-with-pmap), and
  differentiate through the whole thing.

  Dig a little deeper, and you'll see that JAX is really an extensible system for
  [composable function transformations](#transformations). Both
  [`grad`](#automatic-differentiation-with-grad) and [`jit`](#compilation-with-jit)
  are instances of such transformations. Others are
  [`vmap`](#auto-vectorization-with-vmap) for automatic vectorization and
  [`pmap`](#spmd-programming-with-pmap) for single-program multiple-data (SPMD)
  parallel programming of multiple accelerators, with more to come.

  This is a research project, not an official Google product. Expect
  [sharp edges](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html).
  Please help by trying it out, [reporting
  bugs](https://github.com/jax-ml/jax/issues), and letting us know what you
  think!

  ```python
  import jax.numpy as jnp
  from jax import grad, jit, vmap

  def predict(params, inputs):
    for W, b in params:
      outputs = jnp.dot(inputs, W) + b
      inputs = jnp.tanh(outputs)  # inputs to the next layer
    return outputs                # no activation on last layer

  def loss(params, inputs, targets):
    preds = predict(params, inputs)
    return jnp.sum((preds - targets)**2)

  grad_loss = jit(grad(loss))  # compiled gradient evaluation function
  perex_grads = jit(vmap(grad_loss, in_axes=(None, 0, 0)))  # fast per-example grads
  ```


  * [Quickstart: Colab in the Cloud](#quickstart-colab-in-the-cloud)
  * [Transformations](#transformations)
  * [Current gotchas](#current-gotchas)
  * [Installation](#installation)
  * [Neural net libraries](#neural-network-libraries)
  * [Citing JAX](#citing-jax)
  * [Reference documentation](#reference-documentation)


  Jump right in using a notebook in your browser, connected to a Google Cloud GPU.
  Here are some starter notebooks:
  - [The basics: NumPy on accelerators, `grad` for differentiation, `jit` for compilation, and `vmap` for vectorization](https://jax.readthedocs.io/en/latest/quickstart.html)
  - [Training a Simple Neural Network, with TensorFlow Dataset Data Loading](https://colab.research.google.com/github/jax-ml/jax/blob/main/docs/notebooks/neural_network_with_tfds_data.ipynb)

  **JAX now runs on Cloud TPUs.** To try out the preview, see the [Cloud TPU
  Colabs](https://github.com/jax-ml/jax/tree/main/cloud_tpu_colabs).

  For a deeper dive into JAX:
  - [The Autodiff Cookbook, Part 1: easy and powerful automatic differentiation in JAX](https://jax.readthedocs.io/en/latest/notebooks/autodiff_cookbook.html)
  - [Common gotchas and sharp edges](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html)
  - See the [full list of
  notebooks](https://github.com/jax-ml/jax/tree/main/docs/notebooks).



  At its core, JAX is an extensible system for transforming numerical functions.
  Here are four transformations of primary interest: `grad`, `jit`, `vmap`, and
  `pmap`.



  JAX has roughly the same API as [Autograd](https://github.com/hips/autograd).
  The most popular function is
  [`grad`](https://jax.readthedocs.io/en/latest/jax.html#jax.grad)
  for reverse-mode gradients:

  ```python
  from jax import grad
  import jax.numpy as jnp

  def tanh(x):  # Define a function
    y = jnp.exp(-2.0 * x)
    return (1.0 - y) / (1.0 + y)

  grad_tanh = grad(tanh)  # Obtain its gradient function
  print(grad_tanh(1.0))   # Evaluate it at x = 1.0

  ```

  You can differentiate to any order with `grad`.

  ```python
  print(grad(grad(grad(tanh)))(1.0))

  ```

  For more advanced autodiff, you can use
  [`jax.vjp`](https://jax.readthedocs.io/en/latest/jax.html#jax.vjp) for
  reverse-mode vector-Jacobian products and
  [`jax.jvp`](https://jax.readthedocs.io/en/latest/jax.html#jax.jvp) for
  forward-mode Jacobian-vector products. The two can be composed arbitrarily with
  one another, and with other JAX transformations. Here's one way to compose those
  to make a function that efficiently computes [full Hessian
  matrices](https://jax.readthedocs.io/en/latest/_autosummary/jax.hessian.html#jax.hessian):

  ```python
  from jax import jit, jacfwd, jacrev

  def hessian(fun):
    return jit(jacfwd(jacrev(fun)))
  ```

  As with [Autograd](https://github.com/hips/autograd), you're free to use
  differentiation with Python control structures:

  ```python
  def abs_val(x):
    if x > 0:
      return x
    else:
      return -x

  abs_val_grad = grad(abs_val)
  print(abs_val_grad(1.0))   # prints 1.0
  print(abs_val_grad(-1.0))  # prints -1.0 (abs_val is re-evaluated)
  ```

  See the [reference docs on automatic
  differentiation](https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation)
  and the [JAX Autodiff
  Cookbook](https://jax.readthedocs.io/en/latest/notebooks/autodiff_cookbook.html)
  for more.



  You can use XLA to compile your functions end-to-end with
  [`jit`](https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit),
  used either as an `@jit` decorator or as a higher-order function.

  ```python
  import jax.numpy as jnp
  from jax import jit

  def slow_f(x):
    
    return x * x + x * 2.0

  x = jnp.ones((5000, 5000))
  fast_f = jit(slow_f)
  %timeit -n10 -r3 fast_f(x)  # ~ 4.5 ms / loop on Titan X
  %timeit -n10 -r3 slow_f(x)  # ~ 14.5 ms / loop (also on GPU via JAX)
  ```

  You can mix `jit` and `grad` and any other JAX transformation however you like.

  Using `jit` puts constraints on the kind of Python control flow
  the function can use; see
  the tutorial on [Control Flow and Logical Operators with JIT](https://jax.readthedocs.io/en/latest/control-flow.html)
  for more.



  [`vmap`](https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap) is
  the vectorizing map.
  It has the familiar semantics of mapping a function along array axes, but
  instead of keeping the loop on the outside, it pushes the loop down into a
  function’s primitive operations for better performance.

  Using `vmap` can save you from having to carry around batch dimensions in your
  code. For example, consider this simple *unbatched* neural network prediction
  function:

  ```python
  def predict(params, input_vec):
    assert input_vec.ndim == 1
    activations = input_vec
    for W, b in params:
      outputs = jnp.dot(W, activations) + b  # `activations` on the right-hand side!
      activations = jnp.tanh(outputs)        # inputs to the next layer
    return outputs                           # no activation on last layer
  ```

  We often instead write `jnp.dot(activations, W)` to allow for a batch dimension on the
  left side of `activations`, but we’ve written this particular prediction function to
  apply only to single input vectors. If we wanted to apply this function to a
  batch of inputs at once, semantically we could just write

  ```python
  from functools import partial
  predictions = jnp.stack(list(map(partial(predict, params), input_batch)))
  ```

  But pushing one example through the network at a time would be slow! It’s better
  to vectorize the computation, so that at every layer we’re doing matrix-matrix
  multiplication rather than matrix-vector multiplication.

  The `vmap` function does that transformation for us. That is, if we write

  ```python
  from jax import vmap
  predictions = vmap(partial(predict, params))(input_batch)

  predictions = vmap(predict, in_axes=(None, 0))(params, input_batch)
  ```

  then the `vmap` function will push the outer loop inside the function, and our
  machine will end up executing matrix-matrix multiplications exactly as if we’d
  done the batching by hand.

  It’s easy enough to manually batch a simple neural network without `vmap`, but
  in other cases manual vectorization can be impractical or impossible. Take the
  problem of efficiently computing per-example gradients: that is, for a fixed set
  of parameters, we want to compute the gradient of our loss function evaluated
  separately at each example in a batch. With `vmap`, it’s easy:

  ```python
  per_example_gradients = vmap(partial(grad(loss), params))(inputs, targets)
  ```

  Of course, `vmap` can be arbitrarily composed with `jit`, `grad`, and any other
  JAX transformation! We use `vmap` with both forward- and reverse-mode automatic
  differentiation for fast Jacobian and Hessian matrix calculations in
  `jax.jacfwd`, `jax.jacrev`, and `jax.hessian`.



  For parallel programming of multiple accelerators, like multiple GPUs, use
  [`pmap`](https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap).
  With `pmap` you write single-program multiple-data (SPMD) programs, including
  fast parallel collective communication operations. Applying `pmap` will mean
  that the function you write is compiled by XLA (similarly to `jit`), then
  replicated and executed in parallel across devices.

  Here's an example on an 8-GPU machine:

  ```python
  from jax import random, pmap
  import jax.numpy as jnp


  keys = random.split(random.key(0), 8)
  mats = pmap(lambda key: random.normal(key, (5000, 6000)))(keys)


  result = pmap(lambda x: jnp.dot(x, x.T))(mats)  # result.shape is (8, 5000, 5000)


  print(pmap(jnp.mean)(result))

  ```

  In addition to expressing pure maps, you can use fast [collective communication
  operations](https://jax.readthedocs.io/en/latest/jax.lax.html#parallel-operators)
  between devices:

  ```python
  from functools import partial
  from jax import lax

  @partial(pmap, axis_name='i')
  def normalize(x):
    return x / lax.psum(x, 'i')

  print(normalize(jnp.arange(4.)))

  ```

  You can even [nest `pmap` functions](https://colab.research.google.com/github/jax-ml/jax/blob/main/cloud_tpu_colabs/Pmap_Cookbook.ipynb#scrollTo=MdRscR5MONuN) for more
  sophisticated communication patterns.

  It all composes, so you're free to differentiate through parallel computations:

  ```python
  from jax import grad

  @pmap
  def f(x):
    y = jnp.sin(x)
    @pmap
    def g(z):
      return jnp.cos(z) * jnp.tan(y.sum()) * jnp.tanh(x).sum()
    return grad(lambda w: jnp.sum(g(w)))(x)

  print(f(x))





  print(grad(lambda x: jnp.sum(f(x)))(x))




  ```

  When reverse-mode differentiating a `pmap` function (e.g. with `grad`), the
  backward pass of the computation is parallelized just like the forward pass.

  See the [SPMD
  Cookbook](https://colab.research.google.com/github/jax-ml/jax/blob/main/cloud_tpu_colabs/Pmap_Cookbook.ipynb)
  and the [SPMD MNIST classifier from scratch
  example](https://github.com/jax-ml/jax/blob/main/examples/spmd_mnist_classifier_fromscratch.py)
  for more.



  For a more thorough survey of current gotchas, with examples and explanations,
  we highly recommend reading the [Gotchas
  Notebook](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html).
  Some standouts:

  1. JAX transformations only work on [pure functions](https://en.wikipedia.org/wiki/Pure_function), which don't have side-effects and respect [referential transparency](https://en.wikipedia.org/wiki/Referential_transparency) (i.e. object identity testing with `is` isn't preserved). If you use a JAX transformation on an impure Python function, you might see an error like `Exception: Can't lift Traced...`  or `Exception: Different traces at same level`.
  1. [In-place mutating updates of
     arrays](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html#in-place-updates), like `x[i] += y`, aren't supported, but [there are functional alternatives](https://jax.readthedocs.io/en/latest/jax.ops.html). Under a `jit`, those functional alternatives will reuse buffers in-place automatically.
  1. [Random numbers are
     different](https://jax.readthedocs.io/en/latest/random-numbers.html), but for [good reasons](https://github.com/jax-ml/jax/blob/main/docs/jep/263-prng.md).
  1. If you're looking for [convolution
     operators](https://jax.readthedocs.io/en/latest/notebooks/convolutions.html),
     they're in the `jax.lax` package.
  1. JAX enforces single-precision (32-bit, e.g. `float32`) values by default, and
     [to enable
     double-precision](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html#double-64bit-precision)
     (64-bit, e.g. `float64`) one needs to set the `jax_enable_x64` variable at
     startup (or set the environment variable `JAX_ENABLE_X64=True`).
     On TPU, JAX uses 32-bit values by default for everything _except_ internal
     temporary variables in 'matmul-like' operations, such as `jax.numpy.dot` and `lax.conv`.
     Those ops have a `precision` parameter which can be used to approximate 32-bit operations
     via three bfloat16 passes, with a cost of possibly slower runtime.
     Non-matmul operations on TPU lower to implementations that often emphasize speed over
     accuracy, so in practice computations on TPU will be less precise than similar
     computations on other backends.
  1. Some of NumPy's dtype promotion semantics involving a mix of Python scalars
     and NumPy types aren't preserved, namely `np.add(1, np.array([2],
     np.float32)).dtype` is `float64` rather than `float32`.
  1. Some transformations, like `jit`, [constrain how you can use Python control
     flow](https://jax.readthedocs.io/en/latest/control-flow.html).
     You'll always get loud errors if something goes wrong. You might have to use
     [`jit`'s `static_argnums`
     parameter](https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit),
     [structured control flow
     primitives](https://jax.readthedocs.io/en/latest/jax.lax.html#control-flow-operators)
     like
     [`lax.scan`](https://jax.readthedocs.io/en/latest/_autosummary/jax.lax.scan.html#jax.lax.scan),
     or just use `jit` on smaller subfunctions.





  |            | Linux x86_64 | Linux aarch64 | Mac x86_64   | Mac aarch64  | Windows x86_64 | Windows WSL2 x86_64 |
  |------------|--------------|---------------|--------------|--------------|----------------|---------------------|
  | CPU        | yes          | yes           | yes          | yes          | yes            | yes                 |
  | NVIDIA GPU | yes          | yes           | no           | n/a          | no             | experimental        |
  | Google TPU | yes          | n/a           | n/a          | n/a          | n/a            | n/a                 |
  | AMD GPU    | yes          | no            | experimental | n/a          | no             | no                  |
  | Apple GPU  | n/a          | no            | n/a          | experimental | n/a            | n/a                 |
  | Intel GPU  | experimental | n/a           | n/a          | n/a          | no             | no                  |




  | Platform        | Instructions                                                                                                    |
  |-----------------|-----------------------------------------------------------------------------------------------------------------|
  | CPU             | `pip install -U jax`                                                                                            |
  | NVIDIA GPU      | `pip install -U "jax[cuda12]"`                                                                                  |
  | Google TPU      | `pip install -U "jax[tpu]" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html`                 |
  | AMD GPU (Linux) | Use [Docker](https://hub.docker.com/r/rocm/jax-community/tags), [pre-built wheels](https://github.com/ROCm/jax/releases), or [build from source](https://jax.readthedocs.io/en/latest/developer.html#additional-notes-for-building-a-rocm-jaxlib-for-amd-gpus). |
  | Mac GPU         | Follow [Apple's instructions](https://developer.apple.com/metal/jax/).                                          |
  | Intel GPU       | Follow [Intel's instructions](https://github.com/intel/intel-extension-for-openxla/blob/main/docs/acc_jax.md).  |

  See [the documentation](https://jax.readthedocs.io/en/latest/installation.html)
  for information on alternative installation strategies. These include compiling
  from source, installing with Docker, using other versions of CUDA, a
  community-supported conda build, and answers to some frequently-asked questions.





  Multiple Google research groups at Google DeepMind and Alphabet develop and share libraries
  for training neural networks in JAX. If you want a fully featured library for neural network
  training with examples and how-to guides, try
  [Flax](https://github.com/google/flax) and its [documentation site](https://flax.readthedocs.io/en/latest/nnx/index.html).

  Check out the [JAX Ecosystem section](https://jax.readthedocs.io/en/latest/#ecosystem)
  on the JAX documentation site for a list of JAX-based network libraries, which includes
  [Optax](https://github.com/deepmind/optax) for gradient processing and
  optimization, [chex](https://github.com/deepmind/chex) for reliable code and testing, and
  [Equinox](https://github.com/patrick-kidger/equinox) for neural networks.
  (Watch the NeurIPS 2020 JAX Ecosystem at DeepMind talk
  [here](https://www.youtube.com/watch?v=iDxJxIyzSiM) for additional details.)



  To cite this repository:

  ```
  @software{jax2018github,
    author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and George Necula and Adam Paszke and Jake Vander{P}las and Skye Wanderman-{M}ilne and Qiao Zhang},
    title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs},
    url = {http://github.com/jax-ml/jax},
    version = {0.3.13},
    year = {2018},
  }
  ```

  In the above bibtex entry, names are in alphabetical order, the version number
  is intended to be that from [jax/version.py](../main/jax/version.py), and
  the year corresponds to the project's open-source release.

  A nascent version of JAX, supporting only automatic differentiation and
  compilation to XLA, was described in a [paper that appeared at SysML
  2018](https://mlsys.org/Conferences/2019/doc/2018/146.pdf). We're currently working on
  covering JAX's ideas and capabilities in a more comprehensive and up-to-date
  paper.



  For details about the JAX API, see the
  [reference documentation](https://jax.readthedocs.io/).

  For getting started as a JAX developer, see the
  [developer documentation](https://jax.readthedocs.io/en/latest/developer.html).


pkgId: a8cdcdd1cea571217b54f914210b5957128ccedd6c5e00b73fba29deab1b54fa
name: python-jaxsim-help
arch: noarch
version: 0.5.0
epoch: 0
release: 1
summary: Development documents and examples for jaxsim
url: https://pypi.org/project/jaxsim/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jaxsim-0.5.0-1.src.rpm
location_href: Packages/python-jaxsim-help-0.5.0-1.noarch.rpm
checksum_type: sha256
description:
  JaxSim is a **differentiable physics engine** and **multibody dynamics library** designed for applications in control and robot learning, implemented with JAX.

  Its design facilitates research and accelerates prototyping in the intersection of robotics and artificial intelligence.

  <div align="center">
  <br/>
  <table>
    <tr>
      <th><img src="https://github.com/user-attachments/assets/115b1c1c-6ae5-4c59-92e0-1be13ba954db" width="250"></th>
      <th><img src="https://github.com/user-attachments/assets/f9661fae-9a85-41dd-9a58-218758ec8c9c" width="250"></th>
      <th><img src="https://github.com/user-attachments/assets/ae8adadf-3bca-47b8-97ca-3a9273633d60" width="250"></th>
    </tr>
  </table>
  <br/>
  </div>



  - Physics engine in reduced coordinates supporting fixed-base and floating-base robots.
  - Multibody dynamics library providing all the necessary components for developing model-based control algorithms.
  - Completely developed in Python with [`google/jax`][jax] following a functional programming paradigm.
  - Transparent support for running on CPUs, GPUs, and TPUs.
  - Full support for JIT compilation for increased performance.
  - Full support for automatic vectorization for massive parallelization of open-loop and closed-loop architectures.
  - Support for SDF models and, upon conversion with [sdformat][sdformat], URDF models.
  - Visualization based on the [passive viewer][passive_viewer_mujoco] of Mujoco.



  - Wide range of fixed-step explicit Runge-Kutta integrators.
  - Support for variable-step integrators implemented as embedded Runge-Kutta schemes.
  - Improved stability by optionally integrating the base orientation on the $\text{SO}(3)$ manifold.
  - Soft contacts model supporting full friction cone and sticking-slipping transition.
  - Collision detection between points rigidly attached to bodies and uneven ground surfaces.



  - Provides rigid body dynamics algorithms (RBDAs) like RNEA, ABA, CRBA, and Jacobians.
  - Provides all the quantities included in the Euler-Poincarè formulation of the equations of motion.
  - Supports body-fixed, inertial-fixed, and mixed [velocity representations][notation].
  - Exposes all the necessary quantities to develop controllers in centroidal coordinates.
  - Supports running open-loop and full closed-loop control architectures on hardware accelerators.



  - Being developed with JAX, all the RBDAs support automatic differentiation both in forward and reverse modes.
  - Support for automatically differentiating against kinematics and dynamics parameters.
  - All fixed-step integrators are forward and reverse differentiable.
  - All variable-step integrators are forward differentiable.
  - Ideal for sampling synthetic data for reinforcement learning (RL).
  - Ideal for designing physics-informed neural networks (PINNs) with loss functions requiring model-based quantities.
  - Ideal for combining model-based control with learning-based components.

  [jax]: https://github.com/google/jax/
  [sdformat]: https://github.com/gazebosim/sdformat
  [notation]: https://research.tue.nl/en/publications/multibody-dynamics-notation-version-2
  [passive_viewer_mujoco]: https://mujoco.readthedocs.io/en/stable/python.html#passive-viewer

  > [!WARNING]
  > This project is still experimental, APIs could change between releases without notice.

  > [!NOTE]
  > JaxSim currently focuses on locomotion applications.
  > Only contacts between bodies and smooth ground surfaces are supported.



  The JaxSim API documentation is available at [jaxsim.readthedocs.io][readthedocs].

  [readthedocs]: https://jaxsim.readthedocs.io/



  <details>
  <summary>With conda</summary>

  You can install the project using [`conda`][conda] as follows:

  ```bash
  conda install jaxsim -c conda-forge
  ```

  You can enforce GPU support, if needed, by also specifying `"jaxlib = * = *cuda*"`.

  </details>

  <details>
  <summary>With pip</summary>

  You can install the project using [`pypa/pip`][pip], preferably in a [virtual environment][venv], as follows:

  ```bash
  pip install jaxsim
  ```

  Check [`pyproject.toml`](pyproject.toml) for the complete list of optional dependencies.
  You can obtain a full installation using `jaxsim[all]`.

  If you need GPU support, follow the official [installation instructions][jax_gpu] of JAX.

  </details>

  <details>
  <summary>Contributors installation</summary>

  If you want to contribute to the project, we recommend creating the following `jaxsim` conda environment first:

  ```bash
  conda env create -f environment.yml
  ```

  Then, activate the environment and install the project in editable mode:

  ```bash
  conda activate jaxsim
  pip install --no-deps -e .
  ```

  </details>

  [conda]: https://anaconda.org/
  [pip]: https://github.com/pypa/pip/
  [venv]: https://docs.python.org/3/tutorial/venv.html
  [jax_gpu]: https://github.com/google/jax/#installation



  <details>
  <summary>Structure of the Python package</summary>

  ```


  src/jaxsim
  |-- api..........................# Package containing the main functional APIs.
  |   |-- com.py...................# |-- APIs for computing quantities related to the center of mass.
  |   |-- common.py................# |-- Common utilities used in the current package.
  |   |-- contact.py...............# |-- APIs for computing quantities related to the collidable points.
  |   |-- data.py..................# |-- Class storing the data of a simulated model.
  |   |-- frame.py.................# |-- APIs for computing quantities related to additional frames.
  |   |-- joint.py.................# |-- APIs for computing quantities related to the joints.
  |   |-- kin_dyn_parameters.py....# |-- Class storing kinematic and dynamic parameters of a model.
  |   |-- link.py..................# |-- APIs for computing quantities related to the links.
  |   |-- model.py.................# |-- Class defining a simulated model and APIs for computing related quantities.
  |   |-- ode.py...................# |-- APIs for computing quantities related to the system dynamics.
  |   |-- ode_data.py..............# |-- Set of classes to store the data of the system dynamics.
  |   `-- references.py............# `-- Helper class to create references (link forces and joint torques).
  |-- exceptions.py................# Module containing functions to raise exceptions from JIT-compiled functions.
  |-- integrators..................# Package containing the integrators used to simulate the system dynamics.
  |   |-- common.py................# |-- Common utilities used in the current package.
  |   |-- fixed_step.py............# |-- Fixed-step integrators (explicit Runge-Kutta schemes).
  |   `-- variable_step.py.........# `-- Variable-step integrators (embedded Runge-Kutta schemes).
  |-- logging.py...................# Module containing logging utilities.
  |-- math.........................# Package containing mathematical utilities.
  |   |-- adjoint.py...............# |-- APIs for creating and manipulating 6D transformations.
  |   |-- cross.py.................# |-- APIs for computing cross products of 6D quantities.
  |   |-- inertia.py...............# |-- APIs for creating and manipulating 6D inertia matrices.
  |   |-- joint_model.py...........# |-- APIs defining the supported joint model and the corresponding transformations.
  |   |-- quaternion.py............# |-- APIs for creating and manipulating quaternions.
  |   |-- rotation.py..............# |-- APIs for creating and manipulating rotation matrices.
  |   |-- skew.py..................# |-- APIs for creating and manipulating skew-symmetric matrices.
  |   `-- transform.py.............# `-- APIs for creating and manipulating homogeneous transformations.
  |-- mujoco.......................# Package containing utilities to interact with the Mujoco passive viewer.
  |   |-- loaders.py...............# |-- Utilities for converting JaxSim models to Mujoco models.
  |   |-- model.py.................# |-- Class providing high-level methods to compute quantities using Mujoco.
  |   `-- visualizer.py............# `-- Class that simplifies opening the passive viewer and recording videos.
  |-- parsers......................# Package containing utilities to parse model descriptions (SDF and URDF models).
  |   |-- descriptions/............# |-- Package containing the intermediate representation of a model description.
  |   |-- kinematic_graph.py.......# |-- Definition of the kinematic graph associated with a parsed model description.
  |   `-- rod/.....................# `-- Package to create the intermediate representation from model descriptions using ROD.
  |-- rbda.........................# Package containing the low-level rigid body dynamics algorithms.
  |   |-- aba.py...................# |-- The Articulated Body Algorithm.
  |   |-- collidable_points.py.....# |-- Kinematics of collidable points.
  |   |-- contacts/................# |-- Package containing the supported contact models.
  |   |-- crba.py..................# |-- The Composite Rigid Body Algorithm.
  |   |-- forward_kinematics.py....# |-- Forward kinematics of the model.
  |   |-- jacobian.py..............# |-- Full Jacobian and full Jacobian derivative.
  |   |-- rnea.py..................# |-- The Recursive Newton-Euler Algorithm.
  |   `-- utils.py.................# `-- Common utilities used in the current package.
  |-- terrain......................# Package containing resources to specify the terrain.
  |   `-- terrain.py...............# `-- Classes defining the supported terrains.
  |-- typing.py....................# Module containing type hints.
  `-- utils........................# Package of common utilities.
      |-- jaxsim_dataclass.py......# |-- Utilities to operate on pytree dataclasses.
      |-- tracing.py...............# |-- Utilities to use when JAX is tracing functions.
      `-- wrappers.py..............# `-- Utilities to wrap objects for specific use cases on pytree dataclass attributes.
  ```

  </details>



  The RBDAs are based on the theory of the [Rigid Body Dynamics Algorithms][RBDA]
  book by Roy Featherstone.
  The algorithms and some simulation features were inspired by its accompanying [code][spatial_v2].

  [RBDA]: https://link.springer.com/book/10.1007/978-1-4899-7560-7
  [spatial_v2]: http://royfeatherstone.org/spatial/index.html#spatial-software

  The development of JaxSim started in late 2021, inspired by early versions of [`google/brax`][brax].
  At that time, Brax was implemented in maximal coordinates, and we wanted a physics engine in reduced coordinates.
  We are grateful to the Brax team for their work and showing the potential of [JAX][jax] in this field.

  Brax v2 was later implemented reduced coordinates, following an approach comparable to JaxSim.
  The development then shifted to [MJX][mjx], which today provides a JAX-based implementation of the Mujoco APIs.

  The main differences between MJX/Brax and JaxSim are as follows:

  - JaxSim supports out-of-the-box all SDF models with [Pose Frame Semantics][PFS].
  - JaxSim only supports collisions between points rigidly attached to bodies and a compliant ground surface.
    Our contact model requires careful tuning of its spring-damper parameters, but being an instantaneous
    function of the state $(\mathbf{q}, \boldsymbol{\nu})$, it doesn't require running any optimization algorithm
    when stepping the simulation forward.
  - JaxSim mitigates the stiffness of the contact-aware system dynamics by providing variable-step integrators.

  [brax]: https://github.com/google/brax
  [mjx]: https://mujoco.readthedocs.io/en/3.0.0/mjx.html
  [PFS]: http://sdformat.org/tutorials?tut=pose_frame_semantics



  We welcome contributions from the community.
  Please read the [contributing guide](./CONTRIBUTING.md) to get started.



  ```bibtex
  @software{ferigo_jaxsim_2022,
    author = {Diego Ferigo and Filippo Luca Ferretti and Silvio Traversaro and Daniele Pucci},
    title = {{JaxSim}: A Differentiable Physics Engine and Multibody Dynamics Library for Control and Robot Learning},
    url = {http://github.com/ami-iit/jaxsim},
    year = {2022},
  }
  ```

  Theoretical aspects of JaxSim are based on Chapters 7 and 8 of the following Ph.D. thesis:

  ```bibtex
  @phdthesis{ferigo_phd_thesis_2022,
    title = {Simulation Architectures for Reinforcement Learning applied to Robotics},
    author = {Diego Ferigo},
    school = {University of Manchester},
    type = {PhD Thesis},
    month = {July},
    year = {2022},
  }
  ```



  | Authors | Maintainers |
  |:------:|:-----------:|
  | [<img src="https://avatars.githubusercontent.com/u/469199?v=4" width="40">][df] [<img src="https://avatars.githubusercontent.com/u/102977828?v=4" width="40">][ff] | [<img src="https://avatars.githubusercontent.com/u/102977828?v=4" width="40">][ff] [<img src="https://avatars.githubusercontent.com/u/57228872?v=4" width="40">][ac] |

  [df]: https://github.com/diegoferigo
  [ff]: https://github.com/flferretti
  [ac]: https://github.com/xela-95



  [BSD3](https://choosealicense.com/licenses/bsd-3-clause/)

rpm_license:
  BSD 3-Clause License  Copyright (c) 2022, Artificial and Mechanical Intelligence All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


pkgId: a8c506c7e4af63a640e1f747f850ce3d38423e801d0eb6bb0da9e796181b2f51
name: python-jaya-optimizer-help
arch: noarch
version: 0.1.2
epoch: 0
release: 1
summary: Development documents and examples for jaya-optimizer
url: https://github.com/Ravikumar-Shah-2804/jaya-optimizer.git
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jaya-optimizer-0.1.2-1.src.rpm
location_href: Packages/python-jaya-optimizer-help-0.1.2-1.noarch.rpm
checksum_type: sha256
description:
  - Supports continuous, discrete, and mixed-variable optimization.
  - User-friendly interface for defining objective functions and constraints.
  - Handles maximization and minimization problems.
  - Tracks convergence history for analysis.


pkgId: 25c9ef9276608f7e44b4e067800f99b892f4e6de804cd3aa75215fcb969bb871
name: python-jaydee-help
arch: noarch
version: 0.1.4
epoch: 0
release: 1
summary: Development documents and examples for jaydee
url: https://pypi.org/project/jaydee/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jaydee-0.1.4-1.src.rpm
location_href: Packages/python-jaydee-help-0.1.4-1.noarch.rpm
checksum_type: sha256
description:
  Crawl websites and scrape HTML documents using a .json file schema.



  Make sure you have playwright installed with:

  ```bash
  $ pip install playwright
  $ playwright install
  ```

  Currently Jaydee runs on chromium so make sure that playwright at least installs that as a webdriver.

  Afterwards install Jaydee from PIP:

  ```bash
  $ pip install jaydee
  ```



  More in-depth usage examples can be found in the `examples` directory.

  Crawling:
  ```python
  import asyncio

  from jaydee.crawler import Crawler


  async def main():
      
      def on_proceed(crawler):
          
          
          crawler.add_url("https://www.example.com/foo")

      crawler = Crawler(
          "https://www.example.com",
          on_proceed,
      )

      async for result in crawler.start():
          print(f"Metadata: {result["metadata"]}")
          print(f"Links found: {result["links"]}")


  def start():
      asyncio.run(main())
  ```

  Scraping example with requests:
  ```python
  import requests

  from jaydee import Scraper


  r = requests.get("https://example.com")


  scraper = Scraper(html_doc=r.content).from_json("data/rules.json")


  result = scraper.scrape()
  ```



  This repository is licensed under the MIT license.


pkgId: 032e0a46b618698beac3de7cf965c5e0a340c42b6aab70658a7e6a158994faa6
name: python-jdaviz-help
arch: noarch
version: 4.0.1
epoch: 0
release: 1
summary: Development documents and examples for jdaviz
url: https://jdaviz.readthedocs.io/en/latest/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jdaviz-4.0.1-1.src.rpm
location_href: Packages/python-jdaviz-help-4.0.1-1.noarch.rpm
checksum_type: sha256
description:
  You may want to consider installing ``jdaviz`` in a new virtual or conda environment to avoid
  version conflicts with other packages you may have installed, for example:
     conda create -n jdaviz-env python=3.12
     conda activate jdaviz-env
  Installing the released version can be done using pip:
     pip install jdaviz --upgrade
  For details on installing and using Jdaviz, see the
  `Jdaviz Installation <https://jdaviz.readthedocs.io/en/latest/installation.html>`_.


pkgId: 68be43a29cf72b3e2a6424616700806e3e54439df59a5260ce7a4ca5c818e5d9
name: python-je-api-testka-dev-help
arch: noarch
version: 0.0.113
epoch: 0
release: 1
summary: Development documents and examples for je-api-testka-dev
url: https://github.com/Intergration-Automation-Testing/APITestka
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-je-api-testka-dev-0.0.113-1.src.rpm
location_href: Packages/python-je-api-testka-dev-help-0.0.113-1.noarch.rpm
checksum_type: sha256
description:
  > Project Kanban \
  > https://github.com/orgs/Integration-Automation/projects/2/views/1 \
  > * API requests automation.
  > * Data comparison for each Request.
  > * API request in pure CLI mode.
  > * Detailed reports on Requests and Responses.
  > * HTTP/HTTPS support.
  > * SOAP/XML support.
  > * JSON support.
  > * Generate JSON/HTML/XML report.
  > * APITestka script.
  > * 1 sec / thousands requests.
  > * OS Independent.
  > * Mockserver support.
  > * Remote Automation support.
  > * Project & Template support.
  > * httpx Client(NEW)
  > * httpx sync/async request.


pkgId: d0a259255ca7457d148e2313003bf880f843c96ed71382f9eeb219a985dd1dae
name: python-je-editor-dev-help
arch: noarch
version: 0.0.202
epoch: 0
release: 1
summary: Development documents and examples for je-editor-dev
url: https://github.com/JE-Chen/je_editor
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-je-editor-dev-0.0.202-1.src.rpm
location_href: Packages/python-je-editor-dev-help-0.0.202-1.noarch.rpm
checksum_type: sha256
description:
  [![Downloads](https://static.pepy.tech/badge/je-editor)](https://pepy.tech/project/je-editor)
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/825a90622a224207be4abe869775b50a)](https://www.codacy.com/gh/JE-Chen/je_editor/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=JE-Chen/je_editor&amp;utm_campaign=Badge_Grade)
  [![JE_Editor Stable Python3.9](https://github.com/Intergration-Automation-Testing/je_editor/actions/workflows/stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/je_editor/actions/workflows/stable_python3_9.yml)
  [![JE_Editor Stable Python3.10](https://github.com/Intergration-Automation-Testing/je_editor/actions/workflows/stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/je_editor/actions/workflows/stable_python3_10.yml)
  [![JE_Editor Stable Python3.11](https://github.com/Intergration-Automation-Testing/je_editor/actions/workflows/stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/je_editor/actions/workflows/stable_python3_11.yml)

  [![Documentation Status](https://readthedocs.org/projects/je-editor/badge/?version=latest)](https://je-editor.readthedocs.io/en/latest/?badge=latest)


pkgId: 444efea99eebb9b67bad92d5f8563cb62c371cf4d862d1392661bc81a643249f
name: python-jeans-help
arch: noarch
version: 1.2.7
epoch: 0
release: 1
summary: Development documents and examples for jeans
url: https://github.com/mgwalkergit/jeans
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jeans-1.2.7-1.src.rpm
location_href: Packages/python-jeans-help-1.2.7-1.noarch.rpm
checksum_type: sha256
description:
  A package for calculating properties of (spherical) dark matter halos and embedded (spherical) stellar populations, including integration of the (spherical) Jeans equation in 2D (observed projections) and 3D.

  Author: Matthew G. Walker (2024)



  * Install jeans. You can either pip install the released version or install from github

  ```
  pip install jeans
  ```


  The alpha/beta/gamma ('abg_triangle') halo has mass density profile $\rho(r)=\frac{\rho_s}{(r/r_s)^{\gamma}[1+(r/r_s)^{\alpha}]^{(\beta-\gamma)/\alpha}}$.

  The Navarro-Frenk-White ('nfw') halo is a special case of the above, with $(\alpha,\beta,\gamma)=(1,3,1)$, but can be called directly.

  The Dehnen Cusp ('dehnen_cusp') halo is a special case of the 'abg' halo, with $(\alpha,\beta,\gamma)=(1,4,1)$, but can be called directly.

  The Dehnen Core ('dehnen_core') halo is a special case of the 'abg' halo, with $(\alpha,\beta,\gamma)=(1,4,0)$, but can be called directly.

  The core-NFW ('cnfw') halo is by Read et al. (arXiv:1805.06934), defined in terms of the enclosed mass profile, $M_{\rm cNFW}(r)=M_{\rm NFW}(r)f^n$, where $M_{\rm NFW}(r)$ is the enclosed mass profile of the NFW halo and $f^n=[\tanh(r/r_c)]^n$, with $r_c$ a core radius.

  The core-NFW-tides ('cnfwt') halo is by Read et al. (arXiv:1805.06934), with density profile $\rho_{\rm cNFWt}(r)=\rho_{\rm cNFW}(r)$ for $r<r_{\rm t}$ and $\rho_{\rm cNFWt}(r)=\rho_{\rm cNFW}(r_{\rm t})(r/r_{\rm t})^{-\delta}$, allowing for power-law decrease in density beyond `tidal' radius $r_{\rm t}$.

  For cNFW and cNFWt models, the standard definitions of parameters $M_{\triangle}$, $c_{\triangle}$ and $r_{\triangle}$ apply to the density and mass profile of the corresponding NFW halo that would be obtained by setting $r_{\rm c}=0$ and $r_{\rm t}=\infty$.




  The alpha/beta/gamma ('abg') model has number density profile $\nu(r)=\frac{\nu_0}{(r/r_s)^{\gamma}[1+(r/r_s)^{\alpha}]^{(\beta-\gamma)/\alpha}}$.

  The Plummer model is a special case of the 'abg' model, with $(\alpha,\beta,\gamma)=(2,5,0)$, but can be called directly.

  The 'a2bg' model is a special case of the 'abg' model, with $\alpha=2$, but can be called directly.

  The exponential model is defined in terms of projected density, $\Sigma(R)=\Sigma_0\exp(-R/r_s)$.



  The only model currently implemented is that of Read et al. (arXiv:1805.06934): $\beta(r)\equiv 1-\sigma^2_{\rm t}/\sigma^2_{\rm r}=\beta_0+(\beta_{\infty}-\beta_0)/(1+(r/r_{\beta})^{-n})$, where $\sigma_{\rm r}$ is the radial component of the velocity dispersion and $\sigma_{\rm t}=\sigma_{\theta}=\sigma_{\phi}$ is the tangential component (the two angular components have equal magnitude in the absence of rotation).



  In order to create an object representing, e.g., an NFW halo with overdensity parameter $\triangle=200$, halo mass given by $M_{\triangle}=1\times 10^{10}M_{\odot}$ and concentration $c_{\triangle}=r_{\triangle}/r_s=10$, where $M_{\triangle}\equiv M(r_{\triangle})$ is the mass enclosed within a sphere of radius $r_{\triangle}$ and the mean halo density within a sphere of radius $r_{\triangle}$ is $\triangle$ times the cosmological critical density given by $3H_0/(8\pi G)$, with $h\equiv H_0/100$ (km/s/Mpc)$^{-1}$:

  ```nfw=jeans.get_dmhalo('nfw',triangle=200,h=0.7,m_triangle=1.e+10,c_triangle=10)```

  The object stores the input halo parameters as well as the corresponding scale radius and scale density ('r_scale', 'rho_scale'), maximum circular velocity ('v_max'), radius where vmax occurs ('r_max'), and (3d) radial functions for the mass density ('density'), enclosed mass ('mass'), and circular velocity ('vcirc').

  For the core-NFW-tides halo, e.g., this would become

  ```cnfwt=jeans.get_dmhalo('cnfwt',triangle=200,h=0.7,m_triangle=1.e+10,c_triangle=10,r_core=0.3,n_core=1.,r_tide=1.,delta=5.)```

  ***Note that for cNFW and cNFWt models, $r_{\rm c}$ and $r_{\rm t}$ must be specified in units of $r_{\triangle}$.***

  To create an object representing, e.g., a tracer component following a Plummer profile with scale radius 100 pc (units of pc assumed, for compatibility with DM halos), total luminosity 1000 $L_{\odot}$, and tracer mass-to-light ratio $\Upsilon=1$ (solar units):

  ```plum=jeans.get_tracer('plum',luminosity_tot=1000.,r_scale=100.,upsilon=1.)```

  The tracer object stores the input parameters as well as the normalization constants for 3D and (projected) 2D density profiles ('nu0' and 'sigma0', respectively), the number of tracer particles within a sphere of radius r_scale (normalized by nu0 * r_scale^3, 'nscalenorm'), and within a sphere of radius infinity (normalized by nu0 * r_scale^3, 'ntotnorm'), the 2D and 3D halflight radii ('rhalf_2d' and rhalf_3d') in units of pc, and functions for the 3D number density ('density'), 2D projected number density ('density_2d'), and cumulative number ('number').

  For the 'abg' tracer model, this would become

  ```a2bg=jeans.get_tracer('a2bg',luminosity_tot=1000.,r_scale=100.,upsilon=1.,alpha=1.6,beta=7.,gamma=0.4)```

  To create an object representing the tracer component's velocity dispersion anisotropy:

  ```anisotropy=jeans.get_anisotropy('read',beta_0=-0.3,beta_inf=0.8,r_beta=1.,n_beta=1.)```

  ***Note that $r_{\beta}$ must be specified in units of $r_{\rm scale}$, the scale radius assigned to the tracer population.***

  The anisotropy object stores the input parameters as well functions for the anisotropy profile ('beta') and the function $\exp(2\int\frac{\beta}{r}dr)$ ('f_beta'), which appears in the Jeans equations.



  For examples of ...


pkgId: 7e1be36ff5ff2f01e8dfaeff2f55c47e2d02003509605dfe56cdf34aadf17624
name: python-jedha-cli-help
arch: noarch
version: 1.3.5
epoch: 0
release: 1
summary: Development documents and examples for jedha-cli
url: https://pypi.org/project/jedha-cli/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jedha-cli-1.3.5-1.src.rpm
location_href: Packages/python-jedha-cli-help-1.3.5-1.noarch.rpm
checksum_type: sha256
description:
  Practice your Cybersecurity skills with Jedha CLI.

  You can launch our labs directly from your terminal.



  - Python 3.10+
  - Docker
  - Docker Compose
  - AMD64 CPU (preferably, otherwise some labs may not work)

  **This CLI is build to be used on [Kali Linux](https://www.kali.org/) priorly** and AMD64 architecture.

  It may work on other Linux distributions, but we don't support them. Also it may work on Windows and MacOS but we don't support them either.



  Be sure you meet all the requirements before installing the CLI. Then use [`pipx`](https://github.com/pypa/pipx):

  ```bash
  pipx install jedha-cli
  pipx ensurepath
  ```

  You are good to go!





  The CLI will download the lab you want to launch from our servers, and then launch it using Docker Compose.



  If you want to try the project from the source code, you can clone this repository and install it using:

  ```bash
  poetry install
  ```

  > You can install `poetry` using `pipx install poetry`.

  Start the virtual environment using:

  ```bash
  poetry shell
  ```

  Then, you can run the CLI using:

  ```bash
  python -m src.main --help
  ```

  To test locally the `pip install` you can use:

  ```bash
  poetry build
  pip install dist/*.tar.gz
  ```



  [Jedha](https://www.jedha.co) is a Cybersecurity and Data Science bootcamp based in France. If you are interested in learning more about our bootcamps, you can visit our [website](https://www.jedha.co).


pkgId: dc3ae3489a8c9f86a9a24884a4ae4a359578683256d8e47ec34897c76879943c
name: python-jeig-help
arch: noarch
version: 0.2.0
epoch: 0
release: 1
summary: Development documents and examples for jeig
url: https://pypi.org/project/jeig/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jeig-0.2.0-1.src.rpm
location_href: Packages/python-jeig-help-0.2.0-1.noarch.rpm
checksum_type: sha256
description:
  `v0.2.0`



  This package wraps eigendecompositions as provided by jax, magma, numpy, scipy, and torch for use with jax. Depending upon your system and your versions of these packages, you may observe significant speed differences.

  ![Speed comparison](https://github.com/mfschubert/jeig/blob/main/docs/speed.png?raw=true)


  jeig can be installed via pip,
  ```
  pip install jeig
  ```
  This will also install torch. If you only need torch for use with jeig, then the CPU-only version could be sufficient and you may wish to install manually as described in the [pytorch docs](https://pytorch.org/get-started/locally/).



  ```python
  import jax
  import jeig

  matrix = jax.random.normal(jax.random.PRNGKey(0), (8, 320, 320))

  jeig.set_backend("jax")
  %timeit jeig.eig(matrix)

  jeig.set_backend("numpy")
  %timeit jeig.eig(matrix)

  jeig.set_backend("scipy")
  %timeit jeig.eig(matrix)

  jeig.set_backend("torch")
  %timeit jeig.eig(matrix)
  ```
  ```
  916 ms ± 101 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
  1.47 s ± 165 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
  782 ms ± 75.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
  150 ms ± 10.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
  ```


  The torch implementation of eigendecomposition is due to a [comment](https://github.com/google/jax/issues/10180#issuecomment-1092098074) by @YouJiacheng.

rpm_license:
  BSD 3-Clause License  Copyright (c) 2024, Martin Schubert  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


pkgId: d81b9ee8116c65763f9d0ae1b563279947aad90afbb3da2ce083b4ef9f4b247e
name: python-jelka-help
arch: noarch
version: 0.0.5
epoch: 0
release: 1
summary: Development documents and examples for jelka
url: https://github.com/Jelka-FMF/JelkaPy
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jelka-0.0.5-1.src.rpm
location_href: Packages/python-jelka-help-0.0.5-1.noarch.rpm
checksum_type: sha256
description:
  Python API for Jelka FMF patterns.



  If you want to contribute your own Jelka FMF patterns, you should check out the [Storži](https://github.com/Jelka-FMF/Storzi) repository for full instructions about developing and contributing patterns.



  The documentation is currently in development. You can check out the source code for more information and Storži repository for existing patterns.


pkgId: 6aa88338c6b9406c628b3610728154a99233bb556120118a2b9822456d40dd51
name: python-jelkasim-help
arch: noarch
version: 1.1.4
epoch: 0
release: 1
summary: Development documents and examples for jelkasim
url: https://github.com/Jelka-FMF/JelkaSim
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jelkasim-1.1.4-1.src.rpm
location_href: Packages/python-jelkasim-help-1.1.4-1.noarch.rpm
checksum_type: sha256
description:
  Simulation for running Jelka FMF patterns.



  If you want to contribute your own Jelka FMF patterns, you should check out the [Storži](https://github.com/Jelka-FMF/Storzi) repository for full instructions about developing and contributing patterns.



  ```sh
  pip install jelkasim
  ```



  ```
  usage: jelkasim [-h] [--positions POSITIONS] [runner] target

  Run Jelka FMF simulation.

  positional arguments:
    runner                  How to run your program.
    target                  Your program name.

  options:
    -h, --help              Show this help message and exit.
    --positions POSITIONS   File with LED positions. Leave empty for automatic detection or random.
  ```

  Examples:

  ```sh
  jelkasim moj_vzorec.py
  jelkasim moj_vzorec.exe
  jelkasim node moj_vzorec.js
  jelkasim ocaml moj_vzorec.ml
  ```

  For OCaml inside Docker, something like this should be used (probably):

  ```sh
  jelkasim docker exec container-name "ocaml moj_vzorec.ml"
  ```

  You should also figure out the container name using:

  ```sh
  docker ps
  ```


pkgId: 6a214c7d7a8f6ed32e9181dec16845bdf9484e5a09ab81c3189644f650e91f13
name: python-jellyfaas-help
arch: noarch
version: 1.0.0
epoch: 0
release: 1
summary: Development documents and examples for jellyfaas
url: https://pypi.org/project/jellyfaas/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jellyfaas-1.0.0-1.src.rpm
location_href: Packages/python-jellyfaas-help-1.0.0-1.noarch.rpm
checksum_type: sha256
description:
  This Python module provides a client for interacting with the [JellyFaaS](https://app.jellyfaas.com) API.

  For usage details, see the JellyFaaS [Docs](https://docs.jellyfaas.com).

rpm_license:
  Copyright (c) 2024 Platform48  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: 6b7d417f01c0e752ef3509b18b1b2df931d86c81c359c95564260d78cf437fd3
name: python-jet-bridge-base-help
arch: noarch
version: 1.11.7
epoch: 0
release: 1
summary: Development documents and examples for jet-bridge-base
url: https://github.com/jet-admin/jet-bridge-base
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jet-bridge-base-1.11.7-1.src.rpm
location_href: Packages/python-jet-bridge-base-help-1.11.7-1.noarch.rpm
checksum_type: sha256
description:
  * About Jet Admin: https://www.jetadmin.io
  * **Live Demo**: https://app.jetadmin.io/demo
  * Documentation: https://docs.jetadmin.io/
  * Support: support@jetadmin.io
  **Jet Admin** is a SaaS service that automatically generates extendable back office for your application. <br />
  **Jet Bridge** is a standalone app which generates REST API thought which your SQL database is connected to **Jet Admin**. <br />
  This project has been designed to fit requirements of small startups and mature companies.
  - **Data Privacy**. Jet does not access your data: its transferred directly from browser to your application.
  - **Customizable Interface**. With WYSIWYG interface customization your can change almost every part of interface.
  - **Extendable**. Flex Features allows you to create your custom Actions, Views, Fields and other.
  - **Works with any technology**. The interface is generated automatically based on an analysis of the data and data structure of your database.
  - **Quick installation**. All you need is to install Jet Bridge and connect it to your database.
  This is a complete remake of our popular [Django Jet](https://github.com/geex-arts/django-jet) admin interface.


pkgId: c5f9725fa9a77ef5c40fb18d850e302f068202f713d71a1bd0274c451956023b
name: python-jewcal-help
arch: noarch
version: 0.7.4
epoch: 0
release: 1
summary: Development documents and examples for jewcal
url: https://pypi.org/project/jewcal/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jewcal-0.7.4-1.src.rpm
location_href: Packages/python-jewcal-help-0.7.4-1.noarch.rpm
checksum_type: sha256
description:
  |
  Convert Gregorian to Jewish dates with holidays and zmanim (Diaspora/Israel).
  Get info about:
  * The Jewish date
  * Shabbos and Yom Tov events
  * The action (`Candles` or `Havdalah`)
  * The zmanim
    * Sunrise
    * Sunset
    * Plag Hamincha
    * Hadlokas Haneiros (adjust the minutes before sunset)
    * Tzeis (adjust to stars or minutes after sunset)
  Determine whether it is:
  * Erev Shabbos or Erev Yom Tov
  * Shabbos
  * Yom Tov
  * Issur Melacha
  If latitude and longitude are specified, nightfall is taken into account to calculate
  the Jewish date.

rpm_license:
  MIT License  Copyright (c) 2022 essel-dev  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: 1148e58c80d9f2aa5f6adfbbd6448be0a410960a213de90616ec0bd2354cc4dd
name: python-jf-ingest-help
arch: noarch
version: 0.0.157
epoch: 0
release: 1
summary: Development documents and examples for jf-ingest
url: https://github.com/Jellyfish-AI/jf_ingest
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jf-ingest-0.0.157-1.src.rpm
location_href: Packages/python-jf-ingest-help-0.0.157-1.noarch.rpm
checksum_type: sha256
description:
  This is a Pypi Project that is shared between Agent and Managed Ingest (our self hosted prefect tasks) that is responsible for downloading Jira and Git code, and uploading it to our S3 bucket, where it can than be ingested to our database via the import tasks.



  The current state of this project is 'In Development'. Only parts of this module are live in production. We plan on doing a big Jira Cutover sometime in Q4 of 2023, hopefully. After a successful Jira Launch we will begin rolling out our git ingestion to use this module



  https://jelly-ai.atlassian.net/wiki/spaces/JEL/pages/2963210264/Working+with+Jellyfish+Ingest


pkgId: 5eea3d3cb5fe65c6c3a2ae9037676a52f283b2931a556b3f08db442705fa6904
name: python-jf1uids-help
arch: noarch
version: 0.1.8
epoch: 0
release: 1
summary: Development documents and examples for jf1uids
url: https://pypi.org/project/jf1uids/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jf1uids-0.1.8-1.src.rpm
location_href: Packages/python-jf1uids-help-0.1.8-1.noarch.rpm
checksum_type: sha256
description:
  Welcome to the repository of jf1uids, a 1d radial fluid solver written in JAX.

  jf1uid is written in a way such that mass and energy are conserved based on the approach of [Crittenden and Balachandar (2018)](https://doi.org/10.1007/s00193-017-0784-y) with a MUSCL-Hancock fluid solver. Note that for any general pupose (non-radial) problem consider using [JAX-Fluids](https://github.com/tumaer/JAXFLUIDS).

  The solver's code can be found in the jf1uis folder. You can find a simple example for getting
  started under [simple_example.ipynb](simple_example.ipynb).


  jf1uids can be installed via pip:

  ```bash
  pip install jf1uids
  ```

  For running the notebooks you will also need to install matplotlib (and jupyter).



  All the results from the paper can easily be reproduced via the notebooks provided

  - figure 1 &rarr; [conservational_properties.ipynb](notebooks/conservational_properties.ipynb): For a radial shock problem, conservation of mass and energy in jf1uids are showcased.
  - figure 2 &rarr; [gradients_through_stellar_wind.ipynb](notebooks/gradients_through_stellar_wind.ipynb): The gradients of the final fluid state with respect to the wind's velocity are analyzed.
  - figure 3 &rarr; [wind_parameter_optimization.ipynb](notebooks/wind_parameter_optimization.ipynb): Finding wind parameters from the final fluid state via
  gradient-descent is shown.



  - [x] Implement a conservative 1d radial fluid solver with simple to implement yet powerful numerical schemes.
  - [x] Implement a simple stellar wind model, first analyses on the gradients of the final fluid state with respect to the wind parameters.
  - [ ] Implementation of higher-order reconstruction methods like WENO-Z+, etc.
  - [ ] Implementation of different Riemann solvers
  - [ ] Implementation of a shock finder
  - [ ] Implementation of a simple cosmic ray model based on the energy dissipation in shocks
  - [ ] Two-fluid cosmic-ray model
  - [ ] Full-spectrum cosmic ray modeling


pkgId: d456f471083c80e17c95bf3e979f5ac79a17a2c01e5af0547b24b57bc1debe75
name: python-jianpian-downloader-help
arch: noarch
version: 1.0.0
epoch: 0
release: 1
summary: Development documents and examples for jianpian-downloader
url: https://github.com/skyfireitdiy/movie-downloader
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jianpian-downloader-1.0.0-1.src.rpm
location_href: Packages/python-jianpian-downloader-help-1.0.0-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
    Made with ❤️ by <a href="https://github.com/skyfireitdiy">skyfireitdiy</a>
  </p>


pkgId: c75b4f442fbee94d2fa68e57532094b59f527ab65b7e24e1c6ae2afb7d92aa67
name: python-jinja-autodoc-help
arch: noarch
version: 0.1.1
epoch: 0
release: 1
summary: Development documents and examples for jinja-autodoc
url: https://pypi.org/project/jinja-autodoc/
rpm_license: BSD License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jinja-autodoc-0.1.1-1.src.rpm
location_href: Packages/python-jinja-autodoc-help-0.1.1-1.noarch.rpm
checksum_type: sha256
description:
  Automatically document your Jinja templates with Sphinx.
  Have a look at the [documentation](https://jinja-autodoc.readthedocs.io)


pkgId: 08fc64304b80f25bf2cf3449fb86b3c3437ab1a7670038f956a0f72f88c79ff5
name: python-jinja2-indent-help
arch: noarch
version: 0.1.0
epoch: 0
release: 1
summary: Development documents and examples for jinja2-indent
url: https://pypi.org/project/jinja2-indent/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jinja2-indent-0.1.0-1.src.rpm
location_href: Packages/python-jinja2-indent-help-0.1.0-1.noarch.rpm
checksum_type: sha256
description:
  This Jinja2 extension adjusts the indentation of block content to a specified width.

  [![PyPI](https://img.shields.io/pypi/v/jinja2-indent.svg)](https://pypi.org/project/jinja2-indent/)
  [![Build Status](https://github.com/dldevinc/jinja2-indent/actions/workflows/tests.yml/badge.svg)](https://github.com/dldevinc/jinja2-indent)
  [![Software license](https://img.shields.io/pypi/l/jinja2-indent.svg)](https://pypi.org/project/jinja2-indent/)



  -   `python` >= 3.9



  Install the latest release with pip:

  ```shell
  pip install jinja2-indent
  ```



  The `{% indent %}` tag provided by this extension allows you to adjust the indentation level of the content inside the tag block. You can specify the desired width (in spaces), and the extension will reformat the content accordingly. This is particularly useful for aligning nested or indented structures in templates.



  The following example demonstrates how to increase the indentation of a block of text:

  ```python
  from jinja2 import Environment
  from jinja2_indent import IndentExtension

  env = Environment(extensions=[IndentExtension])

  template = env.from_string("""
  root:
  {% indent 4 %}
  - name: a
    value: 1

  - name: b
    value: 2

  - name: c
    value: 3
  {% endindent %}
  """)

  output = template.render()
  print(output)
  ```

  ```
  root:
      - name: a
        value: 1

      - name: b
        value: 2

      - name: c
        value: 3
  ```

  The following example demonstrates how to remove unnecessary indentation from a block of text:

  ```python
  from jinja2 import Environment
  from jinja2_indent import IndentExtension

  env = Environment(extensions=[IndentExtension])

  template = env.from_string("""
  - name: a
    value: 1

  {% indent 0 %}
    - name: b
      value: 2
  {% endindent %}

  - name: c
    value: 3
  """)

  output = template.render()
  print(output)
  ```

  ```
  - name: a
    value: 1

  - name: b
    value: 2

  - name: c
    value: 3
  ```


pkgId: 15046b8b2377bb9d060fc4b700b47848f6869cd847a853544a3a5587d137c7ed
name: python-jinja_autodoc-help
arch: noarch
version: 0.1.0
epoch: 0
release: 1
summary: Development documents and examples for jinja_autodoc
url: https://pypi.org/project/jinja_autodoc/
rpm_license: BSD License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jinja_autodoc-0.1.0-1.src.rpm
location_href: Packages/python-jinja_autodoc-help-0.1.0-1.noarch.rpm
checksum_type: sha256
description:
  Automatically document your Jinja templates with Sphinx.
  Have a look at the [documentation](https://sphinx-autodoc.readthedocs.io)


pkgId: bf13637636e29e64607762425d1f3503f98b363d5e1f685f89afe3018f566e62
name: python-jinns-help
arch: noarch
version: 1.2.0
epoch: 0
release: 1
summary: Development documents and examples for jinns
url: https://pypi.org/project/jinns/
rpm_license: Apache License 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jinns-1.2.0-1.src.rpm
location_href: Packages/python-jinns-help-1.2.0-1.noarch.rpm
checksum_type: sha256
description:
  ![status](https://gitlab.com/mia_jinns/jinns/badges/main/pipeline.svg) ![coverage](https://gitlab.com/mia_jinns/jinns/badges/main/coverage.svg)
  Physics Informed Neural Networks with JAX. **jinns** is developed to estimate solutions of ODE and PDE problems using neural networks, with a strong focus on
   1. inverse problems: find equation parameters given noisy/indirect observations
   2. meta-modeling: solve for a parametric family of differential equations
  It can also be used for forward problems and hybrid-modeling.
  **jinns** specific points:
  - **jinns uses JAX** - It is directed to JAX users: forward and backward autodiff, vmapping, jitting and more! No reinventing the wheel: it relies on the JAX ecosystem whenever possible, such as [equinox](https://github.com/patrick-kidger/equinox/) for neural networks or [optax](https://optax.readthedocs.io/) for optimization.
  - **jinns is highly modular** - It gives users maximum control for defining their problems, and extending the package. The maths and computations are visible and not hidden behind layers of code!
  - **jinns is efficient** - It compares favorably to other existing Python package for PINNs on the [PINNacle benchmarks](https://github.com/i207M/PINNacle/), as demonstrated in the table below. For more details on the benchmarks, checkout the [PINN multi-library benchmark](https://gitlab.com/mia_jinns/pinn-multi-library-benchmark)
  - Implemented PINN architectures
      - Vanilla Multi-Layer Perceptron popular accross the PINNs litterature.
      - [Separable PINNs](https://openreview.net/pdf?id=dEySGIcDnI): allows to leverage forward-mode autodiff for computational speed.
      - [Hyper PINNs](https://arxiv.org/pdf/2111.01008.pdf): useful for meta-modeling
  - **Get started**: check out our various notebooks on the [documentation](https://mia_jinns.gitlab.io/jinns/index.html).
  |  | jinns | DeepXDE - JAX | DeepXDE - Pytorch | PINA | Nvidia Modulus |
  |---|:---:|:---:|:---:|:---:|:---:|
  | Burgers1D | **445** | 723 | 671 | 1977 | 646 |
  | NS2d-C | **265** | 278 | 441 | 1600 | 275 |
  | PInv | 149 | 218 | *CC* | 1509 | **135** |
  | Diffusion-Reaction-Inv | **284** | *NI* | 3424 | 4061 | 2541 |
  | Navier-Stokes-Inv | **175** | *NI* | 1511 | 1403 | 498 |
  *Training time in seconds on an Nvidia T600  GPU. NI means problem cannot be implemented in the backend, CC means the code crashed.*
  ![A diagram of jinns workflow](img/jinns-diagram.png)

  Install the latest version with pip
  ```bash
  pip install jinns
  ```

  The project's documentation is hosted on Gitlab page and available at [https://mia_jinns.gitlab.io/jinns/index.html](https://mia_jinns.gitlab.io/jinns/index.html).

  Open an issue on the [Gitlab repo](https://gitlab.com/mia_jinns/jinns/-/issues).

  Here are the contributors guidelines:
  1. First fork the library on Gitlab.
  2. Then clone and install the library in development mode with
  ```bash
  pip install -e .
  ```
  3. Install pre-commit and run it.
  ```bash
  pip install pre-commit
  pre-commit install
  ```
   4. Open a merge request once you are done with your changes, the review will be done via Gitlab.

  Don't hesitate to contribute and get your name on the list here !
  **List of contributors:** Hugo Gangloff, Nicolas Jouvin

  Please consider citing our work if you found it useful to yours, using the following lines
  ```
  @software{jinns2024,
      title={\texttt{jinns}: Physics-Informed Neural Networks with JAX},
      author={Gangloff, Hugo and Jouvin, Nicolas},
      url={https://gitlab.com/mia_jinns},
      year={2024}
  }
  ```


pkgId: 70146de33c4aab69d080947605b3cd6dca7b42f9e3d31d5840280e78cd307df6
name: python-jittor-help
arch: noarch
version: 1.3.9.14
epoch: 0
release: 1
summary: Development documents and examples for jittor
url: http://jittor.org
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jittor-1.3.9.14-1.src.rpm
location_href: Packages/python-jittor-help-1.3.9.14-1.noarch.rpm
checksum_type: sha256
description:
  ![Jittor Logo](https://cg.cs.tsinghua.edu.cn/jittor/favicon_package_v0/JittorLogo_Final1220.svg)

  [Quickstart](#quickstart) | [Install](#install) | [Tutorial](#tutorial) | [简体中文](./README.cn.md)


  Jittor is a high-performance deep learning framework based on JIT compiling and meta-operators. The whole framework and meta-operators are compiled just-in-time. A powerful op compiler and tuner are integrated into Jittor. It allowed us to generate high-performance code with specialized for your model. Jittor also contains a wealth of high-performance model libraries, including: image recognition, detection, segmentation, generation, differentiable rendering, geometric learning, reinforcement learning, etc. .


  The front-end language is Python. Module Design and Dynamic Graph Execution is used in the front-end, which is the most popular design for deeplearning framework interface. The back-end is implemented by high performance language, such as CUDA,C++.


  Related Links:
  *  [Jittor Website](https://cg.cs.tsinghua.edu.cn/jittor/)
  *  [Jittor Tutorials](https://cg.cs.tsinghua.edu.cn/jittor/tutorial/)
  *  [Jittor Models](https://cg.cs.tsinghua.edu.cn/jittor/resources/)
  *  [Jittor Documents](https://cg.cs.tsinghua.edu.cn/jittor/assets/docs/index.html)
  *  [Github](https://github.com/jittor/jittor), [GitLink](https://www.gitlink.org.cn/jittor/jittor), [Gitee](https://gitee.com/jittor/jittor)
  *  [Jittor Forum](https://discuss.jittor.org/)
  *  [Awesome Jittor List](https://github.com/Jittor/jittor/blob/master/AWESOME-JITTOR-LIST.md)
  *  IM: QQ Group(761222083)



  The following example shows how to model a two-layer neural network step by step and train from scratch In a few lines of Python code.


  ```python
  import jittor as jt
  from jittor import Module
  from jittor import nn
  import numpy as np

  class Model(Module):
      def __init__(self):
          self.layer1 = nn.Linear(1, 10)
          self.relu = nn.Relu()
          self.layer2 = nn.Linear(10, 1)
      def execute (self,x) :
          x = self.layer1(x)
          x = self.relu(x)
          x = self.layer2(x)
          return x

  def get_data(n): # generate random data for training test.
      for i in range(n):
          x = np.random.rand(batch_size, 1)
          y = x*x
          yield jt.float32(x), jt.float32(y)


  learning_rate = 0.1
  batch_size = 50
  n = 1000

  model = Model()
  optim = nn.SGD(model.parameters(), learning_rate)

  for i,(x,y) in enumerate(get_data(n)):
      pred_y = model(x)
      dy = pred_y - y
      loss = dy * dy
      loss_mean = loss.mean()
      optim.step(loss_mean)
      print(f"step {i}, loss = {loss_mean.data.sum()}")
  ```



  * [Quickstart](#quickstart)
  * [Install](#install)
  * [Tutorial](#tutorial)
  * [Contributing](#contributing)
  * [The Team](#theteam)
  * [License](#license)






  We provide some jupyter notebooks to help you quick start with Jittor.


  - [Example: Model definition and training][1]
  - [Basics: Op, Var][2]
  - [Meta-operator: Implement your own convolution with Meta-operator][3]





  Jittor environment requirements:

  | OS                                                     | CPU                                 | Python | Compiler     | (Optional) GPU platform                                |
  |--------------------------------------------------------|-------------------------------------|--------|--------------|---------------------------------------------|
  | Linux<br>(Ubuntu, CentOS, Arch, <br>UOS, KylinOS, ...) | x86 <br>x86_64 <br>ARM <br>loongson | >= 3.7 | g++ >=5.4    | Nvidia CUDA >= 10.0, [cuDNN](https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installlinux-tar) <br> or [AMD ROCm](https://docs.amd.com/) >= 4.0 <br> or [Hygon DCU DTK](https://tycloud.hpccube.com/doc/1.0.6/11277/general-handbook/software-tutorial/jittor.html) >= 22.04 |
  | macOS <br>(>= 10.14 Mojave)                            | intel<br>Apple Silicon              | >= 3.7 | clang >= 8.0 | -                                           |
  | Windows 10 & 11                                        | x86_64                              | [>= 3.8](https://www.python.org/downloads/windows/) | -            | Nvidia CUDA >= 10.2 [cuDNN](https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-windows)                               |


  Jittor offers three ways to install: pip, docker, or manual.





  ```bash
  sudo apt install python3.7-dev libomp-dev
  python3.7 -m pip install jittor


  python3.7 -m jittor.test.test_example
  ```






  Please first install additional dependencies with [homebrew](https://brew.sh).

  ```bash
  brew install libomp
  ```


  Then you can install jittor through pip and run the example.

  ```bash
  python3.7 -m pip install jittor
  python3.7 -m jittor.test.test_example
  ```


  Currently jittor only supports CPU on macOS.






  ```bash

  python --version
  python -m pip install jittor

  conda install pywin32
  ```


  In Windows, jittor will automatically detect and install CUDA, please make sure your NVIDIA driver support CUDA 10.2  or above, or you can manually let jittor install CUDA for you:

  ```bash
  python -m jittor_utils.install_cuda
  ```






  We provide a Docker installation method to save you from configuring the environment. The Docker installation method is as follows:

  ```

  docker run -it --network host jittor/jittor

  docker run -it --network host --gpus all jittor/jittor-cuda

  docker run -it -p 8888:8888 jittor/jittor
  ```




  We will show how to install Jittor in Ubuntu 16.04 step by step, Other Linux distributions may have similar commands.





  ```bash

  sudo apt install g++ build-essential libomp-dev


  wget -O - https://raw.githubusercontent.com/Jittor/jittor/master/script/install_llvm.sh > /tmp/llvm.sh
  bash /tmp/llvm.sh 8
  ```



  Jittor need python version >= 3.7.


  ```bash
  sudo apt install python3.7 python3.7-dev
  ```




  The whole framework is compiled Just-in-time. Let's install jittor via pip


  ```bash
  git clone https://github.com/Jittor/jittor.git
  sudo pip3.7 install ./jittor
  export cc_path="clang++-8"





  python3.7 -m jittor.test.test_example
  ```
  if the test is passed, your Jittor is ready.





  Using CUDA in Jittor is very simple, Just setup environment value `nvcc_path`


  ```bash

  export nvcc_path="/usr/local/cuda/bin/nvcc"

  python3.7 -m jittor.test.test_cuda
  ```
  if the test is passed, your can use Jittor with CUDA by setting `use_cuda` flag.


  ```python
  import jittor as jt
  jt.flags.use_cuda = 1
  ```




  To check the integrity of Jittor, you can run Resnet18 training test. Note: 6G GPU RAM is requires in this test.


  ```bash
  python3.7 -m jittor.test.test_resnet
  ```
  if those tests are failed, please report bugs for us, and feel free to contribute ^_^





  In the tutorial section, we will briefly explain the basic concept of Jittor.


  To train your model with Jittor, there are only three main concepts you need to know:


  * Var: basic data type of jittor
  * Operations: Jittor'op is simular with numpy




  First, let's get started with Var. Var is the basic data type of jittor. Computation process in Jittor is asynchronous for optimization. If you want to access the data, `Var.data` can be used for synchronous data accessing.


  ```python
  import jittor as jt
  a = jt.float32([1,2,3])
  print (a)
  print (a.data)


  ```

  And we can give the variable a name.


  ```python
  a.name('a')
  print(a.name())

  ```




  Jittor'op is simular with numpy. Let's try some operations. We create Var `a` and `b` via operation `jt.float32`, and add them. Printing those variables shows they have the same shape and dtype.


  ```python
  import jittor as jt
  a = jt.float32([1,2,3])
  b = jt.float32([4,5,6])
  c = a*b
  print(a,b,c)
  print(type(a), type(b), type(c))


  ```
  Beside that, All the operators we used `jt.xxx(Var, ...)` have alias `Var.xxx(...)`. For example:


  ```python
  c.max() # alias of jt.max(c)
  c.add(a) # alias of jt.add(c, a)
  c.min(keepdims=True) # alias of jt.min(c, keepdims=True)
  ```

  if you want to know all the operation which Jittor supports. try `help(jt.ops)`. All the operation you found in `jt.ops.xxx`, can be used via alias `jt.xxx`.


  ```python
  help(jt.ops)






  ```



  If you want to know more about Jittor, please check out the notebooks below:


  * Quickstart
      - [Example: Model definition and training][1]
      - [Basics: Op, Var][2]
      - [Meta-operator: Implement your own convolution with Meta-operator][3]
  * Advanced
      - [Custom Op: write your operator with C++ and CUDA and JIT compile it][4]
      - [Profiler: Profiling your model][5]
      - Jtune: Tool for performance tuning



  [1]: python/jittor/notebook/example.src.md	"example"
  [2]: python/jittor/notebook/basics.src.md	"basics"
  [3]: python/jittor/notebook/meta_op.src.md	"meta_op"
  [4]: python/jittor/notebook/custom_op.src.md	"custom_op"
  [5]: python/jittor/notebook/profiler.src.md	"profiler"

  Those notebooks can be started in your own computer by `python3.7 -m jittor.notebook`





  Jittor is still young. It may contain bugs and issues. Please report them in our bug track system. Contributions are welcome. Besides, if you have any ideas about Jittor, please let us know.




  You can help Jittor in the following ways:

  * Citing Jittor in your paper
  * recommend Jittor to your friends
  * Contributing code
  * Contributed tutorials and documentation
  * File an issue
  * Answer jittor related questions
  * Light up the stars
  * Keep an eye on jittor
  * ......







  Website: http://cg.cs.tsinghua.edu.cn/jittor/

  Email: jittor@qq.com

  File an issue: https://github.com/Jittor/jittor/issues

  QQ Group: 836860279


  <img src="https://github.com/Jittor/jittor/assets/62846124/8dd830bd-b31c-4e4f-9a78-5fd7a3409145" width="200"/>




  Jittor is currently maintained by the [Tsinghua CSCG Group](https://cg.cs.tsinghua.edu.cn/). If you are also interested in Jittor and want to improve it, Please join us!





  ```
  @article{hu2020jittor,
    title={Jittor: a novel deep learning framework with meta-operators and unified graph execution},
    author={Hu, Shi-Min and Liang, Dun and Yang, Guo-Ye and Yang, Guo-Wei and Zhou, Wen-Yang},
    journal={Science China Information Sciences},
    volume={63},
    number={222103},
    pages={1--21},
    year={2020}
  }
  ```




  Jittor is Apache 2.0 licensed, as found in the LICENSE.txt file.


pkgId: e6057264489f6fb83f10df2e052ca5630524c2632fa0ba3b3ad1cc0e615ea1dc
name: python-jmarkov-help
arch: noarch
version: 0.1.1
epoch: 0
release: 1
summary: Development documents and examples for jmarkov
url: https://pypi.org/project/jmarkov/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jmarkov-0.1.1-1.src.rpm
location_href: Packages/python-jmarkov-help-0.1.1-1.noarch.rpm
checksum_type: sha256
description:
  jMarkov is a library to simplify the modeling of systems with Markov chains.

  With jmarkov it is possible to model
  - Continuous-time Markov chains (CTMCs)
  - Discrete-time Markov chains (DTMCs)
  - Infinite and finite Birth-Death processes (BDs)
  - Queueing systems
  - Markov decision processes (MDPs)
  - Stochastic dynamic programs (SDPs)

  To use it
  ```bash
  pip install jmarkov
  ```

  You can find the documentation on how to use it [here](https://jmarkov.readthedocs.io/en/latest/)


pkgId: ad5aa6b8d2f2c119e209a69834af9ecdd266b13e3ad656a8a860a0f0a5599daf
name: python-jneqsim-help
arch: noarch
version: 3.0.10
epoch: 0
release: 1
summary: Development documents and examples for jneqsim
url: https://github.com/equinor/jneqsim
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jneqsim-3.0.10-1.src.rpm
location_href: Packages/python-jneqsim-help-3.0.10-1.noarch.rpm
checksum_type: sha256
description:
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

  Python interface for the [NeqSim java package](https://equinor.github.io/neqsimhome/), with stubs. Java interface is created with [jpype](https://jpype.readthedocs.io/en/latest/index.html#), and stubs are generated with [stubgenj](https://gitlab.cern.ch/scripting-tools/stubgenj)




  [https://pypi.org/project/jneqsim/](https://pypi.org/project/jneqsim/)
  > [!NOTE]
  > JNeqSim mirrors NeqSims versions



  ![demo.gif](docs/demo.gif)




  ```python
  from jneqsim import neqsim


  def pressurize_gas():
      inlet_fluid = neqsim.thermo.system.SystemSrkEos()
      neqsim.thermo.system.SystemSrkEos()
      thermo_ops = neqsim.thermodynamicOperations.ThermodynamicOperations(inlet_fluid)
      inlet_fluid.addComponent("methane", 100.0)

      inlet_fluid.setTemperature(10, "C")
      inlet_fluid.setPressure(20, "bara")
      inlet_fluid.setMultiPhaseCheck(True)
      inlet_fluid.setSolidPhaseCheck("methane")

      thermo_ops.TPflash()
      thermo_ops.bubblePointTemperatureFlash()

      inlet_fluid.initProperties()
      enthalpy = inlet_fluid.getEnthalpy()

      inlet_fluid.setPressure(1.0, "bara")
      thermo_ops.PHflash(enthalpy)
  ```



  - [jpype](https://jpype.readthedocs.io/en/latest/index.html#)


  <a id="Contributing"></a>



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

  Please make sure to update tests as appropriate.


pkgId: 9fd5857e5976f53e5a9f7ccf4046520d254d9eeb6c3d2a3849e3fe6b73f59483
name: python-jobbergate-api-help
arch: noarch
version: 5.4.1
epoch: 0
release: 1
summary: Development documents and examples for jobbergate-api
url: https://github.com/omnivector-solutions/jobbergate
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jobbergate-api-5.4.1-1.src.rpm
location_href: Packages/python-jobbergate-api-help-5.4.1-1.noarch.rpm
checksum_type: sha256
description:
  The Jobbergate API provides a RESTful interface over the Jobbergate data and is used
  by both the `jobbergate-agent` and the `jobbergate-cli` to view and manage the
  Jobbergate resources.

  Jobbergate API is a Python project implemented with
  [FastAPI](https://fastapi.tiangolo.com/). Its dependencies and environment are
  managed by [Poetry](https://python-poetry.org/).

  It integrates with an OIDC server to provide identity and auth for its endpoints.

  See also:

  * [jobbergate-cli](https://github.com/omnivector-solutions/jobbergate/jobbergate-cli)



  * [MIT](./LICENSE)



  * Copyright (c) 2020 OmniVector Solutions <info@omnivector.solutions>


pkgId: 3d0c8199173882ae261e189001c52558ca5299f3df62bcf8283cc002d0a5b603
name: python-jobbergate-core-help
arch: noarch
version: 5.4.1
epoch: 0
release: 1
summary: Development documents and examples for jobbergate-core
url: https://github.com/omnivector-solutions/jobbergate
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jobbergate-core-5.4.1-1.src.rpm
location_href: Packages/python-jobbergate-core-help-5.4.1-1.noarch.rpm
checksum_type: sha256
description:
  Jobbergate-core is a sub-project that contains the key components and logic that is shared among all other sub-projects
  (CLI, API, and Agent). Additionally, jobbergate-core exists to support custom automation built on top of Jobbergate.



  * [MIT](LICENSE)



  * Copyright (c) 2023 OmniVector Solutions <info@omnivector.solutions>


pkgId: 23f8d909c46c1829a9e5a4d3b1c111b5e940f3de59286f51f14015209e53a084
name: python-jolt-docker-help
arch: noarch
version: 0.9.370
epoch: 0
release: 1
summary: Development documents and examples for jolt-docker
url: https://github.com/srand/jolt
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jolt-docker-0.9.370-1.src.rpm
location_href: Packages/python-jolt-docker-help-0.9.370-1.noarch.rpm
checksum_type: sha256
description:
  Jolt is a task execution tool designed for software development tasks.
  It can build your C/C++ applications and React frontends, run tests, deploy your web services,
  and much more.
  Tasks are defined in Python scripts. They may be executed locally by developers or by automation software
  such as Jenkins in a continuous integration pipeline. In both cases, tasks may be distributed and executed
  in parallel in a server cluster. The output of each task is cached to reduce overall execution times on
  repeat attempts. In one real world deployment, Jolt shortend the CI build duration from 10 hours to 10 minutes
  on average.
  Example C++ application task:
     class CppApp(CXXExecutable):
         """ Builds a C++ application """
         arch = Parameter(values=["arm", "x64"])
         requires = [
            "git:url=https://github.com/org/cppapp.git",
            "gcc:arch={arch},version=9.1.1",
         ]
         sources = ["cppapp/include/*.hpp", "cppapp/src/*.cpp"]
    $ jolt build cppapp:arch=x64
  Example Node.js tasks:
    class NodeJS(Download):
        """ Downloads and publishes Node.js. Adds binaries to PATH. """
        version = Parameter("14.16.1")
        url = "https://nodejs.org/dist/v{version}/node-v{version}-win-x64.zip"
        def publish(self, artifact, tools):
            super(publish).publish(artifact, tools)
            artifact.environ.PATH.append("node-v{version}-win-x64")
     class WebApp(Task):
         """ Builds a really cool WebApp """
         requires = [
             "git:url=https://github.com/org/webapp.git",
             "nodejs"
         ]
         def run(self, deps, tools):
             with tools.cwd("webapp"):
                 tools.run("npm ci")
                 tools.run("npm build")
    $ jolt build webapp
  A common command line interface for all tasks enables developers from different
  disciplines to quickly run each others tasks without in-depth knowledge of the underlying technology -
  a C++ developer doesn't have to learn NPM and a React developer doesn't have to know anything about
  CMake, Make, MSBuild, etc. Required tools and dependencies are also provisioned automatically.
  For full documentation, please visit http://jolt.readthedocs.io/


pkgId: 45f893aeb431c593174659b67b43077652a4766783d3a7d7063b4e1d03c39b07
name: python-joulescope-ui-help
arch: noarch
version: 1.2.5
epoch: 0
release: 1
summary: Development documents and examples for joulescope-ui
url: https://www.joulescope.com
rpm_license: Apache 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-joulescope-ui-1.2.5-1.src.rpm
location_href: Packages/python-joulescope-ui-help-1.2.5-1.noarch.rpm
checksum_type: sha256
description:
  Welcome to the Joulescope™ User Interface software repo!
  Joulescope is an affordable, precision energy
  analyzer that enables you to build better products.
  Joulescope™ accurately and simultaneously measures the voltage and current
  supplied to your target device, and it then computes power and energy.
  For more information on Joulescope, see
  [www.joulescope.com](https://www.joulescope.com).

  This repository contains the Joulescope graphical User Interface (UI).
  The UI runs on a host computer and communicates with the Joulescope device
  over USB.  The application source code is available at
  https://github.com/jetperch/pyjoulescope_ui.

  The software is highly configurable.  Here is the Multimeter view on Windows 11:

  <img src="docs/multimeter.png" width="509" />

  And here is the Oscilloscope view on Windows 11:

  ![Oscilloscope View](docs/oscilloscope.png)

  For more information, see:

  * [Tips](docs/tips.md): for using the UI.
  * [Translations and locale](docs/locale.md)
  * [Plugins](docs/plugin.md): Using and developing UI plugins.
  * [Changelog](CHANGELOG.md): list of changes by release
  * [Future features](docs/features_future.md)
  * [Contributing](CONTRIBUTING.md)
  * [Code of Conduct](CODE_OF_CONDUCT.md)
  * [Developer notes](docs/dev.md)
  * [PubSub](docs/pubsub.md)




  We provide official distributions for Windows, macOS and Ubuntu 22.04LTS.

  Visit the main [download](https://www.joulescope.com/download)
  page for the latest stable build.

  You can download the latest and previous alpha, beta, and stable builds
  [here](https://download.joulescope.com/joulescope_install/index_v2.html).




  The Joulescope UI is a python package which you can install for pypi or
  run directly from source.




  The Joulescope User Interface requires Python 3.9 or newer.
  We recommend Python 3.11.
  Install [Python 3.9+](https://www.python.org/) on your system and then verify
  your python version at the terminal or command line:

      > python -VV
      Python 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)]

  Ensure that you have Python 3.9 or newer and 64-bit.
  For macOS, you can also use
  [Homebrew](https://docs.brew.sh/Installation)
  to [install python](https://docs.brew.sh/Homebrew-and-Python).




  Although not required, using
  [virtualenv](https://virtualenv.pypa.io/en/latest/)
  avoids dependency conflicts, especially if you use your python installation for
  other programs.  Using virtualenv ensures that
  the Joulescope software has the right dependencies without changing the rest
  of your system.




  Install virtualenv and create a new virtual environment:

      python -v venv c:\venv\joulescope

  Activate the virtual environment whenever you start a new terminal:

      c:\venv\joulescope\Scripts\activate




  Install virtualenv and create a new virtual environment:

      python -m venv ~/venv/joulescope

  Activate the virtual environment whenever you start a new terminal:

      . ~/venv/joulescope/bin/activate




  Installation from pypi is easy:

      python -m pip install -U --upgrade-strategy=eager joulescope_ui

  If you just want to run the latest released version of the UI.

  For Linux, you need to perform additional steps.  Here are steps for
  Ubuntu:

      sudo apt install libudev-dev libxcb-cursor0
      wget https://raw.githubusercontent.com/jetperch/joulescope_driver/main/99-joulescope.rules
      sudo cp 99-joulescope.rules /etc/udev/rules.d/
      sudo udevadm control --reload-rules

  If you receive the error:
  `Could not load the Qt platform plugin "xcb" in "" even though it was found`,
  you need to install additional dependencies.  First identify the
  missing dependencies:

      export QT_DEBUG_PLUGINS=1
      python3 -m joulescope_ui

  Then install them using apt or your distribution's package manager.
  The Joulescope UI uses Qt6, and you can find the Qt6 dependencies
  [here](https://doc.qt.io/qt-6/linux-requirements.html).




  Whenever you want to run the Joulescope UI:

      python -m joulescope_ui

  Depending upon your system, you may need to replace "python"
  with "python3" or the full path to your python executable.

  The joulescope package also contains an executable, so you can often type:

      joulescope ui




  Clone and configure the Joulescope UI from the terminal or command line:

      git clone https://github.com/jetperch/pyjoulescope_ui.git
      cd pyjoulescope_ui
      python -m pip install -U --upgrade-strategy eager -r requirements.txt

  Build the QT resources:

      python setup.py sdist

  As long as the current directory is the source directory, you can run:

      python -m joulescope_ui

  If you want to run from another directory, you will need to add the source
  to your PYTHONPATH environment variable.

  Windows using command prompt:

      set PYTHONPATH={C:\path\to\repos}\pyjoulescope_ui

  Windows using PowerShell:

      $env:PYTHONPATH = "{C:\path\to\repos}\pyjoulescope_ui"

  POSIX shells (most Linux, macOS with homebrew):

      export PYTHONPATH={path/to/repos}/pyjoulescope_ui

  To also distribute the UI on macOS, you need to install XCode and then
  configure node.  If using homebrew:

      brew install node
      npm install

  You will also need to install the signing certificate using
  Applications/Utilities/Keychain Access.

  If you also want to simultaneously develop the Joulescope UI and the
  Joulescope driver, you can include the joulescope_driver in
  your PYTHONPATH and build in place:

      pip3 uninstall joulescope
      cd {path/to/repos}
      git clone https://github.com/jetperch/joulescope_driver.git
      cd joulescope_driver
      pip3 install -U -r requirements.txt
      python setup.py build_ext --inplace && python -m unittest
      git clone https://github.com/jetperch/pyjoulescope.git
      cd pyjoulescope
      pip3 install -U -r requirements.txt
      python setup.py build_ext --inplace && python -m unittest

  You should then modify your python path to find both the UI and driver
  source paths. On Windows:

      set PYTHONPATH={C:\path\to\repos}\joulescope_driver;C:\path\to\repos}\pyjoulescope;{C:\path\to\repos}\pyjoulescope_ui

  and on POSIX (Linux, Mac OS X with homebrew):

      export PYTHONPATH={path/to/repos}/pyjoulescope:{path/to/repos}/pyjoulescope_ui




  All pyjoulescope_ui code is released under the permissive Apache 2.0 license.
  See the [License File](LICENSE.txt) for details.


pkgId: a196c4101af54e724000859caaa89a11c683cfc45f1371effcbb5142b88a548f
name: python-joyrl-help
arch: noarch
version: 0.6.8
epoch: 0
release: 1
summary: Development documents and examples for joyrl
url: https://github.com/datawhalechina/joyrl
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-joyrl-0.6.8-1.src.rpm
location_href: Packages/python-joyrl-help-0.6.8-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI](https://img.shields.io/pypi/v/joyrl)](https://pypi.org/project/joyrl/)  [![GitHub issues](https://img.shields.io/github/issues/datawhalechina/joyrl)](https://github.com/datawhalechina/joyrl/issues) [![GitHub stars](https://img.shields.io/github/stars/datawhalechina/joyrl)](https://github.com/datawhalechina/joyrl/stargazers) [![GitHub forks](https://img.shields.io/github/forks/datawhalechina/joyrl)](https://github.com/datawhalechina/joyrl/network) [![GitHub license](https://img.shields.io/github/license/datawhalechina/joyrl)](https://github.com/datawhalechina/joyrl/blob/master/LICENSE)

  `JoyRL` is a parallel reinforcement learning library based on PyTorch and Ray. Unlike existing RL libraries, `JoyRL` is helping users to release the burden of implementing algorithms with tough details, unfriendly APIs, and etc. JoyRL is designed for users to train and test RL algorithms with **only hyperparameters configuration**, which is mush easier for beginners to learn and use. Also, JoyRL supports plenties of state-of-art RL algorithms including **RLHF(core of ChatGPT)**(See algorithms below). JoyRL provides a **modularized framework** for users as well to customize their own algorithms and environments.



  ⚠️ Note that donot install JoyRL through any mirror image!!!

  ```bash

  conda create -n joyrl python=3.10
  conda activate joyrl
  pip install -U joyrl
  ```

  Torch install:

  ```bash

  pip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1

  pip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cu118

  pip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cu121
  ```





  the following presents a demo to use joyrl. As you can see, first create a yaml file to **config hyperparameters**, then run the command as below in your terminal. That's all you need to do to train a DQN agent on CartPole-v1 environment.

  ```bash
  joyrl --yaml ./presets/ClassControl/CartPole-v1/CartPole-v1_DQN.yaml
  ```
  or you can run the following code in your python file.

  ```python
  import joyrl
  if __name__ == "__main__":
      print(joyrl.__version__)
      yaml_path = "./presets/ClassControl/CartPole-v1/CartPole-v1_DQN.yaml"
      joyrl.run(yaml_path = yaml_path)
  ```





  More tutorials and API documentation are hosted on [JoyRL docs](https://datawhalechina.github.io/joyrl/) or [JoyRL 中文文档](https://datawhalechina.github.io/joyrl-book/#/joyrl_docs/main).



  |       Name       |                          Reference                           |                    Author                     | Notes |
  | :--------------: | :----------------------------------------------------------: | :-------------------------------------------: | :---: |
  | Q-learning | [RL introduction](https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf) | [johnjim0816](https://github.com/johnjim0816) |       |
  | Sarsa | [RL introduction](https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf) | [johnjim0816](https://github.com/johnjim0816) | |
  | DQN | [DQN Paper](https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf) | [johnjim0816](https://github.com/johnjim0816) | |
  | Double DQN  |     [DoubleDQN Paper](https://arxiv.org/abs/1509.06461)      | [johnjim0816](https://github.com/johnjim0816) | |
  | Dueling DQN | [DuelingDQN Paper](https://arxiv.org/abs/1511.06581) | [johnjim0816](https://github.com/johnjim0816) | |
  | NoisyDQN | [NoisyDQN Paper](https://arxiv.org/pdf/1706.10295.pdf) | [johnjim0816](https://github.com/johnjim0816) | |
  | DDPG | [DDPG Paper](https://arxiv.org/abs/1509.02971) | [johnjim0816](https://github.com/johnjim0816) | |
  | TD3 | [TD3 Paper](https://arxiv.org/pdf/1802.09477) | [johnjim0816](https://github.com/johnjim0816) | |
  | A2C/A3C | [A3C Paper](https://arxiv.org/abs/1602.01783) | [johnjim0816](https://github.com/johnjim0816) | |
  | PPO | [PPO Paper](https://arxiv.org/abs/1707.06347) | [johnjim0816](https://github.com/johnjim0816) | |
  | SoftQ | [SoftQ Paper](https://arxiv.org/abs/1702.08165) | [johnjim0816](https://github.com/johnjim0816) | |



  | RL Platform                                                  | GitHub Stars                                                 | # of Alg. <sup>(1)</sup> | Custom Env                     | Async Training      | RNN Support        | Multi-Head Observation | Backend                                           |
  | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------ | ------------------------------ | ------------------ | ------------------ | ---------------------- | ------------------------------------------------- |
  | [Baselines](https://github.com/openai/baselines)             | [![GitHub stars](https://img.shields.io/github/stars/openai/baselines)](https://github.com/openai/baselines/stargazers) | 9                        | :heavy_check_mark: (gym)       | :x:                | :heavy_check_mark: | :x:                    | TF1                                               |
  | [Stable-Baselines](https://github.com/hill-a/stable-baselines) | [![GitHub stars](https://img.shields.io/github/stars/hill-a/stable-baselines)](https://github.com/hill-a/stable-baselines/stargazers) | 11                       | :heavy_check_mark: (gym)       | :x:                | :heavy_check_mark: | :x:                    | TF1                                               |
  | [Stable-Baselines3](https://github.com/DLR-RM/stable-baselines3) | [![GitHub stars](https://img.shields.io/github/stars/DLR-RM/stable-baselines3)](https://github.com/DLR-RM/stable-baselines3/stargazers) | 7        | :heavy_check_mark: (gym)       | :x:                | :x:                | :heavy_check_mark:     | PyTorch                                           |
  | [Ray/RLlib](https://github.com/ray-project/ray/tree/master/rllib/) | [![GitHub stars](https://img.shields.io/github/stars/ray-project/ray)](https://github.com/ray-project/ray/stargazers) | 16                       | :heavy_check_mark:             | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | TF/PyTorch                                        |
  | [SpinningUp](https://github.com/openai/spinningup)           | [![GitHub stars](https://img.shields.io/github/stars/openai/spinningup)](https://github.com/openai/spinningupstargazers) | 6                        | :heavy_check_mark: (gym)       | :x:                | :x:                | :x:                    | PyTorch                                           |
  | [Dopamine](https://github.com/google/dopamine)               | [![GitHub stars](https://img.shields.io/github/stars/google/dopamine)](https://github.com/google/dopamine/stargazers) | 7                        | :x:                            | :x:                | :x:                | :x:                    | TF/JAX                                            |
  | [ACME](https://github.com/deepmind/acme)                     | [![GitHub stars](https://img.shields.io/github/stars/deepmind/acme)](https://github.com/deepmind/acme/stargazers) | 14                       | :heavy_check_mark: (dm_env)    | :x:                | :heavy_check_mark: | :heavy_check_mark:     | TF/JAX                                            |
  | [keras-rl](https://github.com/keras-rl/keras-rl)             | [![GitHub stars](https://img.shields.io/github/stars/keras-rl/keras-rl)](https://github.com/keras-rl/keras-rlstargazers) | 7                        | :heavy_check_mark: (gym)       | :x:                | :x:                | :x:                    | Keras                                             |
  | [cleanrl](https://github.com/vwxyzjn/cleanrl)                | ![GitHub stars](https://img.shields.io/github/stars/vwxyzjn/cleanrl) | 9                        | :heavy_check_mark: (gym)       | :x:                | :x:                | :x:                    | [poetry](https://github.com/python-poetry/poetry) |
  | [rlpyt](https://github.com/astooke/rlpyt)                    | [![GitHub stars](https://img.shields.io/github/stars/astooke/rlpyt)](https://github.com/astooke/rlpyt/stargazers) | 11                       | :x:                            | :x:                | :heavy_check_mark: | :heavy_check_mark:     | PyTorch                                           |
  | [ChainerRL](https://github.com/chainer/chainerrl)            | [![GitHub stars](https://img.shields.io/github/stars/chainer/chainerrl)](https://github.com/chainer/chainerrl/stargazers) | 18                       | :heavy_check_mark: (gym)       | :x:                | :heavy_check_mark: | :x:                    | Chainer                                           |
  | [Tianshou](https://github.com/thu-ml/tianshou)               | [![GitHub stars](https://img.shields.io/github/stars/thu-ml/tianshou)](https://github.com/thu-ml/tianshou/stargazers) | 20                       | :heavy_check_mark: (Gymnasium) | :x:                | :heavy_check_mark: | :heavy_check_mark:     | PyTorch                                           |
  | [JoyRL](https://github.com/datawhalechina/joyrl)             | ![GitHub stars](https://img.shields.io/github/stars/datawhalechina/joyrl) | 11                     | :heavy_check_mark: (Gymnasium) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | PyTorch                                           |

  Here are some other highlghts of JoyRL:

  * Provide a series of Chinese courses [JoyRL Book](https://github.com/datawhalechina/joyrl-book) (with the English version in progress), suitable for beginners to start with a combination of theory



  <table border="0">
    <tbody>
      <tr align="center" >
          <td>
           <a href="https://github.com/JohnJim0816"><img width="70" height="70" src="https://github.com/JohnJim0816.png?s=40" alt="pic"></a><br>
           <a href="https://github.com/JohnJim0816">John Jim</a>
           <p>Peking University</p>
          </td>
          <td>
              <a href="https://github.com/qiwang067"><img width="70" height="70" src="https://github.com/qiwang067.png?s=40" alt="pic"></a><br>
              <a href="https://github.com/qiwang067">Qi Wang</a>
              <p>Shanghai Jiao Tong University</p>
          </td>
          <td>
              <a href="https://github.com/yyysjz1997"><img width="70" height="70" src="https://github.com/yyysjz1997.png?s=40" alt="pic"></a><br>
              <a href="https://github.com/yyysjz1997">Yiyuan Yang</a>
              <p>University of Oxford</p>
          </td>
      </tr>
    </tbody>
  </table>


pkgId: dff54a0a4f388e155b8cf3faed43d82c6c3f3126db7c75cf183e62a797d03f07
name: python-jprinter-help
arch: noarch
version: 0.1.1
epoch: 0
release: 1
summary: Development documents and examples for jprinter
url: https://github.com/OE-LUCIFER/JPRINT
rpm_license: Apache 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jprinter-0.1.1-1.src.rpm
location_href: Packages/python-jprinter-help-0.1.1-1.noarch.rpm
checksum_type: sha256
description:
  <div align="center">
      <br>
      <p>
          Wassup, fam! 👋 Meet <code>jprinter</code>, your new go-to tool for debugging! 💯
          This ain't just your regular <code>print()</code> function; we're talkin' next-level debugging that keeps it real and helps you crush those bugs! 💪
      </p>
  </div>

  <br>

  <div align="center">
      <a href="https://github.com/OE-LUCIFER/JPRINT/issues">
          <img src="https://img.shields.io/github/issues/OE-LUCIFER/JPRINT" alt="GitHub Issues" />
      </a>
      <a href="https://github.com/OE-LUCIFER/JPRINT/blob/main/LICENSE">
          <img src="https://img.shields.io/github/license/OE-LUCIFER/JPRINT" alt="License" />
       </a>
      <a href="https://pypi.org/project/jprinter/">
        <img src="https://img.shields.io/pypi/v/jprinter" alt="PyPI version" />
      </a>
  </div>

  <br>



  - [What's `jprinter` All About?](#whats-jprinter-all-about)
  - [Key Features That Keep It 💯](#key-features-that-keep-it-💯)
  - [How to Use `jprinter` Like a Pro](#how-to-use-jprinter-like-a-pro)
      - [Basic Usage with `jp` and `jprint`](#basic-usage-with-jp-and-jprint)
      - [Logging with Different Levels](#logging-with-different-levels)
      - [Global Enable/Disable](#global-enabledisable)
      - [Custom Prefixes](#custom-prefixes)
      - [Pretty Printing Complex Data Structures](#pretty-printing-complex-data-structures)
      - [Custom Separators](#custom-separators)
      - [File Logging](#file-logging)
  - [Installation - Keeping It Simple](#installation---keeping-it-simple)
      - [Option 1: Copy and Paste (The Easiest Way)](#option-1-copy-and-paste-the-easiest-way)
      - [Option 2: Using `pip` (For the Pros)](#option-2-using-pip-for-the-pros)
      - [Option 3: Installing to Python's Builtins (Advanced & Risky)](#option-3-installing-to-pythons-builtins-advanced--risky)
  - [Package Structure - Know Your Tools](#package-structure---know-your-tools)
  - [Output Format Examples - See It to Believe It](#output-format-examples---see-it-to-believe-it)
      - [Basic `jp` Usage](#basic-jp-usage)
      - [Basic `jprint` Usage](#basic-jprint-usage)
      - [Custom Prefix](#custom-prefix)
      - [Pretty Print](#pretty-print)
      - [Logging Output](#logging-output)
  - [Advanced Usage - Level Up Your Debugging Game](#advanced-usage---level-up-your-debugging-game)
  - [Troubleshooting - When Things Get Tricky](#troubleshooting---when-things-get-tricky)
      - [Common Issues](#common-issues)
  - [Let's Level Up Together!](#lets-level-up-together)
  - [License - Keeping It Open and Free](#license---keeping-it-open-and-free)

  <br>



  <div align="justify">
      <code>jprinter</code> is here to replace that basic <code>print()</code> function and bring your debugging game into the future! 🚀 We know that debugging can be a pain, so we've built this tool with all the features you need to make it real, fast, and efficient. 😤
  </div>

  <br>



  <div align="justify">
      <ul>
          <li><strong>Enhanced Output:</strong> See variable values, context (filename, line number, function name) all in one clean output.</li>
          <li><strong>Customizable Prefixes:</strong> Set a custom prefix to make sure you know what's being printed from which part of your code! 🗣️</li>
          <li><strong>Built-in Context:</strong> Automatically adds the file name, line number, and function name, so you always know where the action is! 📍</li>
          <li><strong>Colorized Output:</strong> Make your output stand out with custom colors that make it easier to read. 🎨</li>
          <li><strong><code>sep</code> and <code>end</code>:</strong> Full control over separators and end-of-line characters, just like the original <code>print()</code>. 🔤</li>
          <li><strong>Pretty Printing:</strong> Nicely format complex data structures like dictionaries and lists so they're easy to read. ✨</li>
          <li><strong>File Logging:</strong> Log all your output to a file, with or without timestamps, for keeping track of everything. 📝</li>
           <li><strong>Global Enable/Disable:</strong> Turn off all <code>jprinter</code> output with a single command so you can clean up the console when needed. 📴</li>
          <li><strong>Log Function:</strong> Output different log levels (debug, info, warning, error) for better organization and clarity! 🗂️</li>
      </ul>
  </div>

  <br>





  Here's a basic example of how to use `jprint` and its shortcut, `jp`:

  ```python
  from jprinter import jp, jprint


  jp("Hello, world!")


  jprint("This is", "a", "test")
  ```



  You can log with different levels using the `log` function:

  ```python
  from jprinter import log

  log("This is a debug message", level="debug")
  log("This is an info message", level="info")
  log("This is a warning message", level="warning")
  log("This is an error message", level="error")
  ```



  You can disable and enable all `jprinter` output using the `JPrintDebugger` class:

  ```python
  from jprinter import jp
  from jprinter.core import JPrintDebugger

  jp("This will be printed")
  JPrintDebugger.disable_all()
  jp("This will not be printed")
  JPrintDebugger.enable_all()
  jp("This will be printed again")
  ```



  Set custom prefixes for different debugging sections:

  ```python
  from jprinter import jp

  jp("Debug info here", prefix="DEBUG >>> ")
  jp("Important note", prefix="NOTE >>> ")
  ```



  Format complex data structures for readability:

  ```python
  from jprinter import jp

  data = {"name": "HAI", "age": 17, "hobbies": ["coding", "gaming", "reading"]}
  jp(data, pprint_options={"indent": 4})
  ```



  Use custom separators:

  ```python
  from jprinter import jp

  jp("Keep", "it", "real", sep=" - ")
  ```



  Log your output to a file:

  ```python
  from jprinter import jp

  jp("This is a log message", log_file="debug.log")
  ```

  <br>





  Just drop the `jprinter` folder into your project's directory, and you're good to go! 💯 No extra installations needed.



  If you like to keep it clean, install `jprinter` with pip:

  ```bash
  pip install jprinter
  ```



  **⚠️ WARNING: Modifying Python's builtins can cause issues and is not recommended. Proceed with caution!**

  To use `jprinter` as a built-in function, edit `builtins.py` in your Python installation:

  1.  **Locate `builtins.py`:** Usually found in your Python installation directory.
  2.  **Edit `builtins.py`:** Add the following lines to the file:

      ```python
      from jprinter import jprint as print
      ```
  3.  **Restart Python:** This will make the changes effective.

  <br>



  <div align="justify">
     Here's a breakdown of the key files:
      <ul>
      <li><strong><code>__init__.py</code>:</strong> Initializes the <code>jprinter</code> package.</li>
      <li><strong><code>builtins.py</code>:</strong> Functions to integrate <code>jprinter</code> with Python builtins.</li>
       <li><strong><code>coloring.py</code>:</strong> Handles the color magic.</li>
      <li><strong><code>core.py</code>:</strong> The heart of <code>jprinter</code> with all the core functionality.</li>
      <li><strong><code>jp.py</code>:</strong> The <code>jp</code> function for quick debugging.</li>
      <li><strong><code>jprint.py</code>:</strong> The main module for <code>jprint</code>.</li>
      <li><strong><code>README.md</code>:</strong> This file, for all the important documentation.</li>
      </ul>
  </div>

  <br>





  ```python
  from jprinter import jp
  jp("Hello, world!")
  ```

  **Output:**

  ```
  JARVIS -> [test_jprint.py:2] in () >>> Hello, world!
  ```



  ```python
  from jprinter import jprint
  jprint("Hello, world!")
  ```

  **Output:**

  ```
  JARVIS -> [test_jprint.py:2] in () >>> Hello, world!
  ```



  ```python
  from jprinter import jp
  jp("Hello, world!", prefix="DEBUG >>> ")
  ```

  **Output:**

  ```
  DEBUG >>> [test_jprint.py:2] in () >>> Hello, world!
  ```



  ```python
  from jprinter import jp
  data = {"name": "HAI", "age": 17, "hobbies": ["coding", "gaming", "reading"]}
  jp(data, pprint_options={"indent": 4})
  ```

  **Output:**

  ```
  JARVIS -> [test_jprint.py:2] in () >>> {
      "name": "HAI",
      "age": 17,
      "hobbies": [
          "coding",
          "gaming",
          "reading"
      ]
  }
  ```



  ```python
  from jprinter import log
  log("This is a warning", level="warning")
  ```

  **Output:**

  ```
  [WARNING] JARVIS -> [test_jprint.py:2] in () >>> This is a warning
  ```

  <br>



  See how to use the global enable/disable and logging in the [How to Use](#how-to-use-jprinter-like-a-pro) section.

  <br>





  1.  **`ImportError`**: Make sure you have installed or copied the files properly.
  2.  **Output Not Working**: Make sure the `JPrintDebugger` is enabled and configured.

  <br>



  <div align="justify">
      Feel free to contribute to the project by submitting issues or pull requests. Let's make <code>jprinter</code> the best tool for all the devs out there! 💪
  </div>




  <div align="justify">
      This project is licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>.
  </div>


pkgId: 0913935e3933cd50faea80e35e9b309e04c97f05f15aaa11b9479192f944723a
name: python-jpterm-help
arch: noarch
version: 0.2.20
epoch: 0
release: 1
summary: Development documents and examples for jpterm
url: https://github.com/davidbrochart/jpterm
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jpterm-0.2.20-1.src.rpm
location_href: Packages/python-jpterm-help-0.2.20-1.noarch.rpm
checksum_type: sha256
description:
  [![Build Status](https://github.com/davidbrochart/jpterm/workflows/test/badge.svg)](https://github.com/davidbrochart/jpterm/actions)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)

  <p align="center">
  <a href="https://polar.sh/davidbrochart">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://polar.sh/embed/subscribe.svg?org=davidbrochart&darkmode=1">
    <img alt="Subscribe" src="https://polar.sh/embed/subscribe.svg?org=davidbrochart">
  </picture>
  </a>
  </p>



  Jpterm is the successor of [nbterm](https://github.com/davidbrochart/nbterm).

  It aims to be the equivalent of [JupyterLab](https://jupyterlab.readthedocs.io) in the terminal, using the [Textual](https://textual.textualize.io) framework.

  For more details, see the [documentation](https://davidbrochart.github.io/jpterm).


pkgId: cd58cd02d2a8c0962292e549581a86f9899b566931286b7c3d219cc304b8b64c
name: python-jpviz-help
arch: noarch
version: 0.1.7
epoch: 0
release: 1
summary: Development documents and examples for jpviz
url: https://github.com/zombie-einstein/jaxpr-viz
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jpviz-0.1.7-1.src.rpm
location_href: Packages/python-jpviz-help-0.1.7-1.noarch.rpm
checksum_type: sha256
description:
  JAX Computation Graph Visualisation Tool

  JAX has built-in functionality to visualise the
  HLO graph generated by JAX, but I've found this rather
  low-level for some use-cases.

  The intention of this package is to visualise how
  sub-functions are connected in JAX programs. It does
  this by converting the [JaxPr](https://jax.readthedocs.io/en/latest/jaxpr.html)
  representation into a pydot graph. See [here](.github/docs/gallery.md)
  for examples.

  > **NOTE:** This project is still at an early stage and may not
  > support all JAX functionality (or permutations thereof). If you spot
  > some strange behaviour please create a [Github issue](https://github.com/zombie-einstein/jaxpr-viz/issues).



  Install with pip:

  ```bash
  pip install jpviz
  ```

  Dependent on your system you may also need to install [Graphviz](https://www.graphviz.org/)



  Jaxpr-viz can be used to visualise jit compiled (and nested)
  functions. It wraps jit compiled functions, which when called
  with concrete values returns a [pydot](https://github.com/pydot/pydot)
  graph.

  For example this simple computation graph

  ```python
  import jax
  import jax.numpy as jnp

  import jpviz

  @jax.jit
  def foo(x):
      return 2 * x

  @jax.jit
  def bar(x):
      x = foo(x)
      return x - 1



  dot_graph = jpviz.draw(bar)(jnp.arange(10))

  dot_graph.write_png("computation_graph.png")
  ```

  produces this image

  ![bar computation graph](.github/images/bar_collapsed.png)

  Pydot has a number of options for rendering graphs, see
  [here](https://github.com/pydot/pydot#output).

  > **NOTE:** For sub-functions to show as nodes/sub-graphs they
  > need to be marked with `@jax.jit`, otherwise they will just
  > merged into thir parent graph.



  To show the rendered graph in a jupyter notebook you can use the
  helper function `view_pydot`

  ```python
  ...
  dot_graph = jpviz.draw(bar)(jnp.arange(10))
  jpviz.view_pydot(dot)
  ```




  By default, functions that are composed of only primitive functions
  are collapsed into a single node (like `foo` in the above example).
  The full computation graph can be rendered using the `collapse_primitives`
  flag, setting it to `False` in the above example

  ```python
  ...
  dot_graph = jpviz.draw(bar, collapse_primitives=False)(jnp.arange(10))
  ...
  ```

  produces

  ![bar computation graph](.github/images/bar_expanded.png)



  By default, type information is included in the node labels, this
  can be hidden using the `show_avals` flag, setting it to `False`

  ```python
  ...
  dot_graph = jpviz.draw(bar, show_avals=False)(jnp.arange(10))
  ...
  ```

  produces

  ![bar computation graph](.github/images/bar_no_types.png "Title")

  > **NOTE:** The labels of the nodes don't currently correspond
  > to argument/variable names in the original Python code. Since
  > JAX unpacks arguments/outputs to tuples they do correspond
  > to the positioning of arguments and outputs.



  See [here](.github/docs/gallery.md) for more examples of rendered computation graphs.



  Developer notes can be found [here](.github/docs/developers.md).


pkgId: fe3dd7206659e807478e587a77731c60e712e81c92d5d314466077bbffb4f520
name: python-jrng-help
arch: noarch
version: 0.0.1
epoch: 0
release: 1
summary: Development documents and examples for jrng
url: https://pypi.org/project/jrng/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jrng-0.0.1-1.src.rpm
location_href: Packages/python-jrng-help-0.0.1-1.noarch.rpm
checksum_type: sha256
description:
  Small wrapper to use JAX random number generators via the NumPy random API.

      >>> from jrng import JRNG
      >>> rng = JRNG(42)
      >>> rng.standard_normal(3)
      Array([-0.5675502 ,  0.28439185, -0.9320608 ], dtype=float32)
      >>> rng.standard_normal(3)
      Array([ 0.67903334, -1.220606  ,  0.94670606], dtype=float32)


pkgId: 40d458e66dad08434ef27f434bba1dec0ec32fe8b4140e79ada476b5a64ab15a
name: python-jsii-help
arch: noarch
version: 1.106.0
epoch: 0
release: 1
summary: Development documents and examples for jsii
url: https://github.com/aws/jsii
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jsii-1.106.0-1.src.rpm
location_href: Packages/python-jsii-help-1.106.0-1.noarch.rpm
checksum_type: sha256
description:
  [![Join the chat at https://cdk.Dev](https://img.shields.io/static/v1?label=Slack&message=cdk.dev&color=brightgreen&logo=slack)](https://cdk.dev)
  [![All Contributors](https://img.shields.io/github/all-contributors/aws/jsii/main?label=%E2%9C%A8%20All%20Contributors)](#contributors-)
  [![Build Status](https://github.com/aws/jsii/workflows/Main/badge.svg)](https://github.com/aws/jsii/actions?query=workflow%3AMain+branch%3Amain)
  [![npm](https://img.shields.io/npm/v/jsii?logo=npm)](https://www.npmjs.com/package/jsii)
  [![docker](https://img.shields.io/badge/Docker-public.ecr.aws%2Fjsii%2Fsuperchain-brightgreen?logo=docker)](https://gallery.ecr.aws/jsii/superchain)



  `jsii` allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the
  [AWS Cloud Development Kit][cdk] to deliver polyglot libraries from a single codebase!

  [cdk]: https://github.com/aws/aws-cdk

  A class library written in **TypeScript** can be used in projects authored in **TypeScript** or **Javascript** (as
  usual), but also in **Python**, **Java**, **C#** (and other languages from the _.NET_ family), ...



  Head over to our [documentation website](https://aws.github.io/jsii)!

  The jsii toolchain is spread out on multiple repositories:

  - [aws/jsii-compiler](https://github.com/aws/jsii-compiler) is where the `jsii` compiler is maintained
  - [aws/jsii-rosetta](https://github.com/aws/jsii-rosetta) is where the `jsii-rosetta` sample code transliteration tool
    is maintained
  - [aws/jsii](https://github.com/aws/jsii) is where the rest of the toolchain is maintained, including:
    - The jsii runtime libraries for the supported jsii target languages
    - `@jsii/spec`, the package that defines the _`.jsii` assembly_ specification
    - `jsii-pacmak`, the bindings generator for jsii packages
    - `jsii-reflect`, a higher-level way to process _`.jsii` assemblies_
    - `jsii-config`, an interactive tool to help configure your jsii package



  Here's a collection of blog posts (in chronological order) related to `jsii`:

  - **2020-01-11:** <a id="blog-mbonig" /> [How to Create CDK Constructs][mbonig-2020-01-11], by [Matthew Bonig][@mbonig]
  - **2020-05-27:** <a id="blog-floydpink" /> [Generate Python, Java, and .NET software libraries from a TypeScript
    source][floydpink-2020-05-27], by [Hari Pachuveetil][@floydpink]
  - **2020-12-23:** <a id="blog-romainmuller" /> [How the jsii open source framework meets developers where they are][romain-2020-12-23], by [Romain Marcadier][@RomainMuller]

  [mbonig-2020-01-11]: https://www.matthewbonig.com/2020/01/11/creating-constructs/
  [floydpink-2020-05-27]:
    https://aws.amazon.com/fr/blogs/opensource/generate-python-java-dotnet-software-libraries-from-typescript-source/
  [romain-2020-12-23]:
    https://aws.amazon.com/blogs/opensource/how-the-jsii-open-source-framework-meets-developers-where-they-are/
  [@mbonig]: http://www.matthewbonig.com/
  [@floydpink]: https://harimenon.com/
  [@romainmuller]: https://github.com/RomainMuller

  > :information_source: If you wrote blog posts about `jsii` and would like to have them referenced here, do not hesitate
  > to file a pull request to add the links here!



  See [CONTRIBUTING](./CONTRIBUTING.md).



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

  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
  <!-- prettier-ignore-start -->
  <!-- markdownlint-disable -->
  <table>
    <tbody>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/aws/aws-cdk"><img src="https://avatars0.githubusercontent.com/u/43080478?v=4?s=100" width="100px;" alt="AWS CDK Automation"/><br /><sub><b>AWS CDK Automation</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Aaws-cdk-automation" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Aaws-cdk-automation" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/costleya"><img src="https://avatars2.githubusercontent.com/u/1572163?v=4?s=100" width="100px;" alt="Aaron Costley"/><br /><sub><b>Aaron Costley</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Acostleya+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=costleya" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Acostleya+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Acostleya" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/ahodieb"><img src="https://avatars1.githubusercontent.com/u/835502?v=4?s=100" width="100px;" alt="Abdallah Hodieb"/><br /><sub><b>Abdallah Hodieb</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aahodieb+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://endoflineblog.com/"><img src="https://avatars2.githubusercontent.com/u/460937?v=4?s=100" width="100px;" alt="Adam Ruka"/><br /><sub><b>Adam Ruka</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Askinny85+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=skinny85" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Askinny85" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Askinny85" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/agdimech"><img src="https://avatars.githubusercontent.com/u/51220968?v=4?s=100" width="100px;" alt="Adrian Dimech"/><br /><sub><b>Adrian Dimech</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=agdimech" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://adrianhesketh.com/"><img src="https://avatars.githubusercontent.com/u/1029947?v=4?s=100" width="100px;" alt="Adrian Hesketh"/><br /><sub><b>Adrian Hesketh</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=a-h" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://softwhat.com/"><img src="https://avatars0.githubusercontent.com/u/4362270?v=4?s=100" width="100px;" alt="Alex Pulver"/><br /><sub><b>Alex Pulver</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aalexpulver+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://kichik.com/"><img src="https://avatars.githubusercontent.com/u/1156773?v=4?s=100" width="100px;" alt="Amir Szekely"/><br /><sub><b>Amir Szekely</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Akichik" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/andipabst"><img src="https://avatars.githubusercontent.com/u/9639382?v=4?s=100" width="100px;" alt="Andi Pabst"/><br /><sub><b>Andi Pabst</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aandipabst+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/rectalogic"><img src="https://avatars.githubusercontent.com/u/11581?v=4?s=100" width="100px;" alt="Andrew Wason"/><br /><sub><b>Andrew Wason</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Arectalogic+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=rectalogic" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/andrestone"><img src="https://avatars.githubusercontent.com/u/7958086?v=4?s=100" width="100px;" alt="André Fontenele"/><br /><sub><b>André Fontenele</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=andrestone" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://www.aslezak.com/"><img src="https://avatars2.githubusercontent.com/u/6944605?v=4?s=100" width="100px;" alt="Andy Slezak"/><br /><sub><b>Andy Slezak</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=amslezak" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://ansgar.dev"><img src="https://avatars.githubusercontent.com/u/1112056?v=4?s=100" width="100px;" alt="Ansgar Mertens"/><br /><sub><b>Ansgar Mertens</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Aansgarm" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/commits?author=ansgarm" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Aansgarm+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/anshulguleria"><img src="https://avatars3.githubusercontent.com/u/993508?v=4?s=100" width="100px;" alt="Anshul Guleria"/><br /><sub><b>Anshul Guleria</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aanshulguleria+label%3Afeature-request" title="Feature requests">🤔</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/aripalo/"><img src="https://avatars0.githubusercontent.com/u/679146?v=4?s=100" width="100px;" alt="Ari Palo"/><br /><sub><b>Ari Palo</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aaripalo+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://armaan.tobaccowalla.com"><img src="https://avatars.githubusercontent.com/u/13340433?v=4?s=100" width="100px;" alt="Armaan Tobaccowalla"/><br /><sub><b>Armaan Tobaccowalla</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AArmaanT+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/BiDzej"><img src="https://avatars1.githubusercontent.com/u/26255490?v=4?s=100" width="100px;" alt="Bartłomiej Jurek"/><br /><sub><b>Bartłomiej Jurek</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ABiDzej+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://twiiter.com/benbridts"><img src="https://avatars0.githubusercontent.com/u/1301221?v=4?s=100" width="100px;" alt="Ben Bridts"/><br /><sub><b>Ben Bridts</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=benbridts" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/BenChaimberg"><img src="https://avatars.githubusercontent.com/u/3698184?v=4?s=100" width="100px;" alt="Ben Chaimberg"/><br /><sub><b>Ben Chaimberg</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=BenChaimberg" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/benfarr"><img src="https://avatars0.githubusercontent.com/u/10361379?v=4?s=100" width="100px;" alt="Ben Farr"/><br /><sub><b>Ben Farr</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=benfarr" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/BenWal"><img src="https://avatars0.githubusercontent.com/u/2656067?v=4?s=100" width="100px;" alt="Ben Walters"/><br /><sub><b>Ben Walters</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ABenWal+label%3Afeature-request" title="Feature requests">🤔</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="http://macher.dev"><img src="https://avatars0.githubusercontent.com/u/32685580?v=4?s=100" width="100px;" alt="Benjamin Macher"/><br /><sub><b>Benjamin Macher</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=bmacher" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/bmaizels"><img src="https://avatars1.githubusercontent.com/u/36682168?v=4?s=100" width="100px;" alt="Benjamin Maizels"/><br /><sub><b>Benjamin Maizels</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=bmaizels" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Abmaizels" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://berviantoleo.my.id/"><img src="https://avatars.githubusercontent.com/u/15927349?v=4?s=100" width="100px;" alt="Bervianto Leo Pratama"/><br /><sub><b>Bervianto Leo Pratama</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Aberviantoleo" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://wcauchois.github.io/"><img src="https://avatars1.githubusercontent.com/u/300544?v=4?s=100" width="100px;" alt="Bill Cauchois"/><br /><sub><b>Bill Cauchois</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Awcauchois+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/sirrus233"><img src="https://avatars.githubusercontent.com/u/8885220?v=4?s=100" width="100px;" alt="Bradley Sherman"/><br /><sub><b>Bradley Sherman</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=sirrus233" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/bverhoeve"><img src="https://avatars1.githubusercontent.com/u/46007524?v=4?s=100" width="100px;" alt="Brecht Verhoeve"/><br /><sub><b>Brecht Verhoeve</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Abverhoeve+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://bdawg.org/"><img src="https://avatars1.githubusercontent.com/u/92937?v=4?s=100" width="100px;" alt="Breland Miley"/><br /><sub><b>Breland Miley</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=mindstorms6" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/CaerusKaru"><img src="https://avatars3.githubusercontent.com/u/416563?v=4?s=100" width="100px;" alt="CaerusKaru"/><br /><sub><b>CaerusKaru</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=CaerusKaru" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3ACaerusKaru" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/comcalvi"><img src="https://avatars.githubusercontent.com/u/66279577?v=4?s=100" width="100px;" alt="Calvin Combs"/><br /><sub><b>Calvin Combs</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=comcalvi" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Acomcalvi" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://camilobermudez85.github.io/"><img src="https://avatars0.githubusercontent.com/u/7834055?v=4?s=100" width="100px;" alt="Camilo Bermúdez"/><br /><sub><b>Camilo Bermúdez</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Acamilobermudez85+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/campionfellin"><img src="https://avatars3.githubusercontent.com/u/11984923?v=4?s=100" width="100px;" alt="Campion Fellin"/><br /><sub><b>Campion Fellin</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=campionfellin" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/carterv"><img src="https://avatars2.githubusercontent.com/u/1551538?v=4?s=100" width="100px;" alt="Carter Van Deuren"/><br /><sub><b>Carter Van Deuren</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Acarterv+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/cgarvis"><img src="https://avatars.githubusercontent.com/u/213125?v=4?s=100" width="100px;" alt="Chris Garvis"/><br /><sub><b>Chris Garvis</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=cgarvis" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://christianmoore.me/"><img src="https://avatars.githubusercontent.com/u/36210509?v=4?s=100" width="100px;" alt="Christian Moore"/><br /><sub><b>Christian Moore</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ashamelesscookie+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/ChristopheVico"><img src="https://avatars.githubusercontent.com/u/56592817?v=4?s=100" width="100px;" alt="Christophe Vico"/><br /><sub><b>Christophe Vico</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AChristopheVico+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/christophercurrie"><img src="https://avatars0.githubusercontent.com/u/19510?v=4?s=100" width="100px;" alt="Christopher Currie"/><br /><sub><b>Christopher Currie</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=christophercurrie" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Achristophercurrie+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://rybicki.io/"><img src="https://avatars2.githubusercontent.com/u/5008987?v=4?s=100" width="100px;" alt="Christopher Rybicki"/><br /><sub><b>Christopher Rybicki</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=Chriscbr" title="Documentation">📖</a> <a href="https://github.com/aws/jsii/issues?q=author%3AChriscbr+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=Chriscbr" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/colifran"><img src="https://avatars.githubusercontent.com/u/131073567?v=4?s=100" width="100px;" alt="Colin Francis"/><br /><sub><b>Colin Francis</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Acolifran" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/CommanderRoot"><img src="https://avatars.githubusercontent.com/u/4395417?v=4?s=100" width="100px;" alt="CommanderRoot"/><br /><sub><b>CommanderRoot</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=CommanderRoot" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/corymhall"><img src="https://avatars.githubusercontent.com/u/43035978?v=4?s=100" width="100px;" alt="Cory Hall"/><br /><sub><b>Cory Hall</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Acorymhall+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://mcristi.wordpress.com"><img src="https://avatars.githubusercontent.com/u/95209?v=4?s=100" width="100px;" alt="Cristian Măgherușan-Stanciu"/><br /><sub><b>Cristian Măgherușan-Stanciu</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ACristim+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/CyrusNajmabadi"><img src="https://avatars3.githubusercontent.com/u/4564579?v=4?s=100" width="100px;" alt="CyrusNajmabadi"/><br /><sub><b>CyrusNajmabadi</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ACyrusNajmabadi+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/issues?q=author%3ACyrusNajmabadi+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/dsilbergleithcu-godaddy"><img src="https://avatars.githubusercontent.com/u/78872820?v=4?s=100" width="100px;" alt="Damian Silbergleith"/><br /><sub><b>Damian Silbergleith</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=dsilbergleithcu-godaddy" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Adsilbergleithcu-godaddy+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://danieldinu.com/"><img src="https://avatars1.githubusercontent.com/u/236187?v=4?s=100" width="100px;" alt="Daniel Dinu"/><br /><sub><b>Daniel Dinu</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Addinu+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=ddinu" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://danielmschmidt.de/"><img src="https://avatars.githubusercontent.com/u/1337046?v=4?s=100" width="100px;" alt="Daniel Schmidt"/><br /><sub><b>Daniel Schmidt</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ADanielMSchmidt+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=DanielMSchmidt" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://www.udondan.com/"><img src="https://avatars3.githubusercontent.com/u/6443408?v=4?s=100" width="100px;" alt="Daniel Schroeder"/><br /><sub><b>Daniel Schroeder</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Audondan+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=udondan" title="Code">💻</a> <a href="https://github.com/aws/jsii/commits?author=udondan" title="Documentation">📖</a> <a href="https://github.com/aws/jsii/issues?q=author%3Audondan+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Audondan" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/slotnick"><img src="https://avatars3.githubusercontent.com/u/918175?v=4?s=100" width="100px;" alt="Dave Slotnick"/><br /><sub><b>Dave Slotnick</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aslotnick+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/dastbe"><img src="https://avatars.githubusercontent.com/u/634735?v=4?s=100" width="100px;" alt="David Bell"/><br /><sub><b>David Bell</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=dastbe" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://caremad.io/"><img src="https://avatars3.githubusercontent.com/u/145979?v=4?s=100" width="100px;" alt="Donald Stufft"/><br /><sub><b>Donald Stufft</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adstufft+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=dstufft" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Adstufft+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Adstufft" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/dagnir"><img src="https://avatars2.githubusercontent.com/u/261310?v=4?s=100" width="100px;" alt="Dongie Agnir"/><br /><sub><b>Dongie Agnir</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=dagnir" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Adagnir" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://eduardorabelo.me/"><img src="https://avatars.githubusercontent.com/u/829902?v=4?s=100" width="100px;" alt="Eduardo Rabelo"/><br /><sub><b>Eduardo Rabelo</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=oieduardorabelo" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/edsenabr"><img src="https://avatars3.githubusercontent.com/u/15689137?v=4?s=100" width="100px;" alt="Eduardo Sena S. Rosa"/><br /><sub><b>Eduardo Sena S. Rosa</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aedsenabr+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://eladb.github.com/"><img src="https://avatars3.githubusercontent.com/u/598796?v=4?s=100" width="100px;" alt="Elad Ben-Israel"/><br /><sub><b>Elad Ben-Israel</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aeladb+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=eladb" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Aeladb+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Aeladb" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Aeladb" title="Reviewed Pull Requests">👀</a> <a href="#talk-eladb" title="Talks">📢</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/iliapolo"><img src="https://avatars0.githubusercontent.com/u/1428812?v=4?s=100" width="100px;" alt="Eli Polonsky"/><br /><sub><b>Eli Polonsky</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ailiapolo+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=iliapolo" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Ailiapolo+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Ailiapolo" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Ailiapolo" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/eric-hc"><img src="https://avatars.githubusercontent.com/u/1885157?v=4?s=100" width="100px;" alt="Eric Carboni"/><br /><sub><b>Eric Carboni</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=eric-hc" title="Documentation">📖</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="http://ericzbeard.com/"><img src="https://avatars0.githubusercontent.com/u/663183?v=4?s=100" width="100px;" alt="Eric Z. Beard"/><br /><sub><b>Eric Z. Beard</b></sub></a><br /><a href="#projectManagement-ericzbeard" title="Project Management">📆</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/McDoit"><img src="https://avatars3.githubusercontent.com/u/16723686?v=4?s=100" width="100px;" alt="Erik Karlsson"/><br /><sub><b>Erik Karlsson</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AMcDoit+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/kozlove-aws"><img src="https://avatars1.githubusercontent.com/u/68875428?v=4?s=100" width="100px;" alt="Eugene Kozlov"/><br /><sub><b>Eugene Kozlov</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=kozlove-aws" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/FabioGentile"><img src="https://avatars2.githubusercontent.com/u/7030345?v=4?s=100" width="100px;" alt="Fabio Gentile"/><br /><sub><b>Fabio Gentile</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AFabioGentile+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/workeitel"><img src="https://avatars1.githubusercontent.com/u/7794947?v=4?s=100" width="100px;" alt="Florian Eitel"/><br /><sub><b>Florian Eitel</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aworkeitel+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/gshpychka"><img src="https://avatars.githubusercontent.com/u/23005347?v=4?s=100" width="100px;" alt="Glib Shpychka"/><br /><sub><b>Glib Shpychka</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Agshpychka+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://www.grahamlea.com/"><img src="https://avatars0.githubusercontent.com/u/754403?v=4?s=100" width="100px;" alt="Graham Lea"/><br /><sub><b>Graham Lea</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AGrahamLea+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3AGrahamLea" title="Reviewed Pull Requests">👀</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/greglucas"><img src="https://avatars.githubusercontent.com/u/12417828?v=4?s=100" width="100px;" alt="Greg Lucas"/><br /><sub><b>Greg Lucas</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=greglucas" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/assyadh"><img src="https://avatars0.githubusercontent.com/u/4091730?v=4?s=100" width="100px;" alt="Hamza Assyad"/><br /><sub><b>Hamza Assyad</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aassyadh+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=assyadh" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Aassyadh+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Aassyadh" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://harimenon.com/"><img src="https://avatars2.githubusercontent.com/u/171072?v=4?s=100" width="100px;" alt="Hari Pachuveetil"/><br /><sub><b>Hari Pachuveetil</b></sub></a><br /><a href="#blog-floydpink" title="Blogposts">📝</a> <a href="https://github.com/aws/jsii/commits?author=floydpink" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/wafuwafu13"><img src="https://avatars.githubusercontent.com/u/50798936?v=4?s=100" width="100px;" alt="Hirotaka Tagawa / wafuwafu13"/><br /><sub><b>Hirotaka Tagawa / wafuwafu13</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=wafuwafu13" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/SoManyHs"><img src="https://avatars0.githubusercontent.com/u/29964746?v=4?s=100" width="100px;" alt="Hsing-Hui Hsu"/><br /><sub><b>Hsing-Hui Hsu</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=SoManyHs" title="Code">💻</a> <a href="https://github.com/aws/jsii/commits?author=SoManyHs" title="Documentation">📖</a> <a href="https://github.com/aws/jsii/issues?q=author%3ASoManyHs+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3ASoManyHs" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://zepvn.com/"><img src="https://avatars.githubusercontent.com/u/95884?v=4?s=100" width="100px;" alt="Huy Phan (Harry)"/><br /><sub><b>Huy Phan (Harry)</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=huyphan" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt="Ikko Ashimine"/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=eltociear" title="Documentation">📖</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Nycto"><img src="https://avatars.githubusercontent.com/u/30517?v=4?s=100" width="100px;" alt="James"/><br /><sub><b>James</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ANycto+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=Nycto" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/JKCT"><img src="https://avatars.githubusercontent.com/u/24870481?v=4?s=100" width="100px;" alt="James Kelley"/><br /><sub><b>James Kelley</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AJKCT+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://jamesmead.org/"><img src="https://avatars2.githubusercontent.com/u/3169?v=4?s=100" width="100px;" alt="James Mead"/><br /><sub><b>James Mead</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=floehopper" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jamesiri"><img src="https://avatars1.githubusercontent.com/u/22601145?v=4?s=100" width="100px;" alt="James Siri"/><br /><sub><b>James Siri</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=jamesiri" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Ajamesiri" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jasdel"><img src="https://avatars3.githubusercontent.com/u/961963?v=4?s=100" width="100px;" alt="Jason Del Ponte"/><br /><sub><b>Jason Del Ponte</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ajasdel+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Ajasdel" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://aws.amazon.com/"><img src="https://avatars1.githubusercontent.com/u/193449?v=4?s=100" width="100px;" alt="Jason Fulghum"/><br /><sub><b>Jason Fulghum</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Afulghum+label%3Afeature-request" title="Feature requests">🤔</a> <a href="#projectManagement-fulghum" title="Project Management">📆</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Afulghum" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jmalins"><img src="https://avatars.githubusercontent.com/u/2001356?v=4?s=100" width="100px;" alt="Jeff Malins"/><br /><sub><b>Jeff Malins</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=jmalins" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Jerry-AWS"><img src="https://avatars3.githubusercontent.com/u/52084730?v=4?s=100" width="100px;" alt="Jerry Kindall"/><br /><sub><b>Jerry Kindall</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=Jerry-AWS" title="Documentation">📖</a> <a href="https://github.com/aws/jsii/issues?q=author%3AJerry-AWS+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://nmussy.github.io/"><img src="https://avatars0.githubusercontent.com/u/2505696?v=4?s=100" width="100px;" alt="Jimmy Gaussen"/><br /><sub><b>Jimmy Gaussen</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Anmussy+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://twitter.com/jowe"><img src="https://avatars.githubusercontent.com/u/569011?v=4?s=100" width="100px;" alt="Johannes Weber"/><br /><sub><b>Johannes Weber</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=johannes-weber" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jpantzlaff"><img src="https://avatars.githubusercontent.com/u/33850400?v=4?s=100" width="100px;" alt="John Pantzlaff"/><br /><sub><b>John Pantzlaff</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=jpantzlaff" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://sudolibre.github.io/"><img src="https://avatars.githubusercontent.com/u/20878393?v=4?s=100" width="100px;" alt="Jon Day"/><br /><sub><b>Jon Day</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=sudolibre" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jsteinich"><img src="https://avatars0.githubusercontent.com/u/3868754?v=4?s=100" width="100px;" alt="Jon Steinich"/><br /><sub><b>Jon Steinich</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ajsteinich+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/issues?q=author%3Ajsteinich+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/commits?author=jsteinich" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://joekiller.com/"><img src="https://avatars3.githubusercontent.com/u/1022919?v=4?s=100" width="100px;" alt="Joseph Lawson"/><br /><sub><b>Joseph Lawson</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Ajoekiller" title="Reviewed Pull Requests">👀</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jpmartin2"><img src="https://avatars2.githubusercontent.com/u/2464249?v=4?s=100" width="100px;" alt="Joseph Martin"/><br /><sub><b>Joseph Martin</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ajpmartin2+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/dxunix"><img src="https://avatars3.githubusercontent.com/u/11489831?v=4?s=100" width="100px;" alt="Junix"/><br /><sub><b>Junix</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adxunix+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jusdino"><img src="https://avatars.githubusercontent.com/u/11840575?v=4?s=100" width="100px;" alt="Justin Frahm"/><br /><sub><b>Justin Frahm</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ajusdino+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/jsdtaylor"><img src="https://avatars0.githubusercontent.com/u/15832750?v=4?s=100" width="100px;" alt="Justin Taylor"/><br /><sub><b>Justin Taylor</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ajsdtaylor+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/kaizencc"><img src="https://avatars.githubusercontent.com/u/36202692?v=4?s=100" width="100px;" alt="Kaizen Conroy"/><br /><sub><b>Kaizen Conroy</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=kaizencc" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Akaizencc+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/kaizencc"><img src="https://avatars.githubusercontent.com/u/36202692?v=4?s=100" width="100px;" alt="Kaizen Conroy"/><br /><sub><b>Kaizen Conroy</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=kaizencc" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/z3r0w0n"><img src="https://avatars.githubusercontent.com/u/6740347?v=4?s=100" width="100px;" alt="Kaushik Borra"/><br /><sub><b>Kaushik Borra</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Az3r0w0n+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/aws/aws-cdk"><img src="https://avatars.githubusercontent.com/u/53584728?v=4?s=100" width="100px;" alt="Kendra Neil"/><br /><sub><b>Kendra Neil</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3ATheRealAmazonKendra" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://findable.no/"><img src="https://avatars.githubusercontent.com/u/51441?v=4?s=100" width="100px;" alt="Knut O. Hellan"/><br /><sub><b>Knut O. Hellan</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Akhellan+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/kiiadi"><img src="https://avatars3.githubusercontent.com/u/4661536?v=4?s=100" width="100px;" alt="Kyle Thomson"/><br /><sub><b>Kyle Thomson</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=kiiadi" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Akiiadi" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://stackoverflow.com/users/2116873/pedreiro"><img src="https://avatars3.githubusercontent.com/u/10764017?v=4?s=100" width="100px;" alt="Leandro Padua"/><br /><sub><b>Leandro Padua</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aleandropadua+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://liangzhou.dev"><img src="https://avatars.githubusercontent.com/u/1444104?v=4?s=100" width="100px;" alt="Liang Zhou"/><br /><sub><b>Liang Zhou</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Alzhoucs+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=lzhoucs" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/madeline-k"><img src="https://avatars.githubusercontent.com/u/80541297?v=4?s=100" width="100px;" alt="Madeline Kusters"/><br /><sub><b>Madeline Kusters</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=madeline-k" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Amadeline-k+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/majasb"><img src="https://avatars2.githubusercontent.com/u/142510?v=4?s=100" width="100px;" alt="Maja S Bratseth"/><br /><sub><b>Maja S Bratseth</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Amajasb+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/marcosdiez"><img src="https://avatars2.githubusercontent.com/u/297498?v=4?s=100" width="100px;" alt="Marcos Diez"/><br /><sub><b>Marcos Diez</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Amarcosdiez+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://polothy.github.io"><img src="https://avatars.githubusercontent.com/u/634657?v=4?s=100" width="100px;" alt="Mark Nielsen"/><br /><sub><b>Mark Nielsen</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=polothy" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://www.matthewbonig.com/"><img src="https://avatars2.githubusercontent.com/u/1559437?v=4?s=100" width="100px;" alt="Matthew Bonig"/><br /><sub><b>Matthew Bonig</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ambonig+label%3Abug" title="Bug reports">🐛</a> <a href="#blog-mbonig" title="Blogposts">📝</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mpiroc"><img src="https://avatars2.githubusercontent.com/u/1623344?v=4?s=100" width="100px;" alt="Matthew Pirocchi"/><br /><sub><b>Matthew Pirocchi</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=mpiroc" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Ampiroc+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Ampiroc" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://kane.mx"><img src="https://avatars.githubusercontent.com/u/843303?v=4?s=100" width="100px;" alt="Meng Xin Zhu"/><br /><sub><b>Meng Xin Zhu</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Azxkane+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mneil"><img src="https://avatars.githubusercontent.com/u/1605808?v=4?s=100" width="100px;" alt="Michael Neil"/><br /><sub><b>Michael Neil</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Amneil" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mikelane"><img src="https://avatars0.githubusercontent.com/u/6543713?v=4?s=100" width="100px;" alt="Mike Lane"/><br /><sub><b>Mike Lane</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Amikelane+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="http://elastician.com/"><img src="https://avatars3.githubusercontent.com/u/2056?v=4?s=100" width="100px;" alt="Mitch Garnaat"/><br /><sub><b>Mitch Garnaat</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Agarnaat+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=garnaat" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Agarnaat+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Agarnaat" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/MrArnoldPalmer"><img src="https://avatars0.githubusercontent.com/u/7221111?v=4?s=100" width="100px;" alt="Mitchell Valine"/><br /><sub><b>Mitchell Valine</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AMrArnoldPalmer+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=MrArnoldPalmer" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3AMrArnoldPalmer+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3AMrArnoldPalmer" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3AMrArnoldPalmer" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/MohamadSoufan"><img src="https://avatars3.githubusercontent.com/u/28849417?v=4?s=100" width="100px;" alt="Mohamad Soufan"/><br /><sub><b>Mohamad Soufan</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=MohamadSoufan" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/moelasmar"><img src="https://avatars.githubusercontent.com/u/71043312?v=4?s=100" width="100px;" alt="Mohamed Elasmar"/><br /><sub><b>Mohamed Elasmar</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=moelasmar" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://moritzkornher.de/"><img src="https://avatars.githubusercontent.com/u/379814?v=4?s=100" width="100px;" alt="Momo Kornher"/><br /><sub><b>Momo Kornher</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=mrgrain" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mmogylenko"><img src="https://avatars.githubusercontent.com/u/7536624?v=4?s=100" width="100px;" alt="Mykola Mogylenko"/><br /><sub><b>Mykola Mogylenko</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ammogylenko+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Naumel"><img src="https://avatars.githubusercontent.com/u/104374999?v=4?s=100" width="100px;" alt="Naumel"/><br /><sub><b>Naumel</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3ANaumel" title="Reviewed Pull Requests">👀</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/NetaNir"><img src="https://avatars0.githubusercontent.com/u/8578043?v=4?s=100" width="100px;" alt="Neta Nir"/><br /><sub><b>Neta Nir</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=NetaNir" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3ANetaNir+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3ANetaNir" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3ANetaNir" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/njlynch"><img src="https://avatars3.githubusercontent.com/u/1376292?v=4?s=100" width="100px;" alt="Nick Lynch"/><br /><sub><b>Nick Lynch</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Anjlynch+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=njlynch" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Anjlynch" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Anjlynch" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/nija-at"><img src="https://avatars2.githubusercontent.com/u/16217941?v=4?s=100" width="100px;" alt="Niranjan Jayakar"/><br /><sub><b>Niranjan Jayakar</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Anija-at+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=nija-at" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Anija-at+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Anija-at" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Anija-at" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/NGL321"><img src="https://avatars0.githubusercontent.com/u/4944099?v=4?s=100" width="100px;" alt="Noah Litov"/><br /><sub><b>Noah Litov</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=NGL321" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3ANGL321" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3ANGL321" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://otaviomacedo.github.io/"><img src="https://avatars.githubusercontent.com/u/288203?v=4?s=100" width="100px;" alt="Otavio Macedo"/><br /><sub><b>Otavio Macedo</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=otaviomacedo" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Aotaviomacedo+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Pidz-b"><img src="https://avatars3.githubusercontent.com/u/47750432?v=4?s=100" width="100px;" alt="PIDZ - Bart "/><br /><sub><b>PIDZ - Bart </b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3APidz-b+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/pahud"><img src="https://avatars.githubusercontent.com/u/278432?v=4?s=100" width="100px;" alt="Pahud Hsieh"/><br /><sub><b>Pahud Hsieh</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=pahud" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/peterwoodworth"><img src="https://avatars.githubusercontent.com/u/44349620?v=4?s=100" width="100px;" alt="Peter Woodworth"/><br /><sub><b>Peter Woodworth</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Apeterwoodworth" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/donicek"><img src="https://avatars.githubusercontent.com/u/8548012?v=4?s=100" width="100px;" alt="Petr Kacer"/><br /><sub><b>Petr Kacer</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adonicek+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://petrabarus.net/"><img src="https://avatars3.githubusercontent.com/u/523289?v=4?s=100" width="100px;" alt="Petra Barus"/><br /><sub><b>Petra Barus</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=petrabarus" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://philcali.me/"><img src="https://avatars1.githubusercontent.com/u/105208?v=4?s=100" width="100px;" alt="Philip Cali"/><br /><sub><b>Philip Cali</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aphilcali+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Kent1"><img src="https://avatars1.githubusercontent.com/u/83018?v=4?s=100" width="100px;" alt="Quentin Loos"/><br /><sub><b>Quentin Loos</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AKent1+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Console32"><img src="https://avatars1.githubusercontent.com/u/4870099?v=4?s=100" width="100px;" alt="Raphael"/><br /><sub><b>Raphael</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AConsole32+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/richardhboyd"><img src="https://avatars0.githubusercontent.com/u/58230111?v=4?s=100" width="100px;" alt="Richard H Boyd"/><br /><sub><b>Richard H Boyd</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Arichardhboyd+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="http://rix0r.nl/"><img src="https://avatars2.githubusercontent.com/u/524162?v=4?s=100" width="100px;" alt="Rico Huijbers"/><br /><sub><b>Rico Huijbers</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Arix0rrr+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=rix0rrr" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Arix0rrr+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Arix0rrr" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Arix0rrr" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://keybase.io/romainmuller"><img src="https://avatars2.githubusercontent.com/u/411689?v=4?s=100" width="100px;" alt="Romain Marcadier"/><br /><sub><b>Romain Marcadier</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ARomainMuller+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=RomainMuller" title="Code">💻</a> <a href="#design-RomainMuller" title="Design">🎨</a> <a href="https://github.com/aws/jsii/issues?q=author%3ARomainMuller+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3ARomainMuller" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3ARomainMuller" title="Reviewed Pull Requests">👀</a> <a href="#blog-RomainMuller" title="Blogposts">📝</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/ryparker"><img src="https://avatars.githubusercontent.com/u/17558268?v=4?s=100" width="100px;" alt="Ryan Parker"/><br /><sub><b>Ryan Parker</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=ryparker" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/sadikkuzu/"><img src="https://avatars2.githubusercontent.com/u/23168063?v=4?s=100" width="100px;" alt="SADIK KUZU"/><br /><sub><b>SADIK KUZU</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Asadikkuzu" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/skarode96"><img src="https://avatars2.githubusercontent.com/u/24491216?v=4?s=100" width="100px;" alt="SK"/><br /><sub><b>SK</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Askarode96+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/spfink"><img src="https://avatars1.githubusercontent.com/u/20525381?v=4?s=100" width="100px;" alt="Sam Fink"/><br /><sub><b>Sam Fink</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=spfink" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Aspfink" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://punch.dev/"><img src="https://avatars1.githubusercontent.com/u/38672686?v=4?s=100" width="100px;" alt="Sam Goodwin"/><br /><sub><b>Sam Goodwin</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Asam-goodwin" title="Reviewed Pull Requests">👀</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://skorfmann.com/"><img src="https://avatars1.githubusercontent.com/u/136789?v=4?s=100" width="100px;" alt="Sebastian Korfmann"/><br /><sub><b>Sebastian Korfmann</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Askorfmann+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=skorfmann" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Askorfmann+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://sepehrlaal.com/"><img src="https://avatars.githubusercontent.com/u/5657848?v=4?s=100" width="100px;" alt="Sepehr Laal"/><br /><sub><b>Sepehr Laal</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3A3p3r+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/khushail"><img src="https://avatars.githubusercontent.com/u/117320115?v=4?s=100" width="100px;" alt="Shailja Khurana"/><br /><sub><b>Shailja Khurana</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Akhushail" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://digitalsanctum.com/"><img src="https://avatars3.githubusercontent.com/u/30923?v=4?s=100" width="100px;" alt="Shane Witbeck"/><br /><sub><b>Shane Witbeck</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adigitalsanctum+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/shivlaks"><img src="https://avatars0.githubusercontent.com/u/32604953?v=4?s=100" width="100px;" alt="Shiv Lakshminarayan"/><br /><sub><b>Shiv Lakshminarayan</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=shivlaks" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Ashivlaks" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Ashivlaks" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/SomayaB"><img src="https://avatars3.githubusercontent.com/u/23043132?v=4?s=100" width="100px;" alt="Somaya"/><br /><sub><b>Somaya</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=SomayaB" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3ASomayaB+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3ASomayaB" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3ASomayaB" title="Reviewed Pull Requests">👀</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/skuenzli"><img src="https://avatars.githubusercontent.com/u/869201?v=4?s=100" width="100px;" alt="Stephen Kuenzli"/><br /><sub><b>Stephen Kuenzli</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=skuenzli" title="Documentation">📖</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/touchez-du-bois"><img src="https://avatars.githubusercontent.com/u/434017?v=4?s=100" width="100px;" alt="Takahiro Sugiura"/><br /><sub><b>Takahiro Sugiura</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=touchez-du-bois" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://gitter.im/"><img src="https://avatars2.githubusercontent.com/u/8518239?v=4?s=100" width="100px;" alt="The Gitter Badger"/><br /><sub><b>The Gitter Badger</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=gitter-badger" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Agitter-badger" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://medium.com/@thomaspoignant"><img src="https://avatars2.githubusercontent.com/u/17908063?v=4?s=100" width="100px;" alt="Thomas Poignant"/><br /><sub><b>Thomas Poignant</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Athomaspoignant+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/ThomasSteinbach"><img src="https://avatars0.githubusercontent.com/u/1683246?v=4?s=100" width="100px;" alt="Thomas Steinbach"/><br /><sub><b>Thomas Steinbach</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AThomasSteinbach+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/hoegertn"><img src="https://avatars2.githubusercontent.com/u/1287829?v=4?s=100" width="100px;" alt="Thorsten Hoeger"/><br /><sub><b>Thorsten Hoeger</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=hoegertn" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/serverlessunicorn"><img src="https://avatars1.githubusercontent.com/u/54867311?v=4?s=100" width="100px;" alt="Tim Wagner"/><br /><sub><b>Tim Wagner</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aserverlessunicorn+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/issues?q=author%3Aserverlessunicorn+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/TimothyJones"><img src="https://avatars.githubusercontent.com/u/914369?v=4?s=100" width="100px;" alt="Timothy Jones"/><br /><sub><b>Timothy Jones</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ATimothyJones+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/tobli"><img src="https://avatars3.githubusercontent.com/u/540266?v=4?s=100" width="100px;" alt="Tobias Lidskog"/><br /><sub><b>Tobias Lidskog</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=tobli" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/TomBonnerAtDerivitec"><img src="https://avatars.githubusercontent.com/u/83637254?v=4?s=100" width="100px;" alt="Tom Bonner"/><br /><sub><b>Tom Bonner</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ATomBonnerAtDerivitec+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://tompkel.net/"><img src="https://avatars.githubusercontent.com/u/1083460?v=4?s=100" width="100px;" alt="Tom Keller"/><br /><sub><b>Tom Keller</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Akellertk" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://ty.coghlan.dev/"><img src="https://avatars2.githubusercontent.com/u/15920577?v=4?s=100" width="100px;" alt="Ty Coghlan"/><br /><sub><b>Ty Coghlan</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AOphirr33+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/tvanhens"><img src="https://avatars1.githubusercontent.com/u/5342795?v=4?s=100" width="100px;" alt="Tyler van Hensbergen"/><br /><sub><b>Tyler van Hensbergen</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Atvanhens+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/vinayak-kukreja"><img src="https://avatars.githubusercontent.com/u/78971045?v=4?s=100" width="100px;" alt="Vinayak Kukreja"/><br /><sub><b>Vinayak Kukreja</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=vinayak-kukreja" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://ultidev.com/Products/"><img src="https://avatars1.githubusercontent.com/u/757185?v=4?s=100" width="100px;" alt="Vlad Hrybok"/><br /><sub><b>Vlad Hrybok</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Avgribok+label%3Abug" title="Bug reports">🐛</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Lanayx"><img src="https://avatars2.githubusercontent.com/u/3329606?v=4?s=100" width="100px;" alt="Vladimir Shchur"/><br /><sub><b>Vladimir Shchur</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ALanayx+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Ragnoroct"><img src="https://avatars.githubusercontent.com/u/19155205?v=4?s=100" width="100px;" alt="Will Bender"/><br /><sub><b>Will Bender</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3ARagnoroct+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="http://yanex.org/"><img src="https://avatars2.githubusercontent.com/u/95996?v=4?s=100" width="100px;" alt="Yan Zhulanow"/><br /><sub><b>Yan Zhulanow</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=yanex" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/yuth"><img src="https://avatars.githubusercontent.com/u/511386?v=4?s=100" width="100px;" alt="Yathi"/><br /><sub><b>Yathi</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=yuth" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/yglcode"><img src="https://avatars.githubusercontent.com/u/11893614?v=4?s=100" width="100px;" alt="Yigong Liu"/><br /><sub><b>Yigong Liu</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Ayglcode+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/issues?q=author%3Ayglcode+label%3Afeature-request" title="Feature requests">🤔</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/ZachBien"><img src="https://avatars.githubusercontent.com/u/1245628?v=4?s=100" width="100px;" alt="Zach Bienenfeld"/><br /><sub><b>Zach Bienenfeld</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3AZachBien+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/ajnarang"><img src="https://avatars3.githubusercontent.com/u/52025281?v=4?s=100" width="100px;" alt="ajnarang"/><br /><sub><b>ajnarang</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aajnarang+label%3Afeature-request" title="Feature requests">🤔</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/andyaaz"><img src="https://avatars.githubusercontent.com/u/24879322?v=4?s=100" width="100px;" alt="andyan"/><br /><sub><b>andyan</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=andyaaz" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/aniljava"><img src="https://avatars.githubusercontent.com/u/412569?v=4?s=100" width="100px;" alt="aniljava"/><br /><sub><b>aniljava</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=aniljava" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/arnogeurts-sqills"><img src="https://avatars.githubusercontent.com/u/79304871?v=4?s=100" width="100px;" alt="arnogeurts-sqills"/><br /><sub><b>arnogeurts-sqills</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aarnogeurts-sqills+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=arnogeurts-sqills" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/cn-cit"><img src="https://avatars.githubusercontent.com/u/27255477?v=4?s=100" width="100px;" alt="cn-cit"/><br /><sub><b>cn-cit</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Acn-cit+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/deccy-mcc"><img src="https://avatars0.githubusercontent.com/u/45844893?v=4?s=100" width="100px;" alt="deccy-mcc"/><br /><sub><b>deccy-mcc</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adeccy-mcc+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/apps/dependabot-preview"><img src="https://avatars3.githubusercontent.com/in/2141?v=4?s=100" width="100px;" alt="dependabot-preview[bot]"/><br /><sub><b>dependabot-preview[bot]</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adependabot-preview[bot]+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Adependabot-preview[bot]" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/apps/dependabot"><img src="https://avatars0.githubusercontent.com/in/29110?v=4?s=100" width="100px;" alt="dependabot[bot]"/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Adependabot[bot]" title="Maintenance">🚧</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/dheffx"><img src="https://avatars0.githubusercontent.com/u/22029918?v=4?s=100" width="100px;" alt="dheffx"/><br /><sub><b>dheffx</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Adheffx+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/gregswdl"><img src="https://avatars0.githubusercontent.com/u/47365273?v=4?s=100" width="100px;" alt="gregswdl"/><br /><sub><b>gregswdl</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Agregswdl+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/guyroberts21"><img src="https://avatars.githubusercontent.com/u/47118902?v=4?s=100" width="100px;" alt="guyroberts21"/><br /><sub><b>guyroberts21</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=guyroberts21" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mattBrzezinski"><img src="https://avatars.githubusercontent.com/u/4356074?v=4?s=100" width="100px;" alt="mattBrzezinski"/><br /><sub><b>mattBrzezinski</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=mattBrzezinski" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mergify"><img src="https://avatars.githubusercontent.com/u/18240476?v=4?s=100" width="100px;" alt="mergify"/><br /><sub><b>mergify</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Amergify" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/apps/mergify"><img src="https://avatars1.githubusercontent.com/in/10562?v=4?s=100" width="100px;" alt="mergify[bot]"/><br /><sub><b>mergify[bot]</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Amergify[bot]" title="Maintenance">🚧</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/nathannaveen"><img src="https://avatars.githubusercontent.com/u/42319948?v=4?s=100" width="100px;" alt="nathannaveen"/><br /><sub><b>nathannaveen</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Anathannaveen" title="Maintenance">🚧</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/seiyashima"><img src="https://avatars2.githubusercontent.com/u/4947101?v=4?s=100" width="100px;" alt="seiyashima42"/><br /><sub><b>seiyashima42</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aseiyashima+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=seiyashima" title="Code">💻</a> <a href="https://github.com/aws/jsii/commits?author=seiyashima" title="Documentation">📖</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/sullis"><img src="https://avatars3.githubusercontent.com/u/30938?v=4?s=100" width="100px;" alt="sullis"/><br /><sub><b>sullis</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=sullis" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/vaneek"><img src="https://avatars1.githubusercontent.com/u/8113305?v=4?s=100" width="100px;" alt="vaneek"/><br /><sub><b>vaneek</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Avaneek+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/wendysophie"><img src="https://avatars.githubusercontent.com/u/54415551?v=4?s=100" width="100px;" alt="wendysophie"/><br /><sub><b>wendysophie</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Awendysophie+label%3Abug" title="Bug reports">🐛</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://ysuzuki19.github.io/"><img src="https://avatars.githubusercontent.com/u/42496938?v=4?s=100" width="100px;" alt="ysuzuki19"/><br /><sub><b>ysuzuki19</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=ysuzuki19" title="Documentation">📖</a></td>
      </tr>
    </tbody>
  </table>

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

  <!-- ALL-CONTRIBUTORS-LIST:END -->

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



  **jsii** is distributed under the [Apache License, Version 2.0][apache-2.0].

  See [LICENSE](./LICENSE) and [NOTICE](./NOTICE) for more information.

  [apache-2.0]: https://www.apache.org/licenses/LICENSE-2.0


pkgId: 0260387e5a501cf5aee8f0f2ea5c454e9bc2599bd3c6e231e7177fa439f3f2b9
name: python-jsm-user-services-help
arch: noarch
version: 1.6.0
epoch: 0
release: 1
summary: Development documents and examples for jsm-user-services
url: https://pypi.org/project/jsm-user-services/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-jsm-user-services-1.6.0-1.src.rpm
location_href: Packages/python-jsm-user-services-help-1.6.0-1.noarch.rpm
checksum_type: sha256
description:
  Middleware to intercept JWT auth token and more utils functions





  `docker-compose up integration-tests`



  `docker-compose up lint-formatter`



  `pip install jsm-user-services[drf]`

  Add `jsm_user_services` to your `INSTALLED_APPS`:

  ```python
  INSTALLED_APPS = [
      "django.contrib.admin",
      "django.contrib.auth",
      "django.contrib.contenttypes",
      "django.contrib.sessions",
      "django.contrib.messages",
      "django.contrib.staticfiles",
      "jsm_user_services",
      "app_test",
  ]
  ```

  Add the Middleware:

  ```python
  MIDDLEWARE = [
      ...
      "jsm_user_services.middleware.JsmJwtService",
  ]


  USER_API_HOST = "http://ishtar-gate.dev.juntossomosmaisi.com.br/api/v1"
  USER_API_TOKEN = "user_api_token"
  ```



  `pip install jsm-user-services[flask]`

  Add the middleware in your Flask app:

  ```python
  from flask import Flask
  from jsm_user_services.flask_module import middleware

  app = Flask(__name__)

  middleware.JsmJwtService(app)
  app.config.update(
      USER_API_HOST="http://ishtar-gate.dev.juntossomosmaisi.com.br/api/v1", USER_API_TOKEN="user_api_token"
  )
  ```

  **DISCLAIMER**
  - Currently, only the middleware is implemented for Flask apps



  ```python
  from jsm_user_services.services.user import current_jwt_token
  from jsm_user_services.services.user import get_jsm_token
  from jsm_user_services.services.user import get_jsm_user_data_from_jwt
  from jsm_user_services.services.user import get_ltm_token
  from jsm_user_services.services.user import get_user_email_from_jwt
  from jsm_user_services.services.user import get_user_id_from_jwt
  from jsm_user_services.services.user import get_user_data_from_server
  from jsm_user_services.services.user import get_user_data_from_cpf
  from jsm_user_services.services.user import get_cpf_from_jwt

  current_jwt_token()
  """
  Response example:
  "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTY1ODc4MjI4LCJqdGkiOiJiZDFmMzBiMGEzMTc0MmRmYjk3MTBiMzEzMTY0M2E2ZiIsInl1bnRpYW5kdSI6IjhyR0NjVHZGTE9VemR2LWRhTFk4SzdHZTF2MmVyQS01TWJOVkZ4TFBwTUNDTmRwTjQ2bDlJMHZFNG9aTmNNanRfZTh5SWJkTlczN0tKRUhWdzM3dmJjOEdLZmlfd0ZmZDJTRDlIYUJuNk80SVVabWVNUjlROVRqVTd0WFI1WDZPeFoyRDRiNXNHSWlKWGQwcGtPcXptOFpFSUl2Y2xtLUNuMjVJMklKNGJ2M2RaeTVtQUhqUnhaTmNMM2RyX1NkX1FGTFpVMWthNmtfQ0FFTkZxOE9CR1RoelNlRmtxeDFfTFBDLXE1dUVCUE9FSmpVdlF0bXhHTF8zUHNiZ0twLXFaazRfQUJ1enY1Zmk5XzFSaHJ5ZzZVWWF6WFRYNkVxcTdDdUJTUlBRMWFqM0FpU1VadGFmNjZjSTZJSThHMkxKYmd3bHhSZ19aRzY1QlpielJ3QnRvUTllUkNxY2FSRG56ZXhKVEhKMUJ0X2N6Z0J5NGxhRnFmbUZFYWZ6b3RNa0ZrZ2lLT1BNRnhMaFdaZlBEYVB0UFA0UjJjeXJEWWxaMkxNdGhrY09lZmVxMTNLa0doT0FRV2FQUHpEbzBNekRXa0VmbEVFUlpRTHo2NkItSE1TaDE1cHNBR09hUS1YcV85SWNLY05paUUzTVBfSWFpU3ZwbVQteGx2VXFiZFR5NDJkMUhhUWh6RmdPaHFoZ2F1cHoxejN0Z0VIWnNwaFdidmdBMlZQaVIyeUUzTnBLMEhPekkwMTk4NnhJRjFiRmlCOGdLMHhCQnBqRjd2bmcxU0N1OEl0TTJGRjNRQUV3czltakgyTXBMZEp5T0ViWmRGT2FLb29SeEZlY3hzRkhaV19LeEsweFdsRVBBZ2loV1NNWmNwRnpZTExiZGlLVDYtamtNckVXZ1NuRk9xajZPeWJxT05NdzRqdVZ3YTV2TTlmcVkzY0EyVlZsOU12dWlieWZRdWV1c3pJa2RaYlMyLW9YZ0oxYmZETERjckp4YWtjVXZMUE0wdmtlZjllZSIsImpzbV9pZGVudGl0eSI6ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpsYldGcGJDSTZJakV5TXpRMVFHeHZlV0ZzZEhsS1UwMHVZMjl0SWl3aWRXNXBjWFZsWDI1aGJXVWlPaUpoYzJRaUxDSjNaV0p6YVhSbElqb2lRMnhwWlc1MFFYQndiR2xqWVhScGIyNGlMQ0oxYVdRaU9pSTROVEEzTVdSa1pTMWlOVFk0TFRReFlXWXRZVFUzT1MwelpqUXlZekZrWmpBNU9UZ2lMQ0p6Wld4c1pYSnpJam9pTVdVellqZ3pNV1l0T1RWa01DMDBNV0UzTFdJelpURXRNV1psTURObVlXVXlNRFEySWl3aWNtOXNaU0k2SWtOMWMzUnZiV1Z5SWl3aVkyNXdhbk1pT2lJMk9DNDFPVGN1TWpnd0x6QXdNREV0TURraUxDSnVZbVlpT2pFMU5qRTFOVGd5T0Rjc0ltVjRjQ0k2TVRVMk1qRTJNekE0Tnl3aWFXRjBJam94TlRZeE5UVTRNamczTENKcGMzTWlPaUowWm5BNkx5OXBaR1Z1ZEdsMGVTNXFjMjB2WVhWMGFHOXlhWFI1SWl3aVlYVmtJam9pWW1Nd05URmtaVE10WVdWaFlTMDBZV001TFRobVltWXRNRFZoT0RabE1EZ3pabU5tSW4wLlBVQnRFbGE5ajJHSFFqNEk2TmxpVHV3cjZ4d1M4czZ2UkNWRGp6dy1QeEEifQ.oZvlK-XOBrgN9xZrChHHRdQ0rLMFTPp9jjuGvGM1U78"
  """

  get_jsm_token()
  """
  Response example:
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6IjY0NzIyMzM4NjEyQGxveWFsdHlKU00uY29tIiwidW5pcXVlX25hbWUiOiJUZXN0IFVzZXIiLCJ3ZWJzaXRlIjoiQ2xpZW50QXBwbGljYXRpb24iLCJ1aWQiOiI4NzM1YmY4ZC01NDc5LTQ0NDgtODNjZi04OTk5N2Q3ZGY2MDgiLCJzZWxsZXJzIjoiMWUzYjgzMWYtOTVkMC00MWE3LWIzZTEtMWZlMDNmYWUyMDQ2Iiwicm9sZSI6IkN1c3RvbWVyIiwiY25wanMiOiI2OC41OTcuMjgwLzAwMDEtMDkiLCJuYmYiOjE1NjE1NTg2MzUsImV4cCI6MTU2MjE2MzQzNSwiaWF0IjoxNTYxNTU4NjM1LCJpc3MiOiJ0ZnA6Ly9pZGVudGl0eS5qc20vYXV0aG9yaXR5IiwiYXVkIjoiYmMwNTFkZTMtYWVhYS00YWM5LThmYmYtMDVhODZlMDgzZmNmIn0.4dT-6_PmJEbWGw5Q1F18mJBQcXcVmNugQwiLxp6e4Ew"
  """
  get_ltm_token()
  """
  Response example:
  "b51yreTQ3_4l2Z7zGsEb7UCosv-xulOtzkfflxsxTwrbOYva7loVGhxHmD6Qv5P0x5enm3LuykiAOGvf9fjDkr7qUETk5_OPONonkw1roSwHBpCCjS_IiGWdk2t2mpR4o-SFKMPfKyATzQQkBi886wMJ5g8Sg7GJNaQBHimbHDoWsvSF4zZhMin3IkD-3aVruS3IpBM6-72f4mabCB2kbtRQfTfjU5BvMYYKQzEp79_AWHbUm34gpgh5OJEt9VynHVb0Wzj-_M5sNl8uzEEQ0kixlWyueha2e5gZPHPA2TiSb0dt4WdBUqSL9BPXpsCB9TBtyRkU6JeH-DXo05Px02joOUh_MrjqhbXxYtJXWTkX4E6krHI1kS2r75DFU3dUTfQtELrvn1lQxpNCG_FAX0gB5B_XMWiX2Pn6hWE-QO9uglJgnkllxwhBBiwC1K57ony1tgpZLPY7kapAQveGmJAgWAkFXKtR2s4DK9Bkz_Xz-dUdZRONlBIH6yP4QotiE58QT0DFEluRMXhQX6huPSKuVnyaGLRrbFxdocUPuVgLTigg4rk9zgXX-GmOdHD5sxvC-cd8OWep0r7Pn5URwIdkWFjY_vly8dQDb3Cx2TXx2lXQeXBlj4XwQNlrAJTBGdmnL-Nu6Sk3oyh1_r-u53JyaF4frbt8Q6ZZsNAeZtRNLvM3l1JJ591XpApteouRRFakC6Iu8ED3IRmuzYvCgajDIDede7vtpsBvEp4yxl0"
  """

  get_jsm_user_data_from_jwt()
  """
  Response example:
  {
    "email": "64722338612@loyaltyJSM.com",
    "unique_name": "Test User",
    "website": "ClientApplication",
    "uid": "8735bf8d-5479-4448-83cf-89997d7df608",
    "sellers": "1e3b831f-95d0-41a7-b3e1-1fe03fae2046",
    "role": "Customer",
    "cnpjs": "68.597.280/0001-09",
    "nbf": 1561558635,
    "exp": 1562163435,
    "iat": 1561558635,
    "iss": "tfp://identity.jsm/authority",
    "aud": "bc051de3-aeaa-4ac9-8fbf-05a86e083fcf"
  }
  """

  get_user_email_from_jwt()
  """
  Response example:
  "64722338612@loyaltyJSM.com"
  """

  get_user_id_from_jwt()
  """
  Response example:
  "85071dde-b568-41af-a579-3f42c1df0998"
  """

  get_user_data_from_server()
  """
  Response example:
  {
      "id": "85071dde-b568-41af-a579-3f42c1df0998",
      "username": "44444444444",
      "cpf": "44444444444",
      "occupation": "owner",
      "name": "ca1bd09f-b109-435f-b6d5-206d28a3e5e2",
      "birthday": "1990-06-15",
      "phones": [{"number": "5511111111111", "type": "MOBILE"}],
      "emails": [{"email": "fernando@gmail.com", "type": "PERSONAL"}],
      "roles": ["Proprietário"],
      "gender": "male",
      "allow_contact": True,
      "mediums": ["SMS", "Push"],
      "rules_agreement": True,
      "addresses": [
          {
              "postal_code": "06763180",
              "street": "Rua Adolfino Arruda Castanho",
              "number": "200",
              "complement": "Ap 133",
              "district": "Jardim Bom Tempo",
              "city": "Taboao da Serra",
              "state": "SP",
              "country": "Brazil",
              "type": "HOME",
          }
      ]
  }
  """

  get_user_data_from_cpf(cpf)
  """
  Response example:
  {
      "count": 1,
      "next": null,
      "previous": null,
      "results": [
          {
              "id": "888707ab-9866-42a3-a67e-23a937cb3e7f",
              "created_at": "2019-10-18T20:06:44.552669Z",
              "updated_at": "2019-10-23T14:08:05.737326Z",
              "user_id_ref": "5cfd56c1-1bc1-4175-9fa9-00449ec448b8",
              "metadata": {
                  "id": "5cfd56c1-1bc1-4175-9fa9-00449ec448b8",
                  "cpf": "42879321964",
                  "name": "Fernanda Gabrielly Duarte",
                  "roles": [
                      "manager"
                  ],
                  "emails": [
                      {
                          "type": "personal",
                          "email": "fernandagabriellyduarte@ymail.com"
                      }
                  ],
                  "gender": "female",
                  "phones": [
                      {
                          "type": "mobile",
                          "number": "5519991901717"
                      }
                  ],
                  "status": "active",
                  "mediums": [
                      "sms"
                  ],
                  "birthday": "1982-06-04",
                  "username": "42879321964",
                  "addresses": [
                      {
                          "city": "Cascavel",
                          "type": "main",
                          "state": "PR",
                          "number": "217",
                          "street": "Rua Riachuelo",
                          "country": "Brazil",
                          "district": "Centro",
                          "postal_code": "85812110"
                      },
                      {
                          "city": "Cascavel",
                          "type": "shipping",
                          "state": "PR",
                          "number": "217",
                          "street": "Rua Riachuelo",
                          "country": "Brazil",
                          "district": "Centro",
                          "postal_code": "85812110"
                      }
                  ],
                  "occupation": "c85583ef-b602-4fea-b202-6fc5c58d8189",
                  "allow_contact": true,
                  "blocked_reason": null,
                  "favorite_medium": "sms",
                  "registered_date": "2019-10-18T20:06:31.705758+00:00",
                  "rules_agreement": true,
                  "rules_agreement_date": "2019-10-18T20:06:31.708640+00:00"
              },
              "emails": "fernandagabriellyduarte@ymail.com",
              "phones": "5519991901717"
          }
      ]
  }
  """

  get_cpf_from_jwt()
  """
  Response example:
  "09345699823"
  """

  get_user_ip()
  """
  Response example:
  "192.168.0.1" or None
  """

  ```


  This lib follows the [pypi version format](https://www.python.org/dev/peps/pep-0440/) with the convention of using
  _major_._minor_._patch_ version.


  Bump the patch version if you are doing a quick fix, nothing that changes the library functionality.


  Bump the minor version if you are adding new functionality without breaking backwards compatibility. For example,
  adding support to new events.


  Bump the major version if you are breaking backwards compatibility by adding new functionality or refactoring.


