# packages

pkgId: 0c473a87230f326ef30dc3cd62b173a7683fd1449767c7103a5715ec6fe2a15c
name: python-dataiter-help
arch: noarch
version: 0.999
epoch: 0
release: 1
summary: Development documents and examples for dataiter
url: https://github.com/otsaloma/dataiter
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dataiter-0.999-1.src.rpm
location_href: Packages/python-dataiter-help-0.999-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI](https://img.shields.io/pypi/v/dataiter.svg)](https://pypi.org/project/dataiter)
  [![Downloads](https://pepy.tech/badge/dataiter/month)](https://pepy.tech/project/dataiter)
  Dataiter's **`DataFrame`** is a class for tabular data similar to R's
  `data.frame`, implementing all common operations to manipulate data. It
  is under the hood a dictionary of NumPy arrays and thus capable of fast
  vectorized operations. You can consider it to be a light-weight
  alternative to Pandas with a simple and consistent API. Performance-wise
  Dataiter relies on NumPy and Numba and is likely to be at best
  comparable to Pandas.

  ```bash

  pip install -U dataiter

  pip install -U git+https://github.com/otsaloma/dataiter

  pip install -U numba
  ```
  Dataiter optionally uses **Numba** to speed up certain operations. If
  you have Numba installed, Dataiter will use it automatically. It's
  currently not a hard dependency, so you need to install it separately.

  ```python
  >>> import dataiter as di
  >>> data = di.read_csv("data/listings.csv")
  >>> data.filter(hood="Manhattan", guests=2).sort(price=1).head()
  .
          id      hood zipcode guests    sqft price
       int64    string  string  int64 float64 int64
    ──────── ───────── ─────── ────── ─────── ─────
  0 42279170 Manhattan   10013      2     nan     0
  1 42384530 Manhattan   10036      2     nan     0
  2 18835820 Manhattan   10021      2     nan    10
  3 20171179 Manhattan   10027      2     nan    10
  4 14858544 Manhattan              2     nan    15
  5 31397084 Manhattan   10002      2     nan    19
  6 22289683 Manhattan   10031      2     nan    20
  7  7760204 Manhattan   10040      2     nan    22
  8 43292527 Manhattan   10033      2     nan    22
  9 43268040 Manhattan   10033      2     nan    23
  .
  ```

  https://dataiter.readthedocs.io/
  If you're familiar with either dplyr (R) or Pandas (Python), the
  comparison table in the documentation will give you a quick overview of
  the differences and similarities in common operations.
  https://dataiter.readthedocs.io/en/stable/comparison.html

  To install a virtualenv for development, use
      make venv
  or, for a specific Python version
      make PYTHON=python3.X venv


pkgId: 109e9f5ad706e586926aea80e5960b146005e8006b3f5ac718bb16b4ae8544f5
name: python-datajunction-help
arch: noarch
version: 0.0.1a78
epoch: 0
release: 1
summary: Development documents and examples for datajunction
url: https://pypi.org/project/datajunction/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datajunction-0.0.1a78-1.src.rpm
location_href: Packages/python-datajunction-help-0.0.1a78-1.noarch.rpm
checksum_type: sha256
description:
  This is a short introduction into the Python version of the DataJunction (DJ) client.
  For a full comprehensive intro into the DJ functionality please check out [datajunction.io](https://datajunction.io/).



  To install:
  ```
  pip install datajunction
  ```



  We have three top level client classes that help you choose the right path for your DataJunction actions.

  1. `DJClient` for basic read only access to metrics, dimensions, SQL and data.
  2. `DJBuilder` for those who would like to modify their DJ data model, build new nodes and/or modify the existing ones.
  3. `DJAdmin` for the administrators of the system to define the connections to your data catalog and engines.



  Here you can see how to access and use the most common DataJunction features.



  To initialize the client:

  ```python
  from datajunction import DJClient

  dj = DJClient("http://localhost:8000")
  ```

  **NOTE**
  If you are running in our demo docker environment please change the above URL to "http://dj:8000".

  You are now connected to your DJ service and you can start looking around. Let's see what namespaces we have in the system:

  ```python
  dj.list_namespaces()

  ['default']
  ```

  Next let's see what metrics and dimensions exist in the `default` namespace:

  ```python
  dj.list_metrics(namespace="default")

  ['default.num_repair_orders',
   'default.avg_repair_price',
   'default.total_repair_cost',
   'default.avg_length_of_employment',
   'default.total_repair_order_discounts',
   'default.avg_repair_order_discounts',
   'default.avg_time_to_dispatch']

  dj.list_dimensions(namespace="default")

  ['default.date_dim',
   'default.repair_order',
   'default.contractor',
   'default.hard_hat',
   'default.local_hard_hats',
   'default.us_state',
   'default.dispatcher',
   'default.municipality_dim']
  ```

  Now let's pick two metrics and see what dimensions they have in common:

  ```python
  dj.common_dimensions(
    metrics=["default.num_repair_orders", "default.total_repair_order_discounts"],
    name_only=True
  )

  ['default.dispatcher.company_name',
   'default.dispatcher.dispatcher_id',
   'default.dispatcher.phone',
   'default.hard_hat.address',
   'default.hard_hat.birth_date',
   'default.hard_hat.city',
   ...
  ```

  And finally let's ask DJ to show us some data for these metrics and some dimensions:

  ```python
  dj.data(
      metrics=["default.num_repair_orders", "default.total_repair_order_discounts"],
      dimensions=["default.hard_hat.city"]
  )

  | default_DOT_num_repair_orders	| default_DOT_total_repair_order_discounts | city        |
  | ----------------------------- | ---------------------------------------- | ----------- |
  | 4                             |                              5475.110138 | Jersey City |
  | 3                             |                             11483.300049 | Billerica   |
  | 5	                            |                              6725.170074 | Southgate   |
  ...
  ```



  List of all available DJ client methods:

  - DJClient:

    
    - list_namespaces( prefix: Optional[str])
    - list_dimensions( namespace: Optional[str])
    - list_metrics( namespace: Optional[str])
    - list_cubes( namespace: Optional[str])
    - list_sources( namespace: Optional[str])
    - list_transforms( namespace: Optional[str])
    - list_nodes( namespace: Optional[str], type_: Optional[NodeType])
    - list_nodes_with_tags( tag_names: List[str], node_type: Optional[NodeType])

    - list_catalogs()
    - list_engines()

    
    - common_dimensions( metrics: List[str], name_only: bool = False)
    - common_metrics( dimensions: List[str], name_only: bool = False)

    
    - sql( metrics: List[str],
          dimensions: Optional[List[str]],
          filters: Optional[List[str]],
          engine_name: Optional[str],
          engine_version: Optional[str])
    - node_sql( node_name: str,
          dimensions: Optional[List[str]],
          filters: Optional[List[str]],
          engine_name: Optional[str],
          engine_version: Optional[str])
    - data( metrics: List[str],
          dimensions: Optional[List[str]],
          filters: Optional[List[str]],
          engine_name: Optional[str],
          engine_version: Optional[str],
          async_: bool = True)
    - node_data( node_name: str,
          dimensions: Optional[List[str]],
          filters: Optional[List[str]],
          engine_name: Optional[str],
          engine_version: Optional[str],
          async_: bool = True)



  In this section we'll show you few examples to modify the DJ data model and its nodes.



  To initialize the DJ builder:

  ```python
  from datajunction import DJBuilder

  djbuilder = DJBuilder("http://localhost:8000")
  ```

  **NOTE**
  If you are running in our demo docker container please change the above URL to "http://dj:8000".



  To access a namespace or check if it exists you can use the same simple call:

  ```python
  djbuilder.namespace("default")

  Namespace(dj_client=..., namespace='default')
  ```
  ```python
  djbuilder.namespace("foo")

  [DJClientException]: Namespace `foo` does not exist.
  ```

  To create a namespace:

  ```python
  djbuilder.create_namespace("foo")

  Namespace(dj_client=..., namespace='foo')
  ```

  To delete (or restore) a namespace:

  ```python
  djbuilder.delete_namespace("foo")

  djbuilder.restore_namespace("foo")
  ```

  **NOTE:**
  The `cascade` parameter in both of above methods allows for cascading
  effect applied to all underlying nodes and namespaces. Use it with caution!



  You can read existing tags as well as create new ones.
  ```python
  djbuilder.tag(name="deprecated", description="This node has been deprecated.", tag_type="standard", tag_metadata={"contact": "Foo Bar"})

  Tag(dj_client=..., name='deprecated', description='This node has been deprecated.', tag_type='standard', tag_metadata={"contact": "Foo Bar"})
  ```
  ```python
  djbuilder.tag("official")

  [DJClientException]: Tag `official` does not exist.
  ```

  To create a tag:

  ```python
  djbuilder.create_tag(name="deprecated", description="This node has been deprecated.", tag_type="standard", tag_metadata={"contact": "Foo Bar"})

  Tag(dj_client=..., name="deprecated", description="This node has been deprecated.", tag_type="standard", tag_metadata={"contact": "Foo Bar"})
  ```

  To add a tag to a node:

  ```python
  repair_orders = djbuilder.source("default.repair_orders")
  repair_orders.tags.append(djbuilder.tag("deprecated"))
  repair_orders.save()
  ```

  And to list the node names with a specific tag (or set of tags):

  ```python
  djbuilder.list_nodes_with_tags(tag_names=["deprecated"])  # works with DJClient() as well

  ["default.repair_orders"]
  ```




  To learn what **Node** means in the context of DJ, please check out [this datajuntion.io page](https://datajunction.io/docs/0.1.0/dj-concepts/nodes/).

  To list all (or some) nodes in the system you can use the `list_<node-type>()` methods described
  in the **DJ Client : Basic Access** section or you can use the namespace based method:

  All nodes for a given namespace can be found with:
  ```python
  djbuilder.namespace("default").nodes()
  ```

  Specific node types can be retrieved with:
  ```python
  djbuilder.namespace("default").sources()
  djbuilder.namespace("default").dimensions()
  djbuilder.namespace("default").metrics()
  djbuilder.namespace("default").transforms()
  djbuilder.namespace("default").cubes()
  ```

  To create a source node:

  ```python
  repair_orders = djbuilder.create_source(
      name="repair_orders",
      display_name="Repair Orders",
      description="Repair orders",
      catalog="dj",
      schema_="roads",
      table="repair_orders",
  )
  ```

  Nodes can also be created in draft mode:

  ```python
  repair_orders = djbuilder.create_source(
      ...,
      mode=NodeMode.DRAFT
  )
  ```

  To create a dimension node:

  ```python
  repair_order = djbuilder.create_dimension(
      name="default.repair_order_dim",
      query="""
      SELECT
        repair_order_id,
        municipality_id,
        hard_hat_id,
        dispatcher_id
      FROM default.repair_orders
      """,
      description="Repair order dimension",
      primary_key=["repair_order_id"],
  )
  ```

  To create a transform node:
  ```python
  large_revenue_payments_only = djbuilder.create_transform(
      name="default.large_revenue_payments_only",
      query="""
      SELECT
        payment_id,
        payment_amount,
        customer_id,
        account_type
      FROM default.revenue
      WHERE payment_amount > 1000000
      """,
      description="Only large revenue payments",
  )
  ```

  To create a metric:
  ```python
  num_repair_orders = djbuilder.create_metric(
      name="default.num_repair_orders",
      query="""
      SELECT
        count(repair_order_id)
      FROM repair_orders
      """,
      description="Number of repair orders",
  )
  ```



  List of all available DJ builder methods:

  - DJBuilder:

    
    - namespace( namespace: str)
    - create_namespace( namespace: str)
    - delete_namespace(self, namespace: str, cascade: bool = False)
    - restore_namespace(self, namespace: str, cascade: bool = False)

    
    - delete_node(self, node_name: str)
    - restore_node(self, node_name: str)

    
    - source(self, node_name: str)
    - create_source( ..., mode: Optional[NodeMode] = NodeMode.PUBLISHED)
    - register_table( catalog: str, schema: str, table: str)
    - register_view( catalog: str, schema: str, view: str, query: str, replace: bool = False)

    
    - transform(self, node_name: str)
    - create_transform( ..., mode: Optional[NodeMode] = NodeMode.PUBLISHED)

    
    - dimension(self, node_name: str)
    - create_dimension( ..., mode: Optional[NodeMode] = NodeMode.PUBLISHED)

    
    - metric(self, node_name: str)
    - create_metric( ..., mode: Optional[NodeMode] = NodeMode.PUBLISHED)

    
    - cube(self, node_name: str)
    - create_cube( ..., mode: Optional[NodeMode] = NodeMode.PUBLISHED)




  In this section we'll describe how to manage your catalog and engines.



  To initialize the DJ admin:

  ```python
  from datajunction import DJAdmin

  djadmin = DJAdmin("http://localhost:8000")
  ```

  **NOTE**
  If you are running in our demo docker container please change the above URL to "http://dj:8000".



  To list available catalogs:

  ```python
  djadmin.list_catalogs()

  ['warehouse']
  ```

  To list available engines:

  ```python
  djadmin.list_engines()

  [{'name': 'duckdb', 'version': '0.7.1'}]
  ```

  To create a catalog:

  ```python
  djadmin.add_catalog(name="my-new-catalog")
  ```

  To create a new engine:

  ```python
  djadmin.add_engine(
    name="Spark",
    version="3.2.1",
    uri="http:/foo",
    dialect="spark"
  )
  ```

  To linke an engine to a catalog:
  ```python
  djadmin.link_engine_to_catalog(
    engine="Spark", version="3.2.1", catalog="my-new-catalog"
  )
  ```



  List of all available DJ builder methods:

  - DJAdmin:

    
    - list_catalogs()  # in DJClient
    - get_catalog( name: str)
    - add_catalog( name: str)

    
    - list_engines()  # in DJClient
    - get_engine( name: str)
    - add_engine( name: str,version: str, uri: Optional[str], dialect: Optional[str])

    
    - link_engine_to_catalog( engine_name: str, engine_version: str, catalog: str)


pkgId: 288f2119360b0332526ff98ff54baa6ddeba0cdd454f9a3b5c49371ebd731ed1
name: python-datajunction-reflection-help
arch: noarch
version: 0.0.1a79
epoch: 0
release: 1
summary: Development documents and examples for datajunction-reflection
url: https://pypi.org/project/datajunction-reflection/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datajunction-reflection-0.0.1a79-1.src.rpm
location_href: Packages/python-datajunction-reflection-help-0.0.1a79-1.noarch.rpm
checksum_type: sha256
description:
  The reflection service polls the DJ core service for all nodes with associated tables, whether source
  tables or materialized tables. For each node, it refreshes the node's schema based on the associated
  table's schema that it retrieves from the query service. It also retrieves the available partitions and
  the valid through timestamp of these tables and reflects them accordingly to DJ core.

  This service uses a celery beat scheduler, with a configurable polling interval that defaults to once per
  hour and async tasks for each node's reflection.


pkgId: df193098acad33cebf62b410854b7f3ec49319cba1c925cc01e4fb4810f8a964
name: python-datajunction-server-help
arch: noarch
version: 0.0.1a78
epoch: 0
release: 1
summary: Development documents and examples for datajunction-server
url: https://pypi.org/project/datajunction-server/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datajunction-server-0.0.1a78-1.src.rpm
location_href: Packages/python-datajunction-server-help-0.0.1a78-1.noarch.rpm
checksum_type: sha256
description:
  DataJunction (DJ) is an open source **metrics platform** that allows users to define
  metrics and the data models behind them using **SQL**, serving as a **semantic layer**
  on top of a physical data warehouse. By leveraging this metadata, DJ can enable efficient
  retrieval of metrics data across different dimensions and filters.

  ![DataJunction](docs/static/datajunction-illustration.png)



  To launch the DataJunction UI with a minimal DataJunction backend, start the default docker compose environment.

  ```sh
  docker compose up
  ```

  If you'd like to launch the full suite of services, including open-source implementations of the DataJunction query service and
  DataJunction reflection service specifications, use the `demo` profile.

  ```sh
  docker compose --profile demo up
  ```

  DJUI: [http://localhost:3000/](http://localhost:3000/)
  DJ Swagger Docs: [http://localhost:8000/docs](http://localhost:8000/docs)
  DJQS Swagger Docs: [http://localhost:8001/docs](http://localhost:8001/docs)
  Jaeger UI: [http://localhost:16686/search](http://localhost:16686/search)
  Jupyter Lab: [http://localhost:8888](http://localhost:8888)



  At its core, DJ stores metrics and their upstream abstractions as interconnected nodes.
  These nodes can represent a variety of elements, such as tables in a data warehouse
  (**source nodes**), SQL transformation logic (**transform nodes**), dimensions logic,
  metrics logic, and even selections of metrics, dimensions, and filters (**cube nodes**).

  By parsing each node's SQL into an AST and through dimensional links between columns,
  DJ can infer a graph of dependencies between nodes, which allows it to find the
  appropriate join paths between nodes to generate queries for metrics.


pkgId: bf78f6d541fa922dd044206667b936de461d894d0f653f6809d70447b5b03893
name: python-datalad-help
arch: noarch
version: 1.1.5
epoch: 0
release: 1
summary: Development documents and examples for datalad
url: https://www.datalad.org
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalad-1.1.5-1.src.rpm
location_href: Packages/python-datalad-help-1.1.5-1.noarch.rpm
checksum_type: sha256
description:
       ____            _             _                   _
      |  _ \    __ _  | |_    __ _  | |       __ _    __| |
      | | | |  / _` | | __|  / _` | | |      / _` |  / _` |
      | |_| | | (_| | | |_  | (_| | | |___  | (_| | | (_| |
      |____/   \__,_|  \__|  \__,_| |_____|  \__,_|  \__,_|
                                                    Read me

  [![DOI](https://joss.theoj.org/papers/10.21105/joss.03262/status.svg)](https://doi.org/10.21105/joss.03262)
  [![Test Status](https://github.com/datalad/datalad/actions/workflows/test.yml/badge.svg)](https://github.com/datalad/datalad/actions/workflows/test.yml)
  [![Build status](https://ci.appveyor.com/api/projects/status/github/datalad/datalad?branch=master&svg=true)](https://ci.appveyor.com/project/mih/datalad/branch/master)
  [![Extensions](https://github.com/datalad/datalad/actions/workflows/test_extensions.yml/badge.svg)](https://github.com/datalad/datalad/actions/workflows/test_extensions.yml)
  [![Linters](https://github.com/datalad/datalad/actions/workflows/lint.yml/badge.svg)](https://github.com/datalad/datalad/actions/workflows/lint.yml)
  [![codecov.io](https://codecov.io/github/datalad/datalad/coverage.svg?branch=master)](https://codecov.io/github/datalad/datalad?branch=master)
  [![Documentation](https://readthedocs.org/projects/datalad/badge/?version=latest)](http://datalad.rtfd.org)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![GitHub release](https://img.shields.io/github/release/datalad/datalad.svg)](https://GitHub.com/datalad/datalad/releases/)
  [![Supported Python versions](https://img.shields.io/pypi/pyversions/datalad)](https://pypi.org/project/datalad/)
  [![Testimonials 4](https://img.shields.io/badge/testimonials-4-brightgreen.svg)](https://github.com/datalad/datalad/wiki/Testimonials)
  [![https://www.singularity-hub.org/static/img/hosted-singularity--hub-%23e32929.svg](https://www.singularity-hub.org/static/img/hosted-singularity--hub-%23e32929.svg)](https://singularity-hub.org/collections/667)
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/datalad/datalad/blob/master/CODE_OF_CONDUCT.md)
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.808846.svg)](https://doi.org/10.5281/zenodo.808846)
  [![RRID](https://img.shields.io/badge/RRID-SCR__003931-blue)](https://identifiers.org/RRID:SCR_003931)
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
  [![All Contributors](https://img.shields.io/badge/all_contributors-52-orange.svg?style=flat-square)](#contributors-)
  <!-- ALL-CONTRIBUTORS-BADGE:END -->



  [![Anaconda](https://anaconda.org/conda-forge/datalad/badges/version.svg)](https://anaconda.org/conda-forge/datalad)
  [![Arch (AUR)](https://repology.org/badge/version-for-repo/aur/datalad.svg?header=Arch%20%28%41%55%52%29)](https://repology.org/project/datalad/versions)
  [![Debian Stable](https://badges.debian.net/badges/debian/stable/datalad/version.svg)](https://packages.debian.org/stable/datalad)
  [![Debian Unstable](https://badges.debian.net/badges/debian/unstable/datalad/version.svg)](https://packages.debian.org/unstable/datalad)
  [![Fedora Rawhide package](https://repology.org/badge/version-for-repo/fedora_rawhide/datalad.svg?header=Fedora%20%28rawhide%29)](https://repology.org/project/datalad/versions)
  [![Gentoo (::science)](https://repology.org/badge/version-for-repo/gentoo_ovl_science/datalad.svg?header=Gentoo%20%28%3A%3Ascience%29)](https://repology.org/project/datalad/versions)
  [![PyPI package](https://repology.org/badge/version-for-repo/pypi/datalad.svg?header=PyPI)](https://repology.org/project/datalad/versions)



  DataLad's purpose is to make data management and data distribution more accessible.
  To do so, it stands on the shoulders of [Git] and [Git-annex] to deliver a
  decentralized system for data exchange. This includes automated ingestion of
  data from online portals and exposing it in readily usable form as Git(-annex)
  repositories - or datasets. However, the actual data storage and permission
  management remains with the original data provider(s).

  The full documentation is available at http://docs.datalad.org and
  http://handbook.datalad.org provides a hands-on crash-course on DataLad.



  A number of extensions are available that provide additional functionality for
  DataLad. Extensions are separate packages that are to be installed in addition
  to DataLad. In order to install DataLad customized for a particular domain, one
  can simply install an extension directly, and DataLad itself will be
  automatically installed with it. An [annotated list of
  extensions](http://handbook.datalad.org/extension_pkgs.html) is available in
  the [DataLad handbook](http://handbook.datalad.org).




  The documentation for this project is found here:
  http://docs.datalad.org

  All bugs, concerns, and enhancement requests for this software can be submitted here:
  https://github.com/datalad/datalad/issues

  If you have a problem or would like to ask a question about how to use DataLad,
  please [submit a question to
  NeuroStars.org](https://neurostars.org/new-topic?body=-%20Please%20describe%20the%20problem.%0A-%20What%20steps%20will%20reproduce%20the%20problem%3F%0A-%20What%20version%20of%20DataLad%20are%20you%20using%20%28run%20%60datalad%20--version%60%29%3F%20On%20what%20operating%20system%20%28consider%20running%20%60datalad%20plugin%20wtf%60%29%3F%0A-%20Please%20provide%20any%20additional%20information%20below.%0A-%20Have%20you%20had%20any%20luck%20using%20DataLad%20before%3F%20%28Sometimes%20we%20get%20tired%20of%20reading%20bug%20reports%20all%20day%20and%20a%20lil'%20positive%20end%20note%20does%20wonders%29&tags=datalad)
  with a `datalad` tag.  NeuroStars.org is a platform similar to StackOverflow
  but dedicated to neuroinformatics.

  All previous DataLad questions are available here:
  http://neurostars.org/tags/datalad/






  On Debian-based systems, we recommend enabling [NeuroDebian], via which we
  provide recent releases of DataLad. Once enabled, just do:

      apt-get install datalad



  On Gentoo-based systems (i.e. all systems whose package manager can parse ebuilds as per the [Package Manager Specification]), we recommend [enabling the ::science overlay], via which we
  provide recent releases of DataLad. Once enabled, just run:

      emerge datalad



      conda install -c conda-forge datalad

  will install the most recently released version, and release candidates are
  available via

      conda install -c conda-forge/label/rc datalad



  Before you install this package, please make sure that you [install a recent
  version of git-annex](https://git-annex.branchable.com/install).  Afterwards,
  install the latest version of `datalad` from
  [PyPI](https://pypi.org/project/datalad). It is recommended to use
  a dedicated [virtualenv](https://virtualenv.pypa.io):

      
      virtualenv --python=python3 ~/env/datalad
      . ~/env/datalad/bin/activate

      
      pip install datalad

  By default, installation via pip installs the core functionality of DataLad,
  allowing for managing datasets etc.  Additional installation schemes
  are available, so you can request enhanced installation via
  `pip install datalad[SCHEME]`, where `SCHEME` could be:

  - `tests`
       to also install dependencies used by DataLad's battery of unit tests
  - `full`
       to install all dependencies.

  More details on installation and initial configuration can be found in the
  [DataLad Handbook: Installation].



  MIT/Expat




  See [CONTRIBUTING.md](CONTRIBUTING.md) if you are interested in internals or
  contributing to the project.



  The DataLad project received support through the following grants:

  - US-German collaboration in computational neuroscience (CRCNS) project
    "DataGit: converging catalogues, warehouses, and deployment logistics into a
    federated 'data distribution'" (Halchenko/Hanke), co-funded by the US National
    Science Foundation (NSF 1429999) and the German Federal Ministry of
    Education and Research (BMBF 01GQ1411).

  - CRCNS US-German Data Sharing "DataLad - a decentralized system for integrated
    discovery, management, and publication of digital objects of science"
    (Halchenko/Pestilli/Hanke), co-funded by the US National Science Foundation
    (NSF 1912266) and the German Federal Ministry of Education and Research
    (BMBF 01GQ1905).

  - Helmholtz Research Center Jülich, FDM challenge 2022

  - German federal state of Saxony-Anhalt and the European Regional Development
    Fund (ERDF), Project: Center for Behavioral Brain Sciences, Imaging Platform

  - ReproNim project (NIH 1P41EB019936-01A1).

  - Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under grant
    SFB 1451 ([431549029](https://gepris.dfg.de/gepris/projekt/431549029),
    INF project)

  - European Union’s Horizon 2020 research and innovation programme under grant
    agreements:
    - [Human Brain Project SGA3 (H2020-EU.3.1.5.3, grant no. 945539)](https://cordis.europa.eu/project/id/945539)
    - [VirtualBrainCloud (H2020-EU.3.1.5.3, grant no. 826421)](https://cordis.europa.eu/project/id/826421)

  Mac mini instance for development is provided by
  [MacStadium](https://www.macstadium.com/).




  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/glalteva"><img src="https://avatars2.githubusercontent.com/u/14296143?v=4?s=100" width="100px;" alt="glalteva"/><br /><sub><b>glalteva</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=glalteva" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/adswa"><img src="https://avatars1.githubusercontent.com/u/29738718?v=4?s=100" width="100px;" alt="adswa"/><br /><sub><b>adswa</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=adswa" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/chrhaeusler"><img src="https://avatars0.githubusercontent.com/u/8115807?v=4?s=100" width="100px;" alt="chrhaeusler"/><br /><sub><b>chrhaeusler</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=chrhaeusler" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/soichih"><img src="https://avatars3.githubusercontent.com/u/923896?v=4?s=100" width="100px;" alt="soichih"/><br /><sub><b>soichih</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=soichih" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mvdoc"><img src="https://avatars1.githubusercontent.com/u/6150554?v=4?s=100" width="100px;" alt="mvdoc"/><br /><sub><b>mvdoc</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=mvdoc" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mih"><img src="https://avatars1.githubusercontent.com/u/136479?v=4?s=100" width="100px;" alt="mih"/><br /><sub><b>mih</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=mih" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/yarikoptic"><img src="https://avatars3.githubusercontent.com/u/39889?v=4?s=100" width="100px;" alt="yarikoptic"/><br /><sub><b>yarikoptic</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=yarikoptic" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/loj"><img src="https://avatars2.githubusercontent.com/u/15157717?v=4?s=100" width="100px;" alt="loj"/><br /><sub><b>loj</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=loj" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/feilong"><img src="https://avatars2.githubusercontent.com/u/2242261?v=4?s=100" width="100px;" alt="feilong"/><br /><sub><b>feilong</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=feilong" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jhpoelen"><img src="https://avatars2.githubusercontent.com/u/1084872?v=4?s=100" width="100px;" alt="jhpoelen"/><br /><sub><b>jhpoelen</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=jhpoelen" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/andycon"><img src="https://avatars1.githubusercontent.com/u/3965889?v=4?s=100" width="100px;" alt="andycon"/><br /><sub><b>andycon</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=andycon" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/nicholsn"><img src="https://avatars3.githubusercontent.com/u/463344?v=4?s=100" width="100px;" alt="nicholsn"/><br /><sub><b>nicholsn</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=nicholsn" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/adelavega"><img src="https://avatars0.githubusercontent.com/u/2774448?v=4?s=100" width="100px;" alt="adelavega"/><br /><sub><b>adelavega</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=adelavega" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/kskyten"><img src="https://avatars0.githubusercontent.com/u/4163878?v=4?s=100" width="100px;" alt="kskyten"/><br /><sub><b>kskyten</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=kskyten" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/TheChymera"><img src="https://avatars2.githubusercontent.com/u/950524?v=4?s=100" width="100px;" alt="TheChymera"/><br /><sub><b>TheChymera</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=TheChymera" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/effigies"><img src="https://avatars0.githubusercontent.com/u/83442?v=4?s=100" width="100px;" alt="effigies"/><br /><sub><b>effigies</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=effigies" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jgors"><img src="https://avatars1.githubusercontent.com/u/386585?v=4?s=100" width="100px;" alt="jgors"/><br /><sub><b>jgors</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=jgors" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/debanjum"><img src="https://avatars1.githubusercontent.com/u/6413477?v=4?s=100" width="100px;" alt="debanjum"/><br /><sub><b>debanjum</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=debanjum" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/nellh"><img src="https://avatars3.githubusercontent.com/u/11369795?v=4?s=100" width="100px;" alt="nellh"/><br /><sub><b>nellh</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=nellh" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/emdupre"><img src="https://avatars3.githubusercontent.com/u/15017191?v=4?s=100" width="100px;" alt="emdupre"/><br /><sub><b>emdupre</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=emdupre" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/aqw"><img src="https://avatars0.githubusercontent.com/u/765557?v=4?s=100" width="100px;" alt="aqw"/><br /><sub><b>aqw</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=aqw" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/vsoch"><img src="https://avatars0.githubusercontent.com/u/814322?v=4?s=100" width="100px;" alt="vsoch"/><br /><sub><b>vsoch</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=vsoch" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/kyleam"><img src="https://avatars2.githubusercontent.com/u/1297788?v=4?s=100" width="100px;" alt="kyleam"/><br /><sub><b>kyleam</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=kyleam" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/driusan"><img src="https://avatars0.githubusercontent.com/u/498329?v=4?s=100" width="100px;" alt="driusan"/><br /><sub><b>driusan</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=driusan" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/overlake333"><img src="https://avatars1.githubusercontent.com/u/28018084?v=4?s=100" width="100px;" alt="overlake333"/><br /><sub><b>overlake333</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=overlake333" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/akeshavan"><img src="https://avatars0.githubusercontent.com/u/972008?v=4?s=100" width="100px;" alt="akeshavan"/><br /><sub><b>akeshavan</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=akeshavan" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/jwodder"><img src="https://avatars1.githubusercontent.com/u/98207?v=4?s=100" width="100px;" alt="jwodder"/><br /><sub><b>jwodder</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=jwodder" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/bpoldrack"><img src="https://avatars2.githubusercontent.com/u/10498301?v=4?s=100" width="100px;" alt="bpoldrack"/><br /><sub><b>bpoldrack</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=bpoldrack" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/yetanothertestuser"><img src="https://avatars0.githubusercontent.com/u/19335420?v=4?s=100" width="100px;" alt="yetanothertestuser"/><br /><sub><b>yetanothertestuser</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=yetanothertestuser" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/christian-monch"><img src="https://avatars.githubusercontent.com/u/17925232?v=4?s=100" width="100px;" alt="Christian Mönch"/><br /><sub><b>Christian Mönch</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=christian-monch" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mattcieslak"><img src="https://avatars.githubusercontent.com/u/170026?v=4?s=100" width="100px;" alt="Matt Cieslak"/><br /><sub><b>Matt Cieslak</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=mattcieslak" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mikapfl"><img src="https://avatars.githubusercontent.com/u/7226087?v=4?s=100" width="100px;" alt="Mika Pflüger"/><br /><sub><b>Mika Pflüger</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=mikapfl" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://me.ypid.de/"><img src="https://avatars.githubusercontent.com/u/1301158?v=4?s=100" width="100px;" alt="Robin Schneider"/><br /><sub><b>Robin Schneider</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=ypid" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://orcid.org/0000-0003-4652-3758"><img src="https://avatars.githubusercontent.com/u/7570456?v=4?s=100" width="100px;" alt="Sin Kim"/><br /><sub><b>Sin Kim</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=kimsin98" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/DisasterMo"><img src="https://avatars.githubusercontent.com/u/49207524?v=4?s=100" width="100px;" alt="Michael Burgardt"/><br /><sub><b>Michael Burgardt</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=DisasterMo" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://remi-gau.github.io/"><img src="https://avatars.githubusercontent.com/u/6961185?v=4?s=100" width="100px;" alt="Remi Gau"/><br /><sub><b>Remi Gau</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=Remi-Gau" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/mslw"><img src="https://avatars.githubusercontent.com/u/11985212?v=4?s=100" width="100px;" alt="Michał Szczepanik"/><br /><sub><b>Michał Szczepanik</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=mslw" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/bpinsard"><img src="https://avatars.githubusercontent.com/u/1155388?v=4?s=100" width="100px;" alt="Basile"/><br /><sub><b>Basile</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=bpinsard" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/taylols"><img src="https://avatars.githubusercontent.com/u/28018084?v=4?s=100" width="100px;" alt="Taylor Olson"/><br /><sub><b>Taylor Olson</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=taylols" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://jdkent.github.io/"><img src="https://avatars.githubusercontent.com/u/12564882?v=4?s=100" width="100px;" alt="James Kent"/><br /><sub><b>James Kent</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=jdkent" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/xgui3783"><img src="https://avatars.githubusercontent.com/u/19381783?v=4?s=100" width="100px;" alt="xgui3783"/><br /><sub><b>xgui3783</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=xgui3783" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/tstoeter"><img src="https://avatars.githubusercontent.com/u/4901704?v=4?s=100" width="100px;" alt="tstoeter"/><br /><sub><b>tstoeter</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=tstoeter" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://jsheunis.github.io/"><img src="https://avatars.githubusercontent.com/u/10141237?v=4?s=100" width="100px;" alt="Stephan Heunis"/><br /><sub><b>Stephan Heunis</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=jsheunis" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://www.mmmccormick.com"><img src="https://avatars.githubusercontent.com/u/25432?v=4?s=100" width="100px;" alt="Matt McCormick"/><br /><sub><b>Matt McCormick</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=thewtex" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/vickychenglau"><img src="https://avatars.githubusercontent.com/u/22065437?v=4?s=100" width="100px;" alt="Vicky C Lau"/><br /><sub><b>Vicky C Lau</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=vickychenglau" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://chris-lamb.co.uk"><img src="https://avatars.githubusercontent.com/u/133209?v=4?s=100" width="100px;" alt="Chris Lamb"/><br /><sub><b>Chris Lamb</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=lamby" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/asmacdo"><img src="https://avatars.githubusercontent.com/u/1028657?v=4?s=100" width="100px;" alt="Austin Macdonald"/><br /><sub><b>Austin Macdonald</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=asmacdo" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://nobodyinperson.de"><img src="https://avatars.githubusercontent.com/u/19148271?v=4?s=100" width="100px;" alt="Yann Büchau"/><br /><sub><b>Yann Büchau</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=nobodyinperson" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/matrss"><img src="https://avatars.githubusercontent.com/u/9308656?v=4?s=100" width="100px;" alt="Matthias Riße"/><br /><sub><b>Matthias Riße</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=matrss" title="Code">💻</a></td>
      </tr>
      <tr>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/Aksoo"><img src="https://avatars.githubusercontent.com/u/141905668?v=4?s=100" width="100px;" alt="Aksoo"/><br /><sub><b>Aksoo</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=Aksoo" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/dguibert"><img src="https://avatars.githubusercontent.com/u/1178864?v=4?s=100" width="100px;" alt="David Guibert"/><br /><sub><b>David Guibert</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=dguibert" title="Code">💻</a></td>
        <td align="center" valign="top" width="14.28%"><a href="https://github.com/alliesw"><img src="https://avatars.githubusercontent.com/u/72238329?v=4?s=100" width="100px;" alt="Alex Shields-Weber"/><br /><sub><b>Alex Shields-Weber</b></sub></a><br /><a href="https://github.com/datalad/datalad/commits?author=alliesw" title="Code">💻</a></td>
      </tr>
    </tbody>
  </table>

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

  <!-- ALL-CONTRIBUTORS-LIST:END -->

  [![macstadium](https://uploads-ssl.webflow.com/5ac3c046c82724970fc60918/5c019d917bba312af7553b49_MacStadium-developerlogo.png)](https://www.macstadium.com/)

  [Git]: https://git-scm.com
  [Git-annex]: http://git-annex.branchable.com
  [setup.py]: https://github.com/datalad/datalad/blob/master/setup.py
  [NeuroDebian]: http://neuro.debian.net
  [Package Manager Specification]: https://projects.gentoo.org/pms/latest/pms.html
  [enabling the ::science overlay]: https://github.com/gentoo/sci#manual-install-

  [DataLad Handbook: Installation]: http://handbook.datalad.org/en/latest/intro/installation.html


pkgId: 12acc90430a6d0a674fa2194c58d0b5a316baa0487e221ea4d755e531babac52
name: python-datalad-installer-help
arch: noarch
version: 1.1.1
epoch: 0
release: 1
summary: Development documents and examples for datalad-installer
url: https://github.com/datalad/datalad-installer
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalad-installer-1.1.1-1.src.rpm
location_href: Packages/python-datalad-installer-help-1.1.1-1.noarch.rpm
checksum_type: sha256
description:
  ``datalad-installer`` requires Python 3.7 or higher.  Just use `pip
  <https://pip.pypa.io>`_ for Python 3 (You have pip, right?) to install it::
      python3 -m pip install datalad-installer
  ``datalad-installer`` is also available for conda!  To install, run::
      conda install -c conda-forge datalad-installer
  Alternatively, download the latest version directly from
  <https://raw.githubusercontent.com/datalad/datalad-installer/master/src/datalad_installer.py>.


pkgId: 11939eaef6bff300ea19b22e5f03256532fa44da7c3e00b7132c11cf4c919c7f
name: python-datalib-btayari-help
arch: noarch
version: 0.1.0
epoch: 0
release: 1
summary: Development documents and examples for datalib-btayari
url: https://github.com/votre_nom_utilisateur/DataLib
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalib-btayari-0.1.0-1.src.rpm
location_href: Packages/python-datalib-btayari-help-0.1.0-1.noarch.rpm
checksum_type: sha256
description:
  DataLib est une bibliothÃ¨que Python puissante pour manipuler et analyser des donnÃ©es.


  - **Manipulation de donnÃ©es** : Chargement et traitement de fichiers CSV, normalisation, gestion des valeurs manquantes.
  - **Statistiques** : Moyenne, mÃ©diane, mode, tests statistiques simples (t-test, chi-carrÃ©).
  - **Visualisation de donnÃ©es** : Graphiques simples et matrices de corrÃ©lation.
  - **Analyse avancÃ©e** : RÃ©gressions, classification supervisÃ©e (k-NN, arbres de dÃ©cision), clustering non supervisÃ©.


  Installez DataLib avec pip :
  ```bash
  pip install datalib


pkgId: 19dce1526ea152d9d14d6922c348c3730f3bf60ee4719cd9259ff3fefed5aa78
name: python-datalib-genta-help
arch: noarch
version: 0.1.2
epoch: 0
release: 1
summary: Development documents and examples for datalib-genta
url: https://pypi.org/project/datalib-genta/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalib-genta-0.1.2-1.src.rpm
location_href: Packages/python-datalib-genta-help-0.1.2-1.noarch.rpm
checksum_type: sha256
description:
  DataLib is a Python library for data manipulation, statistical analysis, and machine learning.

  - **Data preprocessing** (normalization, handling missing values)
  - **Statistical calculations** (mean, median, mode)
  - **Data visualization** (histograms, scatter plots)
  - **Regression and classification analysis** (linear regression, k-means clustering, PCA)

  To install `DataLib`, use the following command:
  ```bash
  pip install datalib_genta
  ```


  **Normalize Data:**
  Normalize your data to scale features to a range.
  ```python
  from datalib.preprocessing.transformations import normalize_data
  import numpy as np

  X = np.array([[1, 2], [3, 4], [5, 6]])

  X_normalized = normalize_data(X)
  print(X_normalized)
  ```
  **Handle Missing Data:**
  Fill missing values in the dataset.
  ```python
  from datalib.preprocessing.transformations import handle_missing_values
  import numpy as np

  X = np.array([[1, 2], [np.nan, 4], [5, np.nan]])

  X_filled = handle_missing_values(X, method='mean')
  print(X_filled)
  ```

  **Calculate Mean, Median, and Mode:**
  Calculate basic statistics of a dataset.
  ```python
  from datalib.statistics.basic_stats import calculate_mean, calculate_median, calculate_mode
  import numpy as np
  data = np.array([1, 2, 3, 4, 5])

  mean = calculate_mean(data)
  print(f"Mean: {mean}")

  median = calculate_median(data)
  print(f"Median: {median}")

  mode = calculate_mode(data)
  print(f"Mode: {mode}")
  ```
  **Statistical Tests:**
  Perform basic statistical tests like t-tests and chi-square tests.
  ```python
  from datalib.statistics.statistical_tests import t_test
  import numpy as np

  group1 = np.array([1, 2, 3, 4])
  group2 = np.array([5, 6, 7, 8])

  t_stat, p_value = t_test(group1, group2)
  print(f"T-statistic: {t_stat}, P-value: {p_value}")
  ```

  **Plot Histograms:**
  Visualize the distribution of data using histograms.
  ```python
  from datalib.visualization.charts import plot_histogram
  import numpy as np

  data = np.array([1, 2, 2, 3, 3, 3, 4, 5])

  plot_histogram(data, bins=5)
  ```
  **Plot Scatter Plots:**
  Create scatter plots to visualize relationships between variables.
  ```python
  from datalib.visualization.charts import plot_scatter
  import numpy as np

  X = np.array([1, 2, 3, 4])
  y = np.array([10, 20, 30, 40])

  plot_scatter(X, y)
  ```

  **K-Means Clustering:**
  Perform K-Means clustering on a dataset.
  ```python
  from datalib.analysis.clustering import k_means_clustering
  import numpy as np

  X = np.array([[0.1, 0.2], [0.3, 0.4], [0.5, 0.6], [0.7, 0.8], [0.9, 1.]])

  model = k_means_clustering(X, 2)

  print("Cluster centers:", model.cluster_centers_)
  ```
  **Principal Component Analysis (PCA):**
  Reduce the dimensionality of data using PCA.
  ```python
  from datalib.analysis.clustering import pca_analysis
  import numpy as np

  X = np.array([[0.1, 0.2], [0.3, 0.4], [0.5, 0.6], [0.7, 0.8], [0.9, 1.]])

  X_pca, variance_ratio = pca_analysis(X, 1)

  print("Reduced Data:", X_pca)
  print("Variance Ratio:", variance_ratio)
  ```
  **Linear Regression:**
  Perform linear regression on a dataset.
  ```python
  from datalib.analysis.clustering import linear_regression
  import numpy as np

  X = np.array([[1], [2], [3], [4], [5]])
  y = np.array([1, 2, 3, 4, 5])

  model = linear_regression(X, y)

  predictions = model.predict(X)
  print(f"Predictions: {predictions}")


pkgId: 07a21347ded619505ee4e980b67d64763061971b513e7e64c2cbc1556b2e4816
name: python-datalib-ym-help
arch: noarch
version: 1.0.1
epoch: 0
release: 1
summary: Development documents and examples for datalib-ym
url: https://github.com/miledyessine/datalib_ym
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalib-ym-1.0.1-1.src.rpm
location_href: Packages/python-datalib-ym-help-1.0.1-1.noarch.rpm
checksum_type: sha256
description:
  1. **Introduction**: Briefly describes the purpose of the library.
  2. **Features**: Highlights key capabilities.
  3. **Installation**: Provides installation instructions using `pip`.
  4. **Project Structure**: Shows the directory layout.
  5. **Quick Start**: Offers a simple code example to help users get started.
  6. **Detailed Usage**: Points to additional examples.
  7. **Documentation**: Links to detailed documentation resources.
  8. **Contributing**: Invites contributions and links to guidelines.
  9. **License**: States the licensing terms.
  This structure ensures clarity and ease of use for anyone accessing the repository.
  ```


pkgId: 511b841cbce4bc0ff779dd36d3b4ac519189b71fb432775d2366dd640edff0d7
name: python-datalibHope-help
arch: noarch
version: 1.0.0
epoch: 0
release: 1
summary: Development documents and examples for datalibHope
url: https://pypi.org/project/datalibHope/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalibHope-1.0.0-1.src.rpm
location_href: Packages/python-datalibHope-help-1.0.0-1.noarch.rpm
checksum_type: sha256
description:
  **DataLibHope** is a Python library for data manipulation, preprocessing, and visualization. It includes functions for filtering, transforming, visualizing, and analyzing data.



  - **Data Manipulation**: Filter, normalize, and handle missing values.
  - **Visualization**: Plot histograms, scatter plots, bar charts, and correlation matrices.
  - **Advanced Analysis**: Perform linear regression, clustering, PCA, and decision tree classification.



  You can install the library using `pip`:

  ```bash
  pip install datalibHope


pkgId: eb04b92e4ffc95b50e06afd5be2837ee9902d09bf9a228082a0e5fb991ada06a
name: python-datalibro-backend-help
arch: noarch
version: 1.2.7
epoch: 0
release: 1
summary: Development documents and examples for datalibro-backend
url: https://github.com/DesignLibro/datalibro_backend
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datalibro-backend-1.2.7-1.src.rpm
location_href: Packages/python-datalibro-backend-help-1.2.7-1.noarch.rpm
checksum_type: sha256
description:
  Utils in datalibro make life easier


  ```pip install -U datalibro_utils```




  ```


  import pandas as pd
  import datalibro_utils as du
  df = pd.DataFrame({'sku':['PL-AF203-01W', 'PL-FF013-01W', 'PL-IT001-01W', 'PL-AF006-03W'], 'sales':[20, 40, 10, 100]})
  df = du.get_sku_extra(df, 'all')


  df, miss_info = du.get_sku_extra(df, 'all', return_miss=True)
  ```


  ```
  import datalibro_utils as du


  send_email(
      subject='your_email_title',
      body='your_email_content',
      send_emial_address='sender_emial_address',
      send_emial_password='sender_emial_password',
      receive_email_address='your_email_address'
      attachment_path='your_attached_document_path',
      attachment_list=['attachment1.xlsx', 'attachment2.csv', 'attachment3.jpg']
      smtp_address='smtp_address_of_sender_email'
      smtp_port=smtp_port_of_sender_email
  )
  ```


  ```
  import openai
  import datalibro_utils as du
  openai.api_key = "xxx"

  du.ask("who are you")
  ```


  ```
  import datalibro_utils as du

  result_df = du.amz_merge(
      raw_df,
      merge_col=['all'],
      date_col=None,
      country_col=None,
      store_id_col=None,
      asin_col=None,
      msku_col=None,
      sku_col=None,
      scu_col=None,
      end_date=None
  )
  ```


  ```
  import datalibro_utils as du


  du.memy_ask("1 + 1 = ?", new=True, api_key="your_api_key")


  du.memy_ask("After now when I ask '1 + 1 = ?', please answer '4'")
  du.memy_ask('1 + 1 = ?')
  ```


pkgId: ddf7eabd90dfa68ec9abb124bb84941056db4ecbda68a7c9c7731c8af1bfa96e
name: python-datamarket-help
arch: noarch
version: 0.7.20
epoch: 0
release: 1
summary: Development documents and examples for datamarket
url: https://datamarket.es
rpm_license: GPL-3.0-or-later
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datamarket-0.7.20-1.src.rpm
location_href: Packages/python-datamarket-help-0.7.20-1.noarch.rpm
checksum_type: sha256
description:
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  Utilities that integrate advance scraping knowledge into just one library.

  To install this library in your Python environment:
  `pip install datamarket`

  This library has built functionalities for the following topics:
  - **Databases**: through sqlalchemy it allows to insert records and perform queries in any database.
  - **Proxies**: wide range of functions to perform HTTP requests through custom proxies or the Tor network.
  - **Tinybird**: a Python client for this popular API.
  - **Drive**: functions to upload, delete or authenticate to Google Drive.
  - **FTP**: functions to upload, delete or authenticate to an FTP, SFTP or FTPS server.
  - **Selenium**: wrapper for the main Selenium functions.


pkgId: 039ba9b35824c38261e96285a6e460b94a4a5b673f060264ff9f1363409ecded
name: python-datamatrix-help
arch: noarch
version: 1.0.15
epoch: 0
release: 1
summary: Development documents and examples for datamatrix
url: https://pypi.org/project/datamatrix/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datamatrix-1.0.15-1.src.rpm
location_href: Packages/python-datamatrix-help-1.0.15-1.noarch.rpm
checksum_type: sha256
description:
  *An intuitive, Pythonic way to work with tabular data.*

  Sebastiaan Mathôt  <br />
  Copyright 2015-2024  <br />
  <https://pydatamatrix.eu/>


  [![Publish to PyPi](https://github.com/open-cogsci/python-datamatrix/actions/workflows/publish-package.yaml/badge.svg)](https://github.com/open-cogsci/python-datamatrix/actions/workflows/publish-package.yaml)

  [![Tests](https://github.com/open-cogsci/python-datamatrix/actions/workflows/run-unittests.yaml/badge.svg)](https://github.com/open-cogsci/python-datamatrix/actions/workflows/run-unittests.yaml)




  - [About](#about)
  - [Features](#features)
  - [Ultra-short cheat sheet](#ultra-short-cheat-sheet)
  - [Documentation](#documentation)
  - [Dependencies](#dependencies)
  - [Installation](#installation)
  - [License](#license)




  `DataMatrix` is an intuitive Python library for working with column-based, time-series, and multidimensional data. It's a light-weight and easy-to-use alternative to `pandas`.

  `DataMatrix` is also one of the core libraries of [OpenSesame](https://osdoc.cogsci.nl/), a graphical experiment builder for the social sciences, and [Rapunzel](https://rapunzel.cogsci.nl/), a modern code editor for numerical computing with Python and R.




  - [An intuitive syntax](https://pydatamatrix.eu/basic) that makes your code easy to read
  - Mix tabular data with [time series](https://pydatamatrix.eu/series) and [multidimensional data](https://pydatamatrix.eu/multidimensional) in a single data structure
  - Support for [large data](https://pydatamatrix.eu/largedata) by intelligent (and automatic) offloading of data to disk when memory is running low
  - Advanced [memoization (caching)](https://pydatamatrix.eu//memoization)
  - Requires only the Python standard libraries (but you can use `numpy` to improve performance)
  - Compatible with your favorite data-science libraries:
      - `seaborn` and `matplotlib` for [plotting](https://pythontutorials.eu/numerical/plotting)
      - `scipy`, `statsmodels`, and `pingouin` for [statistics](https://pythontutorials.eu/numerical/statistics)
      - `mne` for analysis of electroencephalographic (EEG) and magnetoencephalographic (MEG) data
      - [Convert](https://pydatamatrix.eu/convert) to and from `pandas.DataFrame`
      - Looks pretty inside a Jupyter Notebook




  ```python
  from datamatrix import DataMatrix, io

  dm = io.readtxt('data.csv')

  dm = DataMatrix(length=5)

  print(dm[:2])

  dm.fibonacci = 0, 1, 1, 2, 3

  dm['fibonacci'] = 0, 1, 1, 2, 3

  dm = (dm.fibonacci > 0) & (dm.fibonacci < 3)

  print(dm[(dm.fibonacci > 0) & (dm.fibonacci < 3)])

  dm = dm.fibonacci == {1, 2}

  dm = dm.fibonacci == (lambda x: x % 2)

  dm.fibonacci[dm.fibonacci == 1] = -1

  print(dm.fibonacci[:2])

  print(dm.fibonacci[...])

  dm.fibonacci_times_two = dm.fibonacci * 2

  for row in dm:
      print(row.fibonacci) # get the fibonacci cell from the row

  for colname, col in dm.columns:
      for cell in col: # Loop through all cells in the column
          print(cell) # do something with the cell

  print(dm.column_names)
  ```




  The basic documentation (including function and module references) is hosted on <https://pydatamatrix.eu/>. Additional tutorials can be found in the data-science course on <https://pythontutorials.eu/>.




  `DataMatrix` requires only the Python standard library. That is, you can use it without installing any additional Python packages (although the pip and conda packages install some of the optional dependencies by default). Python 3.7 and higher are supported.

  The following packages are required for extra functionality:

  - `numpy` and `scipy` for using the `FloatColumn`, `IntColumn`, `SeriesColumn`, `MultiDimensionalColumn` objects
  - `pandas` for conversion to and from `pandas.DataFrame`
  - `mne` for conversion to and from `mne.Epochs` and `mne.TFR`
  - `fastnumbers` for improved performance
  - `prettytable` for creating a text representation of a DataMatrix (e.g. to print it out)
  - `openpyxl` for reading and writing `.xlsx` files
  - `json_tricks` for hashing, serialization to and from `json`, and memoization (caching)
  - `tomlkit` for reading configuration from `pyproject.toml`
  - `psutil` for dynamic loading of large data







  ~~~
  pip install datamatrix
  ~~~


  *Historical note:* The DataMatrix project used to correspond to another package of the same name, which was discontinued in 2010. If you want to install this package, you can do still do so by providing an explicit version (0.9 is the latest version of this package), as shown below. With thanks to [dennogumi.org](https://www.dennogumi.org/) for handing over this project's entry on PyPi, thus avoiding much unnecessary confusion!

  ~~~

  pip install datamatrix==0.9
  ~~~




  ~~~
  conda install datamatrix -c conda-forge
  ~~~




  ~~~
  sudo add-apt-repository ppa:smathot/cogscinl  # for stable releases
  sudo add-apt-repository ppa:smathot/rapunzel  # for development releases
  sudo apt-get update
  sudo apt install python3-datamatrix
  ~~~




  `python-datamatrix` is licensed under the [GNU General Public License
  v3](http://www.gnu.org/licenses/gpl-3.0.en.html).


pkgId: 71e94d327e67e0540280041a5a006f365c0320530eb39c879fe0e35f9043a139
name: python-datamodel-code-generator-help
arch: noarch
version: 0.26.4
epoch: 0
release: 1
summary: Development documents and examples for datamodel-code-generator
url: https://github.com/koxudaxi/datamodel-code-generator
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datamodel-code-generator-0.26.4-1.src.rpm
location_href: Packages/python-datamodel-code-generator-help-0.26.4-1.noarch.rpm
checksum_type: sha256
description:
  This code generator creates [pydantic v1 and v2](https://docs.pydantic.dev/) model, [dataclasses.dataclass](https://docs.python.org/3/library/dataclasses.html), [typing.TypedDict](https://docs.python.org/3/library/typing.html#typing.TypedDict)
  and [msgspec.Struct](https://github.com/jcrist/msgspec) from an openapi file and others.

  [![PyPI version](https://badge.fury.io/py/datamodel-code-generator.svg)](https://pypi.python.org/pypi/datamodel-code-generator)
  [![Conda-forge](https://img.shields.io/conda/v/conda-forge/datamodel-code-generator)](https://anaconda.org/conda-forge/datamodel-code-generator)
  [![Downloads](https://pepy.tech/badge/datamodel-code-generator/month)](https://pepy.tech/project/datamodel-code-generator)
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/datamodel-code-generator)](https://pypi.python.org/pypi/datamodel-code-generator)
  [![codecov](https://codecov.io/gh/koxudaxi/datamodel-code-generator/graph/badge.svg?token=plzSSFb9Li)](https://codecov.io/gh/koxudaxi/datamodel-code-generator)
  ![license](https://img.shields.io/github/license/koxudaxi/datamodel-code-generator.svg)
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
  [![Pydantic v1](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v1.json)](https://pydantic.dev)
  [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev)


  See [documentation](https://koxudaxi.github.io/datamodel-code-generator) for more details.



  To install `datamodel-code-generator`:
  ```bash
  $ pip install datamodel-code-generator
  ```


  You can generate models from a local file.
  ```bash
  $ datamodel-codegen --input api.yaml --output model.py
  ```

  <details>
  <summary>api.yaml</summary>

  ```yaml
  openapi: "3.0.0"
  info:
    version: 1.0.0
    title: Swagger Petstore
    license:
      name: MIT
  servers:
    - url: http://petstore.swagger.io/v1
  paths:
    /pets:
      get:
        summary: List all pets
        operationId: listPets
        tags:
          - pets
        parameters:
          - name: limit
            in: query
            description: How many items to return at one time (max 100)
            required: false
            schema:
              type: integer
              format: int32
        responses:
          '200':
            description: A paged array of pets
            headers:
              x-next:
                description: A link to the next page of responses
                schema:
                  type: string
            content:
              application/json:
                schema:
                  $ref: "#/components/schemas/Pets"
          default:
            description: unexpected error
            content:
              application/json:
                schema:
                  $ref: "#/components/schemas/Error"
                  x-amazon-apigateway-integration:
                    uri:
                      Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${PythonVersionFunction.Arn}/invocations
                    passthroughBehavior: when_no_templates
                    httpMethod: POST
                    type: aws_proxy
      post:
        summary: Create a pet
        operationId: createPets
        tags:
          - pets
        responses:
          '201':
            description: Null response
          default:
            description: unexpected error
            content:
              application/json:
                schema:
                  $ref: "#/components/schemas/Error"
                  x-amazon-apigateway-integration:
                    uri:
                      Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${PythonVersionFunction.Arn}/invocations
                    passthroughBehavior: when_no_templates
                    httpMethod: POST
                    type: aws_proxy
    /pets/{petId}:
      get:
        summary: Info for a specific pet
        operationId: showPetById
        tags:
          - pets
        parameters:
          - name: petId
            in: path
            required: true
            description: The id of the pet to retrieve
            schema:
              type: string
        responses:
          '200':
            description: Expected response to a valid request
            content:
              application/json:
                schema:
                  $ref: "#/components/schemas/Pets"
          default:
            description: unexpected error
            content:
              application/json:
                schema:
                  $ref: "#/components/schemas/Error"
      x-amazon-apigateway-integration:
        uri:
          Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${PythonVersionFunction.Arn}/invocations
        passthroughBehavior: when_no_templates
        httpMethod: POST
        type: aws_proxy
  components:
    schemas:
      Pet:
        required:
          - id
          - name
        properties:
          id:
            type: integer
            format: int64
          name:
            type: string
          tag:
            type: string
      Pets:
        type: array
        items:
          $ref: "#/components/schemas/Pet"
      Error:
        required:
          - code
          - message
        properties:
          code:
            type: integer
            format: int32
          message:
            type: string
      apis:
        type: array
        items:
          type: object
          properties:
            apiKey:
              type: string
              description: To be used as a dataset parameter value
            apiVersionNumber:
              type: string
              description: To be used as a version parameter value
            apiUrl:
              type: string
              format: uri
              description: "The URL describing the dataset's fields"
            apiDocumentationUrl:
              type: string
              format: uri
              description: A URL to the API console for each API
  ```

  </details>

  <details>
  <summary>model.py</summary>

  ```python




  from __future__ import annotations

  from typing import List, Optional

  from pydantic import AnyUrl, BaseModel, Field


  class Pet(BaseModel):
      id: int
      name: str
      tag: Optional[str] = None


  class Pets(BaseModel):
      __root__: List[Pet]


  class Error(BaseModel):
      code: int
      message: str


  class Api(BaseModel):
      apiKey: Optional[str] = Field(
          None, description='To be used as a dataset parameter value'
      )
      apiVersionNumber: Optional[str] = Field(
          None, description='To be used as a version parameter value'
      )
      apiUrl: Optional[AnyUrl] = Field(
          None, description="The URL describing the dataset's fields"
      )
      apiDocumentationUrl: Optional[AnyUrl] = Field(
          None, description='A URL to the API console for each API'
      )


  class Apis(BaseModel):
      __root__: List[Api]
  ```
  </details>


  -  OpenAPI 3 (YAML/JSON, [OpenAPI Data Type](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#data-types));
  -  JSON Schema ([JSON Schema Core](http://json-schema.org/draft/2019-09/json-schema-validation.html)/[JSON Schema Validation](http://json-schema.org/draft/2019-09/json-schema-validation.html));
  -  JSON/YAML/CSV Data (it will be converted to JSON Schema);
  -  Python dictionary (it will be converted to JSON Schema);
  -  GraphQL schema ([GraphQL Schemas and Types](https://graphql.org/learn/schema/));


  - [pydantic](https://docs.pydantic.dev/1.10/).BaseModel;
  - [pydantic_v2](https://docs.pydantic.dev/2.0/).BaseModel;
  - [dataclasses.dataclass](https://docs.python.org/3/library/dataclasses.html);
  - [typing.TypedDict](https://docs.python.org/3/library/typing.html#typing.TypedDict);
  - [msgspec.Struct](https://github.com/jcrist/msgspec);
  - Custom type from your [jinja2](https://jinja.palletsprojects.com/en/3.1.x/) template;


  <table>
    <tr>
      <td valign="top" align="center">
      <a href="https://github.com/JetBrainsOfficial">
        <img src="https://avatars.githubusercontent.com/u/60931315?s=100&v=4" alt="JetBrains Logo" style="width: 100px;">
        <p>JetBrains</p>
      </a>
      </td>
    <td valign="top" align="center">
      <a href="https://github.com/astral-sh">
        <img src="https://avatars.githubusercontent.com/u/115962839?s=200&v=4" alt="Astral Logo" style="width: 100px;">
        <p>Astral</p>
      </a>
    </td>
    <td valign="top" align="center">
      <a href="https://github.com/DataDog">
        <img src="https://avatars.githubusercontent.com/u/365230?s=200&v=4" alt="Datadog, Inc. Logo" style="width: 100px;">
        <p>Datadog, Inc.</p>
      </a>
    </td>
    </tr>
  </table>



  These OSS projects use datamodel-code-generator to generate many models.
  See the following linked projects for real world examples and inspiration.

  - [airbytehq/airbyte](https://github.com/airbytehq/airbyte)
    - *[Generate Python, Java/Kotlin, and Typescript protocol models](https://github.com/airbytehq/airbyte-protocol/tree/main/protocol-models/bin)*
  - [apache/iceberg](https://github.com/apache/iceberg)
    - *[Generate Python code](https://github.com/apache/iceberg/blob/d2e1094ee0cc6239d43f63ba5114272f59d605d2/open-api/README.md?plain=1#L39)*
      *[`make generate`](https://github.com/apache/iceberg/blob/d2e1094ee0cc6239d43f63ba5114272f59d605d2/open-api/Makefile#L24-L34)*
  - [argoproj-labs/hera](https://github.com/argoproj-labs/hera)
    - *[`Makefile`](https://github.com/argoproj-labs/hera/blob/c8cbf0c7a676de57469ca3d6aeacde7a5e84f8b7/Makefile#L53-L62)*
  - [awslabs/aws-lambda-powertools-python](https://github.com/awslabs/aws-lambda-powertools-python)
    - *Recommended for [advanced-use-cases](https://awslabs.github.io/aws-lambda-powertools-python/2.6.0/utilities/parser/#advanced-use-cases) in the official documentation*
  - [DataDog/integrations-core](https://github.com/DataDog/integrations-core)
    - *[Config models](https://github.com/DataDog/integrations-core/blob/master/docs/developer/meta/config-models.md)*
  - [hashintel/hash](https://github.com/hashintel/hash)
    - *[`codegen.sh`](https://github.com/hashintel/hash/blob/9762b1a1937e14f6b387677e4c7fe4a5f3d4a1e1/libs/%40local/hash-graph-client/python/scripts/codegen.sh#L21-L39)*
  - [IBM/compliance-trestle](https://github.com/IBM/compliance-trestle)
    - *[Building the models from the OSCAL schemas.](https://github.com/IBM/compliance-trestle/blob/develop/docs/contributing/website.md#building-the-models-from-the-oscal-schemas)*
  - [Netflix/consoleme](https://github.com/Netflix/consoleme)
    - *[How do I generate models from the Swagger specification?](https://github.com/Netflix/consoleme/blob/master/docs/gitbook/faq.md#how-do-i-generate-models-from-the-swagger-specification)*
  - [Nike-Inc/brickflow](https://github.com/Nike-Inc/brickflow)
    - *[Code generate tools](https://github.com/Nike-Inc/brickflow/blob/e3245bf638588867b831820a6675ada76b2010bf/tools/README.md?plain=1#L8)[`./tools/gen-bundle.sh`](https://github.com/Nike-Inc/brickflow/blob/e3245bf638588867b831820a6675ada76b2010bf/tools/gen-bundle.sh#L15-L22)*
  - [open-metadata/OpenMetadata](https://github.com/open-metadata/OpenMetadata)
    - *[Makefile](https://github.com/open-metadata/OpenMetadata/blob/main/Makefile)*
  - [PostHog/posthog](https://github.com/PostHog/posthog)
    - *[Generate models via `npm run`](https://github.com/PostHog/posthog/blob/e1a55b9cb38d01225224bebf8f0c1e28faa22399/package.json#L41)*
  - [SeldonIO/MLServer](https://github.com/SeldonIO/MLServer)
    - *[generate-types.sh](https://github.com/SeldonIO/MLServer/blob/master/hack/generate-types.sh)*



  To install `datamodel-code-generator`:
  ```bash
  $ pip install datamodel-code-generator
  ```


  If you want to resolve `$ref` for remote files then you should specify `http` extra option.
  ```bash
  $ pip install 'datamodel-code-generator[http]'
  ```



  If you want to generate data model from a GraphQL schema then you should specify `graphql` extra option.
  ```bash
  $ pip install 'datamodel-code-generator[graphql]'
  ```


  The docker image is in [Docker Hub](https://hub.docker.com/r/koxudaxi/datamodel-code-generator)
  ```bash
  $ docker pull koxudaxi/datamodel-code-generator
  ```


  You can generate models from a URL.
  ```bash
  $ datamodel-codegen --url https://<INPUT FILE URL> --output model.py
  ```
  This method needs the [http extra option](#http-extra-option)




  The `datamodel-codegen` command:

  <!-- start command help -->
  ```bash
  usage:
    datamodel-codegen [options]

  Generate Python data models from schema definitions or structured data

  Options:
    --additional-imports ADDITIONAL_IMPORTS
                          Custom imports for output (delimited list input). For example
                          "datetime.date,datetime.datetime"
    --custom-formatters CUSTOM_FORMATTERS
                          List of modules with custom formatter (delimited list input).
    --http-headers HTTP_HEADER [HTTP_HEADER ...]
                          Set headers in HTTP requests to the remote host. (example:
                          "Authorization: Basic dXNlcjpwYXNz")
    --http-ignore-tls     Disable verification of the remote host''s TLS certificate
    --http-query-parameters HTTP_QUERY_PARAMETERS [HTTP_QUERY_PARAMETERS ...]
                          Set query parameters in HTTP requests to the remote host. (example:
                          "ref=branch")
    --input INPUT         Input file/directory (default: stdin)
    --input-file-type {auto,openapi,jsonschema,json,yaml,dict,csv,graphql}
                          Input file type (default: auto)
    --output OUTPUT       Output file (default: stdout)
    --output-model-type {pydantic.BaseModel,pydantic_v2.BaseModel,dataclasses.dataclass,typing.TypedDict,msgspec.Struct}
                          Output model type (default: pydantic.BaseModel)
    --url URL             Input file URL. `--input` is ignored when `--url` is used

  Typing customization:
    --base-class BASE_CLASS
                          Base Class (default: pydantic.BaseModel)
    --enum-field-as-literal {all,one}
                          Parse enum field as literal. all: all enum field type are Literal.
                          one: field type is Literal when an enum has only one possible value
    --field-constraints   Use field constraints and not con* annotations
    --set-default-enum-member
                          Set enum members as default values for enum field
    --strict-types {str,bytes,int,float,bool} [{str,bytes,int,float,bool} ...]
                          Use strict types
    --use-annotated       Use typing.Annotated for Field(). Also, `--field-constraints` option
                          will be enabled.
    --use-generic-container-types
                          Use generic container types for type hinting (typing.Sequence,
                          typing.Mapping). If `--use-standard-collections` option is set, then
                          import from collections.abc instead of typing
    --use-non-positive-negative-number-constrained-types
                          Use the Non{Positive,Negative}{FloatInt} types instead of the
                          corresponding con* constrained types.
    --use-one-literal-as-default
                          Use one literal as default value for one literal field
    --use-standard-collections
                          Use standard collections for type hinting (list, dict)
    --use-subclass-enum   Define Enum class as subclass with field type when enum has type
                          (int, float, bytes, str)
    --use-union-operator  Use | operator for Union type (PEP 604).
    --use-unique-items-as-set
                          define field type as `set` when the field attribute has
                          `uniqueItems`

  Field customization:
    --capitalise-enum-members, --capitalize-enum-members
                          Capitalize field names on enum
    --empty-enum-field-name EMPTY_ENUM_FIELD_NAME
                          Set field name when enum value is empty (default: `_`)
    --field-extra-keys FIELD_EXTRA_KEYS [FIELD_EXTRA_KEYS ...]
                          Add extra keys to field parameters
    --field-extra-keys-without-x-prefix FIELD_EXTRA_KEYS_WITHOUT_X_PREFIX [FIELD_EXTRA_KEYS_WITHOUT_X_PREFIX ...]
                          Add extra keys with `x-` prefix to field parameters. The extra keys
                          are stripped of the `x-` prefix.
    --field-include-all-keys
                          Add all keys to field parameters
    --force-optional      Force optional for required fields
    --no-alias            Do not add a field alias. E.g., if --snake-case-field is used along
                          with a base class, which has an alias_generator
    --original-field-name-delimiter ORIGINAL_FIELD_NAME_DELIMITER
                          Set delimiter to convert to snake case. This option only can be used
                          with --snake-case-field (default: `_` )
    --remove-special-field-name-prefix
                          Remove field name prefix if it has a special meaning e.g.
                          underscores
    --snake-case-field    Change camel-case field name to snake-case
    --special-field-name-prefix SPECIAL_FIELD_NAME_PREFIX
                          Set field name prefix when first character can''t be used as Python
                          field name (default: `field`)
    --strip-default-none  Strip default None on fields
    --union-mode {smart,left_to_right}
                          Union mode for only pydantic v2 field
    --use-default         Use default value even if a field is required
    --use-default-kwarg   Use `default=` instead of a positional argument for Fields that have
                          default values.
    --use-field-description
                          Use schema description to populate field docstring

  Model customization:
    --allow-extra-fields  Allow to pass extra fields, if this flag is not passed, extra fields
                          are forbidden.
    --allow-population-by-field-name
                          Allow population by field name
    --class-name CLASS_NAME
                          Set class name of root model
    --collapse-root-models
                          Models generated with a root-type field will be merged into the
                          models using that root-type model
    --disable-appending-item-suffix
                          Disable appending `Item` suffix to model name in an array
    --disable-timestamp   Disable timestamp on file headers
    --enable-faux-immutability
                          Enable faux immutability
    --enable-version-header
                          Enable package version on file headers
    --keep-model-order    Keep generated models'' order
    --keyword-only        Defined models as keyword only (for example
                          dataclass(kw_only=True)).
    --output-datetime-class {datetime,AwareDatetime,NaiveDatetime}
                          Choose Datetime class between AwareDatetime, NaiveDatetime or
                          datetime. Each output model has its default mapping (for example
                          pydantic: datetime, dataclass: str, ...)
    --reuse-model         Reuse models on the field when a module has the model with the same
                          content
    --target-python-version {3.6,3.7,3.8,3.9,3.10,3.11,3.12}
                          target python version (default: 3.8)
    --treat-dot-as-module
                          treat dotted module names as modules
    --use-exact-imports   import exact types instead of modules, for example: "from .foo
                          import Bar" instead of "from . import foo" with "foo.Bar"
    --use-pendulum        use pendulum instead of datetime
    --use-schema-description
                          Use schema description to populate class docstring
    --use-title-as-name   use titles as class names of models

  Template customization:
    --aliases ALIASES     Alias mapping file
    --custom-file-header CUSTOM_FILE_HEADER
                          Custom file header
    --custom-file-header-path CUSTOM_FILE_HEADER_PATH
                          Custom file header file path
    --custom-formatters-kwargs CUSTOM_FORMATTERS_KWARGS
                          A file with kwargs for custom formatters.
    --custom-template-dir CUSTOM_TEMPLATE_DIR
                          Custom template directory
    --encoding ENCODING   The encoding of input and output (default: utf-8)
    --extra-template-data EXTRA_TEMPLATE_DATA
                          Extra template data
    --use-double-quotes   Model generated with double quotes. Single quotes or your black
                          config skip_string_normalization value will be used without this
                          option.
    --wrap-string-literal
                          Wrap string literal by using black `experimental-string-processing`
                          option (require black 20.8b0 or later)

  OpenAPI-only options:
    --openapi-scopes {schemas,paths,tags,parameters} [{schemas,paths,tags,parameters} ...]
                          Scopes of OpenAPI model generation (default: schemas)
    --strict-nullable     Treat default field as a non-nullable field (Only OpenAPI)
    --use-operation-id-as-name
                          use operation id of OpenAPI as class names of models
    --validation          Deprecated: Enable validation (Only OpenAPI). this option is
                          deprecated. it will be removed in future releases

  General options:
    --debug               show debug message (require "debug". `$ pip install ''datamodel-code-
                          generator[debug]''`)
    --disable-warnings    disable warnings
    --no-color            disable colorized output
    --version             show version
    -h, --help            show this help message and exit
  ```
  <!-- end command help -->



  This code generator creates [FastAPI](https://github.com/tiangolo/fastapi) app from an openapi file.

  [https://github.com/koxudaxi/fastapi-code-generator](https://github.com/koxudaxi/fastapi-code-generator)


  [A JetBrains PyCharm plugin](https://plugins.jetbrains.com/plugin/12861-pydantic) for [`pydantic`](https://github.com/samuelcolvin/pydantic).

  [https://github.com/koxudaxi/pydantic-pycharm-plugin](https://github.com/koxudaxi/pydantic-pycharm-plugin)



  [https://pypi.org/project/datamodel-code-generator](https://pypi.org/project/datamodel-code-generator)



  See `docs/development-contributing.md` for how to get started!



  datamodel-code-generator is released under the MIT License. http://www.opensource.org/licenses/mit-license


pkgId: c076a82c740559b86563998df6800186ec7908e0354d934cadf1e33a60605e17
name: python-datanerd-help
arch: noarch
version: 1.2
epoch: 0
release: 1
summary: Development documents and examples for datanerd
url: https://pypi.org/project/datanerd/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datanerd-1.2-1.src.rpm
location_href: Packages/python-datanerd-help-1.2-1.noarch.rpm
checksum_type: sha256
description:
  This package provides various functions for data analysis, statistical calculations, database operations, and sending notifications.



  To use these functions, you need to have Python installed on your system. You also need to install the required libraries. You can install them using pip:

  ```
  pip install pandas numpy sqlalchemy requests
  ```





  This function provides statistical summary of a given dataframe.


  - `df` (pandas.DataFrame): The input dataframe


  - A dataframe containing various statistics for each column


  - count
  - mean
  - std
  - min
  - 10th, 20th, 25th, 30th, 40th, 50th (median), 60th, 70th, 75th, 80th, 90th, 95th, 99th percentiles
  - max
  - % of missing values
  - number of unique values



  ```python
  import pandas as pd
  import datanerd as dn

  df = pd.read_csv('titanic.csv')
  summary_stats = dn.stats(df)
  ```



  This function calculates the Weight of Evidence (WoE) and Information Value (IV) for a given dataframe.


  - `data` (pandas.DataFrame): The input dataframe
  - `target` (str): The name of the target variable
  - `bins` (int): The number of bins to use for discretizing continuous variables
  - `optimize` (bool): Whether to optimize the binning of continuous variables
  - `threshold` (float): The minimum percentage of non-events in each bin for optimization


  - A tuple containing two dataframes: (iv, woe)



  ```python
  import pandas as pd
  import datanerd as dn

  df = pd.read_csv('cancer.csv')
  iv, woe = dn.iv_woe(data=df, target='Diagnosis', bins=20, optimize=True, threshold=0.05)
  ```



  This function pushes a Pandas dataframe to a Microsoft SQL Server database.


  - `data` (pandas.DataFrame): The dataframe to be pushed
  - `tablename` (str): The name of the table in the database
  - `server` (str): The name of the SQL Server
  - `database` (str): The name of the database
  - `schema` (str): The name of the schema



  ```python
  import pandas as pd
  import datanerd as dn

  df = pd.read_csv('day.csv')
  dn.pushdb(df, tablename='day', server='SQL', database='schedule', schema='analysis')
  ```



  This function sends a formatted message to a Microsoft Teams channel using a webhook URL.


  - `webhook_url` (str): The webhook URL for the Teams channel
  - `title` (str): The title of the message
  - `message` (str): The body of the message



  ```python
  import datanerd as dn

  webhook_url = "https://outlook.office.com/webhook/..."
  title = "Important Notification"
  message = "This is a test message sent from Python!"

  dn.teams_webhook(webhook_url, title, message)
  ```



  This function sends a notification message to an ntfy.sh server.


  - `server` (str): The name of the ntfy.sh server/topic to send the message to
  - `message` (str): The message to be sent




  ```python
  import datanerd as dn

  server = "your_server_name"
  message = "This is a test notification from Python!"

  dn.ntfy(server, message)
  ```


pkgId: 8d1e289edc071bd5eb6ca812fa7384de00c4265020eaffb98553a1926ebfdd4c
name: python-dataparsers-help
arch: noarch
version: 2.3.3
epoch: 0
release: 1
summary: Development documents and examples for dataparsers
url: https://pypi.org/project/dataparsers/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dataparsers-2.3.3-1.src.rpm
location_href: Packages/python-dataparsers-help-2.3.3-1.noarch.rpm
checksum_type: sha256
description:
  A simple module to wrap around `argparse` to get command line argument parsers from `dataclasses`.



  ```bash
  pip install dataparsers
  ```


  Create a `dataclass` describing your command line interface, and call `parse()` with the class:

  ```python

  from dataclasses import dataclass
  from dataparsers import parse

  @dataclass
  class Args:
      foo: str
      bar: int = 42

  args = parse(Args)
  print("Printing `args`:")
  print(args)
  ```

  The `dataclass` fields that have a "default" value are turned into optional arguments, while the non default fields will
  be positional arguments.

  The script can then be used in the same way as used with `argparse`:

  ```sh
  $ python prog.py -h
  usage: prog.py [-h] [--bar BAR] foo

  positional arguments:
    foo

  options:
    -h, --help  show this help message and exit
    --bar BAR
  ```

  And the resulting type of `args` is `Args` (recognized by type checkers and autocompletes):

  ```sh
  $ python prog.py test --bar 12
  Printing `args`:
  Args(foo='test', bar=12)
  ```



  To specify detailed information about each argument, call the `arg()` function on the `dataclass` fields:

  ```python

  from dataclasses import dataclass
  from dataparsers import parse, arg

  @dataclass
  class Args:
      foo: str = arg(help="foo help")
      bar: int = arg(default=42, help="bar help")

  args = parse(Args)
  ```

  It allows to customize the interface:

  ```sh
  $ python prog.py -h
  usage: prog.py [-h] [--bar BAR] foo

  positional arguments:
    foo         foo help

  options:
    -h, --help  show this help message and exit
    --bar BAR   bar help
  ```

  In general, the `arg()` function accepts all parameters that are used in the original `add_argument()` method (with few
  exceptions) and some additional parameters. The `default` keyword argument used above makes the argument optional (i.e.,
  passed with flags like `--bar`) except in some specific situations.

  For more information, see the [documentation](https://dataparsers.readthedocs.io/en/latest/index.html).



  This project basically consists of a simple module `dataparsers.py` with few
  functions that allows to define typed arguments parsers in a single place, based
  on `dataclasses`.



  The main strategy of the module is based on the same approach of the
  [package `datargs`](https://pypi.org/project/datargs/), which consists in using
  the
  [`metadata` attribute of the dataclass fields](https://docs.python.org/3/library/dataclasses.html#dataclasses.Field)
  to store argument parameters. Some additional features of this project have
  already been contributed back upstream.

  There are a lot of alternative libraries out there that do similar things. The
  [README file](https://github.com/roee30/datargs/blob/master/README.md) of the
  [`datargs` repository](https://github.com/roee30/datargs) provides a good
  [list for existing solutions and differences](https://github.com/roee30/datargs?tab=readme-ov-file#why-nots-and-design-choices).
  I could also add to that list the libraries
  [Python `fire`](https://github.com/google/python-fire) and the
  [package `dargparser`](https://github.com/konstantinjdobler/dargparser), just to
  give few examples.



  Use this project if you want particular added features, such as:

  - Support for argument groups and mutually exclusive argument groups
  - Define all interface in one single place
  - More control over the interface display
  - More control over the argument flag `--` creation
  - More similarity with `argparse` module
  - More simplicity

  The simplicity is mentioned because it is just a simple module
  [`dataparsers.py`](https://github.com/Diogo-Rossi/dataparsers/blob/main/src/dataparsers/dataparsers.py)
  that doesn't have any additional dependencies (it is pure Python) which can be
  downloaded directly and placed in your CLI scripts folder to import from.

  In deed, the module consists of a 320 lines
  [IPython code cell region](https://docs.spyder-ide.org/current/panes/editor.html#code-cells)
  (i.e., starts and ends with a `#%` line comment block), that can also be placed
  on top of your "single file" CLI script to directly distribute. The used names
  are just the few
  [provided functions](https://dataparsers.readthedocs.io/en/latest/2_available_functions.html),
  the _stdlib_ imports, `Class` (a `TypeVar`) and `SubParser` (a frozen `dataclass`).

  Additionally, this project also provides a
  [stub file (`.pyi`)](https://github.com/Diogo-Rossi/dataparsers/blob/main/src/dataparsers/__init__.pyi)
  that can be used by type checkers but, moreover, may be used by some code
  editors to give helper documentation including the related docs of `argparse`
  methods, which are also provided in this project's documentation, for
  convenience. The stub file can be downloaded directly but it is installed with
  the module by default.



  Unlike the `datargs` package, `dataparsers` doesn't support:

  - The library `attrs` (only works with pure python `dataclasses`)
  - `Enum`s classes
  - Complex types (Sequences, Optionals, and Literals)

  If you want any of these features, use the
  [package `datargs`](https://pypi.org/project/datargs/). If you need the added
  features of `dataparsers`, use this module instead.


pkgId: fecd3ec2f2bde319fffd9871bcccafa03e3787a0bf8314bcafc39acc69a8824b
name: python-datapipe-core-help
arch: noarch
version: 0.14.1
epoch: 0
release: 1
summary: Development documents and examples for datapipe-core
url: https://github.com/epoch8/datapipe
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datapipe-core-0.14.1-1.src.rpm
location_href: Packages/python-datapipe-core-help-0.14.1-1.noarch.rpm
checksum_type: sha256
description:
  [Datapipe](https://datapipe.dev/) is a real-time, incremental ETL library for Python with record-level dependency tracking.

  The library is designed for describing data processing pipelines and is capable
  of tracking dependencies for each record in the pipeline. This ensures that
  tasks within the pipeline receive only the data that has been modified, thereby
  improving the overall efficiency of data handling.

  https://datapipe.dev/



  At the moment these branches are active:

  * `master` - current development state, will be promoted to `0.13.x` series
    release once ready
  * `v0.13` - current stable version
  * `v0.11` - legacy stable version (`v0.12` was skipped due reasons)



  At the moment, the datapipe library is under active development. Versions:
  `v0.*.*`

  It should be expected that each minor version is not backward compatible with
  the previous one. That is, `v0.7.0` is not compatible with `v0.6.1`. Dependencies
  should be fixed to the exact minor version.

  After stabilization and transition to the major version `v1.*.*`, the common
  rules will apply: all versions with the same major component are compatible.


pkgId: 2c4187fb0d0afccbea790163859237de3c4d7d038a835cef807f1c0155544358
name: python-dataquality-rules-help
arch: noarch
version: 0.1.0
epoch: 0
release: 1
summary: Development documents and examples for dataquality-rules
url: https://pypi.org/project/dataquality-rules/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dataquality-rules-0.1.0-1.src.rpm
location_href: Packages/python-dataquality-rules-help-0.1.0-1.noarch.rpm
checksum_type: sha256
description:
  This project provides a Data Quality Rule (DQR) enabler class for validating and reporting data quality metrics using Apache Spark and Jinja2. It allows users to perform various checks on a DataFrame, such as checking for null values, duplicates, uniqueness, range constraints, and values within a specific list. The results can be saved as an HTML report for easy review and sharing.



  * Schema Validation : Compare the DataFrame's schema with an expected schema.
  * Null Value Check : Identify the percentage of null values in specified columns.
  * Duplicate Check : Find duplicate rows based on one or more columns.
  * Uniqueness Check : Measure the uniqueness of values in specified columns.
  * Range Check : Ensure column values fall within a defined range.
  * Value Set Check : Verify if column values exist within a predefined list.
  * HTML Report Generation : Automatically generate an HTML report summarizing all checks with visual tables.



  You can install the library using pip:

  ```bash
  pip install dataquality_rules
  ```


pkgId: 2465521810d4f4d4ac63c14daec8a47ebf0a169eea8a407b708b0e519e0e94a2
name: python-datarobot-early-access-help
arch: noarch
version: 3.6.0.2024.11.4
epoch: 0
release: 1
summary: Development documents and examples for datarobot-early-access
url: https://datarobot.com
rpm_license: DataRobot Tool and Utility Agreement
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datarobot-early-access-3.6.0.2024.11.4-1.src.rpm
location_href: Packages/python-datarobot-early-access-help-3.6.0.2024.11.4-1.noarch.rpm
checksum_type: sha256
description:
  DataRobot is a client library for working with the `DataRobot`_ platform API. This package is the "early access" version of the client. **Do NOT use this package in production--you will expose yourself to risk of breaking changes and bugs.** For the most stable version, see the quarterly release on PyPI at https://pypi.org/project/datarobot/.
  This package is released under the terms of the DataRobot Tool and Utility Agreement, which
  can be found on our `Legal`_ page, along with our privacy policy and more.


pkgId: 27e7af8ce8f1742d2f5964e0e701219cbf331d66d2036aaceedefc7ff67a4274
name: python-datarobotx-idp-help
arch: noarch
version: 0.2.14
epoch: 0
release: 1
summary: Development documents and examples for datarobotx-idp
url: https://github.com/datarobot-community/datarobotx-idp
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datarobotx-idp-0.2.14-1.src.rpm
location_href: Packages/python-datarobotx-idp-help-0.2.14-1.noarch.rpm
checksum_type: sha256
description:
  Collection of unofficial idempotent DataRobot helpers. Ready for use in your orchestration tool of choice.


  ```bash
  pip install datarobotx-idp
  ```


  ```python
  import os
  from datarobotx.idp.execution_environments import get_or_create_execution_environment

  dr_endpoint = os.environ['DATAROBOT_ENDPOINT']
  dr_token = os.environ['DATAROBOT_API_TOKEN']

  env_id_1 = get_or_create_execution_environment(dr_endpoint, dr_token, "image #1")
  env_id_2 = get_or_create_execution_environment(dr_endpoint, dr_token, "image #1")
  assert env_id_1 == env_id_2

  env_id_3 = get_or_create_execution_environment(dr_endpoint, dr_token, "image #2")
  assert env_id_1 != env_id_3
  ```



  1. Public functions must be idempotent
  2. Function signatures must be type hinted (enforced by mypy)
  3. Functions must have numpydoc-style docstrings (enforced by ruff)
  4. Functions must either have a unit or integration test


  1. Group code so it can be easily understood and edited at the .py level
  2. Minimize dependencies
  3. Isolate dependencies by submodule to reduce risk of dependency conflicts

rpm_license:
  DATAROBOT TOOL AND UTILITY AGREEMENT  This Tool and Utility Agreement (this “Agreement”) between DataRobot, Inc., a Delaware Corporation, with its principal place of business located at 225 FRANKLIN STREET, 13TH FLOOR, BOSTON, MASSACHUSETTS 02110, USA (“DataRobot”) and you and the organization you represent (“You”), is effective as of the date that You are first granted access to the Tool and Utility Software (as defined below) (the “Effective Date”).  This Agreement supersedes any other agreement between DataRobot and You with respect to the Tool and Utility Software.  1. LICENSE GRANT 1.1. “Tool and Utility Software” means a no-fee offering of DataRobot’s tool(s) and/or utility software for use with the Solution. 1.2. Subject to the terms of this Agreement, DataRobot grants to You, for the period of time authorized by DataRobot or, if no time has been specified, until the expiration of Your subscription for the DataRobot enterprise AI platform (the “Solution”) (the “Term”), a non-exclusive, non-transferable, non-sublicensable license to use the Tool and Utility Software with the Solution only for your internal business purposes. 1.3. DataRobot shall have the right to terminate, downgrade, limit or modify the Tool and Utility Software at any time without notice or compensation. No warranty, indemnity, availability, maintenance or support obligations of DataRobot will apply to Tool and Utility Software.  2. RESTRICTIONS ON USE OF THE TOOL AND UTILITY SOFTWARE You shall not, and shall not permit any third party to, except as may be allowed by any applicable law which is incapable of exclusion by agreement between the parties and except as permitted under this Agreement: (a) attempt to backup, copy, modify, create derivative works from, or distribute any part of the Tool and Utility Software; (b) attempt to de-compile, reverse compile, disassemble, reverse engineer or otherwise reduce to human-perceivable form any part of the Tool and Utility Software except to the extent the law in Your jurisdiction permits this where necessary for the purposes of integrating the operation of the Software with the operation of other software or systems used by You. Before carrying out such action, You shall give DataRobot no less than 30 days’ written notice and the exception will not apply if DataRobot is prepared to carry out such action at a reasonable commercial fee or provides the information necessary to achieve such integration within a reasonable period; (c) access any part of the Tool and Utility Software in order to build a competing product or service; (d) attempt to obtain, or assist third parties in obtaining, access to the Tool and Utility Software, other than as provided under this Section 2.  3. TERM AND TERMINATION 3.1. This Agreement starts on the Effective Date and will continue until the expiry of the Term, at which point this Agreement and the licenses granted under the terms of this Agreement will automatically terminate.  3.2. On termination or expiry of this Agreement for any reason: (a) this Section 3.2, Section 6 (Limitation of Liability), Section 8 (Entire Agreement) and Section 9 (General) will survive alongside any other Sections that are intended to survive termination or expiration of this Agreement in order to achieve the fundamental purposes of this Agreement; (b) any rights, remedies, obligations or liabilities of the parties that have accrued up to the date of termination which existed at or before the date of termination will not be affected.  4. PROPRIETARY RIGHTS The Tool and Utility Software and Documentation are the proprietary intellectual property of DataRobot and its licensors.  DataRobot retains sole and exclusive ownership of all right, title, and interest in and to the Tool and Utility Software and any other technology used to provide them.  5. NO WARRANTY 5.1. The Tool and Utility Software is provided “as is” without any warranty and all other conditions, warranties or other terms which might have effect or be implied or incorporated into this Agreement whether by statute, common law or otherwise are excluded.  6. LIMITATION OF LIABILITY 6.1. Neither party’s liability for any damages (whether for breach of contract, misrepresentations, negligence, strict liability, other torts or otherwise) under this Agreement will exceed an amount equal to $10,000. This limitation will apply notwithstanding any failure of essential purpose of any remedy. 6.2. Nothing in this Agreement will limit or exclude either party’s liability for: (a) any matter which by law may not be excluded or limited; (b) in the case of You, for breach of Section 2(c) (Restrictions on Use)  7. NOTICES 7.1. All notices required to be given under this Agreement shall be in writing and delivered by hand, email, first class prepaid mail or recorded delivery mail. 7.2. Notices for DataRobot shall be sent to legal@datarobot.com or DataRobot Inc., 225 Franklin St.; 13th Floor, Boston, MA 02110, U.S.A., Attn: Legal. 7.3. Notice will be deemed given: (a) when received, if delivered by hand or email; or (b) the next business day after it is sent, if sent by first class prepaid mail or recorded delivery; (c) five business days following postage if sent internationally.  8. ENTIRE AGREEMENT This Agreement and any documents referred to in it are the complete and exclusive statement of the parties’ agreement and supersede all proposals or prior arrangements, understandings or agreements between the parties relating to the subject matter of this Agreement.  9. GENERAL 9.1. Unless it expressly states otherwise, this Agreement does not give rise to any rights for a third party to enforce any term of this Agreement. 9.2. Any waiver or modification of the provisions of this Agreement will only be effective if in writing and signed by both parties. Waivers and amendments to this Agreement shall be effective only if made by non-pre-printed agreements clearly understood by both parties to be an amendment or waiver to this Agreement. 9.3. If the whole or any part of a provision of this Agreement is held invalid, illegal or unenforceable, the validity, legality and enforceability of the remaining provisions will be unaffected. If any invalid, unenforceable or illegal provision would be valid, enforceable or legal if part of it were deleted, the provision shall apply with whatever modification is necessary to give effect to the commercial intention of the parties. 9.4. No failure or delay by a party to exercise any right or remedy provided under this Agreement or by law will constitute a waiver of that or any other right or remedy, nor will it prevent or restrict the further exercise of that or any other right or remedy. No single or partial exercise of such right or remedy will prevent or restrict the further exercise of that or any other right or remedy. 9.5. This Agreement and any dispute (whether contractual or non-contractual) arising out of or in connection with this Agreement, its subject matter or formation will be governed by and interpreted and construed in accordance with the laws of the Commonwealth of Massachusetts, without regard to conflict of law principles, and will be subject to the exclusive jurisdiction of the federal and state courts located in Boston, Massachusetts. Each party consents to the exclusive personal jurisdiction and venue of such courts.


pkgId: 69625ba96c499d532d9395ecb2ed7484bb814a70773e6bf56694e1f7c39881e4
name: python-datasette-enrichments-slow-help
arch: noarch
version: 0.1
epoch: 0
release: 1
summary: Development documents and examples for datasette-enrichments-slow
url: https://github.com/datasette/datasette-enrichments-slow
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datasette-enrichments-slow-0.1-1.src.rpm
location_href: Packages/python-datasette-enrichments-slow-help-0.1-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI](https://img.shields.io/pypi/v/datasette-enrichments-slow.svg)](https://pypi.org/project/datasette-enrichments-slow/)
  [![Changelog](https://img.shields.io/github/v/release/datasette/datasette-enrichments-slow?include_prereleases&label=changelog)](https://github.com/datasette/datasette-enrichments-slow/releases)
  [![Tests](https://github.com/datasette/datasette-enrichments-slow/actions/workflows/test.yml/badge.svg)](https://github.com/datasette/datasette-enrichments-slow/actions/workflows/test.yml)
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/datasette/datasette-enrichments-slow/blob/main/LICENSE)

  An enrichment on a slow loop to help debug progress bars



  Install this plugin in the same environment as Datasette.
  ```bash
  datasette install datasette-enrichments-slow
  ```


  Select a table (or rows from a table) and run the enrichment. You can specify how many seconds to sleep for each row.

  No changes will be recorded to your table. This plugin is for debugging purposes only.



  To set up this plugin locally, first checkout the code. Then create a new virtual environment:
  ```bash
  cd datasette-enrichments-slow
  python -m venv venv
  source venv/bin/activate
  ```
  Now install the dependencies and test dependencies:
  ```bash
  pip install -e '.[test]'
  ```
  To run the tests:
  ```bash
  python -m pytest
  ```


pkgId: bae33aa0212f578d77e43a32951659c29e82d10161114f42ee9b87ad57443008
name: python-datastar-py-help
arch: noarch
version: 0.3.1
epoch: 0
release: 1
summary: Development documents and examples for datastar-py
url: https://pypi.org/project/datastar-py/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datastar-py-0.3.1-1.src.rpm
location_href: Packages/python-datastar-py-help-0.3.1-1.noarch.rpm
checksum_type: sha256
description:
  The `datastar_py` package provides backend helpers for the (Datastar)[https://data-star.dev] JS library.

  Datastar requires all backend responses to use SSE. This allows the backend to
  send any number of responses, from zero to inifinity.

  `Datastar-py` helps with the formatting of these responses, while also
  providing helper functions for the different supported responses.

  To use `datastar-py`, import the SSE generator in your app and then initialise
  it in your route handler:

  ```python
  from datastar_py import ServerSentEventGenerator



  @app.route("/updates")
  async def updates():
      async def time_updates():
          sse = ServerSentEventGenerator()
          while True:
              yield sse.merge_fragments(
                  [f"""<span id="currentTime">{datetime.now().isoformat()}"""]
              )
              await asyncio.sleep(1)
              yield sse.merge_signals({"currentTime": f"{datetime.now().isoformat()}"})
              await asyncio.sleep(1)

      response = await make_response(time_updates(), SSE_HEADERS)
      response.timeout = None
      return response
  ```

  The following helpers are prov


pkgId: 3d1a0738868aace7d7966fb37e9210869c37598526481fa71dd391906e4bd468
name: python-dataverk-airflow-help
arch: noarch
version: 1.7.7
epoch: 0
release: 1
summary: Development documents and examples for dataverk-airflow
url: https://github.com/navikt/dataverk-airflow
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dataverk-airflow-1.7.7-1.src.rpm
location_href: Packages/python-dataverk-airflow-help-1.7.7-1.noarch.rpm
checksum_type: sha256
description:
  Enkelt wrapperbibliotek rundt [KubernetesPodOperator](https://airflow.apache.org/docs/stable/kubernetes.html) som lager Airflow task som kjører i en Kubernetes pod.



  Alle våre operators lar deg klone et annet repo enn der DAGene er definert, bare legg det til med `repo="navikt/<repo>`.

  Vi har også støtte for å installere Python pakker ved oppstart av Airflow task, spesifiser `requirements.txt`-filen din med `requirements_path="/path/to/requirements.txt"`.
  Merk at hvis du kombinerer `repo` og `requirements_path`, må `requirements.txt` ligge i repoet nevnt i `repo`.

  Ønsker du å benytte [UV](https://github.com/astral-sh/uv) for `pip install`, så kan du sette `use_uv_pip_install=True`.

  | :exclamation:  `UV` kjører i et virtual environment og man må da spesifisere alle pakker man trenger i `requirements.txt`, da man ikke har tilgang på de som finnes i default image. F.eks `pyyaml`, `nbformat`, `nbclient` |
  |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|



  Denne kjører `quarto render` for deg, som lager en HTML-fil som kan lastes opp til Datamarkedsplassen.

  Vi har støtte for enkeltfiler, og kataloger, dette kan du spesifisere med `path` for enkeltfiler, og `folder` hvis du har et Quarto prosjekt i en katalog.
  Quarto prosjekter brukes hovedsakelig for [book](https://quarto.org/docs/books/), [website](https://quarto.org/docs/websites/), eller [dashboard](https://quarto.org/docs/dashboards/).
  Enkeltfiler bygges `self-contained`, som betyr at HTML-filen blir bygd med alle sine eksterne avhengighter (Javascript, CSS, og bilder).

  For å laste opp filer til Datamarkedsplassen må man ha et Quarto-token, som er unikt per team.
  Dette finner man under [Mine teams token](https://data.ansatt.nav.no/user/tokens) i menyen.

  ```python
  from airflow import DAG
  from airflow.utils.dates import days_ago
  from airflow.models import Variable
  from dataverk_airflow import quarto_operator


  with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag:
      t1 = quarto_operator(dag=dag,
                           name="<navn-på-task>",
                           repo="navikt/<repo>",
                           quarto={
                               "path": "/path/to/index.qmd",
                               "env": "dev/prod",
                               "id":"uuid",
                               "token": Variable.get("quarto_token"),
                           },
                           slack_channel="<#slack-alarm-kanal>")
  ```


  Har du behov for å rendre noe annet enn `html`, kan du bruke verdien `format`.
  Dette må du for eksempel gjøre hvis du ønsker å lage et dashboard.

  ```
  with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag:
      t1 = quarto_operator(dag=dag,
                           name="<navn-på-task>",
                           repo="navikt/<repo>",
                           quarto={
                               "folder": "/path/to/book",
                               "format": "dashboard",
                               "env": "dev/prod",
                               "id":"uuid",
                               "token": Variable.get("quarto_token"),
                           },
                           slack_channel="<#slack-alarm-kanal>")
  ```

  I eksemplene over lagrer vi tokenet i en Airflow variable som så brukes i DAG tasken under.
  Se offisiell [Airflow dokumentasjon](https://airflow.apache.org/docs/apache-airflow/stable/howto/variable.html) for hvordan man bruker `Variable.get()´ i en task.



  Denne lar deg kjøre en Jupyter notebook.

  ```python
  from airflow import DAG
  from airflow.utils.dates import days_ago
  from dataverk_airflow import notebook_operator


  with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag:
      t1 = notebook_operator(dag=dag,
                             name="<navn-på-task>",
                             repo="navikt/<repo>",
                             nb_path="/path/to/notebook.ipynb",
                             slack_channel="<#slack-alarm-kanal>")
  ```



  Denne lar deg kjøre vilkårlig Python-scripts.

  ```python
  from airflow import DAG
  from airflow.utils.dates import days_ago
  from dataverk_airflow import python_operator


  with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag:
      t1 = python_operator(dag=dag,
                           name="<navn-på-task>",
                           repo="navikt/<repo>",
                           script_path="/path/to/script.py",
                           slack_channel="<#slack-alarm-kanal>")
  ```



  Vi tilbyr også vår egen Kubernetes operator som kloner et valg repo inn i containeren.

  ```python
  from airflow import DAG
  from airflow.utils.dates import days_ago
  from dataverk_airflow import kubernetes_operator


  with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag:
      t1 = kubernetes_operator(dag=dag,
                               name="<navn-på-task>",
                               repo="navikt/<repo>",
                               cmds=["/path/to/bin/", "script-name.sh", "argument1", "argument2"],
                               image="europe-north1-docker.pkg.dev/nais-management-233d/ditt-team/ditt-image:din-tag",
                               slack_channel="<#slack-alarm-kanal>")
  ```

  Denne operatoren har støtte for to ekstra flagg som ikke er tilgjengelig fra de andre.

  ```
  cmds: str: Command to run in pod
  working_dir: str: Path to working directory
  ```



  Alle operators støtter å sette allow list, men det er noen adresser som blir lagt til av Dataverk Airflow.

  Hvis du bruker `slack_channel` argumentet, vil vi legge til:
  - hooks.slack.com

  Hvis du bruker `email` argumentet, vil vi legge til:
  - Riktig SMTP-adresse

  Hvis du bruker `requirements_path` argumentet, vil vi legge til:
  - pypi.org
  - files.pythonhosted.org
  - pypi.python.org

  For `quarto_operator` vil vi legge til:
  - Adressen til riktig Datamarkedsplass
  - cdnjs.cloudflare.com



  Alle operatorene våre har støtte for disse argumentene i funksjonskallet.

  ```
  dag: DAG: owner DAG
  name: str: Name of task
  repo: str: Github repo
  image: str: Dockerimage the pod should use
  branch: str: Branch in repo, default "main"
  email: str: Email of owner
  slack_channel: str: Name of Slack channel, default None (no Slack notification)
  extra_envs: dict: dict with environment variables example: {"key": "value", "key2": "value2"}
  allowlist: list: list of hosts and port the task needs to reach on the format host:port
  requirements_path: bool: Path (including filename) to your requirements.txt
  python_version: str: Desired Python version for the environment your code will be running in when using the default image. We offer only supported versions of Python, and default to the latest version if this parameter is omitted. See https://devguide.python.org/versions/ for available versions.
  resources: dict: Specify required cpu and memory requirements (keys in dict: request_memory, request_cpu, limit_memory, limit_cpu), default None
  startup_timeout_seconds: int: pod startup timeout
  retries: int: Number of retries for task before DAG fails, default 3
  delete_on_finish: bool: Whether to delete pod on completion
  retry_delay: timedelta: Time inbetween retries, default 5 seconds
  do_xcom_push: bool: Enable xcom push of content in file "/airflow/xcom/return.json", default False
  on_success_callback:: func: a function to be called when a task instance of this task succeeds
  ```



  Vi har støtte for å sette `requests` og `limits` for hver operator.
  Merk at man ikke trenger å sette `limits` på CPU da dette blir automatisk løst av plattformen.

  Ved å bruke `ephemeral-storage` kan man be om ekstra diskplass for lagring i en task.

  ```python
  from airflow import DAG
  from airflow.utils.dates import days_ago
  from dataverk_airflow import python_operator


  with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag:
      t1 = python_operator(dag=dag,
                           name="<navn-på-task>",
                           repo="navikt/<repo>",
                           script_path="/path/to/script.py",
                           resources={
                               "requests": {
                                   "memory": "50Mi",
                                   "cpu": "100m",
                                   "ephemeral-storage": "1Gi"
                               },
                               "limits": {
                                   "memory": "100Mi"
                               }
                           })
  ```


pkgId: 54538f22831c46dade8cada0aefc3c322d935d469cca9fb52304dc44c840540f
name: python-datayoga-core-help
arch: noarch
version: 1.124.0
epoch: 0
release: 1
summary: Development documents and examples for datayoga-core
url: https://pypi.org/project/datayoga-core/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datayoga-core-1.124.0-1.src.rpm
location_href: Packages/python-datayoga-core-help-1.124.0-1.noarch.rpm
checksum_type: sha256
description:
  `datayoga-core` is the transformation engine used in `DataYoga`, a framework for building and generating data pipelines.



  ```bash
  pip install datayoga-core
  ```



  This demonstrates how to transform data using a DataYoga job.



  Use this `example.dy.yaml`:

  ```yaml
  steps:
    - uses: add_field
      with:
        fields:
          - field: full_name
            language: jmespath
            expression: concat([fname, ' ' , lname])
          - field: country
            language: sql
            expression: country_code || ' - ' || UPPER(country_name)
    - uses: rename_field
      with:
        fields:
          - from_field: fname
            to_field: first_name
          - from_field: lname
            to_field: last_name
    - uses: remove_field
      with:
        fields:
          - field: credit_card
          - field: country_name
          - field: country_code
    - uses: map
      with:
        expression:
          {
            first_name: first_name,
            last_name: last_name,
            greeting: "'Hello ' || CASE WHEN gender = 'F' THEN 'Ms.' WHEN gender = 'M' THEN 'Mr.' ELSE 'N/A' END || ' ' || full_name",
            country: country,
            full_name: full_name
          }
        language: sql
  ```



  Use this code snippet to transform a data record using the job defined [above](#create-a-job). The transform method returns a tuple of processed, filtered, and rejected records:

  ```python
  import datayoga_core as dy
  from datayoga_core.job import Job
  from datayoga_core.result import Result, Status
  from datayoga_core.utils import read_yaml

  job_settings = read_yaml("example.dy.yaml")
  job = dy.compile(job_settings)

  assert job.transform([{"fname": "jane", "lname": "smith", "country_code": 1, "country_name": "usa", "credit_card": "1234-5678-0000-9999", "gender": "F"}]).processed == [
    Result(status=Status.SUCCESS, payload={"first_name": "jane", "last_name": "smith", "country": "1 - USA", "full_name": "jane smith", "greeting": "Hello Ms. jane smith"})]
  ```

  The job can also be provided as a parsed json inline:

  ```python
  import datayoga_core as dy
  from datayoga_core.job import Job
  from datayoga_core.result import Result, Status
  import yaml
  import textwrap

  job_settings = textwrap.dedent("""
    steps:
      - uses: add_field
        with:
          fields:
            - field: full_name
              language: jmespath
              expression: concat([fname, ' ' , lname])
            - field: country
              language: sql
              expression: country_code || ' - ' || UPPER(country_name)
      - uses: rename_field
        with:
          fields:
            - from_field: fname
              to_field: first_name
            - from_field: lname
              to_field: last_name
      - uses: remove_field
        with:
          fields:
            - field: credit_card
            - field: country_name
            - field: country_code
      - uses: map
        with:
          expression:
            {
              first_name: first_name,
              last_name: last_name,
              greeting: "'Hello ' || CASE WHEN gender = 'F' THEN 'Ms.' WHEN gender = 'M' THEN 'Mr.' ELSE 'N/A' END || ' ' || full_name",
              country: country,
              full_name: full_name
            }
          language: sql
  """)
  job = dy.compile(yaml.safe_load(job_settings))

  assert job.transform([{"fname": "jane", "lname": "smith", "country_code": 1, "country_name": "usa", "credit_card": "1234-5678-0000-9999", "gender": "F"}]).processed == [
    Result(status=Status.SUCCESS, payload={"first_name": "jane", "last_name": "smith", "country": "1 - USA", "full_name": "jane smith", "greeting": "Hello Ms. jane smith"})]
  ```

  As can be seen, the record has been transformed based on the job:

  - `fname` field renamed to `first_name`.
  - `lname` field renamed to `last_name`.
  - `country` field added based on an SQL expression.
  - `full_name` field added based on a [JMESPath](https://jmespath.org/) expression.
  - `greeting` field added based on an SQL expression.



  - Add a new field `country` out of an SQL expression that concatenates `country_code` and `country_name` fields after upper case the later:

    ```yaml
    uses: add_field
    with:
      field: country
      language: sql
      expression: country_code || ' - ' || UPPER(country_name)
    ```

  - Rename `fname` field to `first_name` and `lname` field to `last_name`:

    ```yaml
    uses: rename_field
    with:
      fields:
        - from_field: fname
          to_field: first_name
        - from_field: lname
          to_field: last_name
    ```

  - Remove `credit_card` field:

    ```yaml
    uses: remove_field
    with:
      field: credit_card
    ```

  For a full list of supported block types [see reference](https://datayoga-io.github.io/library).



  DataYoga supports both SQL and [JMESPath](https://jmespath.org/) expressions. JMESPath are especially useful to handle nested JSON data, while SQL is more suited to flat row-like structures.

  For more information about custom functions and supported expression language syntax [see reference](https://datayoga-io.github.io/expressions).


pkgId: 1a2d9e7a6c0a50a7dc5c8a669381f9af769488c9435153a0fc61a83078d3b3df
name: python-datayoga-help
arch: noarch
version: 1.124.0
epoch: 0
release: 1
summary: Development documents and examples for datayoga
url: https://pypi.org/project/datayoga/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datayoga-1.124.0-1.src.rpm
location_href: Packages/python-datayoga-help-1.124.0-1.noarch.rpm
checksum_type: sha256
description:
  To set up environment in development mode:



  ```bash
  python -m venv venv
  source venv/bin/activate
  ```



  > [Pip](https://pypi.org/project/pip) version 22 and up is needed for editable install.

  ```bash
  python -m pip install --upgrade pip
  ```



  ```bash
  cd core
  python -m pip install -e .
  ```



  ```bash
  python ./cli/src/datayoga/__main__.py
  ```





  ```
  cd core
  pip install .
  pip install .[test]
  PYTHONPATH=src python -m pytest -s --log-cli-level=DEBUG
  ```


pkgId: 76188a9508343e9073c0aa0566e458268c526a5b5691e5688aebe2260782bbe8
name: python-datetime-convertion-tools-help
arch: noarch
version: 0.0.13
epoch: 0
release: 1
summary: Development documents and examples for datetime-convertion-tools
url: https://pypi.org/project/datetime-convertion-tools/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-datetime-convertion-tools-0.0.13-1.src.rpm
location_href: Packages/python-datetime-convertion-tools-help-0.0.13-1.noarch.rpm
checksum_type: sha256
description:
  <a href="https://pypi.org/project/datetime-convertion-tools/">
  <img src="https://img.shields.io/pypi/v/datetime-convertion-tools.svg">
  </a>
  <a href="https://github.com/TheNewThinkTank/msgspec/blob/main/LICENSE">
  <img src="https://img.shields.io/github/license/TheNewThinkTank/datetime-tools.svg">
  </a>

  ![PyPI Downloads](https://img.shields.io/pypi/dm/datetime-convertion-tools)
  ![CI](https://github.com/TheNewThinkTank/datetime-tools/actions/workflows/wf.yml/badge.svg)
  [![codecov](https://codecov.io/gh/TheNewThinkTank/datetime-tools/branch/main/graph/badge.svg?token=CKAX4A3JQF)](https://codecov.io/gh/TheNewThinkTank/datetime-tools)
  ![commit activity](https://img.shields.io/github/commit-activity/m/TheNewThinkTank/datetime-tools)
  [![GitHub repo size](https://img.shields.io/github/repo-size/TheNewThinkTank/datetime-tools?style=flat&logo=github&logoColor=whitesmoke&label=Repo%20Size)](https://github.com/TheNewThinkTank/datetime-tools/archive/refs/heads/main.zip)



  Common datetime operations



  ```BASH
  pip install datetime-convertion-tools
  ```



  Importing

  ```Python
  from datetime_tools.get_year_and_week import get_year_and_week
  from datetime_tools.get_duration import get_duration_minutes
  ```

  Usage

  ```Python
  get_year_and_week("2022-10-29")
  get_duration_minutes("14:45", "15:10")
  ```

  <!--


  example:

  ```BASH
  git tag 0.0.1
  git push origin --tags
  ```

  release a patch:

  ```BASH
  poetry version patch
  ```

  then `git commit`, `git push` and

  ```BASH
  git tag 0.0.2
  git push origin --tags
  ```
  -->


pkgId: 55d481a3e7c33620c3327cb70bc10c3a41b8554fd08b03b236619e1a60e9f788
name: python-dau-finn-help
arch: noarch
version: 0.0.0
epoch: 0
release: 1
summary: Development documents and examples for dau-finn
url: https://github.com/timkpaine/dau-finn
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dau-finn-0.0.0-1.src.rpm
location_href: Packages/python-dau-finn-help-0.0.0-1.noarch.rpm
checksum_type: sha256
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, the dau-finn authors  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: d13c5ffda437fa8edc6c281cc587bc4a6c9b36f4238ae79470c6b4b940e37026
name: python-dau-ml-help
arch: noarch
version: 0.0.0
epoch: 0
release: 1
summary: Development documents and examples for dau-ml
url: https://github.com/dau-dev/dau-ml
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dau-ml-0.0.0-1.src.rpm
location_href: Packages/python-dau-ml-help-0.0.0-1.noarch.rpm
checksum_type: sha256
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, the dau-ml authors  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: 35454a66687cdc56cf1adb03a055f7516c1f63ab831778e7920b1767dc346c76
name: python-dawarich-api-help
arch: noarch
version: 0.1.4
epoch: 0
release: 1
summary: Development documents and examples for dawarich-api
url: https://pypi.org/project/dawarich-api/
rpm_license: APGL-3.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dawarich-api-0.1.4-1.src.rpm
location_href: Packages/python-dawarich-api-help-0.1.4-1.noarch.rpm
checksum_type: sha256
description:
  A python wrapper for [Dawarich](https://github.com/Freika/dawarich) (no official association).

  This repository contains a Python client for interacting with the Dawarich API. The client provides methods to post location data and retrieve statistics from the API. It is still experimental, but it should work, with the reservation for breaking changes.


pkgId: 40df935c5cb02dd495fca7fb905a357cef3965b5d7a0c8f01c1fbf2440732590
name: python-db-plugins-help
arch: noarch
version: 26.0.1
epoch: 0
release: 1
summary: Development documents and examples for db-plugins
url: https://pypi.org/project/db-plugins/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-db-plugins-26.0.1-1.src.rpm
location_href: Packages/python-db-plugins-help-26.0.1-1.noarch.rpm
checksum_type: sha256
description:
  This lib offers database initialization procedures for MongoDB and PostgreSQL, using the ALeRCE core models.


pkgId: f9a8a2eaa76e0cf4156a98e31def2114a9a55c07073898371de0a257546aea49
name: python-dbca-utils-help
arch: noarch
version: 2.0.3
epoch: 0
release: 1
summary: Development documents and examples for dbca-utils
url: https://pypi.org/project/dbca-utils/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbca-utils-2.0.3-1.src.rpm
location_href: Packages/python-dbca-utils-help-2.0.3-1.noarch.rpm
checksum_type: sha256
description:
  DBCA Django utility classes and functions.



  This project for development is using
  [Poetry](https://python-poetry.org/docs/) to install and manage a virtual Python
  environment. With Poetry installed, change into the project directory and run:

      poetry install

  Activate the virtualenv like so:

      poetry shell

  Run unit tests using `pytest` (or `tox`, to test against multiple Python versions):

      pytest -v
      tox -v



  Tagged releases are built and pushed to PyPI automatically using a GitHub
  workflow in the project. Update the project version in `pyproject.toml` and
  tag the required commit with the same value to trigger a release.



  1. Install via pip/Poetry/etc.: `pip install dbca-utils`



  This will automatically login and create users using headers from an upstream proxy (REMOTE_USER and some others).
  The logout view will redirect to a separate logout page which clears the SSO session.



  Add `dbca_utils.middleware.SSOLoginMiddleware` to `settings.MIDDLEWARE` (after both of
  `django.contrib.sessions.middleware.SessionMiddleware` and
  `django.contrib.auth.middleware.AuthenticationMiddleware`.
  Ensure that `AUTHENTICATION_BACKENDS` contains `django.contrib.auth.backends.ModelBackend`,
  as this middleware depends on it for retrieving the logged in user for a session.
  Note that the middleware will still work without it, but will reauthenticate the session
  on every request, and `request.user.is_authenticated` won't work properly/will be false.

  Example:

  ```python
  MIDDLEWARE = [
      ...,
      'django.contrib.sessions.middleware.SessionMiddleware',
      'django.contrib.auth.middleware.AuthenticationMiddleware',
      'dbca_utils.middleware.SSOLoginMiddleware'
      ...,
  ]
  ```



  `AuditMixin` is an extension of `Django.db.model.Model` that adds a number of additional fields:

  - creator - FK to `AUTH_USER_MODEL`, used to record the object creator
  - modifier - FK to `AUTH_USER_MODEL`, used to record who the object was last modified by
  - created - a timestamp that is set on initial object save
  - modified - an auto-updating timestamp (on each object save)


pkgId: 3fa0648a407146fcecb7189aa641aea8c27f06de3f3d2c709d476ad863e088b2
name: python-dbgpt-help
arch: noarch
version: 0.6.2
epoch: 0
release: 1
summary: Development documents and examples for dbgpt
url: https://github.com/eosphoros-ai/DB-GPT
rpm_license: https://opensource.org/license/mit/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbgpt-0.6.2-1.src.rpm
location_href: Packages/python-dbgpt-help-0.6.2-1.noarch.rpm
checksum_type: sha256
description:
  - 🔥🔥🔥 [Released V0.6.0 | A set of significant upgrades](https://docs.dbgpt.cn/docs/changelog/Released_V0.6.0)
    - [The AWEL upgrade to 2.0]()
    - [GraphRAG]()
    - [AI Native Data App construction and management]()
    - [The GPT-Vis upgrade, supporting a variety of visualization charts]()
    - [Support Text2NLU and Text2GQL fine-tuning]()


pkgId: 0fdd0c272fed083f339a73b121ffe040738b52d3df31d4820c0bfba553c7d3cb
name: python-dbrepo-help
arch: noarch
version: 1.5.3
epoch: 0
release: 1
summary: Development documents and examples for dbrepo
url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbrepo-1.5.3-1.src.rpm
location_href: Packages/python-dbrepo-help-1.5.3-1.noarch.rpm
checksum_type: sha256
description:
  Official client library for [DBRepo](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.3/), a database
  repository to support research based
  on [requests](https://pypi.org/project/requests/), [pydantic](https://pypi.org/project/pydantic/), [tuspy](https://pypi.org/project/tuspy/)
  and [pika](https://pypi.org/project/pika/).



  ```console
  $ python -m pip install dbrepo
  ```

  This package supports Python 3.11+.



  Get public data from a table as pandas `DataFrame`:

  ```python
  from dbrepo.RestClient import RestClient

  client = RestClient(endpoint="https://dbrepo1.ec.tuwien.ac.at")

  df = client.get_table_data(database_id=7, table_id=13, page=0, size=3, df=True)
  print(df)






  ```

  Import data into a table:

  ```python
  import pandas as pd
  from dbrepo.RestClient import RestClient

  client = RestClient(endpoint="https://dbrepo1.ec.tuwien.ac.at", username="foo",
                      password="bar")
  df = pd.DataFrame(data={'x_coord': 16.52617, 'component': 'Feinstaub (PM10)',
                          'unit': 'µg/m³', ...})
  client.import_table_data(database_id=7, table_id=13, file_name_or_data_frame=df)
  ```



  - Manage user
    account ([docs](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/#create-user-account))
  - Manage
    databases ([docs](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/usage-overview/#create-database))
  - Manage database access &
    visibility ([docs](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/#create-database))
  - Import
    dataset ([docs](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/#import-dataset))
  - Create persistent
    identifiers ([docs](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/#assign-database-pid))
  - Execute
    queries ([docs](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/#export-subset))
  - Get data from tables/views/subsets



  All credentials can optionally be set/overridden with environment variables. This is especially useful when sharing
  Jupyter Notebooks by creating an invisible `.env` file and loading it:

  ```
  REST_API_ENDPOINT="https://dbrepo1.ec.tuwien.ac.at"
  REST_API_USERNAME="foo"
  REST_API_PASSWORD="bar"
  REST_API_SECURE="True"
  AMQP_API_HOST="https://dbrepo1.ec.tuwien.ac.at"
  AMQP_API_PORT="5672"
  AMQP_API_USERNAME="foo"
  AMQP_API_PASSWORD="bar"
  AMQP_API_VIRTUAL_HOST="dbrepo"
  REST_UPLOAD_ENDPOINT="https://dbrepo1.ec.tuwien.ac.at/api/upload/files"
  ```

  You can disable logging by setting the log level to e.g. `INFO`:

  ```python
  from dbrepo.RestClient import RestClient
  import logging
  logging.getLogger().setLevel(logging.INFO)
  ...
  client = RestClient(...)
  ```



  - Searching



  * Prof. [Andreas Rauber](https://tiss.tuwien.ac.at/person/39608.html)<sup>TU Wien</sup>
  * DI. [Martin Weise](https://tiss.tuwien.ac.at/person/287722.html)<sup>TU Wien</sup>

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


pkgId: eeb66c59e12f8ba446d6a1b27be8a1fd9b466eb6d93093107e1b59e588b9bbb9
name: python-dbt-adapters-help
arch: noarch
version: 1.12.0
epoch: 0
release: 1
summary: Development documents and examples for dbt-adapters
url: https://github.com/dbt-labs/dbt-adapters
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-adapters-1.12.0-1.src.rpm
location_href: Packages/python-dbt-adapters-help-1.12.0-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
    <img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="500"/>
  </p>



  This package is responsible for:

  - defining database connection methods
  - caching information from databases
  - determining how relations are defined

  In this repo there is also our testing suite used for tesing adapter functionality



  There are two major adapter types: base and sql



  Defines the base implementation Adapters can use to build out full functionality.



  Defines a sql implementation for adapters that initially inherits the base implementation
  and comes with some pre-made methods and macros that can be overwritten as needed per adapter.
  (most common type of adapter.)





  Cached information from the database.



  Defines how we generate adapter objects



  Defines various interfaces for various adapter objects. Helps mypy correctly resolve methods.



  Configures naming scheme for cache elements to be universal.


pkgId: 9e6e0825a884a4b14cf274c4757fb3efea41373afb03ff6ae37e380c25d63901
name: python-dbt-artifacts-parser-help
arch: noarch
version: 0.8.0
epoch: 0
release: 1
summary: Development documents and examples for dbt-artifacts-parser
url: https://pypi.org/project/dbt-artifacts-parser/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-artifacts-parser-0.8.0-1.src.rpm
location_href: Packages/python-dbt-artifacts-parser-help-0.8.0-1.noarch.rpm
checksum_type: sha256
description:
  [![Test python](https://github.com/yu-iskw/dbt-artifacts-parser/actions/workflows/test.yml/badge.svg)](https://github.com/yu-iskw/dbt-artifacts-parser/actions/workflows/test.yml)
  <a href="https://pypi.org/project/dbt-artifacts-parser" target="_blank">
  <img src="https://img.shields.io/pypi/v/dbt-artifacts-parser?color=%2334D058&label=pypi%20package" alt="Package version">
  </a>
  <a href="https://pypi.org/project/dbt-artifacts-parser" target="_blank">
  <img src="https://img.shields.io/pypi/pyversions/dbt-artifacts-parser.svg?color=%2334D058" alt="Supported Python versions">
  </a>



  This is a dbt artifacts parse in python.
  It enables us to deal with `catalog.json`, `manifest.json`, `run-results.json` and `sources.json` as python objects.

  This package is primarily designed for dbt-core, enabling seamless interaction with dbt artifacts as Python objects. While dbt Cloud provides additional artifact types beyond those of dbt-core, this package does not offer comprehensive support for them.



  > **⚠️ Important Note:**
  >
  > - **Pydantic v1 will not be supported for dbt 1.9 or later.**
  > - **To parse dbt 1.9 or later, please migrate your code to pydantic v2.**
  > - **We will reassess version compatibility upon the release of pydantic v3.**

  | Version | Supported dbt Version | Supported pydantic Version |
  |---------|-----------------------|----------------------------|
  |  0.8    | dbt 1.5 to 1.9        | pydantic v2                |
  |  0.7    | dbt 1.5 to 1.8        | pydantic v2                |
  |  0.6    | dbt 1.5 to 1.8        | pydantic v1                |
  |  0.5    | dbt 1.5 to 1.7        | pydantic v1                |



  ```bash
  pip install -U dbt-artifacts-parser
  ```



  Those are the classes to parse dbt artifacts.



  - [CatalogV1](dbt_artifacts_parser/parsers/catalog/catalog_v1.py) for catalog.json v1



  - [ManifestV1](dbt_artifacts_parser/parsers/manifest/manifest_v1.py) for manifest.json v1
  - [ManifestV2](dbt_artifacts_parser/parsers/manifest/manifest_v2.py) for manifest.json v2
  - [ManifestV3](dbt_artifacts_parser/parsers/manifest/manifest_v3.py) for manifest.json v3
  - [ManifestV4](dbt_artifacts_parser/parsers/manifest/manifest_v4.py) for manifest.json v4
  - [ManifestV5](dbt_artifacts_parser/parsers/manifest/manifest_v5.py) for manifest.json v5
  - [ManifestV6](dbt_artifacts_parser/parsers/manifest/manifest_v6.py) for manifest.json v6
  - [ManifestV7](dbt_artifacts_parser/parsers/manifest/manifest_v7.py) for manifest.json v7
  - [ManifestV8](dbt_artifacts_parser/parsers/manifest/manifest_v8.py) for manifest.json v8
  - [ManifestV9](dbt_artifacts_parser/parsers/manifest/manifest_v9.py) for manifest.json v9
  - [ManifestV10](dbt_artifacts_parser/parsers/manifest/manifest_v10.py) for manifest.json v10
  - [ManifestV11](dbt_artifacts_parser/parsers/manifest/manifest_v11.py) for manifest.json v11
  - [ManifestV12](dbt_artifacts_parser/parsers/manifest/manifest_v12.py) for manifest.json v12



  - [RunResultsV1](dbt_artifacts_parser/parsers/manifest/manifest_v1.py) for run_results.json v1
  - [RunResultsV2](dbt_artifacts_parser/parsers/manifest/manifest_v2.py) for run_results.json v2
  - [RunResultsV3](dbt_artifacts_parser/parsers/manifest/manifest_v3.py) for run_results.json v3
  - [RunResultsV4](dbt_artifacts_parser/parsers/manifest/manifest_v4.py) for run_results.json v4
  - [RunResultsV5](dbt_artifacts_parser/parsers/manifest/manifest_v5.py) for run_results.json v5
  - [RunResultsV6](dbt_artifacts_parser/parsers/manifest/manifest_v6.py) for run_results.json v6



  - [SourcesV1](dbt_artifacts_parser/parsers/sources/sources_v1.py) for sources.json v1
  - [SourcesV2](dbt_artifacts_parser/parsers/sources/sources_v2.py) for sources.json v2
  - [SourcesV3](dbt_artifacts_parser/parsers/sources/sources_v3.py) for sources.json v3





  ```python
  import json


  from dbt_artifacts_parser.parser import parse_catalog

  with open("path/to/catalog.json", "r") as fp:
      catalog_dict = json.load(fp)
      catalog_obj = parse_catalog(catalog=catalog_dict)


  from dbt_artifacts_parser.parser import parse_catalog_v1

  with open("path/to/catalog.json", "r") as fp:
      catalog_dict = json.load(fp)
      catalog_obj = parse_catalog_v1(catalog=catalog_dict)
  ```



  ```python
  import json


  from dbt_artifacts_parser.parser import parse_manifest

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v1

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v1(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v2

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v2(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v3

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v3(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v4

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v4(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v5

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v5(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v6

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v6(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v7

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v7(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v8

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v8(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v9

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v9(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v10

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v10(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v11

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v11(manifest=manifest_dict)


  from dbt_artifacts_parser.parser import parse_manifest_v12

  with open("path/to/manifest.json", "r") as fp:
      manifest_dict = json.load(fp)
      manifest_obj = parse_manifest_v12(manifest=manifest_dict)
  ```



  ```python
  import json


  from dbt_artifacts_parser.parser import parse_run_results

  with open("path/to/run-resultsjson", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results(run_results=run_results_dict)


  from dbt_artifacts_parser.parser import parse_run_results_v1

  with open("path/to/run-results.json", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results_v1(run_results=run_results_dict)


  from dbt_artifacts_parser.parser import parse_run_results_v2

  with open("path/to/run-results.json", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results_v2(run_results=run_results_dict)


  from dbt_artifacts_parser.parser import parse_run_results_v3

  with open("path/to/run-results.json", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results_v3(run_results=run_results_dict)


  from dbt_artifacts_parser.parser import parse_run_results_v4

  with open("path/to/run-results.json", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results_v4(run_results=run_results_dict)


  from dbt_artifacts_parser.parser import parse_run_results_v5

  with open("path/to/run-results.json", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results_v5(run_results=run_results_dict)


  from dbt_artifacts_parser.parser import parse_run_results_v6

  with open("path/to/run-results.json", "r") as fp:
      run_results_dict = json.load(fp)
      run_results_obj = parse_run_results_v6(run_results=run_results_dict)
  ```



  ```python
  import json


  from dbt_artifacts_parser.parser import parse_sources

  with open("path/to/sources.json", "r") as fp:
      sources_dict = json.load(fp)
      sources_obj = parse_sources(sources=sources_dict)


  from dbt_artifacts_parser.parser import parse_sources_v1

  with open("path/to/sources.json", "r") as fp:
      sources_dict = json.load(fp)
      sources_obj = parse_sources_v1(sources=sources_dict)


  from dbt_artifacts_parser.parser import parse_sources_v2

  with open("path/to/sources.json", "r") as fp:
      sources_dict = json.load(fp)
      sources_obj = parse_sources_v2(sources=sources_dict)


  from dbt_artifacts_parser.parser import parse_sources_v3

  with open("path/to/sources.json", "r") as fp:
      sources_dict = json.load(fp)
      sources_obj = parse_sources_v3(sources=sources_dict)
  ```



  Thank you for your contributions!

  If you are interested in contributing to this package, please check out the [CONTRIBUTING.md](./CONTRIBUTING.md).

  <!-- readme: contributors -start -->
  <table>
  	<tbody>
  		<tr>
              <td align="center">
                  <a href="https://github.com/yu-iskw">
                      <img src="https://avatars.githubusercontent.com/u/1523515?v=4" width="100;" alt="yu-iskw"/>
                      <br />
                      <sub><b>Yu Ishikawa</b></sub>
                  </a>
              </td>
              <td align="center">
                  <a href="https://github.com/dlawin">
                      <img src="https://avatars.githubusercontent.com/u/11282254?v=4" width="100;" alt="dlawin"/>
                      <br />
                      <sub><b>Null</b></sub>
                  </a>
              </td>
              <td align="center">
                  <a href="https://github.com/bbrewington">
                      <img src="https://avatars.githubusercontent.com/u/10573749?v=4" width="100;" alt="bbrewington"/>
                      <br />
                      <sub><b>Brent Brewington</b></sub>
                  </a>
              </td>
              <td align="center">
                  <a href="https://github.com/judahrand">
                      <img src="https://avatars.githubusercontent.com/u/17158624?v=4" width="100;" alt="judahrand"/>
                      <br />
                      <sub><b>Judah Rand</b></sub>
                  </a>
              </td>
              <td align="center">
                  <a href="https://github.com/ulixius9">
                      <img src="https://avatars.githubusercontent.com/u/39544459?v=4" width="100;" alt="ulixius9"/>
                      <br />
                      <sub><b>Mayur Singal</b></sub>
                  </a>
              </td>
              <td align="center">
                  <a href="https://github.com/nabilm">
                      <img src="https://avatars.githubusercontent.com/u/987369?v=4" width="100;" alt="nabilm"/>
                      <br />
                      <sub><b>Mohamed Nabil Mahmoud Hafez</b></sub>
                  </a>
              </td>
  		</tr>
  		<tr>
              <td align="center">
                  <a href="https://github.com/OnkarVO7">
                      <img src="https://avatars.githubusercontent.com/u/28966081?v=4" width="100;" alt="OnkarVO7"/>
                      <br />
                      <sub><b>Onkar Ravgan</b></sub>
                  </a>
              </td>
              <td align="center">
                  <a href="https://github.com/meyer-glean">
                      <img src="https://avatars.githubusercontent.com/u/134302890?v=4" width="100;" alt="meyer-glean"/>
                      <br />
                      <sub><b>Null</b></sub>
                  </a>
              </td>
  		</tr>
  	<tbody>
  </table>
  <!-- readme: contributors -end -->


pkgId: c9c55ace69de7713b7f9d35a449d6a9fe4f3bf9366472c6d31a0085dcbaba001
name: python-dbt-bouncer-help
arch: noarch
version: 1.6.2
epoch: 0
release: 1
summary: Development documents and examples for dbt-bouncer
url: https://github.com/godatadriven/dbt-bouncer
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-bouncer-1.6.2-1.src.rpm
location_href: Packages/python-dbt-bouncer-help-1.6.2-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
    <img src="https://github.com/godatadriven/dbt-bouncer/raw/main/docs/assets/logo.svg" alt="dbt-bouncer logo" width="500"/>
  </p>


  <h1 align="center">
    dbt-bouncer
  </h1>
  <h2 align="center">
    Configure and enforce conventions for your dbt project.
  </h2>

  <div align="center">
    <a>
  	<img src="https://img.shields.io/github/release/godatadriven/dbt-bouncer.svg?logo=github">
    </a>
    <a>
  	<img src="https://img.shields.io/badge/License-MIT-yellow.svg">
    </a>
    <a>
  	<img src="https://img.shields.io/github/last-commit/godatadriven/dbt-bouncer/main">
    </a>
    <a>
  	<img src="https://img.shields.io/github/commits-since/godatadriven/dbt-bouncer/latest">
    </a>
  </div>

  <div align="center">
    <a>
  	<img alt="dbt-core" src="https://img.shields.io/badge/dbt--core%20-%3E%3D1.6-333?logo=dbt">
    </a>
    <a>
  	<img alt="dbt Cloud Supported" src="https://img.shields.io/badge/dbt%20Cloud%20-Supported-ff694a?logo=dbt">
    </a>
    <a>
  	<img alt="Docker Supported" src="https://img.shields.io/badge/Docker%20-Supported-0db7ed?logo=docker">
    </a>
    <a>
  	<img alt="GitHub Supported" src="https://img.shields.io/badge/GitHub%20-Supported-333?logo=github">
    </a>
  </div>

  <div align="center">
    <a>
  	<img src="https://github.com/godatadriven/dbt-bouncer/actions/workflows/merge_pipeline.yml/badge.svg">
    </a>
    <a>
  	<img src="https://github.com/godatadriven/dbt-bouncer/actions/workflows/post_release_pipeline.yml/badge.svg">
    </a>
    <a>
  	<img src="https://img.shields.io/badge/style-ruff-41B5BE?style=flat">
    </a>
    <a>
  	<img src="https://www.aschey.tech/tokei/github/godatadriven/dbt-bouncer?category=code">
    </a>
  </div>
  <br/>



  All documentation can be found on `dbt-bouncer` [documentation website](https://godatadriven.github.io/dbt-bouncer/).



  1. Install `dbt-bouncer`:

      ```shell
      pip install dbt-bouncer
      ```

  1. `dbt-bouncer` requires a `manifest.json` file. If not already present, run:

      ```shell
      dbt parse
      ```

  1. Create a `dbt-bouncer.yml` config file:

      ```yml
      manifest_checks:
        - name: check_model_directories
          include: ^models
          permitted_sub_directories:
            - intermediate
            - marts
            - staging
        - name: check_model_names
          include: ^models/staging
          model_name_pattern: ^stg_
      ```

  1. Run `dbt-bouncer`:

      ```
      $ dbt-bouncer

      [...]
      Running checks... |################################| 20/20
      Done. SUCCESS=19 WARN=0 ERROR=1
      Failed checks:
      | Check name               | Severity | Failure message                                                                       |
      |--------------------------|----------|---------------------------------------------------------------------------------------|
      | check_model_directories: | error    | AssertionError: `model` is located in `utilities`, this is not a valid sub-directory. |
      ```



  - Want to report a bug or request a feature? Let us know and open [an issue](https://github.com/godatadriven/dbt-bouncer/issues/new/choose).
  - Want to help us build `dbt-bouncer`? Check out the [Contributing Guide](https://github.com/godatadriven/dbt-bouncer/blob/HEAD/docs/CONTRIBUTING.md).



  Everyone interacting in `dbt-bouncer`'s codebase, issue trackers, chat rooms, and mailing lists is expected to follow the [Code of Conduct](./CODE_OF_CONDUCT.md).


pkgId: b1aa75988fbf6e604f7724aeb2437c21a81b49f04872aa8e6b71473c8a657c78
name: python-dbt-core-help
arch: noarch
version: 1.9.1
epoch: 0
release: 1
summary: Development documents and examples for dbt-core
url: https://github.com/dbt-labs/dbt-core
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-core-1.9.1-1.src.rpm
location_href: Packages/python-dbt-core-help-1.9.1-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
    <img src="https://raw.githubusercontent.com/dbt-labs/dbt-core/fa1ea14ddfb1d5ae319d5141844910dd53ab2834/etc/dbt-core.svg" alt="dbt logo" width="750"/>
  </p>
  <p align="center">
    <a href="https://github.com/dbt-labs/dbt-core/actions/workflows/main.yml">
      <img src="https://github.com/dbt-labs/dbt-core/actions/workflows/main.yml/badge.svg?event=push" alt="CI Badge"/>
    </a>
  </p>

  **[dbt](https://www.getdbt.com/)** enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

  ![architecture](https://raw.githubusercontent.com/dbt-labs/dbt-core/6c6649f9129d5d108aa3b0526f634cd8f3a9d1ed/etc/dbt-arch.png)



  Analysts using dbt can transform their data by simply writing select statements, while dbt handles turning these statements into tables and views in a data warehouse.

  These select statements, or "models", form a dbt project. Models frequently build on top of one another – dbt makes it easy to [manage relationships](https://docs.getdbt.com/docs/ref) between models, and [visualize these relationships](https://docs.getdbt.com/docs/documentation), as well as assure the quality of your transformations through [testing](https://docs.getdbt.com/docs/testing).

  ![dbt dag](https://raw.githubusercontent.com/dbt-labs/dbt-core/6c6649f9129d5d108aa3b0526f634cd8f3a9d1ed/etc/dbt-dag.png)



  - [Install dbt](https://docs.getdbt.com/docs/installation)
  - Read the [introduction](https://docs.getdbt.com/docs/introduction/) and [viewpoint](https://docs.getdbt.com/docs/about/viewpoint/)



  - Be part of the conversation in the [dbt Community Slack](http://community.getdbt.com/)
  - Read more on the [dbt Community Discourse](https://discourse.getdbt.com)



  - Want to report a bug or request a feature? Let us know on [Slack](http://community.getdbt.com/), or open [an issue](https://github.com/dbt-labs/dbt-core/issues/new)
  - Want to help us build dbt? Check out the [Contributing Guide](https://github.com/dbt-labs/dbt-core/blob/HEAD/CONTRIBUTING.md)



  Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [dbt Code of Conduct](https://community.getdbt.com/code-of-conduct).


pkgId: 24697219c61c969b1f1fc264d57f34919593871c896f831180a42cd40fe43190
name: python-dbt-databricks-help
arch: noarch
version: 1.9.1
epoch: 0
release: 1
summary: Development documents and examples for dbt-databricks
url: https://pypi.org/project/dbt-databricks/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-databricks-1.9.1-1.src.rpm
location_href: Packages/python-dbt-databricks-help-1.9.1-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
    <img src="https://bynder-public-us-west-2.s3.amazonaws.com/styleguide/ABB317701CA31CB7F29268E32B303CAE-pdf-column-1.png" alt="databricks logo" width="50%" />
    <img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="250"/>
  </p>
  <p align="center">
    <a href="https://github.com/databricks/dbt-databricks/actions/workflows/main.yml">
      <img src="https://github.com/databricks/dbt-databricks/actions/workflows/main.yml/badge.svg?event=push" alt="Unit Tests Badge"/>
    </a>
    <a href="https://github.com/databricks/dbt-databricks/actions/workflows/integration.yml">
      <img src="https://github.com/databricks/dbt-databricks/actions/workflows/integration.yml/badge.svg?event=push" alt="Integration Tests Badge"/>
    </a>
  </p>

  **[dbt](https://www.getdbt.com/)** enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

  The **[Databricks Lakehouse](https://www.databricks.com/)** provides one simple platform to unify all your data, analytics and AI workloads.



  The `dbt-databricks` adapter contains all of the code enabling dbt to work with Databricks. This adapter is based off the amazing work done in [dbt-spark](https://github.com/dbt-labs/dbt-spark). Some key features include:

  - **Easy setup**. No need to install an ODBC driver as the adapter uses pure Python APIs.
  - **Open by default**. For example, it uses the the open and performant [Delta](https://delta.io/) table format by default. This has many benefits, including letting you use `MERGE` as the the default incremental materialization strategy.
  - **Support for Unity Catalog**. dbt-databricks>=1.1.1 supports the 3-level namespace of Unity Catalog (catalog / schema / relations) so you can organize and secure your data the way you like.
  - **Performance**. The adapter generates SQL expressions that are automatically accelerated by the native, vectorized [Photon](https://databricks.com/product/photon) execution engine.


  If you are developing a dbt project on Databricks, we recommend using `dbt-databricks` for the reasons noted above.

  `dbt-spark` is an actively developed adapter which works with Databricks as well as Apache Spark anywhere it is hosted e.g. on AWS EMR.





  Install using pip:
  ```nofmt
  pip install dbt-databricks
  ```

  Upgrade to the latest version
  ```nofmt
  pip install --upgrade dbt-databricks
  ```



  ```nofmt
  your_profile_name:
    target: dev
    outputs:
      dev:
        type: databricks
        catalog: [optional catalog name, if you are using Unity Catalog, only available in dbt-databricks>=1.1.1]
        schema: [database/schema name]
        host: [your.databrickshost.com]
        http_path: [/sql/your/http/path]
        token: [dapiXXXXXXXXXXXXXXXXXXXXXXX]
  ```



  These following quick starts will get you up and running with the `dbt-databricks` adapter:
  - [Developing your first dbt project](https://github.com/databricks/dbt-databricks/blob/main/docs/local-dev.md)
  - Using dbt Cloud with Databricks ([Azure](https://docs.microsoft.com/en-us/azure/databricks/integrations/prep/dbt-cloud) | [AWS](https://docs.databricks.com/integrations/prep/dbt-cloud.html))
  - [Running dbt production jobs on Databricks Workflows](https://github.com/databricks/dbt-databricks/blob/main/docs/databricks-workflows.md)
  - [Using Unity Catalog with dbt-databricks](https://github.com/databricks/dbt-databricks/blob/main/docs/uc.md)
  - [Using GitHub Actions for dbt CI/CD on Databricks](https://github.com/databricks/dbt-databricks/blob/main/docs/github-actions.md)
  - [Loading data from S3 into Delta using the databricks_copy_into macro](https://github.com/databricks/dbt-databricks/blob/main/docs/databricks-copy-into-macro-aws.md)
  - [Contribute to this repository](CONTRIBUTING.MD)



  The `dbt-databricks` adapter has been tested:

  - with Python 3.7 or above.
  - against `Databricks SQL` and `Databricks runtime releases 9.1 LTS` and later.



  You can override the compute used for a specific Python model by setting the `http_path` property in model configuration. This can be useful if, for example, you want to run a Python model on an All Purpose cluster, while running SQL models on a SQL Warehouse. Note that this capability is only available for Python models.

  ```
  def model(dbt, session):
      dbt.config(
        http_path="sql/protocolv1/..."
      )
  ```


pkgId: 7f8f123787a529507298f7b274d33fb19b6baf050062c2f09215bb78aa4ecd3b
name: python-dbt-maxcompute-help
arch: noarch
version: 1.8.0a12
epoch: 0
release: 1
summary: Development documents and examples for dbt-maxcompute
url: https://github.com/dingxin-tech/dbt-maxcompute
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-maxcompute-1.8.0a12-1.src.rpm
location_href: Packages/python-dbt-maxcompute-help-1.8.0a12-1.noarch.rpm
checksum_type: sha256
description:
  <p align="left">
    <img src="https://raw.githubusercontent.com/aliyun/dbt-maxcompute/master/icon_MaxCompute.svg" alt="MaxCompute logo" width="300" height="150" style="margin-right: 100px;"/>
    <img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="300" height="150"/>
  </p>


  [![PyPI version](https://img.shields.io/pypi/v/dbt-maxcompute.svg?style=flat-square)](https://pypi.python.org/pypi/dbt-maxcompute)
  [![License](https://img.shields.io/pypi/l/pyodps.svg?style=flat-square)](https://github.com/aliyun/dbt-maxcompute/blob/master/License)
  <a href="https://github.com/aliyun/dbt-maxcompute/actions/workflows/main.yml">
  <img src="https://github.com/aliyun/dbt-maxcompute/actions/workflows/main.yml/badge.svg?event=push" alt="Unit Tests Badge"/>
  </a>

  Welcome to the **dbt-maxCompute** repository! This project aims to extend the capabilities of **dbt** (data build tool)
  for users of Alibaba MaxCompute, a cutting-edge data processing platform.



  **[dbt](https://www.getdbt.com/)** empowers data analysts and engineers to transform their data using software
  engineering best practices. It serves as the **T** in the ELT (Extract, Load, Transform) process, allowing users to
  organize, cleanse, denormalize, filter, rename, and pre-aggregate raw data, making it analysis-ready.



  MaxCompute is Alibaba Group's cloud data warehouse and big data processing platform, supporting massive data storage and
  computation, widely used for data analysis and business intelligence. With MaxCompute, users can efficiently manage and
  analyze large volumes of data and gain real-time business insights.

  This repository contains the foundational code for the **dbt-maxcompute** adapter plugin. For guidance on developing the
  adapter, please refer to the [official documentation](https://docs.getdbt.com/docs/contributing/building-a-new-adapter).



  The `README` you are currently viewing will be updated with specific instructions and details on how to utilize the
  adapter as development progresses.



  This adapter plugin follows [semantic versioning](https://semver.org/). The initial version is **v1.8.0-a0**, designed
  for compatibility with dbt Core v1.8.0. Since the plugin is in its early stages, the version number **a0** indicates
  that it is an Alpha release. A stable version will be released in the future, focusing on MaxCompute-specific
  functionality and aiming for backwards compatibility.





  ```bash

  conda create --name dbt-maxcompute-example python=3.9
  conda activate dbt-maxcompute-example

  pip install dbt-core
  pip install dbt-maxcompute
  ```



  1. Create a file in the ~/.dbt/ directory named profiles.yml.
  2. Copy the following and paste into the new profiles.yml file. Make sure you update the values where noted.

  ```yaml
  jaffle_shop: # this needs to match the profile in your dbt_project.yml file
    target: dev
    outputs:
      dev:
        type: maxcompute
        project: dbt-example # Replace this with your project name
        schema: default # Replace this with schema name, e.g. dbt_bilbo
        endpoint: http://service.cn-shanghai.maxcompute.aliyun.com/api # Replace this with your maxcompute endpoint
        accessId: XXX # Replace this with your accessId(ak)
        accessKey: XXX # Replace this with your accessKey(sk)
  ```

  Currently we support the following parameters：

  | **Field**   | **Description**                                                                                    | **Default Value**       |
  |-------------|----------------------------------------------------------------------------------------------------|-------------------------|
  | `type`      | Specifies the type of database connection; must be set to "maxcompute" for MaxCompute connections. | `"maxcompute"`          |
  | `project`   | The name of your MaxCompute project.                                                               | N/A (Must be specified) |
  | `endpoint`  | The endpoint URL for connecting to MaxCompute.                                                     | N/A (Must be specified) |
  | `accessId`  | The Access ID for authentication with MaxCompute.                                                  | N/A (Must be specified) |
  | `accessKey` | The Access Key for authentication with MaxCompute.                                                 | N/A (Must be specified) |
  | `schema`    | The namespace schema that the models will use in MaxCompute.                                       | N/A (Must be specified) |

  **Notes**: The fields marked as "N/A (Must be specified)" indicate that these values are required and do not have
  default values.



  If you are new to DBT, we have prepared a [Tutorial document](docs/Tutorial.md) for your reference. Of course, you can also access the
  official documentation provided by DBT (but some additional adaptations may be required for MaxCompute)



  If you want to contribute or develop the adapter, use the following command to set up your environment:

  ```bash
  pip install -r dev-requirements.txt
  ```



  Your feedback helps improve the project:

  - To report bugs or request features, please open a
    new [issue](https://github.com/aliyun/dbt-maxcompute/issues/new) on GitHub.



  We are committed to fostering a welcoming and inclusive environment. All community members are expected to adhere to
  the [dbt Code of Conduct](https://community.getdbt.com/code-of-conduct).


pkgId: 63131b2c84bd9ba56c9911adf4ba82d880a3f3a33981b41b6b5191faa94a8832
name: python-dbt-metabase-help
arch: noarch
version: 1.4.0
epoch: 0
release: 1
summary: Development documents and examples for dbt-metabase
url: https://github.com/gouline/dbt-metabase
rpm_license: MIT License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-metabase-1.4.0-1.src.rpm
location_href: Packages/python-dbt-metabase-help-1.4.0-1.noarch.rpm
checksum_type: sha256
description:
  [![GitHub Actions](https://github.com/gouline/dbt-metabase/actions/workflows/master.yml/badge.svg)](https://github.com/gouline/dbt-metabase/actions/workflows/master.yml)
  [![PyPI](https://img.shields.io/pypi/v/dbt-metabase)](https://pypi.org/project/dbt-metabase/)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/gouline/dbt-metabase/blob/master/LICENSE)
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)

  Integration between [dbt](https://www.getdbt.com/) and [Metabase](https://www.metabase.com/).

  If dbt is your source of truth for database schemas and you use Metabase as your analytics tool, dbt-metabase can propagate table relationships, model and column descriptions and semantic types (e.g. currency, category, URL) to your Metabase data model, and extract questions and dashboards as exposures in your dbt project.



  Requires Python 3.8 or above.

  For development, you will need [uv](https://docs.astral.sh/uv/getting-started/installation/) installed.



  You can install dbt-metabase from [PyPI](https://pypi.org/project/dbt-metabase/):

  ```
  pip install dbt-metabase
  ```

  Sections below demonstrate basic usage examples, for all CLI options:

  ```
  dbt-metabase --help
  ```



  Before running dbt-metabase, you need a compiled `manifest.json` file to parse. These are part of the [dbt artifact](https://docs.getdbt.com/reference/artifacts/dbt-artifacts) generated during compilation.

  Once `dbt compile` finishes, `manifest.json` can be found in the `target/` directory of your dbt project.

  See [dbt documentation](https://docs.getdbt.com/docs/running-a-dbt-project/run-your-dbt-projects) for more information.



  All commands require authentication against the [Metabase API](https://www.metabase.com/docs/latest/api-documentation) using one of these methods:

  * API key (`--metabase-api-key`)
    - Strongly **recommended** for automation, see [documentation](https://www.metabase.com/docs/latest/people-and-groups/api-keys) (Metabase 49 or later).
  * Username and password (`--metabase-username` / `--metabase-password`)
    - Fallback for older versions of Metabase and smaller instances.



  Let's start by defining a short sample `schema.yml` as below.

  ```yaml
  models:
    - name: stg_users
      description: User records.
      columns:
        - name: id
          description: Primary key.
          data_tests:
            - not_null
            - unique

        - name: email
          description: User's email address.

        - name: group_id
          description: Foreign key to user group.
          data_tests:
            - not_null
            - relationships:
                to: ref('groups')
                field: id

    - name: stg_groups
      description: User groups.
      columns:
        - name: id
          description: Primary key.
          data_tests:
            - not_null
            - unique

        - name: name
          description: Group name.
  ```

  This is already enough to propagate the primary keys, foreign keys and descriptions to Metabase:

  ```
  dbt-metabase models \
      --manifest-path target/manifest.json \
      --metabase-url https://metabase.example.com \
      --metabase-api-key mb_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX= \
      --metabase-database business \
      --include-schemas public
  ```

  Open Metabase and go to Settings > Admin Settings > Table Metadata, you will notice that `id` column in `stg_users` is now marked as "Entity Key" and `group_id` is a "Foreign Key" pointing to `id` in `stg_groups`.

  Try running `dbt-metabase models --help` to see all the options available for fine tuning.



  Native [relationship tests](https://docs.getdbt.com/reference/resource-properties/data-tests#relationships) and [column-level constraints](https://docs.getdbt.com/reference/resource-properties/constraints#defining-constraints) are the recommended ways of defining foreign keys, however you can override them with `fk_target_table` and `fk_target_field` meta fields. If both are set for a column, meta fields take precedence.

  ```yaml
  - name: country_id
    description: FK to User's country in the dim_countries table.
    meta:
      metabase.fk_target_table: analytics_dims.dim_countries
      metabase.fk_target_field: id
  ```

  You can provide `fk_target_table` as `schema_name.table_name` or just `table_name` to use the current schema. If your model has an alias, provide that alias rather than the original name.



  Now that we have foreign keys configured, let's tell Metabase that `email` column contains email addresses:

  ```yaml
  - name: email
    description: User's email address.
    meta:
      metabase.semantic_type: type/Email
  ```

  Once you run `dbt-metabase models` again, you will notice that `email` column is now marked as "Email".

  Below are common semantic types (formerly known as _special types_) accepted by Metabase:

  * `type/PK`
  * `type/FK`
  * `type/Number`
  * `type/Currency`
  * `type/Category`
  * `type/Title`
  * `type/Description`
  * `type/City`
  * `type/State`
  * `type/ZipCode`
  * `type/Country`
  * `type/Latitude`
  * `type/Longitude`
  * `type/Email`
  * `type/URL`
  * `type/ImageURL`
  * `type/SerializedJSON`
  * `type/CreationTimestamp`

  See [Metabase documentation](https://www.metabase.com/docs/latest/users-guide/field-types.html) for a more complete list.



  You can optionally specify visibility for tables and columns, this controls whether they are displayed in Metabase.

  Here is how you would hide that email column:

  ```yaml
  - name: email
    description: User's email address.
    meta:
      metabase.semantic_type: type/Email
      metabase.visibility_type: sensitive
  ```

  Below are the visibility types supported for columns:

  * `normal` (default) - This field will be displayed normally in tables and charts.
  * `details-only` - This field will only be displayed when viewing the details of a single record.
  * `sensitive` - This field won't be visible or selectable in questions created with the GUI interfaces.

  Tables support the following:

  * No value for visible (default)
  * `hidden`
  * `technical`
  * `cruft`

  If you notice any changes to these, please submit a pull request with an update.



  In addition to foreign keys, semantic types and visibility types, Metabase also accepts the following meta fields:

  ```yaml
  - name: model_name
    meta:
      metabase.display_name: another_model_name
      metabase.visibility_type: normal
      metabase.points_of_interest: Relevant records.
      metabase.caveats: Sensitive information about users.
    columns:
      - name: column_name
        meta:
          metabase.display_name: another_column_name
          metabase.visibility_type: sensitive
          metabase.semantic_type: type/Number
          metabase.has_field_values: list
          metabase.coercion_strategy: keyword
          metabase.number_style: decimal
  ```

  See [Metabase documentation](https://www.metabase.com/docs/latest/api) for details and accepted values.



  By default, dbt-metabase waits for tables and columns to be synchronized between your dbt project and Metabase database, otherwise the export fails when the sync timeout expires.

  If you have known discrepancies between dbt and Metabase and wish to proceed without synchronization, set the sync timeout to zero (e.g. `--sync-timeout 0`). This is discouraged, because you will still encounter errors if you have a table or column in your dbt project that is missing from Metabase and dbt-metabase attempts to export it.



  dbt-metabase allows you to extract questions and dashboards from Metabase as [dbt exposures](https://docs.getdbt.com/docs/building-a-dbt-project/exposures) in your project:

  ```
  dbt-metabase exposures \
      --manifest-path ./target/manifest.json \
      --metabase-url https://metabase.example.com \
      --metabase-api-key mb_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX= \
      --output-path models/ \
      --exclude-collections "temp*"
  ```

  Once the execution completes, check your output path for exposures files containing descriptions, creator details and links for Metabase questions and dashboards:

  ```yaml
  exposures:
    - name: number_of_orders_over_time
      description: '
        

        A line chart depicting how order volume changes over time

        

        Metabase Id: __8__

        Created On: __2021-07-21T08:01:38.016244Z__'
      type: analysis
      url: https://metabase.example.com/card/8
      maturity: medium
      owner:
        name: Indiana Jones
        email: indiana@example.com
      depends_on:
        - ref('orders')
  ```

  Native query questions will have SQL code blocks inside the descriptions, formatted to look nice in [dbt docs](https://docs.getdbt.com/docs/collaborate/documentation). These YAML files can be committed to source control to understand how exposures change over time.

  Try running `dbt-metabase exposures --help` to see all the options available for fine tuning.



  There are 3 levels of configuration in decreasing order of precedence:

  * CLI arguments, e.g. `--manifest-path target/manifest.json`
  * Environment variables, e.g. `MANIFEST_PATH=target/manifest.json`
  * Configuration file, e.g. `manifest_path: target/manifest.json`

  Try running `--help` for any command to see the full list of CLI arguments and environment variables.

  A configuration file can be created in `~/.dbt-metabase/config.yml` for dbt-metabase to pick it up automatically or anywhere else by specifying `dbt-metabase --config-path path/to/config.yml` (must come **before** the command). Here is an example YAML file:

  ```yaml
  config:
      manifest_path: target/manifest.json
      metabase_url: https://metabase.example.com
      metabase_api_key: mb_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
      
      models:
        metabase_database: business
      
      exposures:
        output_path: models
  ```

  Note that common configurations are in the outer block and command-specific ones are in separate blocks.



  Alternatively, you can invoke dbt-metabase programmatically. Below is the equivalent of CLI examples:

  ```python
  from dbtmetabase import DbtMetabase, Filter


  c = DbtMetabase(
      manifest_path="target/manifest.json",
      metabase_url="https://metabase.example.com",
      metabase_api_key="mb_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
  )


  c.export_models(
      metabase_database="business",
      schema_filter=Filter(include=["public"]),
  )


  c.extract_exposures(
      output_path=".",
      collection_filter=Filter(exclude=["temp*"]),
  )
  ```

  See function header comments for information about other parameters.


pkgId: 142ee7cab5345ed471142ae39b3217c6dba7745ecb486c61e50b0fee7326cfcb
name: python-dbt-oracle-help
arch: noarch
version: 1.8.3
epoch: 0
release: 1
summary: Development documents and examples for dbt-oracle
url: https://github.com/oracle/dbt-oracle
rpm_license: Apache Software License 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-oracle-1.8.3-1.src.rpm
location_href: Packages/python-dbt-oracle-help-1.8.3-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI version](https://badge.fury.io/py/dbt-oracle.svg)](https://pypi.python.org/pypi/dbt-oracle)
  [![dbt-tests-adapter](https://github.com/oracle/dbt-oracle/actions/workflows/oracle-xe-adapter-tests.yml/badge.svg)](https://github.com/oracle/dbt-oracle/actions/workflows/oracle-xe-adapter-tests.yml)
  [![dbt-oracle docs](https://img.shields.io/badge/docs-read-blue)](https://docs.getdbt.com/reference/warehouse-setups/oracle-setup)
  [![dbt-oracle license](https://img.shields.io/badge/license-Apache%202.0-blue)][4]

  `dbt-oracle` implements [dbt (data build tool)](https://docs.getdbt.com/docs/introduction) functionalities for Oracle Autonomous Database.

  > Prior to version 1.0.0, dbt-oracle was created and maintained by [Indicium](https://indicium.tech/) on [their GitHub repo](https://github.com/techindicium/dbt-oracle). Contributors in this repo are credited for laying the groundwork and maintaining the adapter till version 0.4.3.
  From version 1.0.0, dbt-oracle is maintained and distributed by Oracle.




  ```bash
  pip install dbt-oracle
  ```




  Please refer to the [Oracle setup on dbt docs website][1] for documentation.



  Questions can be asked either in [db-oracle community Slack channel][6] or in [GitHub Discussions][7]

  Bugs reports or feature requests can be raised in [GitHub Issues][8]



  To get started, a sample dbt project can be found in the directory [/dbt_adbs_test_project][5].



  This project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md).



  Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process.


  dbt-oracle is licensed under Apache 2.0 License which you can find [here][4].

  [1]: https://docs.getdbt.com/reference/warehouse-profiles/oracle-profile
  [2]: https://github.com/oracle/dbt-oracle/blob/main/CONTRIBUTING.md
  [3]: https://github.com/oracle/dbt-oracle/blob/main/SECURITY.md
  [4]: https://github.com/oracle/dbt-oracle/blob/main/LICENSE.txt
  [5]: https://github.com/oracle/dbt-oracle/tree/main/dbt_adbs_test_project
  [6]: https://getdbt.slack.com/archives/C01PWH4TXLY
  [7]: https://github.com/oracle/dbt-oracle/discussions
  [8]: https://github.com/oracle/dbt-oracle/issues


pkgId: 8bd506b8503f017e13042fe0bb98c238c7c079f4fc2648b37e5b874b099c08cf
name: python-dbt-sl-sdk-help
arch: noarch
version: 0.8.0
epoch: 0
release: 1
summary: Development documents and examples for dbt-sl-sdk
url: https://pypi.org/project/dbt-sl-sdk/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-sl-sdk-0.8.0-1.src.rpm
location_href: Packages/python-dbt-sl-sdk-help-0.8.0-1.noarch.rpm
checksum_type: sha256
description:
  A library for easily accessing [dbt's Semantic Layer](https://docs.getdbt.com/docs/use-dbt-semantic-layer/dbt-sl/) via Python.



  To install the SDK, you'll need to specify optional dependencies depending on whether you want to use it synchronously (backed by [requests](https://github.com/psf/requests/)) or via [asyncio](https://docs.python.org/3/library/asyncio.html) (backed by [aiohttp](https://github.com/aio-libs/aiohttp/)).

  ```

  pip install "dbt-sl-sdk[sync]"


  pip install "dbt-sl-sdk[async]"
  ```



  To run operations against the Semantic Layer APIs, just instantiate a `SemanticLayerClient` with your specific connection parameters ([learn more](https://docs.getdbt.com/docs/dbt-cloud-apis/sl-api-overview)):

  ```python
  from dbtsl import SemanticLayerClient

  client = SemanticLayerClient(
      environment_id=123,
      auth_token="<your-semantic-layer-api-token>",
      host="semantic-layer.cloud.getdbt.com",
  )


  def main():
      with client.session():
          metrics = client.metrics()
          table = client.query(
              metrics=[metrics[0].name],
              group_by=["metric_time"],
          )
          print(table)

  main()
  ```

  Note that all method calls that will reach out to the APIs need to be within a `client.session()` context manager. By using a session, the client can connect to the APIs only once, and reuse the same connection between API calls.



  If you're using asyncio, import `AsyncSemanticLayerClient` from `dbtsl.asyncio`. The APIs of `SemanticLayerClient` and `AsyncSemanticLayerClient` are the same. The only difference is that the asyncio version has `async` methods which need to be `await`ed.

  That same sync example can be converted into asyncio code like so:

  ```python
  import asyncio
  from dbtsl.asyncio import AsyncSemanticLayerClient

  client = AsyncSemanticLayerClient(
      environment_id=123,
      auth_token="<your-semantic-layer-api-token>",
      host="semantic-layer.cloud.getdbt.com",
  )

  async def main():
      async with client.session():
          metrics = await client.metrics()
          table = await client.query(
              metrics=[metrics[0].name],
              group_by=["metric_time"],
          )
          print(table)

  asyncio.run(main())
  ```



  By design, the SDK returns all query data as [pyarrow](https://arrow.apache.org/docs/python/index.html) tables. If you wish to use the data with libraries like [pandas](https://pandas.pydata.org/) or [polars](https://pola.rs/), you need to manually download them and convert the data into their format.

  If you're using pandas:
  ```python


  arrow_table = client.query(...)
  pandas_df = arrow_table.to_pandas()
  ```

  If you're using polars:
  ```python
  import polars as pl



  arrow_table = client.query(...)
  polars_df = pl.from_arrow(arrow_table)
  ```



  Check out our [usage examples](./examples/) to learn more.




  By default, dbt the SDK sends some [platform-related information](./dbtsl/env.py) to dbt Labs. If you'd like to opt out, do
  ```python
  from dbtsl.env import PLATFORM
  PLATFORM.anonymous = True


  ```




  If you're interested in contributing to this project, check out our [contribution guidelines](./CONTRIBUTING.md).


pkgId: 4cf8cda215da19478b751ca2da7366c9d7abce850213b8520b79af277ab9a7d5
name: python-dbt-watsonx-presto-help
arch: noarch
version: 0.1.1
epoch: 0
release: 1
summary: Development documents and examples for dbt-watsonx-presto
url: https://github.com/IBM/dbt-watsonx-presto
rpm_license: Apache License 2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt-watsonx-presto-0.1.1-1.src.rpm
location_href: Packages/python-dbt-watsonx-presto-help-0.1.1-1.noarch.rpm
checksum_type: sha256
description:
  [dbt](https://www.getdbt.com/) enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

  dbt is the T in ELT. Organize, cleanse, denormalize, filter, rename, and pre-aggregate the raw data in your warehouse so that it's ready for analysis.



  The `dbt-watsonx-presto` adapter uses [Presto](https://prestodb.io/) as the underlying SQL query engine to enable powerful data transformations and query federation across diverse data sources. With Presto, you can connect to multiple data systems (via available connectors) through a single dbt connection and process SQL queries efficiently at scale.

  Transformations defined in dbt are passed to Presto, which executes these SQL queries by translating them into queries specific to the connected systems. Presto then creates tables, builds views, or manipulates data as defined by your dbt project.

  This repository is an evolution of the [dbt-presto](https://github.com/dbt-labs/dbt-presto) adapter, specifically designed for seamless compatibility with both [open-source Presto](https://prestodb.io/) and IBM [watsonx.data Presto](https://www.ibm.com/products/watsonx-data) clusters.


  Read the official documentation for using watsonx.data with dbt-watsonx-presto -

  - [Documentation for IBM Cloud and SaaS offerrings](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-dbt_watsonx_presto)
  - [Documentation for IBM watsonx.data software](https://www.ibm.com/docs/en/watsonx/watsonxdata/2.0.x?topic=dbt-data-build-tool-adapter-presto)



  - [Install dbt](https://docs.getdbt.com/docs/core/installation-overview)
  - Read the [introduction](https://docs.getdbt.com/docs/introduction) and [viewpoint](https://docs.getdbt.com/community/resources/viewpoint)


  To install the `dbt-watsonx-presto` plugin, use pip:
  ```
  $ pip install dbt-watsonx-presto
  ```




  To connect dbt Core to your Presto clusters, configure the `profiles.yml` file located in the `.dbt/` directory of your home directory. :

  **Example profiles.yml entry:**
  ```
  my_project:
    outputs:
      dev:
        type: presto
        method: BasicAuth
        user: username
        password: password
        host:  localhost
        port: 443
        database: analytics
        schema: dbt_drew
        threads: 8
        ssl_verify: path/to/certificate

      prod:
        type: presto
        method: BasicAuth
        user: username
        password: api_key
        host: 127.0.0.1
        port: 8080
        database: analytics
        schema: dbt_drew
        threads: 8
        ssl_verify: true

    target: dev
  ```
  For more detailed instructions on configuring your profiles, refer watsonx.data and presto setup    .


  For Presto-specific configurations, such as advanced session properties or Presto connectors, consult the Presto Configuration Guide.


  We welcome contributions to the dbt-watsonx-presto project. Here’s how you can help:

  - Report Issues: If you encounter bugs or have feature requests, please submit them via [GitHub Issues](https://github.com/IBM/dbt-watsonx-presto/issues).
  - Submit Code: Follow the [Contributing Guide](CONTRIBUTING.md) to submit pull requests with improvements or new features.



  By contributing to dbt-watsonx-presto, you agree that your contributions will be licensed under the [Apache License Version 2.0 (APLv2)](LICENSE).


pkgId: eb5da8b13f042d1a4ad4f8dccff7ba81ccdd51c5e4ed49a20deb8e3f96f3023d
name: python-dbt2looker-bigquery-help
arch: noarch
version: 0.13.3
epoch: 0
release: 1
summary: Development documents and examples for dbt2looker-bigquery
url: https://pypi.org/project/dbt2looker-bigquery/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dbt2looker-bigquery-0.13.3-1.src.rpm
location_href: Packages/python-dbt2looker-bigquery-help-0.13.3-1.noarch.rpm
checksum_type: sha256
description:
  Use `dbt2looker-bigquery` to generate Looker view files automatically from dbt models in Bigquery.

  This is a fork of dbt2looker that is specific to bigquery.
  The intention is to allow one to define most of the simple and tedious lookml settings in dbt.
  That way the lookml code gets less bloated, and can be more focused on advanced metrics and explores.

  Want a deeper integration between dbt and your BI tool?
  You should also checkout [Lightdash - the open source alternative to Looker](https://github.com/lightdash/lightdash)

  **Features**
  * Warehouses: BigQuery

  * **Column descriptions** synced to looker
  * **Dimension** for each column in dbt model
  * **Define Dimensions** define common lookml settings in dbt like label, group label, hidden
  * **Opinionated Primary key** automatically set the first column to be the primary key, and hide it.
  * **Create explores for structs** automatically generate explores for complex tables with structs and arrays in them.
  * **Dimension groups** for datetime/timestamp/date columns
  * **Measures** defined through dbt column `metadata` [see below](#defining-measures)



  Run `dbt2looker` in the root of your dbt project *after compiling looker docs*.
  (dbt2looker-bigquery uses docs to infer types and such)

  **Generate Looker view files for all models:**
  ```shell
  dbt docs generate
  dbt2looker
  ```

  **Generate Looker view files for all models tagged `prod`**
  ```shell
  dbt2looker --tag prod
  ```

  **Generate Looker view files for all exposed models **
  [dbt docs - exposures](https://docs.getdbt.com/docs/build/exposures)
  ```shell
  dbt2looker --exposed_only
  ```



  **Install from PyPi repository**

  Install from pypi into a fresh virtual environment.

  ```

  python3.7 -m venv dbt2looker-venv
  source dbt2looker-venv/bin/activate


  pip install dbt2looker-bigquery


  dbt2looker
  ```

  Or if you use Poetry
  ```

  poetry add dbt2looker-bigquery


  dbt2looker
  ```




  You can define looker measures in your dbt `schema.yml` files. For example:

  ```yaml
  models:
    - name: pages
      columns:
        - name: url
          description: "Page url"
        - name: event_id
          description: unique event id for page view
          meta:
              looker:
                hidden: True
                label: event
                group_label: identifiers
                value_format_name: id

              looker_measures:
                - type: count_distinct
                  sql_distinct_key: ${url}
                - type: count
                  value_format_name: decimal_1

  ```


  dbt2looker can be used in a production setting.
  It is a bit of a project, so if you want to try to do it, prepare to spend some time.

  This explanation is based on you using some kind of pipeline tool to do ci/cd on your dbt project.
  I am using github actions and google cloud platform, so I will describe it as such.

  after having done your continous deployment in the pipeline you can run:
  (assuming that the manifest.json and catalog.json is in the target folder)
  ```bash
  dbt docs generate
  dbt2looker --target-dir ./target/ --output-dir ./looker --exposures_only
  ```

  at this point you have a bunch of lookml files in a folder named /looker within your github action runner.
  you will now need to store these files somewhere.

  example using gsutil:
  ```bash
  gsutil -m cp -r ./looker/views/ "gs://{{dbt2looker-backend}}/${{ github.ref_name }}/"
  ```
  this will put the files in a google cloud storage bucket, in a folder named after the branch you deploy from.
  So if that branch was main, you now have a lookml state stored in a folder called /main/ in your bucket.

  The next step is to create a looker repository for exposing these autogenerated files in looker.
  in this repo, you want a github action that syncs in the lookml files from the bucket into this project.

  here is an example script:
  (using some ENVIRONMENT VARIABLES)
  (This script also allows for "locking" certain files from being synced, by adding #nosync anywhere in the file.)
  ```
            - name: Sync script
              id: find_script
              run: |
                  
                  set -e

                  if [ -z "${GCS_AUTOGEN_BUCKET}" ]; then
                      echo "🗝️ The $ GCS_AUTOGEN_BUCKET repository variable is not set, Skipping dbt file sync. 😊"
                      exit 1
                  fi

                  filename="manifest.lkml"

                  if [ -z "${DBT_SYNC_BRANCH}" ]; then
                      echo "🗝️ The DBT_SYNC_BRANCH variable is not set in lkml or as a repository variable. Skipping dbt file sync. 😊"
                      exit 1
                  fi

                  if [ -z "${SYNC_TO_TOP_LEVEL}" ]; then
                      echo "Sync to top level is not set. syncing to ./views/_autogen_dbt"
                      destination_dir="views/_autogen_dbt"
                  else
                      echo "Sync to top level is set. syncing to ."
                      destination_dir="."
                  fi

                  source_dir=".tmp/_autogen_dbt"
                  mkdir .tmp

                  mkdir $source_dir
                  gsutil -m cp -r gs://${GCS_AUTOGEN_BUCKET}/${DBT_SYNC_BRANCH}/views/ $source_dir

                  copy_recursive() {
                      local source="$1"
                      local destination="$2"
                      local -a stack=("$source")

                      mkdir -p "$destination" # create destination directory if it doesn't exist

                      while [ ${#stack[@]} -gt 0 ]; do
                          local last_index=$(( ${#stack[@]} - 1 ))  # Get the last index
                          local current="${stack[last_index]}"       # Get the last item in the stack
                          unset stack[last_index]                    # Remove the last item from the stack
                          stack=("${stack[@]}")                     # Rebuild the array to maintain contiguous indexing

                          echo "iterating over folder $current"
                          for item in "$current"/*; do
                              if [ -d "$item" ] && [ ! -L "$item" ]; then
                                  local rel_path="${item#$source}"  # Remove source path prefix
                                  rel_path="${rel_path#/}"          # Remove leading slash
                                  mkdir -p "$destination/$rel_path"
                                  stack+=("$item")                  # Add subdirectory to the stack
                              elif [ -f "$item" ]; then
                                  local rel_path="${item#$source}"  # Remove source path prefix
                                  rel_path="${rel_path#/}"          # Remove leading slash
                                  local dest_path="$(dirname "$destination/$rel_path")"

                                  if grep -q "#nosync" "$destination/$item"; then
                                      echo "'$item' contains '#nosync' tag and is not synced."
                                  else
                                      mkdir -p "$dest_path"
                                      echo "copying $item to $dest_path"
                                      cp -f "$item" "$dest_path/"
                                  fi
                              fi
                          done
                      done
                  }

                  copy_recursive "$source_dir" "$destination_dir"
  ```

  Now you have the autogenerated, autoupdating files available in looker!
  But how do you keep them fresh?

  One option is to trigger the github action in the looker repository from the dbt repository.
  One way to do this is to use a PAT-token to trigger a github action from one repo to another.

  Another option is to schedule the refresh of the files in the looker-repository by running the github action for syncing files on a schedule.

  So how do you use this automatically refreshing repository?
  My recommendation is to import the project as a dependency into your main looker project, and ref the files from the autogen looker project.
  That way you do not end up with merge conflicts and similar issues, and you can go back to previous versions of the sync project, if a problem arises.


pkgId: ffddb889dda8183857c320a2e1bb141fe2249390ed8a9a659d044b17fa80e7f0
name: python-dciclient-help
arch: noarch
version: 4.0.1.post202412171111
epoch: 0
release: 1
summary: Development documents and examples for dciclient
url: https://github.com/redhat-cip/python-dciclient
rpm_license: Apache v2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dciclient-4.0.1.post202412171111-1.src.rpm
location_href: Packages/python-dciclient-help-4.0.1.post202412171111-1.noarch.rpm
checksum_type: sha256
description:
  The `python-dciclient` project provides both the python bindings and a CLI to the [DCI Control Server](https://github.com/redhat-cip/dci-control-server)





  The team behind the project offers repositories for Red Hat/CentOS:

  - `yum -y install https://packages.distributed-ci.io/dci-release.el7.noarch.rpm`

  Then simply run `yum install python2-dciclient` for Python 2 or `yum install python3-dciclient` for Python 3.

  As mentioned above, the package provides two things:

  - The CLI: a `dcictl` command is provided. For more details `dcictl --help`.
  - The API: a python module one can use to interact with a control server (`dciclient.v1.api.*`)



  1. Create a `venv`, run: `$ python3 -m venv myvenv`
      - alternatively you may use other tools: `virtualenv`, `pipenv`, etc.
  2. Activate `myvenv`: `$ source myvenv/bin/activate`
  3. Install the package: `(myvenv) $ pip install dciclient`
      - installing directly from git is currently not supported out-of-the-box.
  4. test




  Admitting one has valid credentials to use the DCI Control Server platform, there are two way to specify those informations while using dcictl:

  - A dcirc file:

  A file where the necessary credentials are stored. This file needs then to be sourced before using `dcictl`. Example:

  ```
  export DCI_LOGIN=foo
  export DCI_PASSWORD=bar
  export DCI_CS_URL=https://api.distributed-ci.io
  ```

  or using the API secret method:

  ```
  export DCI_CLIENT_ID=<client_type>/<client_id>
  export DCI_API_SECRET=<api_secret>
  export DCI_CS_URL=https://api.distributed-ci.io
  ```

  Where `client_type` can currently be `remoteci` or `feeder`

  Which will allow the user to run the command: `dcictl team-list`

  - At the command line level:

  One can pass those informations on the CLI level. Example: `dcictl --dci-login jdoe --dci-password jdoe --dci-cs-url 'https://api.distributed-ci.io' team-list`
  or `dcictl --dci-client-id <client_type>/<client_id> --dci-api-secret <api_secret> --dci-cs-url 'https://api.distributed-ci.io' team-list`

  Where `client_type` can currently be `remoteci` or `feeder`

  For RemoteCIs or Feeders please use the API Secret to authenticate.



  Run `dcictl --help` command to see the list of the available commands

  ```
  Commands:
    component-create             Create a component.
    component-delete             Delete a component.
    component-file-delete        Delete a component file.
    component-file-download      Retrieve a component file.
    component-file-list          List files attached to a component.
    component-file-show          Show a component file.
    component-file-upload        Attach a file to a component.
    component-list               List all components.
    component-show               Show a component.
    component-status             Show an overview of the last jobs associated...
    component-update             Update a component.
    file-delete                  Delete a file.
    file-list                    List all files.
    file-show                    Show a file.
    job-delete                   Delete a job.
    job-list                     List all jobs.
    job-output                   Show the job output.
    job-recheck                  Recheck a job.
    job-results                  List all job results.
    job-show                     Show a job.
    jobdefinition-annotate       Annotate a jobdefinition.
    jobdefinition-attach-test    Attach a test to a jobdefinition.
    jobdefinition-create         Create a jobdefinition.
    jobdefinition-delete         Delete a jobdefinition.
    jobdefinition-list           List all jobdefinitions.
    jobdefinition-list-test      List tests attached to a jobdefinition.
    jobdefinition-set-active     Annotate a jobdefinition.
    jobdefinition-show           Show a jobdefinition.
    jobdefinition-unattach-test  Unattach a test to a jobdefinition.
    jobdefinition-update         Update a jobdefinition.
    jobstate-list                List all jobstates.
    jobstate-show                Show a jobstate.
    purge                        Purge soft-deleted resources.
    remoteci-create              Create a remoteci.
    remoteci-delete              Delete a remoteci.
    remoteci-get-data            Retrieve data field from a remoteci.
    remoteci-list                List all remotecis.
    remoteci-reset-api-secret    Reset a remoteci api secret.
    remoteci-show                Show a remoteci.
    remoteci-update              Update a remoteci.
    team-create                  Create a team.
    team-delete                  Delete a team.
    team-list                    List all teams.
    team-show                    Show a team.
    team-update                  Update a team.
    topic-create                 Create a topic.
    topic-delete                 Delete a topic.
    topic-list                   List all topics.
    topic-show                   Show a topic.
    user-create                  Create a user.
    user-delete                  Delete a user.
    user-list                    List all users.
    user-show                    Show a user.
    user-update                  Update a user.
  ```



  If you want to store secrets in your YAML configuration files
  (settings or inventories), you can use the `dci-vault` command to do
  so. The various agents will then decrypt the secrets
  transparently. For example:

  ```ShellSession
  $ source dcirc.sh
  $ echo -n 42 | dci-vault encrypt_string --stdin-name answer
  Reading plaintext input from stdin. (ctrl-d to end input)
  answer: !vault |
            $ANSIBLE_VAULT;1.1;AES256
            36373332616633313866333234303166616237613332316534393834663934663463353433363464
            6363626133323036383939633566383139373636633533390a316363393437653663363538343730
            65333862633131353030353137636236663036656264393638353464343138623664323731613331
            6466636637393865380a336365633465633037623935633866366562373732356635343361353334
            3732
  Encryption successful
  ```

  `dci-vault` is a thin layer on top of `ansible-vault` so all the
  sub-commands of `ansible-vault` are available.



  The dci-rhel-latest-kernel-version is a utility command to easily get the
  latest kernel available for the RHEL product.

  ```ShellSession
  $ source dcirc.sh
  $ dci-rhel-latest-kernel-version --topic RHEL-not-existing
  topic RHEL-not-existing not found

  - available topics:
  RHEL-9.2
  RHEL-9.1
  RHEL-8.7
  RHEL-8.6
  RHEL-8.5
  RHEL-9.0
  RHEL-8.4
  RHEL-8.0
  RHEL-8.1
  RHEL-7.6
  RHEL-7.7
  RHEL-8.3
  RHEL-8.2
  RHEL-7.8
  RHEL-7.9
  RHEL-7-nightly
  RHEL-7-milestone
  $ dci-rhel-latest-kernel-version --topic-list
  available topics:
  RHEL-9.2
  RHEL-9.1
  RHEL-9.0
  RHEL-8.7
  RHEL-8.6
  RHEL-8.5
  RHEL-8.4
  RHEL-8.3
  RHEL-8.2
  RHEL-8.1
  RHEL-8.0
  RHEL-7.9
  $ dci-rhel-latest-kernel-version --topic RHEL-9.2
  5.14.0-160.el9
  ```



  To create a component, you can use the `dci-create-component`
  utility. For example, to create the `ga` component called `My product` with version `1.0` on the `OCP-4.11` topic, use it like that:

  ```ShellSession
  $ source dcirc.sh
  $ dci-create-component OCP-4.11 "My Product" 1.0 ga
  ```



  `dci-find-latest-component` allows to find the latest component for a
  product. For example to find the latest GA OCP component on the most
  recent topic, you can do it like this:

  ```ShellSession
  $ source dcirc.sh
  $ dci-find-latest-component --tags build:ga OpenShift ocp
  ```

  To lookup the latest GA OCP component for a specific topic for example
  OCP-4.11, you can do it like this:

  ```ShellSession
  $ source dcirc.sh
  $ dci-find-latest-component --topic OCP-4.11 --tags build:ga OpenShift ocp
  ```



  `dci-diff-jobs` allows to compare the components of 2 jobs:

  ```ShellSession
  $ source dcirc.sh
  $ dci-diff-jobs --job_id_1 9e3f3a4f-74c5-4bce-9c45-450b27006bed --job_id_2 b55fb5d6-3f01-44ce-9034-26a53e086137
  +-----------------------+--------------------------------------+--------------------------------------+
  |       component       | 9e3f3a4f-74c5-4bce-9c45-450b27006bed | b55fb5d6-3f01-44ce-9034-26a53e086137 |
  +-----------------------+--------------------------------------+--------------------------------------+
  |          ocp          |                4.9.50                |                4.8.52                |
  | redhat-operator-index |                 v4.9                 |                 v4.8                 |
  +-----------------------+--------------------------------------+--------------------------------------+
  ```

  or their tags:

  ```ShellSession
  $ source dcirc.sh
  $ dci-diff-jobs --tags --job_id_1 9e3f3a4f-74c5-4bce-9c45-450b27006bed --job_id_2 b55fb5d6-3f01-44ce-9034-26a53e086137
  +--------------------------------------+--------------------------------------+
  | 9e3f3a4f-74c5-4bce-9c45-450b27006bed | b55fb5d6-3f01-44ce-9034-26a53e086137 |
  +--------------------------------------+--------------------------------------+
  |       pipeline-id:8nodes.8225        |              Not found               |
  |          inventory:cluster6          |              Not found               |
  |         pipeline:install-4.9         |              Not found               |
  |           cluster:cluster6           |              Not found               |
  |              Not found               |       pipeline-id:8nodes.8239        |
  |              Not found               |          inventory:cluster4          |
  |              Not found               |         pipeline:install-4.8         |
  |              Not found               |           cluster:cluster4           |
  +--------------------------------------+--------------------------------------+
  ```

  If the `--job_id_1` is not specified, the last job in success status is searched.

  If the `--job_id_2` is not specified, a job is searched with the same
  name, remoteci, topic, configuration and url than the job 1.



  To create a job without running a DCI agent, you can use the `dci-create-job` utility. It is useful if you want to associate a CI job that is not a DCI job.

  ```ShellSession
  $ source dcirc.sh
  $ dci-create-job --topic OCP-4.14 --remoteci my-remoteci --name jenkins-job --comment "my comment"  --comp 'OpenShift 4.14.10' --tag my-tag --key-value key=42 --data '{"jenkins_url": "https://jenkins.corp.com/job/name/42"}'
  ```



  Apache 2.0



  Distributed-CI Team <distributed-ci@redhat.com>


pkgId: afb0d154a7907e9c09ef3e2a24e7277d2fba070a6137153994166fe47e8f9304
name: python-dcurves-help
arch: noarch
version: 1.1.2
epoch: 0
release: 1
summary: Development documents and examples for dcurves
url: https://pypi.org/project/dcurves/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dcurves-1.1.2-1.src.rpm
location_href: Packages/python-dcurves-help-1.1.2-1.noarch.rpm
checksum_type: sha256
description:
  Diagnostic and prognostic models are typically evaluated with measures of accuracy that do not address clinical consequences. Decision-analytic techniques allow assessment of clinical outcomes, but often require collection of additional information that may be cumbersome to apply to models that yield continuous results.

  Decision Curve Analysis is a method for evaluating and comparing prediction models that incorporates clinical consequences, requiring only the data set on which the models are tested, and can be applied to models that have either continuous or dichotomous results.



  dcurves is a Python package for performing Decision Curve Analysis (DCA). It evaluates and compares prediction models for both binary and survival outcomes.

  Main functions:
  - `dca()`: Performs Decision Curve Analysis, calculating net benefit and interventions avoided
  - `plot_graphs()`: Visualizes DCA results
  - `load_test_data()`: Provides sample data for testing and examples



  This tutorial will guide you through installing and using the `dcurves` package to perform Decision Curve Analysis (DCA) with sample cancer diagnosis data.



  ```bash

  pip install dcurves
  ```



  ```python

  from dcurves import dca, plot_graphs, load_test_data


  df_binary = load_test_data.load_binary_df()


  df_dca = \
          dca(
              data=df_binary,
              outcome='cancer',
              modelnames=['famhistory'],
              thresholds=np.arange(0, 0.36, 0.01),
          )


  plot_graphs(
      plot_df=df_dca,
      graph_type='net_benefit',
      y_limits=[-0.05, 0.2]
  )

  ```

  ![DCA Plot](./images/simple_binary_dca.png)



  Visit https://www.decisioncurveanalysis.org



  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.



  - Shaun Porwal (shaun.porwal@gmail.com)
  - Rohan Singh (singhrohan@outlook.com)



  [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)


pkgId: 902b1268a38b94dd1670ca040af9dc0d4775b244f39f05059964664fbf2585ef
name: python-ddcCryptography-help
arch: noarch
version: 1.0.11
epoch: 0
release: 1
summary: Development documents and examples for ddcCryptography
url: https://pypi.org/project/ddcCryptography
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ddcCryptography-1.0.11-1.src.rpm
location_href: Packages/python-ddcCryptography-help-1.0.11-1.noarch.rpm
checksum_type: sha256
description:
  [![Donate](https://img.shields.io/badge/Donate-PayPal-brightgreen.svg?style=plastic)](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)
  [![License](https://img.shields.io/github/license/ddc/ddcCryptography.svg)](https://github.com/ddc/ddcCryptography/blob/master/LICENSE)
  [![PyPi](https://img.shields.io/pypi/v/ddcCryptography.svg)](https://pypi.python.org/pypi/ddcCryptography)
  [![PyPI Downloads](https://static.pepy.tech/badge/ddcCryptography)](https://pepy.tech/projects/ddcCryptography)
  [![codecov](https://codecov.io/gh/ddc/ddcCryptography/graph/badge.svg?token=Q25ZT1URLS)](https://codecov.io/gh/ddc/ddcCryptography)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A//actions-badge.atrox.dev/ddc/ddcCryptography/badge?ref=main&label=build&logo=none)](https://actions-badge.atrox.dev/ddc/ddcCryptography/goto?ref=main)
  [![Python](https://img.shields.io/pypi/pyversions/ddcCryptography.svg)](https://www.python.org)



  ```shell
  pip install ddcCryptography
  ```



  + GENERATE_PRIVATE_KEY
      + Generates a private key to be used instead of default one
      + But keep in mind that this private key WILL BE NEEDED TO DECODE FURTHER STRINGS
      + Example of custom private key as "my_private_key" bellow

  ```python
  from ddcCryptography import Cryptography
  cp = Cryptography()
  cp.generate_private_key()
  ```



  + ENCODE
      + Encodes a given string
  ```python
  from ddcCryptography import Cryptography
  str_to_encode = "test_str"
  cp = Cryptography()
  cp.encode(str_to_encode)
  ```

  ```python
  from ddcCryptography import Cryptography
  str_to_encode = "test_str"
  cp = Cryptography("my_private_key")
  cp.encode(str_to_encode)
  ```



  + DECODE
      + Decodes a given string
  ```python
  from ddcCryptography import Cryptography
  str_to_decode = "gAAAAABnSdKi5V81C_8FkM_I1rW_zTuyfnxCvvZPGFoAoHWwKzceue8NopSpWm-pDAp9pwAIW3xPbACuOz_6AhZOcjs3NM7miw=="
  cp = Cryptography()
  cp.decode(str_to_decode)
  ```

  ```python
  from ddcCryptography import Cryptography
  str_to_decode = "gAAAAABnSdKi5V81C_8FkM_I1rW_zTuyfnxCvvZPGFoAoHWwKzceue8NopSpWm-pDAp9pwAIW3xPbACuOz_6AhZOcjs3NM7miw=="
  cp = Cryptography("my_private_key")
  cp.decode(str_to_decode)
  ```





  ```shell
  poetry build -f wheel
  ```



  ```shell
  poetry update --with test
  poe tests
  ```



  Released under the [MIT License](LICENSE)




  + [GitHub Sponsor](https://github.com/sponsors/ddc)
  + [ko-fi](https://ko-fi.com/ddcsta)
  + [Paypal](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)


pkgId: e2010602f8fb7f24c8bbc9f8e6ac6aa9bd48a7c4eb2ecbd4bfba0967b75d6ef8
name: python-ddcDatabases-help
arch: noarch
version: 1.0.17
epoch: 0
release: 1
summary: Development documents and examples for ddcDatabases
url: https://pypi.org/project/ddcDatabases
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ddcDatabases-1.0.17-1.src.rpm
location_href: Packages/python-ddcDatabases-help-1.0.17-1.noarch.rpm
checksum_type: sha256
description:
  [![License](https://img.shields.io/pypi/l/ddcDatabases)](https://github.com/ddc/ddcDatabases/blob/master/LICENSE)
  [![Python](https://img.shields.io/pypi/pyversions/ddcDatabases.svg)](https://www.python.org)
  [![PyPi](https://img.shields.io/pypi/v/ddcDatabases.svg)](https://pypi.python.org/pypi/ddcDatabases)
  [![PyPI Downloads](https://static.pepy.tech/badge/ddcDatabases)](https://pepy.tech/projects/ddcDatabases)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A//actions-badge.atrox.dev/ddc/ddcDatabases/badge?ref=main&label=build&logo=none)](https://actions-badge.atrox.dev/ddc/ddcDatabases/goto?ref=main)

  [//]: # ([![codecov]&#40;https://codecov.io/github/ddc/ddcDatabases/graph/badge.svg?token=E942EZII4Q&#41;]&#40;https://codecov.io/github/ddc/ddcDatabases&#41;)




  ```shell
  pip install ddcDatabases[all]
  ```




  ```shell
  pip install ddcDatabases[mssql]
  ```




  ```shell
  pip install ddcDatabases[pgsql]
  ```




  + Parameters for all classes are declared as OPTIONAL falling back to [.env](./ddcDatabases/.env.example)  file variables
  + All examples are using [db_utils.py](ddcDatabases/db_utils.py)
  + By default, the MSSQL class will open a session to the database, but the engine can be available
  + SYNC sessions defaults:
    + `autoflush is True`
    + `expire_on_commit is True`
    + `echo is False`
  + ASYNC sessions defaults:
    + `autoflush is True`
    + `expire_on_commit is False`
    + `echo is False`




  ```
  class Sqlite(
      filepath: Optional[str] = None,
      echo: Optional[bool] = None,
      autoflush: Optional[bool] = None,
      expire_on_commit: Optional[bool] = None,
      extra_engine_args: Optional[dict] = None,
  )
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtils, Sqlite
  with Sqlite() as session:
      utils = DBUtils(session)
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      results = utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  from ddcDatabases import Sqlite
  with Sqlite().engine() as engine:
      ...
  ```






  ```
  class MSSQL(
      host: Optional[str] = None,
      port: Optional[int] = None,
      user: Optional[str] = None,
      password: Optional[str] = None,
      database: Optional[str] = None,
      schema: Optional[str] = None,
      echo: Optional[bool] = None,
      pool_size: Optional[int] = None,
      max_overflow: Optional[int] = None,
      autoflush: Optional[bool] = None,
      expire_on_commit: Optional[bool] = None,
      extra_engine_args: Optional[dict] = None,
  )
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtils, MSSQL
  with MSSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtils(session)
      results = db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtilsAsync, MSSQL
  async with MSSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtilsAsync(session)
      results = await db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  from ddcDatabases import MSSQL
  with MSSQL().engine() as engine:
      ...
  ```


  ```python
  from ddcDatabases import MSSQL
  async with MSSQL().async_engine() as engine:
      ...
  ```






  + Using driver [psycopg2](https://pypi.org/project/psycopg2/) as default
  ```
  class DBPostgres(
      host: Optional[str] = None,
      port: Optional[int] = None,
      user: Optional[str] = None,
      password: Optional[str] = None,
      database: Optional[str] = None,
      echo: Optional[bool] = None,
      autoflush: Optional[bool] = None,
      expire_on_commit: Optional[bool] = None,
      engine_args: Optional[dict] = None,
  )
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtils, PostgreSQL
  with PostgreSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtils(session)
      results = db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtilsAsync, PostgreSQL
  async with PostgreSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtilsAsync(session)
      results = await db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  from ddcDatabases import PostgreSQL
  with PostgreSQL().engine() as engine:
      ...
  ```


  ```python
  from ddcDatabases import PostgreSQL
  async with PostgreSQL().async_engine() as engine:
      ...
  ```





  + Take an open session as parameter
  + Can use SQLAlchemy statements
  + Execute function can be used to update, insert or any SQLAlchemy.text
  ```python
  from ddcDatabases import DBUtils
  db_utils = DBUtils(session)
  db_utils.fetchall(stmt)                     # returns a list of RowMapping
  db_utils.fetchvalue(stmt)                   # fetch a single value, returning as string
  db_utils.insert(stmt)                       # insert into model table
  db_utils.deleteall(model)                   # delete all records from model
  db_utils.insertbulk(model, list[dict])      # insert records into model from a list of dicts
  db_utils.execute(stmt)                      # this is the actual execute from session
  ```






  ```shell
  poetry build -f wheel
  ```




  ```shell
  poetry update --with test
  poe tests
  ```




  Released under the [MIT License](LICENSE)




  + [GitHub Sponsor](https://github.com/sponsors/ddc)
  + [ko-fi](https://ko-fi.com/ddcsta)
  + [Paypal](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)


pkgId: 56378bee8affadbe590a309289ae1c9c0848d2ffe34f74019ca97e58816edceb
name: python-ddcDatabases-help
arch: noarch
version: 1.0.18
epoch: 0
release: 1
summary: Development documents and examples for ddcDatabases
url: https://pypi.org/project/ddcDatabases
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ddcDatabases-1.0.18-1.src.rpm
location_href: Packages/python-ddcDatabases-help-1.0.18-1.noarch.rpm
checksum_type: sha256
description:
  [![Donate](https://img.shields.io/badge/Donate-PayPal-brightgreen.svg?style=plastic)](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)
  [![License](https://img.shields.io/pypi/l/ddcDatabases)](https://github.com/ddc/ddcDatabases/blob/master/LICENSE)
  [![PyPi](https://img.shields.io/pypi/v/ddcDatabases.svg)](https://pypi.python.org/pypi/ddcDatabases)
  [![PyPI Downloads](https://static.pepy.tech/badge/ddcDatabases)](https://pepy.tech/projects/ddcDatabases)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A//actions-badge.atrox.dev/ddc/ddcDatabases/badge?ref=main&label=build&logo=none)](https://actions-badge.atrox.dev/ddc/ddcDatabases/goto?ref=main)
  [![Python](https://img.shields.io/pypi/pyversions/ddcDatabases.svg)](https://www.python.org)

  [//]: # ([![codecov]&#40;https://codecov.io/github/ddc/ddcDatabases/graph/badge.svg?token=E942EZII4Q&#41;]&#40;https://codecov.io/github/ddc/ddcDatabases&#41;)




  ```shell
  pip install ddcDatabases[all]
  ```




  ```shell
  pip install ddcDatabases[mssql]
  ```




  ```shell
  pip install ddcDatabases[pgsql]
  ```




  + Parameters for all classes are declared as OPTIONAL falling back to [.env](./ddcDatabases/.env.example)  file variables
  + All examples are using [db_utils.py](ddcDatabases/db_utils.py)
  + By default, the MSSQL class will open a session to the database, but the engine can be available at `session.bind`
  + SYNC sessions defaults:
    + `autoflush is True`
    + `expire_on_commit is True`
    + `echo is False`
  + ASYNC sessions defaults:
    + `autoflush is True`
    + `expire_on_commit is False`
    + `echo is False`




  ```
  class Sqlite(
      filepath: Optional[str] = None,
      echo: Optional[bool] = None,
      autoflush: Optional[bool] = None,
      expire_on_commit: Optional[bool] = None,
      extra_engine_args: Optional[dict] = None,
  )
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtils, Sqlite
  with Sqlite() as session:
      utils = DBUtils(session)
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      results = utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  from ddcDatabases import Sqlite
  with Sqlite() as session:
      engine = session.bind
      ...
  ```






  ```
  class MSSQL(
      host: Optional[str] = None,
      port: Optional[int] = None,
      user: Optional[str] = None,
      password: Optional[str] = None,
      database: Optional[str] = None,
      schema: Optional[str] = None,
      echo: Optional[bool] = None,
      pool_size: Optional[int] = None,
      max_overflow: Optional[int] = None,
      autoflush: Optional[bool] = None,
      expire_on_commit: Optional[bool] = None,
      extra_engine_args: Optional[dict] = None,
  )
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtils, MSSQL
  with MSSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtils(session)
      results = db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtilsAsync, MSSQL
  async with MSSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtilsAsync(session)
      results = await db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  from ddcDatabases import MSSQL
  with MSSQL() as session:
      engine = session.bind
      ...
  ```


  ```python
  from ddcDatabases import MSSQL
  async with MSSQL() as session:
      engine = await session.bind
      ...
  ```






  + Using driver [psycopg2](https://pypi.org/project/psycopg2/) as default
  ```
  class DBPostgres(
      host: Optional[str] = None,
      port: Optional[int] = None,
      user: Optional[str] = None,
      password: Optional[str] = None,
      database: Optional[str] = None,
      echo: Optional[bool] = None,
      autoflush: Optional[bool] = None,
      expire_on_commit: Optional[bool] = None,
      engine_args: Optional[dict] = None,
  )
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtils, PostgreSQL
  with PostgreSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtils(session)
      results = db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  import sqlalchemy as sa
  from ddcDatabases import DBUtilsAsync, PostgreSQL
  async with PostgreSQL() as session:
      stmt = sa.select(TableModel).where(TableModel.id == 1)
      db_utils = DBUtilsAsync(session)
      results = await db_utils.fetchall(stmt)
      for row in results:
          print(row)
  ```


  ```python
  from ddcDatabases import PostgreSQL
  with PostgreSQL() as session:
      engine = session.bind
      ...
  ```


  ```python
  from ddcDatabases import PostgreSQL
  async with PostgreSQL() as session:
      engine = await session.bind
      ...
  ```





  + Take an open session as parameter
  + Can use SQLAlchemy statements
  + Execute function can be used to update, insert or any SQLAlchemy.text
  ```python
  from ddcDatabases import DBUtils
  db_utils = DBUtils(session)
  db_utils.fetchall(stmt)                     # returns a list of RowMapping
  db_utils.fetchvalue(stmt)                   # fetch a single value, returning as string
  db_utils.insert(stmt)                       # insert into model table
  db_utils.deleteall(model)                   # delete all records from model
  db_utils.insertbulk(model, list[dict])      # insert records into model from a list of dicts
  db_utils.execute(stmt)                      # this is the actual execute from session
  ```






  ```shell
  poetry build -f wheel
  ```




  ```shell
  poetry update --with test
  poe tests
  ```




  Released under the [MIT License](LICENSE)




  + [GitHub Sponsor](https://github.com/sponsors/ddc)
  + [ko-fi](https://ko-fi.com/ddcsta)
  + [Paypal](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)


pkgId: 2e141e84f4332f747ff8296c2949cadaad2aef2760801292c63890df16e12f5a
name: python-ddcUtils-help
arch: noarch
version: 1.0.37
epoch: 0
release: 1
summary: Development documents and examples for ddcUtils
url: https://pypi.org/project/ddcUtils
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ddcUtils-1.0.37-1.src.rpm
location_href: Packages/python-ddcUtils-help-1.0.37-1.noarch.rpm
checksum_type: sha256
description:
  Few File Utilities and some OS Functions

  [![Donate](https://img.shields.io/badge/Donate-PayPal-brightgreen.svg?style=plastic)](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)
  [![License](https://img.shields.io/github/license/ddc/ddcUtils.svg)](https://github.com/ddc/ddcUtils/blob/master/LICENSE)
  [![PyPi](https://img.shields.io/pypi/v/ddcUtils.svg)](https://pypi.python.org/pypi/ddcUtils)
  [![PyPI Downloads](https://static.pepy.tech/badge/ddcUtils)](https://pepy.tech/projects/ddcUtils)
  [![codecov](https://codecov.io/gh/ddc/ddcUtils/graph/badge.svg?token=1ULU74GF57)](https://codecov.io/gh/ddc/ddcUtils)
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A//actions-badge.atrox.dev/ddc/ddcUtils/badge?ref=main&label=build&logo=none)](https://actions-badge.atrox.dev/ddc/ddcUtils/goto?ref=main)
  [![Python](https://img.shields.io/pypi/pyversions/ddcUtils.svg)](https://www.python.org)



  ```shell
  pip install ddcUtils
  ```




  File example - file.ini:

      [main]
      files=5
      path="/tmp/test_dir"
      port=5432
      list=1,2,3,4,5,6


  + GET_ALL_VALUES
    + Get all values from an .ini config file structure and returns them as a dictionary
    + mixed_values will return all values as an object instead of dict
  ```python
  from ddcUtils import ConfFileUtils
  cfu = ConfFileUtils()
  cfu.get_all_values(file_path, mixed_values=False)
  ```



  + GET_SECTION_VALUES
    + Get all section values from an .ini config file structure and returns them as a dictionary
  ```python
  from ddcUtils import ConfFileUtils
  cfu = ConfFileUtils()
  cfu.get_section_values(file_path, section)
  ```



  + GET_VALUE
    + Get value from an .ini config file structure and returns it
  ```python
  from ddcUtils import ConfFileUtils
  cfu = ConfFileUtils()
  cfu.get_value(file_path, section, config_name)
  ```



  + SET_VALUE
    + Set value from an .ini config file structure and returns True or False
  ```python
  from ddcUtils import ConfFileUtils
  cfu = ConfFileUtils()
  cfu.set_value(file_path, section_name, config_name, new_value, commas=False)
  ```




  + OPEN
    + Open the given file or directory in explorer or notepad and returns True for success or False for failed access
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.open(path)
  ```



  + LIST_FILES
    + List all files in the given directory and returns them in a tuple sorted by creation time in ascending order
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.list_files(directory, starts_with, ends_with)
  ```



  + GZIP
    + Compress the given file and returns the Path for success or None if failed
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.gzip(input_file_path, output_dir=None)
  ```



  + UNZIP
    + Unzips the given file.zip and returns ZipFile for success or None if failed
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.unzip(file_path, out_pathNone)
  ```



  + REMOVE
    + Remove the given file or dir and returns True if it was successfully removed
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.remove(path)
  ```



  + RENAME
    + Rename the given file and returns True if the file was successfully
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.rename(from_name, to_name)
  ```



  + COPY_DIR
    + Copy files from src to dst and returns True or False
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.copy_dir(src, dst, symlinks=False, ignore=None)
  ```



  + DOWNLOAD_FILE
    + Download file from remote url to local and returns True or False
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.download_file(remote_file_url, local_file_path)
  ```



  + GET_EXE_BINARY_TYPE
    + Returns the binary type of the given windows EXE file
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.get_exe_binary_type(file_path)
  ```



  + IS_OLDER_THAN_X_DAYS
    + Check if a file or directory is older than the specified number of days
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  fu.is_older_than_x_days(path, days)
  ```



  + COPY
    + Copy a file to another location
  ```python
  from ddcUtils import FileUtils
  fu = FileUtils()
  copy(src_path, dst_path)
  ```




  + This class is used for creating a simple class object
   ```python
  from ddcUtils import Object
  obj = Object()
  obj.test = "test"
  ```




  + CLEAR_SCREEN
    + Clears the terminal screen
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.clear_screen()
  ```



  + USER_CHOICE
    + This function will ask the user to select an option
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.user_choice()
  ```



  + GET_ACTIVE_BRANCH_NAME
    + Returns the name of the active branch if found, else returns None
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.get_active_branch_name(git_dir=".git")
  ```



  + GET_CURRENT_DATE_TIME
    + Returns the current date and time on UTC timezone
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.get_current_date_time()
  ```



  + CONVERT_DATETIME_TO_STR_LONG
    + Converts a datetime object to a long string
    + returns: "Mon Jan 01 2024 21:43:04"
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.convert_datetime_to_str_long(date)
  ```



  + CONVERT_DATETIME_TO_STR_SHORT
    + Converts a datetime object to a short string
    + returns: "2024-01-01 00:00:00.000000"
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.convert_datetime_to_str_short(date)
  ```



  + CONVERT_STR_TO_DATETIME_SHORT
    + Converts a str to a datetime
    + input: "2024-01-01 00:00:00.000000"
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.convert_str_to_datetime_short(datetime_str)
  ```



  + GET_CURRENT_DATE_TIME_STR_LONG
    + Returns the current date and time as string
    + returns: "Mon Jan 01 2024 21:47:00"
  ```python
  from ddcUtils import MiscUtils
  mu = MiscUtils()
  mu.get_current_date_time_str_long()
  ```




  + GET_OS_NAME
    + Get OS name
  ```python
  from ddcUtils import OsUtils
  ou = OsUtils()
  get_os_name()
  ```



  + IS_WINDOWS
    + Check if OS is Windows
  ```python
  from ddcUtils import OsUtils
  ou = OsUtils()
  is_windows()
  ```



  + GET_CURRENT_PATH
    + Returns the current working directory
  ```python
  from ddcUtils import OsUtils
  ou = OsUtils()
  get_current_path()
  ```



  + GET_PICTURES_PATH
    + Returns the pictures directory inside the user's home directory
  ```python
  from ddcUtils import OsUtils
  ou = OsUtils()
  get_pictures_path()
  ```



  + GET_DOWNLOADS_PATH
    + Returns the download directory inside the user's home directory
  ```python
  from ddcUtils import OsUtils
  ou = OsUtils()
  get_downloads_path()
  ```




  ```shell
  poetry build -f wheel
  ```




  ```shell
  poetry update --with test
  poe tests
  ```




  Released under the [MIT License](LICENSE)




  + [GitHub Sponsor](https://github.com/sponsors/ddc)
  + [ko-fi](https://ko-fi.com/ddcsta)
  + [Paypal](https://www.paypal.com/ncp/payment/6G9Z78QHUD4RJ)


pkgId: 84ab64eb1bc4efadfbf6187762fc85ddfd19ec7cb3cbd9846ab41ed96fafedbe
name: python-ddeutil-help
arch: noarch
version: 0.4.4
epoch: 0
release: 1
summary: Development documents and examples for ddeutil
url: https://github.com/ddeutils/ddeutil/
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-ddeutil-0.4.4-1.src.rpm
location_href: Packages/python-ddeutil-help-0.4.4-1.noarch.rpm
checksum_type: sha256
description:
  [![test](https://github.com/korawica/ddeutil/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/korawica/ddeutil/actions/workflows/tests.yml)
  [![codecov](https://codecov.io/gh/ddeutils/ddeutil/graph/badge.svg?token=G3XGBSRKA6)](https://codecov.io/gh/ddeutils/ddeutil)
  [![pypi version](https://img.shields.io/pypi/v/ddeutil)](https://pypi.org/project/ddeutil/)
  [![python support version](https://img.shields.io/pypi/pyversions/ddeutil)](https://pypi.org/project/ddeutil/)
  [![size](https://img.shields.io/github/languages/code-size/korawica/ddeutil)](https://github.com/korawica/ddeutil)
  [![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
  [![type check: mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org)
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)

  The **Core Data utility** package implements the data utility functions and objects
  that was created on sub-package namespace, `ddeutil`, design for independent
  installation.

  I make this package able to extend with any sub-extension with this namespace.
  So, this namespace able to scale-out the requirement with folder level design.
  You can add any custom features and import it by `import ddeutil.{extension}`.

  > [!NOTE]
  > This package provide the base utility functions and objects for any sub-namespace
  > package.



  ```shell
  pip install -U ddeutil
  ```

  **Python version supported**:

  | Python Version | Installation                        | Support Fixed Bug  |
  |----------------|-------------------------------------|--------------------|
  | `>=3.9,<3.14`  | `pip install -U ddeutil`            | :heavy_check_mark: |

  > [!NOTE]
  > If you want to install all optional dependencies for this package, you can use
  > `pip install -U ddeutil[all]`. For optional dependencies that use on this
  > package, it will list on below table;
  >
  > | Optional deps     | Module                                                  |
  > |-------------------|---------------------------------------------------------|
  > | `ujson`           | `hash.checksum`                                         |
  > | `python-dateutil` | `dtutils.next_date_with_freq`, `dtutils.calc_data_freq` |
  > | `psutil`          | `threader.MonitorThread`.                               |



  This core data package will implement all of utility functions and objects that
  does not re-create again because it is basic code but has a lot of using require.

  | Module          |          Name           | Description                                                                                                                                                                                       | Remark       |
  |:----------------|:-----------------------:|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
  | base            |   `isinstance_check`    | Return True if a data is instance of the respect instance.                                                                                                                                        |              |
  |                 |     `import_string`     | Import a dotted module path and return the attribute/class designated by the last name in the path.                                                                                               |              |
  |                 |         `lazy`          | Lazy use import_string function that wrapped with partial function.                                                                                                                               |              |
  |                 |       `round_up`        | Round up the number with decimals precision size.                                                                                                                                                 |              |
  |                 |      `remove_pad`       | Remove zero padding of zero prefix string.                                                                                                                                                        |              |
  |                 |         `first`         | Returns the first item in the `iterable` that satisfies the `condition`.                                                                                                                          |              |
  |                 |        `onlyone`        | Get only one element from check list that exists in match list.                                                                                                                                   |              |
  |                 |        `hasdot`         | Return True value if dot searching exists in content data.                                                                                                                                        |              |
  |                 |        `getdot`         | Return the value if dot searching exists in content data.                                                                                                                                         |              |
  |                 |        `setdot`         | Set the value if dot searching exists in content data.                                                                                                                                            |              |
  |                 |      `filter_dict`      | Filter dict value with excluded and included collections.                                                                                                                                         |              |
  |                 |      `random_str`       | Random string from uppercase ASCII and number 0-9.                                                                                                                                                | no coverage  |
  |                 |       `coalesce`        | Coalesce function that is a just naming define function.                                                                                                                                          | no coverage  |
  | base.checker    |        `can_int`        | Check an input value that can be integer type or not (but some value does not use int() to convert it such as 0.0 or 3.0)                                                                         |              |
  |                 |        `is_int`         | Check an input value that be integer type or not.                                                                                                                                                 |              |
  | base.convert    |       `must_bool`       | Return the boolean value that was converted from string, integer, or boolean value.                                                                                                               |              |
  |                 |       `must_list`       | Return the list value that was converted from string or list value.                                                                                                                               |              |
  |                 |        `str2any`        | Convert an input string value to the real type of that object. Note that this convert function do not force or try-hard to convert type such as a boolean value should be 'True' or 'False' only. |              |
  |                 |       `str2args`        | Convert an input arguments string to `args` and `kwargs` values.                                                                                                                                  |              |
  |                 |       `str2bool`        | Convert an input string value to boolean (`True` or `False`).                                                                                                                                     |              |
  |                 |       `str2dict`        | Convert an input string value to `dict`.                                                                                                                                                          |              |
  |                 |     `str2int_float`     | Convert an input string value to `float`.                                                                                                                                                         |              |
  |                 |       `str2list`        | Convert an input string value to `list`.                                                                                                                                                          |              |
  | base.hash       |       `checksum`        |                                                                                                                                                                                                   |              |
  |                 |        `freeze`         |                                                                                                                                                                                                   |              |
  |                 |      `freeze_args`      |                                                                                                                                                                                                   |              |
  |                 |       `hash_all`        |                                                                                                                                                                                                   |              |
  |                 |       `hash_str`        |                                                                                                                                                                                                   |              |
  | base.merge      |      `merge_dict`       |                                                                                                                                                                                                   |              |
  |                 |   `merge_dict_value`    |                                                                                                                                                                                                   |              |
  |                 | `merge_dict_value_list` |                                                                                                                                                                                                   |              |
  |                 |      `merge_list`       |                                                                                                                                                                                                   |              |
  |                 |      `sum_values`       | Sum all values in an input dict value with start and end index.                                                                                                                                   |              |
  |                 |       `zip_equal`       |                                                                                                                                                                                                   |              |
  | base.sorting    |        `ordered`        |                                                                                                                                                                                                   |              |
  |                 |     `sort_priority`     |                                                                                                                                                                                                   |              |
  | base.splitter   |        `isplit`         |                                                                                                                                                                                                   |              |
  |                 |      `must_rsplit`      |                                                                                                                                                                                                   |              |
  |                 |      `must_split`       |                                                                                                                                                                                                   |              |
  | decorator       |       `deepcopy`        |                                                                                                                                                                                                   |              |
  |                 |     `deepcopy_args`     |                                                                                                                                                                                                   |              |
  |                 |        `timing`         |                                                                                                                                                                                                   |              |
  |                 |      `timing_open`      |                                                                                                                                                                                                   |              |
  |                 |         `retry`         |                                                                                                                                                                                                   |              |
  |                 |        `profile`        | Profile the current memory and cpu usage while wrapped function running.                                                                                                                          |              |
  | dtutils         |     `replace_date`      | Replace datetime matrix that less than an input mode to origin value.                                                                                                                             |              |
  |                 |       `next_date`       | Return the next date with specific unit mode.                                                                                                                                                     |              |
  |                 |    `closest_quarter`    | Return closest quarter datetime of an input datetime.                                                                                                                                             |              |
  |                 |       `last_dom`        | Get the latest day of month that relate with an input datetime value.                                                                                                                             |              |
  |                 |       `last_doq`        | Get the latest day of quarter that relate with an input datetime value.                                                                                                                           |              |
  |                 |    `next_date_freq`     |                                                                                                                                                                                                   |              |
  |                 |    `calc_data_freq`     |                                                                                                                                                                                                   |              |
  | threader        |   `ThreadWithControl`   | Threading object that can control maximum background agent and result after complete.                                                                                                             |              |
  |                 |     `MonitorThread`     | Monitoring threading object that log the current memory and cpu usage.                                                                                                                            |              |



  I will show some usage example of function in this package. If you want to use
  complex or adjust some parameter, please see doc-string or real source code
  (I think it do not complex and you can see how that function work).



  ```python
  from ddeutil.core import onlyone

  assert 'a' == onlyone(['a', 'b'], ['a', 'b', 'c'])
  assert 'c' == onlyone(('a', 'b'), ['c', 'e', 'f'])
  assert onlyone(['a', 'b'], ['c', 'e', 'f'], default=False) is None
  ```



  ```python
  from ddeutil.core import isinstance_check
  from typing import Union, Optional, NoReturn, Any

  assert isinstance_check("s", str)
  assert isinstance_check(["s"], list[str])
  assert isinstance_check(("s", "t"), tuple[str, ...])
  assert not isinstance_check(("s", "t"), tuple[str])
  assert isinstance_check({"s": 1, "d": "r"}, dict[str, Union[int, str]])
  assert isinstance_check("s", Optional[str])
  assert isinstance_check(1, Optional[Union[str, int]])
  assert not isinstance_check("s", list[str])
  assert isinstance_check([1, "2"], list[Union[str, int]])
  assert not isinstance_check("s", NoReturn)
  assert isinstance_check(None, NoReturn)
  assert isinstance_check("A", Any)
  assert isinstance_check([1, [1, 2, 3]], list[Union[list[int], int]])
  assert not isinstance_check([1], Union[str, int])
  assert isinstance_check((1, "foo", True), tuple[int, str, bool])
  ```



  ```python
  from ddeutil.core import str2any

  assert str2any(22) == 22
  assert str2any("1245") == 1245
  assert str2any('"string"') == "string"
  assert str2any("[1, 2, 3]") == [1, 2, 3]
  assert str2any('{"key": "value"}') == {"key": "value"}
  assert str2any("1245.123") == 1245.123
  assert str2any("True")
  assert str2any("[1, 2") == "[1, 2"
  assert str2any("1.232.1") == "1.232.1"
  ```


pkgId: 54adc7aeb641d2294a1be558496c1822ad86d7c2bffd37066a8f450f9c60a2a5
name: python-dead-hosts-launcher-help
arch: noarch
version: 2.3.6
epoch: 0
release: 1
summary: Development documents and examples for dead-hosts-launcher
url: https://github.com/dead-hosts/infrastructure-launcher
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dead-hosts-launcher-2.3.6-1.src.rpm
location_href: Packages/python-dead-hosts-launcher-help-2.3.6-1.noarch.rpm
checksum_type: sha256
description:
  The launcher of the Dead-Hosts infrastructure and project.



  ```shell
  pip3 install --user dead-hosts-launcher
  ```



  To work, the launcher will look for a file named :code:`info.json` in
  your current directory.

  The file should look like follow:

  ```json
  {
      "currently_under_test": false, # Don't touch this.
      "custom_pyfunceble_config": {}, # Put your PyFunceble custom configuration here.
      "days_until_next_test": 0.0,  # Ask an admin. Otherwise, this is the number of days between each authorizations.
      "name": "[repository-name]",  # The name of the current repository. WARNING: Partially autocompleted under CI.
      "own_management": false,  # You are the one managing the PyFunceble configuration.
      "ping": [],  # Put your GitHub username here to get a mention at the end of the test of your file.
      "ping_enabled": false,  # Enable the ping through GitHub.
      "raw_link": "[URL]" # Put the link to your file. Or leave empty and fill the origin.list file.
  }
  ```



  The launcher has some hard-coded configuration that can't be changed. Even
  if you try to overwrite them, the configuration will just overwrite them.



  Please consider the following as a flatten representation of the PyFunceble
  configuration. Meaning that each :code:`.` is a nested dictionary.

  ```json
  {
      "cli_testing.cooldown_time": 1.25,
      "cli_testing.display_mode.execution_time": True,
      "cli_testing.ci.max_exec_minutes": 20,
      "cli_testing.max_workers": 1,
  }
  ```



  ```shell
  usage: dead-hosts-launcher [-h] [-d] [-s] [-e] [--authorize] [--update] [-v]

  The launcher of the Dead-Hosts infrastructure.

  options:
    -h, --help     show this help message and exit
    -d, --debug    Activate the logging in verbose mode..
    -s, --save     Declare a test as 'to be continued'.
    -e, --end      Declare a test as completely finished and generate `clean.list`.
    --authorize    Try to authorize the next job.
    --update       Update the local infrastructure.
    -v, --version  Show the version of and exit.

  Crafted with ♥ by Nissar Chababy (@funilrys)
  ```



  ```text
  MIT License

  Copyright (c) 2019, 2020, 2021, 2022, 2023, 2024 Dead Hosts Contributors
  Copyright (c) 2019, 2020. 2021, 2022, 2023, 2024 Nissar Chababy

  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: 8203968f18a37648737cebb2f9ea550f11c909d760a893aa20d4a1fc0379fd64
name: python-deadline-cloud-test-fixtures-help
arch: noarch
version: 0.17.2
epoch: 0
release: 1
summary: Development documents and examples for deadline-cloud-test-fixtures
url: https://github.com/aws-deadline/deadline-cloud-test-fixtures
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deadline-cloud-test-fixtures-0.17.2-1.src.rpm
location_href: Packages/python-deadline-cloud-test-fixtures-help-0.17.2-1.noarch.rpm
checksum_type: sha256
description:
  [![pypi](https://img.shields.io/pypi/v/deadline-cloud-test-fixtures.svg?style=flat)](https://pypi.python.org/pypi/deadline-cloud-test-fixtures)
  [![python](https://img.shields.io/pypi/pyversions/deadline-cloud-test-fixtures.svg?style=flat)](https://pypi.python.org/pypi/deadline-cloud-test-fixtures)
  [![license](https://img.shields.io/pypi/l/deadline-cloud-test-fixtures.svg?style=flat)](https://github.com/aws-deadline/deadline-cloud-test-fixtures/blob/mainline/LICENSE)

  This package contains pytest fixtures that are used to test AWS Deadline Cloud Python packages.



  To use this package:
  1. Install it into your test environment
  1. Configure environment variables needed for your tests (see [src/deadline_test_fixtures/example_config.sh](https://github.com/casillas2/deadline-cloud-test-fixtures/blob/mainline/src/deadline_test_fixtures/example_config.sh) for available options)
  1. Use the fixtures in your tests (see [src/deadline_test_fixtures/fixtures.py](https://github.com/casillas2/deadline-cloud-test-fixtures/blob/mainline/src/deadline_test_fixtures/fixtures.py) for available fixtures)

  For example, to use the `worker` fixture:

  ```py
  from deadline_test_fixtures import DeadlineWorker

  def test_something_with_the_worker(worker: DeadlineWorker) -> None:
      
      worker.start()

      
      result = worker.send_command("some command")

      
      assert result.stdout == "expected output"
  ```

  You can also import the classes from this package directly to build your own fixtures

  ```py

  from deadline_test_fixtures import (
      DeadlineWorker,
      EC2InstanceWorker,
      DockerContainerWorker,
  )

  class DoubleWorker(DeadlineWorker):

      def __init__(
          self,
          
      ) -> None:
          self.ec2_worker = EC2InstanceWorker(
              
          )
          self.docker_worker = DockerContainerWorker(
              
          )

      def start(self) -> None:
          self.ec2_worker.start()
          self.docker_worker.start()

      



  from .double_worker import DoubleWorker

  import pytest

  @pytest.fixture
  def double_worker() -> DoubleWorker:
      return DoubleWorker(
          
      )

  def test_something(double_worker: DoubleWorker) -> None:
      
      double_worker.start()

      
  ```



  This library collects telemetry data by default. Telemetry events contain non-personally-identifiable information that helps us understand how users interact with our software so we know what features our customers use, and/or what existing pain points are.

  You can opt out of telemetry data collection by either:

  1. Setting the environment variable: `DEADLINE_CLOUD_TELEMETRY_OPT_OUT=true`
  2. Setting the config file: `deadline config set telemetry.opt_out true`

  Note that setting the environment variable supersedes the config file setting.




  ```
  hatch build
  ```


  ```
  hatch run test
  ```


  ```
  hatch run lint
  ```


  ```
  hatch run fmt
  ```


  ```
  hatch run all:test
  ```



  This library requires:

  1. Python 3.9 or higher; and
  2. Linux, MacOS, or Windows operating system.



  This package's version follows [Semantic Versioning 2.0](https://semver.org/), but is still considered to be in its
  initial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how
  versions will increment during this initial development stage, they are described below:

  1. The MAJOR version is currently 0, indicating initial development.
  2. The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API.
  3. The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API.



  You can download this package from:
  - [GitHub releases](https://github.com/casillas2/deadline-cloud-test-fixtures/releases)



  See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.



  This project is licensed under the Apache-2.0 License.


pkgId: c9f3fdc14754ef89d97f6f869ec909cf9c51008c1d588056f1f23657602925a7
name: python-debby-help
arch: noarch
version: 1.2.1
epoch: 0
release: 1
summary: Development documents and examples for debby
url: https://github.com/abrahammurciano/debby
rpm_license: GPLv3
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-debby-1.2.1-1.src.rpm
location_href: Packages/python-debby-help-1.2.1-1.noarch.rpm
checksum_type: sha256
description:
  Create .deb files easily using python package metadata



  You can install this package with pip.
  ```sh
  $ pip install debby
  ```



  [![Documentation](https://img.shields.io/badge/Documentation-C61C3E?style=for-the-badge&logo=Read+the+Docs&logoColor=%23FFFFFF)](https://abrahammurciano.github.io/debby)

  [![Source Code - GitHub](https://img.shields.io/badge/Source_Code-GitHub-181717?style=for-the-badge&logo=GitHub&logoColor=%23FFFFFF)](https://github.com/abrahammurciano/debby.git)

  [![PyPI - debby](https://img.shields.io/badge/PyPI-debby-006DAD?style=for-the-badge&logo=PyPI&logoColor=%23FFD242)](https://pypi.org/project/debby/)



  This tool creates the directory structure (including the control file) to then create a .deb package with `dpkg-deb`.

  You may provide a template for the control file (see [Control File Template](#control-file-template)) or provide the metadata directly via the command line or environment variables.

  You may also provide files to include in the package with `-f/--file` option, which may be passed multiple times.

  You may also provide a source for the metadata (see [Metadata Sources](#metadata-sources)). You can also specify specific metadata values via the command line. If no metadata source is provided, and all the required metadata is not provided via the command line, an error will be raised.

  ```sh
  OUT_DIR=$(debby -f path/to/binary /usr/bin/binary -f path/to/config /etc/config --pyproject pyproject.toml)
  dpkg-deb --build $OUT_DIR
  ```



  You may provide installation scripts with `--preinst`, `--postinst`, `--prerm`, and `--postrm`. These scripts will be included in the package and run before and after installation and removal of the package.

  Using a script flag without a path is equivalent to providing a path to a script in the current directory with the same name as the flag. For example, `--preinst` is equivalent to `--preinst ./preinst`.

  Alternatively, you may directly provide commands to run at the appropriate stage with `--preinst-cmd`, `--postinst-cmd`, `--prerm-cmd`, and `--postrm-cmd`. An appropriate script will be generated and included in the package. For example, `--preinst-cmd 'echo hello' --preinst-cmd 'echo world'` will generate a script that runs `echo hello` and `echo world` in sequence as the pre-installation script.



  Currently, the following metadata sources are supported:

  - `--pyproject`: Reads the metadata from the given pyproject.toml file, according to the [PEP 621](https://peps.python.org/pep-0621/) specification.
  - `--poetry`: Reads the metadata from the given pyproject.toml file, according to [Poetry](https://python-poetry.org/docs/pyproject/)'s specification.



  It is possible to provide a template for the control file with `-t/--template path/to/control.template`. If provided, this template will be used to generate the control file instead of creating one from scratch. The template should be a text file with the following allowed placeholders.

  | Placeholder | Description | Examples |
  | --- | --- | --- |
  | `{meta.name}` | The [name](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-package) of the package | `debby` |
  | `{meta.source}` | The [source](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-source) of the package | `debby` |
  | `{meta.version}` | The [version](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-version) of the package | `0.1.0` |
  | `{meta.section}` | The [section](https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections) of the package | `misc`, `python` |
  | `{meta.priority}` | The [priority](https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities) of the package | `optional` |
  | `{meta.architecture}` | The [architecture](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-architecture) of the package | `all` |
  | `{meta.eessential}` | The [essential](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-essential) status of the package | `yes`, `no` |
  | `{meta.maintainer}` | The [maintainer](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-maintainer) of the package | `Abraham Murciano <abrahammurciano@gmail.com>` |
  | `{meta.description}` | The [description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-description) of the package | `Create .deb files easily using python package metadata` |
  | `{meta.homepage}` | The [homepage](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-homepage) of the package | `https://abrahammurciano.github.io/debby/debby` |
  | `{meta.depends}` | The [dependencies](https://www.debian.org/doc/debian-policy/ch-relationships.html) of the package | `python3`, `jq, pv (>= 1.0.0)` |
  | `{meta.recommends}` | The [recommended packages](https://www.debian.org/doc/debian-policy/ch-relationships.html) of the package | `jq, pv (>= 1.0.0)` |
  | `{meta.suggests}` | The [suggested packages](https://www.debian.org/doc/debian-policy/ch-relationships.html) of the package | `jq, pv (>= 1.0.0)` |
  | `{meta.enhances}` | The [enhanced packages](https://www.debian.org/doc/debian-policy/ch-relationships.html) of the package | `jq, pv (>= 1.0.0)` |
  | `{meta.breaks}` | The [packages that this package breaks](https://www.debian.org/doc/debian-policy/ch-relationships.html) | `jq, pv (>= 1.0.0)` |
  | `{meta.conflicts}` | The [packages that this package conflicts with](https://www.debian.org/doc/debian-policy/ch-relationships.html) | `jq, pv (>= 1.0.0)` |
  | `{files.total_size}` | The total size of all the files given with the `-f/--file` option | `123456` |


pkgId: af899d685b86d000baa60d72cd0f72979d727a1e56641ca9b942e0fe5955bb5c
name: python-debugpy-debuginfo
arch: aarch64
version: 1.8.11
epoch: 0
release: 1
summary: Debug information for package python-debugpy
url: https://aka.ms/debugpy
rpm_license: MIT
rpm_group: Development/Debug
rpm_buildhost: localhost
rpm_sourcerpm: python-debugpy-1.8.11-1.src.rpm
location_href: Packages/python-debugpy-debuginfo-1.8.11-1.aarch64.rpm
checksum_type: sha256
description:
  This package provides debug information for package python-debugpy.
  Debug information is useful when developing applications that use this
  package or when debugging this package.


pkgId: 9223d3b2522299c47595a2cd497dd68311db78d0ba46fff35e50603447b45927
name: python-debugpy-debugsource
arch: aarch64
version: 1.8.11
epoch: 0
release: 1
summary: Debug sources for package python-debugpy
url: https://aka.ms/debugpy
rpm_license: MIT
rpm_group: Development/Debug
rpm_buildhost: localhost
rpm_sourcerpm: python-debugpy-1.8.11-1.src.rpm
location_href: Packages/python-debugpy-debugsource-1.8.11-1.aarch64.rpm
checksum_type: sha256
description:
  This package provides debug sources for package python-debugpy.
  Debug sources are useful when developing applications that use this
  package or when debugging this package.


pkgId: 5db113284e82616fe2ddc3ecff6407e1712279d570bbdde2902d1ce4f73dd69c
name: python-debugpy-help
arch: aarch64
version: 1.8.11
epoch: 0
release: 1
summary: Development documents and examples for debugpy
url: https://aka.ms/debugpy
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-debugpy-1.8.11-1.src.rpm
location_href: Packages/python-debugpy-help-1.8.11-1.aarch64.rpm
checksum_type: sha256
description:
  debugpy is an implementation of the Debug Adapter Protocol for Python.

  The source code and the issue tracker is [hosted on GitHub](https://github.com/microsoft/debugpy/).


pkgId: 22b3e567b6308aa1377623819de35e79d7c9e0ec992647933b9224ffcdbaad85
name: python-decentriq-platform-help
arch: noarch
version: 0.34.1
epoch: 0
release: 1
summary: Development documents and examples for decentriq-platform
url: https://github.com/decentriq/decentriq-platform
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-decentriq-platform-0.34.1-1.src.rpm
location_href: Packages/python-decentriq-platform-help-0.34.1-1.noarch.rpm
checksum_type: sha256
description:
  The Decentriq Python SDK exposes the [Decentriq platform](https://platform.decentriq.com)'s functionality via easy-to-use programming constructs and, as such, allows
  users to interact with the platform in a programmatic way.

  Releases of this library are hosted on https://pypi.org/project/decentriq-platform/ and can be installed via the Python package manager `pip`.

  Please refer to the [official documentation](https://docs.decentriq.com/sdk/getting-started) for tutorials on how to install and use the
  Decentriq Python SDK, as well as for detailed API documentation.






  If you release a new `decentriq_dcr_compiler` package and want to run
  `poetry lock --no-update` to update the lock file, then you might need to
  `poetry cache clear --all .` first in order to have poetry be able to pick
  up the recently released version.


pkgId: 8f12c35b23301a5315c26a62cbfb9294e6443668ca528fef356c434ab6f408b9
name: python-decimify-help
arch: noarch
version: 0.2.9
epoch: 0
release: 1
summary: Development documents and examples for decimify
url: https://pypi.org/project/decimify/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-decimify-0.2.9-1.src.rpm
location_href: Packages/python-decimify-help-0.2.9-1.noarch.rpm
checksum_type: sha256
description:
  [![CI](https://github.com/zahidkizmaz/decimify/workflows/CI/badge.svg?event=push)](https://github.com/zahidkizmaz/decimify/actions?query=event%3Apush+branch%3Amain+workflow%3ACI)
  [![Pypi](https://img.shields.io/pypi/v/decimify.svg)](https://pypi.python.org/pypi/decimify)
  [![Versions](https://img.shields.io/pypi/pyversions/decimify.svg)](https://github.com/zahidkizmaz/decimify)
  [![Codecov](https://codecov.io/gh/zahidkizmaz/decimify/branch/main/graph/badge.svg?token=2O3A7Z5NKV)](https://codecov.io/gh/zahidkizmaz/decimify)
  [![License](https://img.shields.io/github/license/zahidkizmaz/decimify.svg)](https://github.com/zahidkizmaz/decimify/blob/main/LICENSE)

  Parse numbers with different formatting to builtin python Decimal.

  > A decimal separator is a symbol used to separate the integer part from the fractional part of a number written in decimal form (e.g. "." in 12.45). Different countries officially designate different symbols for use as the separator. The choice of symbol also affects the choice of symbol for the thousands separator used in digit grouping.



  | Large Number | Locale                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | 1,234,567.89 | Australia, Cambodia, Canada (English-speaking; unofficial), China, Cyprus (currency numbers), Hong Kong, Iran, Ireland, Israel, Japan, Korea, Macau (in Chinese and English text), Malaysia, Malta, Mexico, Namibia, New Zealand, Pakistan, Peru (currency numbers), Philippines, Singapore, South Africa (English-speaking; unofficial), Taiwan, Thailand, United Kingdom and other Commonwealth states except Mozambique, United States.                                                            |
  | 1234567.89   | SI style (English version), Canada (English-speaking; official), China, Estonia (currency numbers), Hong Kong (in education), Mexico, Namibia, South Africa (English-speaking; unofficial), Sri Lanka, Switzerland (in federal texts for currency numbers only), United Kingdom (in education), United States (in education).                                                                                                                                                                         |
  | 1234567,89   | SI style (French version), Albania, Belgium (French), Brazil, Bulgaria, Canada (French-speaking), Costa Rica, Croatia, Czech Republic, Estonia, Finland, France, Hungary, Italy (in education), Latin America, Latin Europe, Latvia, Lithuania, Macau (in Portuguese text), Mozambique, Norway, Peru, Poland, Portugal, Russia, Serbia (informal), Slovakia, South Africa (officiale RAE and CSIC), Sweden, Switzerland (in federal texts, except currency numbers), Ukraine, Vietnam (in education). |
  | 1.234.567,89 | Austria, Belgium (Dutch), Bosnia and Herzegovina, Brazil (informal and in technology), Chile, Colombia, Croatia (in bookkeeping and technology), Denmark, Germany, Greece, Indonesia, Italy, Latin America (informal), Netherlands, Romania, Slovenia, Serbia, Spain (used until 2010, inadvisable use according to the RAE and CSIC), Turkey, Uruguay, Vietnam.                                                                                                                                      |
  | 1,234,567·89 | Malaysia, Philippines (uncommon today), Singapore, United Kingdom (older, typically handwritten; in education)                                                                                                                                                                                                                                                                                                                                                                                        |
  | 12,34,567.89 | Bangladesh, India, Nepal, Pakistan (see Indian numbering system).                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  | 1234567.89   | Bangladesh, India, Nepal, Pakistan (see Indian numbering system).                                                                                                                                                                                                                                                                                                                                                                                                                                     |

  [Reference](https://en.wikipedia.org/wiki/Decimal_separator)

  **decimify** aims to solve this problem by automatically converting many common formats into python `Decimal`.

  Without having any external dependencies. It uses builtin python functions to convert string representation of numbers to Decimal.



  ```shell
  pip install -U decimify
  ```



  ```python
  from decimify import decimify

  my_decimal = decimify('23 234.678,00')
  my_decimal

  ```

rpm_license:
  MIT License  Copyright (c) 2023 Zahid  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: b6c086bdba6529cfe92eb00c0975c0e93701cc0347121310a1b0e81830bc3e89
name: python-decoders-help
arch: noarch
version: 0.4.0
epoch: 0
release: 1
summary: Development documents and examples for decoders
url: https://github.com/manueldeprada/decoders
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-decoders-0.4.0-1.src.rpm
location_href: Packages/python-decoders-help-0.4.0-1.noarch.rpm
checksum_type: sha256
description:
  This package provides a convenient interface for extensible and customizable generation strategies -aka decoders- in 🤗 transformers.

  It also provides extra implementations out of the box, like the Stochastic Beam Search decoder.


  ```
  pip install decoders
  ```

  Simple use of the new interface:
  ```python
  from decoders import inject_supervitamined_decoders
  from transformers import T5ForConditionalGeneration

  model = T5ForConditionalGeneration.from_pretrained('t5-small')
  inject_supervitamined_decoders(model)
  model.generate(...)
  ```



  This decoder is a stochastic version of the Beam Search decoder. It is a HF implementation of the paper [Stochastic Beam Search](https://arxiv.org/abs/1903.06059).

  It can be used as follows:

  ```python
  from decoders import OldStochasticBeamSearchDecoder, inject_supervitamined_decoders
  from transformers import T5ForConditionalGeneration

  model = T5ForConditionalGeneration.from_pretrained('t5-small')
  inject_supervitamined_decoders(model)

  decoder = OldStochasticBeamSearchDecoder()
  outputs = model.generate(input_ids, generation_strategy=decoder,
                           num_beams=4, num_return_sequences=4,  # sample without repl. = return all beams
                           length_penalty=0.0,  # for correct probabilities, disable length penalty
                           return_dict_in_generate=True, output_scores=True, early_stopping=True,
                           
                           
                           
                           )
  ```
  Note that when sampling without replacement, you must set `num_beams` and `num_return_sequences` to the same value, the number of SWOR samples that you want to obtain.

  Of course, the samples for the same input are not independent. If you want R different groups of SWOR samples of size n, you should replicate your batched input tensor by R, and then set num_beams and num_return_sequences to n.

  See [here](https://gist.github.com/manueldeprada/839e2446cc4e72dd8eb558c1acbbe85f) for a full example.




  The BinaryCodeTransformer is a custom transformer model that acts like a probabilistic binary sequence generator. Given a discrete probability distribution over all possible binary sequences of a given length, it generates a sequence of that length according to that distribution. It is useful to test HF compatible sample-without-replacement decoders, like the Stochastic Beam Search decoder.

  The code maps each of the 2^n possible binary sequences of length n to its positive integer decimal representation. Then, it uses that number as the index of the corresponding probability in the input distribution. Since we are interested in autoregressive generation, the model computes the conditional probabilities by summing over the possible continuations of the sequence.



  The FakeTransformer operates as a very simple Probabilistic Finite State Automaton. See [here](https://manueldeprada.com/blog/posts/toy-probabilistic-transformer/) for a full explanation.


pkgId: a71c96c166f0a8f51cc19d32386a30790202cd1945ae76fa3c87d9ad4422b25d
name: python-decryption-lib-help
arch: noarch
version: 0.1.0
epoch: 0
release: 1
summary: Development documents and examples for decryption-lib
url: https://pypi.org/project/decryption-lib/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-decryption-lib-0.1.0-1.src.rpm
location_href: Packages/python-decryption-lib-help-0.1.0-1.noarch.rpm
checksum_type: sha256
description:
  A simple Python library for decrypting AES-CBC encrypted data. It uses a password-based key derivation function (PBKDF2 HMAC with SHA-256) to securely generate cryptographic keys.



  Install the library using `pip`:

  ```bash
  pip install decryption_lib


pkgId: ca17433546288d8ad7e7e688bc40e50ac6ffc8ff5d61022eb6827bd92a117426
name: python-dedl-stack-client-help
arch: noarch
version: 2024.12.1
epoch: 0
release: 1
summary: Development documents and examples for dedl-stack-client
url: https://pypi.org/project/dedl-stack-client/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dedl-stack-client-2024.12.1-1.src.rpm
location_href: Packages/python-dedl-stack-client-help-2024.12.1-1.noarch.rpm
checksum_type: sha256
description:
  Python client to facilitate the use of DestinE Data Lake Stack Service.



  To install the latest version of the client library run:
  ```shell
  pip install dedl-stack-client
  ```



  An example notebook is provided [here](examples/client-usage.ipynb).
  The client will guide a user through the needed authentication flow and will automatically create dedicated Dask cluster on each DEDL bridge.

  ```python
  from dedl_stack_client.authn import DaskOIDC
  from dedl_stack_client.dask import DaskMultiCluster
  from rich.prompt import Prompt

  myAuth = DaskOIDC(username=Prompt.ask(prompt="Username"))
  myDEDLClusters = DaskMultiCluster(auth=myAuth)
  myDEDLClusters.new_cluster()
  ```

  The DaskMultiCluster class provides an abstraction layer to interact with the various clusters on each DEDL bridge. Computations can be directed to the different Dask clusters by making use of a context manager as given in the following.

  ```python
  with myDEDLClusters.as_current(location="central") as myclient:
      myclient.compute(myarray)
  with myDEDLClusters.as_current(location="lumi") as myclient:
      myclient.compute(myarray)
  with myDEDLClusters.as_current(location="leonardo") as myclient:
      myclient.compute(myarray)
  ```


pkgId: c4ddc8e5460026e991bd6a5245b4cf268c5ccc8aec135670acb4d737e240b254
name: python-dedscumulus-help
arch: noarch
version: 0.6.4
epoch: 0
release: 1
summary: Development documents and examples for dedscumulus
url: https://github.com/nino-baywa/dedscumulus
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-dedscumulus-0.6.4-1.src.rpm
location_href: Packages/python-dedscumulus-help-0.6.4-1.noarch.rpm
checksum_type: sha256
description:
  TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project.


  TODO: Guide users through getting your code up and running on their own system. In this section you can talk about:
  1.	Installation process
  2.	Software dependencies
  3.	Latest releases
  4.	API references


  TODO: Describe and show how to build your code and run the tests.


  TODO: Explain how other users and developers can contribute to make your code better.

  If you want to learn more about creating good readme files then refer the following [guidelines](https://docs.microsoft.com/en-us/azure/devops/repos/git/create-a-readme?view=azure-devops). You can also seek inspiration from the below readme files:
  - [ASP.NET Core](https://github.com/aspnet/Home)
  - [Visual Studio Code](https://github.com/Microsoft/vscode)
  - [Chakra Core](https://github.com/Microsoft/ChakraCore)


pkgId: 73eb02c0d02daa33d4ce04824b2455fd029150b1f37ffcfc7c82090e72c29b2b
name: python-deepchecks-help
arch: noarch
version: 0.19.0
epoch: 0
release: 1
summary: Development documents and examples for deepchecks
url: https://github.com/deepchecks/deepchecks
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deepchecks-0.19.0-1.src.rpm
location_href: Packages/python-deepchecks-help-0.19.0-1.noarch.rpm
checksum_type: sha256
description:
  Depending on your phase and what you wise to validate, you'll need a subset of the following:
  - Raw data (before pre-processing such as OHE, string processing, etc.), with optional labels
  - The model's training data with labels
  - Test data (which the model isn't exposed to) with labels
  - A model compatible with scikit-learn API that you wish to validate (e.g. RandomForest, XGBoost)
  Deepchecks validation accompanies you from the initial phase when you
  have only raw data, through the data splits, and to the final stage of
  having a trained model that you wish to evaluate. Accordingly, each
  phase requires different assets for the validation. See more about
  typical usage scenarios and the built-in suites in the
  `docs <https://docs.deepchecks.com/?utm_source=pypi.org&utm_medium=referral&utm_campaign=readme>`__.


pkgId: bba528861313f02cbc0c55bbe3c724490fc4bc683152aec59c8a7806ac91e66c
name: python-deepdiff-help
arch: noarch
version: 8.1.0
epoch: 0
release: 1
summary: Development documents and examples for deepdiff
url: https://github.com/seperman/deepdiff
rpm_license: MIT
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deepdiff-8.1.0-1.src.rpm
location_href: Packages/python-deepdiff-help-8.1.0-1.noarch.rpm
checksum_type: sha256
description:
  ![Downloads](https://img.shields.io/pypi/dm/deepdiff.svg?style=flat)
  ![Python Versions](https://img.shields.io/pypi/pyversions/deepdiff.svg?style=flat)
  ![License](https://img.shields.io/pypi/l/deepdiff.svg?version=latest)
  [![Build Status](https://github.com/seperman/deepdiff/workflows/Unit%20Tests/badge.svg)](https://github.com/seperman/deepdiff/actions)
  [![codecov](https://codecov.io/gh/seperman/deepdiff/branch/master/graph/badge.svg?token=KkHZ3siA3m)](https://codecov.io/gh/seperman/deepdiff)



  - [DeepDiff](https://zepworks.com/deepdiff/current/diff.html): Deep Difference of dictionaries, iterables, strings, and ANY other object.
  - [DeepSearch](https://zepworks.com/deepdiff/current/dsearch.html): Search for objects within other objects.
  - [DeepHash](https://zepworks.com/deepdiff/current/deephash.html): Hash any object based on their content.
  - [Delta](https://zepworks.com/deepdiff/current/delta.html): Store the difference of objects and apply them to other objects.
  - [Extract](https://zepworks.com/deepdiff/current/extract.html): Extract an item from a nested Python object using its path.
  - [commandline](https://zepworks.com/deepdiff/current/commandline.html): Use DeepDiff from commandline.

  Tested on Python 3.8+ and PyPy3.

  - **[Documentation](https://zepworks.com/deepdiff/8.1.0/)**



  Please check the [ChangeLog](CHANGELOG.md) file for the detailed information.

  DeepDiff 8-1-0

  - Removing deprecated lines from setup.py
  - Added `prefix` option to `pretty()`
  - Fixes hashing of numpy boolean values.
  - Fixes __slots__ comparison when the attribute doesn't exist.
  - Relaxing orderly-set reqs
  - Added Python 3.13 support
  - Only lower if clean_key is instance of str
  - Only lower if clean_key is instance of str #504
  - Fixes issue where the key deep_distance is not returned when both compared items are equal
  - Fixes issue where the key deep_distance is not returned when both compared items are equal #510
  - Fixes exclude_paths fails to work in certain cases
  - exclude_paths fails to work #509
  - Fixes to_json() method chokes on standard json.dumps() kwargs such as sort_keys
  - to_dict() method chokes on standard json.dumps() kwargs  #490
  - Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty
  - In version 8.1.0, accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty #508

  DeepDiff 8-0-1

  - Bugfix. Numpy should be optional.

  DeepDiff 8-0-0

  With the introduction of `threshold_to_diff_deeper`, the values returned are different than in previous versions of DeepDiff. You can still get the older values by setting `threshold_to_diff_deeper=0`. However to signify that enough has changed in this release that the users need to update the parameters passed to DeepDiff, we will be doing a major version update.

  - `use_enum_value=True` makes it so when diffing enum, we use the enum's value. It makes it so comparing an enum to a string or any other value is not reported as a type change.
  - `threshold_to_diff_deeper=float` is a number between 0 and 1. When comparing dictionaries that have a small intersection of keys, we will report the dictionary as a `new_value` instead of reporting individual keys changed. If you set it to zero, you get the same results as DeepDiff 7.0.1 and earlier, which means this feature is disabled. The new default is 0.33 which means if less that one third of keys between dictionaries intersect, report it as a new object.
  - Deprecated `ordered-set` and switched to `orderly-set`. The `ordered-set` package was not being maintained anymore and starting Python 3.6, there were better options for sets that ordered. I forked one of the new implementations, modified it, and published it as `orderly-set`.
  - Added `use_log_scale:bool` and `log_scale_similarity_threshold:float`. They can be used to ignore small changes in numbers by comparing their differences in logarithmic space. This is different than ignoring the difference based on significant digits.
  - json serialization of reversed lists.
  - Fix for iterable moved items when `iterable_compare_func` is used.
  - Pandas and Polars support.

  DeepDiff 7-0-1

  - Fixes the translation between Difflib opcodes and Delta flat rows.

  DeepDiff 7-0-0

  - DeepDiff 7 comes with an improved delta object. [Delta to flat dictionaries](https://zepworks.com/deepdiff/current/serialization.html#delta-serialize-to-flat-dictionaries) have undergone a major change. We have also introduced [Delta serialize to flat rows](https://zepworks.com/deepdiff/current/serialization.html#delta-serialize-to-flat-rows).
  - Subtracting delta objects have dramatically improved at the cost of holding more metadata about the original objects.
  - When `verbose=2`, and the "path" of an item has changed in a report between t1 and t2, we include it as `new_path`.
  - `path(use_t2=True)` returns the correct path to t2 in any reported change in the [`tree view`](https://zepworks.com/deepdiff/current/view.html#tree-view)
  - Python 3.7 support is dropped and Python 3.12 is officially supported.


  DeepDiff 6-7-1

  - Support for subtracting delta objects when iterable_compare_func is used.
  - Better handling of force adding a delta to an object.
  - Fix for [`Can't compare dicts with both single and double quotes in keys`](https://github.com/seperman/deepdiff/issues/430)
  - Updated docs for Inconsistent Behavior with math_epsilon and ignore_order = True

  DeepDiff 6-7-0

  - Delta can be subtracted from other objects now.
  - verify_symmetry is deprecated. Use bidirectional instead.
  - always_include_values flag in Delta can be enabled to include values in the delta for every change.
  - Fix for Delta.__add__ breaks with esoteric dict keys.
  - You can load a delta from the list of flat dictionaries.

  DeepDiff 6-6-1

  - Fix for [DeepDiff raises decimal exception when using significant digits](https://github.com/seperman/deepdiff/issues/426)
  - Introducing group_by_sort_key
  - Adding group_by 2D. For example `group_by=['last_name', 'zip_code']`






  `pip install deepdiff`

  If you want to use DeepDiff from commandline:

  `pip install "deepdiff[cli]"`

  If you want to improve the performance of DeepDiff with certain functionalities such as improved json serialization:

  `pip install "deepdiff[optimize]"`

  Install optional packages:
  - [yaml](https://pypi.org/project/PyYAML/)
  - [tomli](https://pypi.org/project/tomli/) (python 3.10 and older) and [tomli-w](https://pypi.org/project/tomli-w/) for writing
  - [clevercsv](https://pypi.org/project/clevercsv/) for more rubust CSV parsing
  - [orjson](https://pypi.org/project/orjson/) for speed and memory optimized parsing
  - [pydantic](https://pypi.org/project/pydantic/)




  <https://zepworks.com/deepdiff/current/>



  > 👋 Hi there,
  >
  > Thank you for using DeepDiff!
  > As an engineer, I understand the frustration of wrestling with **unruly data** in pipelines.
  > That's why I developed a new tool - [Qluster](https://qluster.ai/solution) to empower non-engineers to control and resolve data issues at scale autonomously and **stop bugging the engineers**! 🛠️
  >
  > If you are going through this pain now, I would love to give you [early access](https://www.qluster.ai/try-qluster) to Qluster and get your feedback.




  Please take a look at the [CHANGELOG](CHANGELOG.md) file.



  :mega: **Please fill out our [fast 5-question survey](https://forms.gle/E6qXexcgjoKnSzjB8)** so that we can learn how & why you use DeepDiff, and what improvements we should make. Thank you! :dancers:



  1. Please make your PR against the dev branch
  2. Please make sure that your PR has tests. Since DeepDiff is used in many sensitive data driven projects, we strive to maintain around 100% test coverage on the code.

  Please run `pytest --cov=deepdiff --runslow` to see the coverage report. Note that the `--runslow` flag will run some slow tests too. In most cases you only want to run the fast tests which so you wont add the `--runslow` flag.

  Or to see a more user friendly version, please run: `pytest --cov=deepdiff --cov-report term-missing --runslow`.

  Thank you!



  Please take a look at the [AUTHORS](AUTHORS.md) file.


pkgId: 9c747d463f7ff1098309118a28fba991c75ae62925643272e099e04aefd107f4
name: python-deepeval-help
arch: noarch
version: 2.0.8
epoch: 0
release: 1
summary: Development documents and examples for deepeval
url: https://github.com/confident-ai/deepeval
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deepeval-2.0.8-1.src.rpm
location_href: Packages/python-deepeval-help-2.0.8-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
      <img src="https://github.com/confident-ai/deepeval/blob/main/docs/static/img/deepeval.png" alt="DeepEval Logo" width="100%">
  </p>

  <p align="center">
      <h1 align="center">The LLM Evaluation Framework</h1>
  </p>

  <p align="center">
      <a href="https://discord.com/invite/a3K9c8GRGt">
          <img alt="discord-invite" src="https://dcbadge.vercel.app/api/server/a3K9c8GRGt?style=flat">
      </a>
  </p>

  <h4 align="center">
      <p>
          <a href="https://docs.confident-ai.com/docs/getting-started?utm_source=GitHub">Documentation</a> |
          <a href="#-metrics-and-features">Metrics and Features</a> |
          <a href="#-quickstart">Getting Started</a> |
          <a href="#-integrations">Integrations</a> |
          <a href="https://confident-ai.com?utm_source=GitHub">Confident AI</a>
      <p>
  </h4>

  <p align="center">
      <a href="https://github.com/confident-ai/deepeval/releases">
          <img alt="GitHub release" src="https://img.shields.io/github/release/confident-ai/deepeval.svg?color=violet">
      </a>
      <a href="https://colab.research.google.com/drive/1PPxYEBa6eu__LquGoFFJZkhYgWVYE6kh?usp=sharing">
          <img alt="Try Quickstart in Colab" src="https://colab.research.google.com/assets/colab-badge.svg">
      </a>
      <a href="https://github.com/confident-ai/deepeval/blob/master/LICENSE.md">
          <img alt="License" src="https://img.shields.io/github/license/confident-ai/deepeval.svg?color=yellow">
      </a>
  </p>

  **DeepEval** is a simple-to-use, open-source LLM evaluation framework, for evaluating and testing large-language model systems. It is similar to Pytest but specialized for unit testing LLM outputs. DeepEval incorporates the latest research to evaluate LLM outputs based on metrics such as G-Eval, hallucination, answer relevancy, RAGAS, etc., which uses LLMs and various other NLP models that runs **locally on your machine** for evaluation.

  Whether your application is implemented via RAG or fine-tuning, LangChain or LlamaIndex, DeepEval has you covered. With it, you can easily determine the optimal hyperparameters to improve your RAG pipeline, prevent prompt drifting, or even transition from OpenAI to hosting your own Llama2 with confidence.

  > Want to talk LLM evaluation? [Come join our discord.](https://discord.com/invite/a3K9c8GRGt)

  <br />



  > ‼️ You can now run DeepEval's metrics on the cloud for free directly on [Confident AI](https://confident-ai.com?utm_source=GitHub)'s infrastructure 🥳

  - Large variety of ready-to-use LLM evaluation metrics (all with explanations) powered by **ANY** LLM of your choice, statistical methods, or NLP models that runs **locally on your machine**:
    - G-Eval
    - Summarization
    - Answer Relevancy
    - Faithfulness
    - Contextual Recall
    - Contextual Precision
    - RAGAS
    - Hallucination
    - etc.
  - [Red team your LLM application](https://docs.confident-ai.com/docs/red-teaming-introduction) for 40+ safety vulnerabilities in a few lines of code, including:
    - Toxicity
    - Bias
    - SQL Injection
    - etc., using advanced 10+ attack enhancement strategies such as prompt injections.
  - Evaluate your entire dataset in bulk in under 20 lines of Python code **in parallel**. Do this via the CLI in a Pytest-like manner, or through our `evaluate()` function.
  - Create your own custom metrics that are automatically integrated with DeepEval's ecosystem by inheriting DeepEval's base metric class.
  - Integrates seamlessly with **ANY** CI/CD environment.
  - Easily benchmark **ANY** LLM on popular LLM benchmarks in [under 10 lines of code.](https://docs.confident-ai.com/docs/benchmarks-introduction?utm_source=GitHub), which includes:
    - MMLU
    - HellaSwag
    - DROP
    - BIG-Bench Hard
    - TruthfulQA
    - HumanEval
    - GSM8K
  - [Automatically integrated with Confident AI](https://app.confident-ai.com?utm_source=GitHub) for continous evaluation throughout the lifetime of your LLM (app):
    - log evaluation results and analyze metrics pass / fails
    - compare and pick the optimal hyperparameters (eg. prompt templates, chunk size, models used, etc.) based on evaluation results
    - debug evaluation results via LLM traces
    - manage evaluation test cases / datasets in one place
    - track events to identify live LLM responses in production
    - real-time evaluation in production
    - add production events to existing evaluation datasets to strength evals over time

  (Note that while some metrics are for RAG, others are better for a fine-tuning use case. Make sure to consult our docs to pick the right metric.)

  <br />



  - 🦄 LlamaIndex, to [**unit test RAG applications in CI/CD**](https://docs.confident-ai.com/docs/integrations-llamaindex?utm_source=GitHub)
  - 🤗 Hugging Face, to [**enable real-time evaluations during LLM fine-tuning**](https://docs.confident-ai.com/docs/integrations-huggingface?utm_source=GitHub)

  <br />



  Let's pretend your LLM application is a RAG based customer support chatbot; here's how DeepEval can help test what you've built.



  ```
  pip install -U deepeval
  ```



  Although optional, creating an account on our platform will allow you to log test results, enabling easy tracking of changes and performances over iterations. This step is optional, and you can run test cases even without logging in, but we highly recommend giving it a try.

  To login, run:

  ```
  deepeval login
  ```

  Follow the instructions in the CLI to create an account, copy your API key, and paste it into the CLI. All test cases will automatically be logged (find more information on data privacy [here](https://docs.confident-ai.com/docs/data-privacy?utm_source=GitHub)).



  Create a test file:

  ```bash
  touch test_chatbot.py
  ```

  Open `test_chatbot.py` and write your first test case using DeepEval:

  ```python
  import pytest
  from deepeval import assert_test
  from deepeval.metrics import AnswerRelevancyMetric
  from deepeval.test_case import LLMTestCase

  def test_case():
      answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.5)
      test_case = LLMTestCase(
          input="What if these shoes don't fit?",
          
          actual_output="We offer a 30-day full refund at no extra costs.",
          retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
      )
      assert_test(test_case, [answer_relevancy_metric])
  ```
  Set your `OPENAI_API_KEY` as an environment variable (you can also evaluate using your own custom model, for more details visit [this part of our docs](https://docs.confident-ai.com/docs/metrics-introduction#using-a-custom-llm?utm_source=GitHub)):

  ```
  export OPENAI_API_KEY="..."
  ```

  And finally, run `test_chatbot.py` in the CLI:

  ```
  deepeval test run test_chatbot.py
  ```

  **Your test should have passed ✅** Let's breakdown what happened.

  - The variable `input` mimics user input, and `actual_output` is a placeholder for your chatbot's intended output based on this query.
  - The variable `retrieval_context` contains the relevant information from your knowledge base, and `AnswerRelevancyMetric(threshold=0.5)` is an out-of-the-box metric provided by DeepEval. It helps evaluate the relevancy of your LLM output based on the provided context.
  - The metric score ranges from 0 - 1. The `threshold=0.5` threshold ultimately determines whether your test has passed or not.

  [Read our documentation](https://docs.confident-ai.com/docs/getting-started?utm_source=GitHub) for more information on how to use additional metrics, create your own custom metrics, and tutorials on how to integrate with other tools like LangChain and LlamaIndex.

  <br />



  Alternatively, you can evaluate without Pytest, which is more suited for a notebook environment.

  ```python
  from deepeval import evaluate
  from deepeval.metrics import AnswerRelevancyMetric
  from deepeval.test_case import LLMTestCase

  answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
  test_case = LLMTestCase(
      input="What if these shoes don't fit?",
      
      actual_output="We offer a 30-day full refund at no extra costs.",
      retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
  )
  evaluate([test_case], [answer_relevancy_metric])
  ```



  DeepEval is extremely modular, making it easy for anyone to use any of our metrics. Continuing from the previous example:

  ```python
  from deepeval.metrics import AnswerRelevancyMetric
  from deepeval.test_case import LLMTestCase

  answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
  test_case = LLMTestCase(
      input="What if these shoes don't fit?",
      
      actual_output="We offer a 30-day full refund at no extra costs.",
      retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
  )

  answer_relevancy_metric.measure(test_case)
  print(answer_relevancy_metric.score)

  print(answer_relevancy_metric.reason)
  ```

  Note that some metrics are for RAG pipelines, while others are for fine-tuning. Make sure to use our docs to pick the right one for your use case.



  In DeepEval, a dataset is simply a collection of test cases. Here is how you can evaluate these in bulk:

  ```python
  import pytest
  from deepeval import assert_test
  from deepeval.metrics import HallucinationMetric, AnswerRelevancyMetric
  from deepeval.test_case import LLMTestCase
  from deepeval.dataset import EvaluationDataset

  first_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
  second_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])

  dataset = EvaluationDataset(test_cases=[first_test_case, second_test_case])

  @pytest.mark.parametrize(
      "test_case",
      dataset,
  )
  def test_customer_chatbot(test_case: LLMTestCase):
      hallucination_metric = HallucinationMetric(threshold=0.3)
      answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.5)
      assert_test(test_case, [hallucination_metric, answer_relevancy_metric])
  ```

  ```bash

  deepeval test run test_<filename>.py -n 4
  ```

  <br/>

  Alternatively, although we recommend using `deepeval test run`, you can evaluate a dataset/test cases without using our Pytest integration:

  ```python
  from deepeval import evaluate
  ...

  evaluate(dataset, [answer_relevancy_metric])

  dataset.evaluate([answer_relevancy_metric])
  ```



  We offer a [web platform](https://app.confident-ai.com?utm_source=Github) for you to:

  1. Log and view all the test results / metrics data from DeepEval's test runs.
  2. Debug evaluation results via LLM traces.
  3. Compare and pick the optimal hyperparameteres (prompt templates, models, chunk size, etc.).
  4. Create, manage, and centralize your evaluation datasets.
  5. Track events in production and augment your evaluation dataset for continous evaluation.
  6. Track events in production, view evaluation results and historical insights.

  Everything on Confident AI, including how to use Confident is available [here](https://docs.confident-ai.com/docs/confident-ai-introduction?utm_source=GitHub).

  To begin, login from the CLI:

  ```bash
  deepeval login
  ```

  Follow the instructions to log in, create your account, and paste your API key into the CLI.

  Now, run your test file again:

  ```bash
  deepeval test run test_chatbot.py
  ```

  You should see a link displayed in the CLI once the test has finished running. Paste it into your browser to view the results!

  ![ok](https://d2lsxfc3p6r9rv.cloudfront.net/confident-test-cases.png)

  <br />



  Please read [CONTRIBUTING.md](https://github.com/confident-ai/deepeval/blob/main/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

  <br />



  Features:

  - [x] Implement G-Eval
  - [x] Referenceless Evaluation
  - [x] Production Evaluation & Logging
  - [x] Evaluation Dataset Creation

  Integrations:

  - [x] lLamaIndex
  - [ ] langChain
  - [ ] Guidance
  - [ ] Guardrails
  - [ ] EmbedChain

  <br />



  Built by the founders of Confident AI. Contact jeffreyip@confident-ai.com for all enquiries.

  <br />



  DeepEval is licensed under Apache 2.0 - see the [LICENSE.md](https://github.com/confident-ai/deepeval/blob/main/LICENSE.md) file for details.


pkgId: 645b4962d7aaf7fb6d799c72c083829cbbbf11cb8bc5d64bc31dec3baab8cb40
name: python-deephyper-help
arch: noarch
version: 0.9.0
epoch: 0
release: 1
summary: Development documents and examples for deephyper
url: https://pypi.org/project/deephyper/
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deephyper-0.9.0-1.src.rpm
location_href: Packages/python-deephyper-help-0.9.0-1.noarch.rpm
checksum_type: sha256
description:
  <p align="center">
  <img src="docs/_static/logo/medium.png">
  </p>

  [![DOI](https://zenodo.org/badge/156403341.svg)](https://zenodo.org/badge/latestdoi/156403341)
  ![GitHub tag (latest by date)](https://img.shields.io/github/tag-date/deephyper/deephyper.svg?label=version)
  [![Documentation Status](https://readthedocs.org/projects/deephyper/badge/?version=latest)](https://deephyper.readthedocs.io/en/latest/?badge=latest)
  ![PyPI - License](https://img.shields.io/pypi/l/deephyper.svg)
  ![PyPI - Downloads](https://img.shields.io/pypi/dm/deephyper.svg?label=Pypi%20downloads)
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/deephyper/tutorials/blob/main/tutorials/colab/DeepHyper_101.ipynb)
  <!-- [![Build Status](https://travis-ci.com/deephyper/deephyper.svg?branch=develop)](https://travis-ci.com/deephyper/deephyper) -->



  DeepHyper is a powerful Python package for automating machine learning tasks, particularly focused on optimizing hyperparameters, searching for optimal neural architectures, and quantifying uncertainty through the use of deep ensembles. With DeepHyper, users can easily perform these tasks on a single machine or distributed across multiple machines, making it ideal for use in a variety of environments. Whether you're a beginner looking to optimize your machine learning models or an experienced data scientist looking to streamline your workflow, DeepHyper has something to offer. So why wait? Start using DeepHyper today and take your machine-learning skills to the next level!



  Installation with `pip`:

  ```console

  pip install deephyper







  pip install "deephyper[default]"
  ```

  More details about the installation process can be found at [DeepHyper Installations](https://deephyper.readthedocs.io/en/latest/install/index.html).



  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/deephyper/tutorials/blob/main/tutorials/colab/DeepHyper_101.ipynb)

  The black-box function named `run` is defined by taking an input job named `job` which contains the different variables to optimize `job.parameters`. Then the run-function is bound to an `Evaluator` in charge of distributing the computation of multiple evaluations. Finally, a Bayesian search named `CBO` is created and executed to find the values of config which **MAXIMIZE** the return value of `run(job)`.

  ```python
  def run(job):
      
      x = job.parameters["x"]
      b = job.parameters["b"]

      if job.parameters["function"] == "linear":
          y = x + b
      elif job.parameters["function"] == "cubic":
          y = x**3 + b

      
      return y




  if __name__ == "__main__":
      from deephyper.hpo import HpProblem
      from deephyper.hpo import CBO
      from deephyper.evaluator import Evaluator

      
      problem = HpProblem()
      problem.add_hyperparameter((-10.0, 10.0), "x") # real parameter
      problem.add_hyperparameter((0, 10), "b") # discrete parameter
      problem.add_hyperparameter(["linear", "cubic"], "function") # categorical parameter

      
      evaluator = Evaluator.create(
          run,
          method="process",
          method_kwargs={
              "num_workers": 2,
          },
      )

      
      search = CBO(problem, evaluator, random_state=42)

      results = search.search(max_evals=100)
      print(results)
  ```

  Which outputs the following results where the best parameters are with `function == "cubic"`,
  `x == 9.99` and `b == 10`.

  ```verbatim
      p:b p:function       p:x    objective  job_id  m:timestamp_submit  m:timestamp_gather
  0     7     linear  8.831019    15.831019       1            0.064874            1.430992
  1     4     linear  9.788889    13.788889       0            0.064862            1.453012
  2     0      cubic  2.144989     9.869049       2            1.452692            1.468436
  3     9     linear -9.236860    -0.236860       3            1.468123            1.483654
  4     2      cubic -9.783865  -934.550818       4            1.483340            1.588162
  ..  ...        ...       ...          ...     ...                 ...                 ...
  95    6      cubic  9.862098   965.197192      95           13.538506           13.671872
  96   10      cubic  9.997512  1009.253866      96           13.671596           13.884530
  97    6      cubic  9.965615   995.719961      97           13.884188           14.020144
  98    5      cubic  9.998324  1004.497422      98           14.019737           14.154467
  99    9      cubic  9.995800  1007.740379      99           14.154169           14.289366
  ```

  The code defines a function `run` that takes a RunningJob `job` as input and returns the maximized objective `y`. The `if` block at the end of the code defines a black-box optimization process using the `CBO` (Centralized Bayesian Optimization) algorithm from the `deephyper` library.

  The optimization process is defined as follows:

  1. A hyperparameter optimization problem is created using the `HpProblem` class from `deephyper`. In this case, the problem has three variables. The `x` hyperparameter is a real variable in a range from -10.0 to 10.0. The `b` hyperparameter is a discrete variable in a range from 0 to 10. The `function` hyperparameter is a categorical variable with two possible values.
  2. An evaluator is created using the `Evaluator.create` method. The evaluator will be used to evaluate the function `run` with different configurations of suggested hyperparameters in the optimization problem. The evaluator uses the `process` method to distribute the evaluations across multiple worker processes, in this case, 2 worker processes.
  3. A search object is created using the `CBO` class, the problem and evaluator defined earlier. The `CBO` algorithm is a derivative-free optimization method that uses a Bayesian optimization approach to explore the hyperparameter space.
  4. The optimization process is executed by calling the `search.search` method, which performs the evaluations of the `run` function with different configurations of the hyperparameters until a maximum number of evaluations (100 in this case) is reached.
  5. The results of the optimization process, including the optimal configuration of the hyperparameters and the corresponding objective value, are printed to the console.



  * Documentation: <https://deephyper.readthedocs.io>

  * GitHub repository: <https://github.com/deephyper/deephyper>

  * Blog: <https://deephyper.github.io>



  Find the list of contributors on the [DeepHyper Authors](https://deephyper.github.io/aboutus) page of the Documentation.



  If you wish to cite the Software, please use the following:

  ```
  @misc{deephyper_software,
      title = {"DeepHyper: A Python Package for Scalable Neural Architecture and Hyperparameter Search"},
      author = {Balaprakash, Prasanna and Egele, Romain and Salim, Misha and Maulik, Romit and Vishwanath, Venkat and Wild, Stefan and others},
      organization = {DeepHyper Team},
      year = 2018,
      url = {https://github.com/deephyper/deephyper}
  }
  ```

  Find all our publications on the [Research & Publication](https://deephyper.github.io/papers) page of the Documentation.



  Questions, comments, feature requests, bug reports, etc. can be directed to:

  * Issues on GitHub

  Patches through pull requests are much appreciated on the software itself as well as documentation.
  Optionally, please include in your first patch a credit for yourself in the list above.

  The DeepHyper Team uses git-flow to organize the development: [Git-Flow cheatsheet](https://danielkummer.github.io/git-flow-cheatsheet/). For tests we are using: [Pytest](https://docs.pytest.org/en/latest/).



  * Scalable Data-Efficient Learning for Scientific Domains, U.S. Department of Energy 2018 Early Career Award funded by the Advanced Scientific Computing Research program within the DOE Office of Science (2018--Present)
  * Argonne Leadership Computing Facility: This research used resources of the Argonne Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC02-06CH11357.
  * SLIK-D: Scalable Machine Learning Infrastructures for Knowledge Discovery, Argonne Computing, Environment and Life Sciences (CELS) Laboratory Directed Research and Development (LDRD) Program (2016--2018)



  Copyright © 2019, UChicago Argonne, LLC

  DeepHyper is distributed under the terms of BSD License. See [LICENSE](https://github.com/deephyper/deephyper/blob/master/LICENSE.md)

  Argonne Patent & Intellectual Property File Number: SF-19-007

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


pkgId: c03344133090a48c2d3df10e582ef8eedbddec87d54f618481ab3f058c770ee2
name: python-deepkeep-help
arch: noarch
version: 1.2.4
epoch: 0
release: 1
summary: Development documents and examples for deepkeep
url: https://pypi.org/project/deepkeep/
rpm_license: Apache-2.0
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deepkeep-1.2.4-1.src.rpm
location_href: Packages/python-deepkeep-help-1.2.4-1.noarch.rpm
checksum_type: sha256
description:
  Welcome to the official repository for quick start applications utilizing the Deepkeep's SDK. Our SDK is designed to streamline interactions with ML models like LLMs and Object detection, providing an intuitive Python interface for managing models, datasets, users, and processing pipelines to provied ML security security and trust assessments or provied a firewall for ML Models incrissing trust and security rubustness.
  This repository is your starting point to dive into leveraging our advanced AI and machine learning trust and security capabilities across various endpoints, including model management, user authentication, conversational AI, and customized content moderation pipelines.






  To send your first API request with the Deepkeep Python SDK, make sure you have the right dependencies installed and then run the following code:

  ```python
  host_id = "DEEPKEEP_HOST_ID"
  access_key = "DEEPKEEP_ACCESS_KEY"
  secret_key = "DEEPKEEP_SECRET_KEY"
  base_url = "DEEPKEEP_BASE_URL"

  user_id = access_key
  dk_client = Deepkeep(access_key=access_key, secret_key=secret_key, base_url=base_url)


  conversation_id = dk_client.conversation.create(user_id=user_id, host_id=host_id)["id"]


  content = "<MESSAGE>"
  assistant_response = dk_client.message.create(host_id=host_id, conversation_id=conversation_id, content=content)
  print(assistant_response["content"])


  content = "<MESSAGE>"
  assistant_response = dk_client.message.create(monitor=host_id, conversation_id=conversation_id, content=content, verbose=True)
  print(assistant_response["content"])
  print(assistant_response["statistics"])

  ```



  1. If you don't have Python installed, install it [from Python.org](https://pypi.org/project/deepkeep/).

  2. [Clone](https://github.com/Deepkeepai/deepkeep-quickstart-python) this repository.

  3. Navigate into the project directory:

     ```bash
     $ cd deepkeep-quickstart-python
     ```

  4. Create a new virtual environment:

     - macOS:

       ```bash
       $ python -m venv venv
       $ . venv/bin/activate
       ```

     - Windows:
       ```cmd
       > python -m venv venv
       > .\venv\Scripts\activate
       ```

  5. Install the requirements:

     ```bash
     $ pip install -r requirements.txt
     ```

  6. Run the notebooks:

  Install JupyterLab with pip:
  ```bash
  pip install jupyterlab
  ```

  Once installed, launch JupyterLab with:
  ```bash
  jupyter lab
  ```

  You should now be able to access the notebooks from your browser at the following URL: [http://localhost:8888/lab](http://localhost:8888/lab)!


pkgId: 1c156fd0f9c2c494e0e6bd45e77a22267c565aac233e66b3005d72c310c406fa
name: python-deeplake
arch: noarch
version: 4.1.0
epoch: 0
release: 1
summary: Data Lake for Multi-Modal AI Search
url: https://pypi.org/project/deeplake/
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deeplake-4.1.0-1.src.rpm
location_href: Packages/python-deeplake-4.1.0-1.noarch.rpm
checksum_type: sha256
description:
  <img src="https://static.scarf.sh/a.png?x-pxid=bc3c57b0-9a65-49fe-b8ea-f711c4d35b82" /><p align="center">
       <img src="https://i.postimg.cc/rsjcWc3S/deeplake-logo.png" width="400"/>
  </h1>

  </br>

  <h1 align="center">Deep Lake: Database for AI</h1>

  <p align="center">
      <a href="https://pypi.org/project/deeplake/"><img src="https://badge.fury.io/py/deeplake.svg" alt="PyPI version" height="18"></a>
      <a href="https://pepy.tech/project/deeplake"><img src="https://static.pepy.tech/badge/deeplake" alt="PyPI version" height="18"></a>
    <h3 align="center">
     <a href="https://docs.deeplake.ai/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme"><b>Docs</b></a> &bull;
     <a href="https://docs.deeplake.ai/latest/setup/quickstart/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme"><b>Get Started</b></a> &bull;
     <a href="https://docs.deeplake.ai/latest/api/dataset/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme"><b>API Reference</b></a> &bull;
     <a href="http://learn.activeloop.ai"><b>LangChain & VectorDBs Course</b></a> &bull;
     <a href="https://www.activeloop.ai/resources/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme"><b>Blog</b></a> &bull;
     <a href="https://www.deeplake.ai/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme"><b>Whitepaper</b></a> &bull;
    <a href="http://slack.activeloop.ai"><b>Slack</b></a> &bull;
    <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Factiveloop.ai%2F&via=activeloopai&text=Deep%20Lake%20is%20the%20Database%20for%20all%20AI%20data.%20Check%20it%20out%21&hashtags=DeepLake%2Cactiveloop%2Copensource"><b>Twitter</b></a>
   </h3>



  Deep Lake is a Database for AI powered by a storage format optimized for deep-learning applications. Deep Lake can be used for:

  1. Storing and searching data plus vectors while building LLM applications
  2. Managing datasets while training deep learning models

  Deep Lake simplifies the deployment of enterprise-grade LLM-based products by offering storage for all data types (embeddings, audio, text, videos, images, dicom, pdfs, annotations, [and more](https://docs.deeplake.ai/latest/api/types/)), querying and vector search, data streaming while training models at scale, data versioning and lineage, and integrations with popular tools such as LangChain, LlamaIndex, Weights & Biases, and many more. Deep Lake works with data of any size, it is serverless, and it enables you to store all of your data in your own cloud and in one place. Deep Lake is used by Intel, Bayer Radiology, Matterport, ZERO Systems, Red Cross, Yale, & Oxford.



  <details>
    <summary><b>Multi-Cloud Support (S3, GCP, Azure)</b></summary>
  Use one API to upload, download, and stream datasets to/from S3, Azure, GCP, Activeloop cloud, local storage, or in-memory storage. Compatible with any S3-compatible storage such as MinIO.
  </details>
  <details>
    <summary><b>Native Compression with Lazy NumPy-like Indexing</b></summary>
  Store images, audio, and videos in their native compression. Slice, index, iterate, and interact with your data like a collection of NumPy arrays in your system's memory. Deep Lake lazily loads data only when needed, e.g., when training a model or running queries.
  </details>
  <details>
    <summary><b>Dataloaders for Popular Deep Learning Frameworks</b></summary>
  Deep Lake comes with built-in dataloaders for Pytorch and TensorFlow. Train your model with a few lines of code - we even take care of dataset shuffling. :)
  </details>
  <details>
    <summary><b>Integrations with Powerful Tools</b></summary>
  Deep Lake has integrations with <a href="https://github.com/hwchase17/langchain">Langchain</a> and <a href="https://github.com/jerryjliu/llama_index">LLamaIndex</a> as a vector store for LLM apps, <a href="https://wandb.ai/">Weights & Biases</a> for data lineage during model training, <a href="https://github.com/open-mmlab/mmdetection">MMDetection</a> for training object detection models, and <a href="https://github.com/open-mmlab/mmsegmentation">MMSegmentation</a> for training semantic segmentation models.
  </details>
  <details>
    <summary><b>100+ most-popular image, video, and audio datasets available in seconds</b></summary>
  Deep Lake community has uploaded <a href="https://app.activeloop.ai/datasets/activeloop?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">100+ image, video and audio datasets</a> like <a href="https://app.activeloop.ai/activeloop/mnist-train?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">MNIST</a>, <a href="https://app.activeloop.ai/activeloop/coco-train?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">COCO</a>,  <a href="https://app.activeloop.ai/activeloop/imagenet-train?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">ImageNet</a>,  <a href="https://app.activeloop.ai/activeloop/cifar100-test?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">CIFAR</a>,  <a href="https://app.activeloop.ai/activeloop/gtzan-genre?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">GTZAN</a> and others.
  </details>
  </details>
  <details>
    <summary><b>Instant Visualization Support in the <a href="https://app.activeloop.ai/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">Deep Lake App</a></b></summary>
  Deep Lake datasets are instantly visualized with bounding boxes, masks, annotations, etc. in <a href="https://app.activeloop.ai/?utm_source=github&utm_medium=github&utm_campaign=github_readme&utm_id=readme">Deep Lake Visualizer</a> (see below).
  </details>

  [![Visualizer](https://www.linkpicture.com/q/ReadMe.gif "Visualizer")](https://www.youtube.com/watch?v=SxsofpSIw3k)


  Deep Lake can be installed using pip:
  ```sh
  pip install deeplake
  ```






  Using Deep Lake as a Vector Store for building LLM applications:








  Using Deep Lake for managing data while training Deep Learning models:





  Deep Lake offers integrations with other tools in order to streamline your deep learning workflows. Current integrations include:

  * **LLM Apps**
    * Use [Deep Lake as a vector store for LLM apps](https://www.activeloop.ai/resources/ultimate-guide-to-lang-chain-deep-lake-build-chat-gpt-to-answer-questions-on-your-financial-data/). Our integration combines the [Langchain](https://github.com/hwchase17/langchain) [VectorStores API](https://python.langchain.com/en/latest/reference/modules/vectorstore.html?highlight=pinecone#langchain.vectorstores.DeepLake) with Deep Lake datasets as the underlying data storage. The integration is a serverless vector store that can be deployed locally or in a cloud of your choice.



  Getting started guides, examples, tutorials, API reference, and other useful information can be found on our [documentation page](http://docs.deeplake.ai/?utm_source=github&utm_medium=repo&utm_campaign=readme).


  Deep Lake users can access and visualize a variety of popular datasets through a free integration with Deep Lake's App. Universities can get up to 1TB of data storage and 100,000 monthly queries on the Tensor Database for free per month. Chat in on [our website](https://activeloop.ai): to claim the access!



  <details>
    <summary><b>Deep Lake vs Chroma </b></summary>

  Both Deep Lake & ChromaDB enable users to store and search vectors (embeddings) and offer integrations with LangChain and LlamaIndex. However, they are architecturally very different. ChromaDB is a Vector Database that can be deployed locally or on a server using Docker and will offer a hosted solution shortly. Deep Lake is a serverless Vector Store deployed on the user’s own cloud, locally, or in-memory. All computations run client-side, which enables users to support lightweight production apps in seconds. Unlike ChromaDB, Deep Lake’s data format can store raw data such as images, videos, and text, in addition to embeddings. ChromaDB is limited to light metadata on top of the embeddings and has no visualization. Deep Lake datasets can be visualized and version controlled. Deep Lake also has a performant dataloader for fine-tuning your Large Language Models.

  </details>

  <details>
    <summary><b>Deep Lake vs Pinecone</b></summary>

  Both Deep Lake and Pinecone enable users to store and search vectors (embeddings) and offer integrations with LangChain and LlamaIndex. However, they are  architecturally very different. Pinecone is a fully-managed Vector Database that is optimized for highly demanding applications requiring a search for billions of vectors. Deep Lake is serverless. All computations run client-side, which enables users to get started in seconds. Unlike Pinecone, Deep Lake’s data format can store raw data such as images, videos, and text, in addition to embeddings. Deep Lake datasets can be visualized and version controlled. Pinecone is limited to light metadata on top of the embeddings and has no visualization. Deep Lake also has a performant dataloader for fine-tuning your Large Language Models.

  </details>

  <details>
    <summary><b>Deep Lake vs Weaviate</b></summary>

  Both Deep Lake and Weaviate enable users to store and search vectors (embeddings) and offer integrations with LangChain and LlamaIndex. However, they are  architecturally very different. Weaviate is a Vector Database that can be deployed in a managed service or by the user via Kubernetes or Docker. Deep Lake is serverless. All computations run client-side, which enables users to support lightweight production apps in seconds. Unlike Weaviate, Deep Lake’s data format can store raw data such as images, videos, and text, in addition to embeddings. Deep Lake datasets can be visualized and version controlled. Weaviate is limited to light metadata on top of the embeddings and has no visualization. Deep Lake also has a performant dataloader for fine-tuning your Large Language Models.

  </details>

  <details>
    <summary><b>Deep Lake vs DVC</b></summary>

  Deep Lake and DVC offer dataset version control similar to git for data, but their methods for storing data differ significantly. Deep Lake converts and stores data as chunked compressed arrays, which enables rapid streaming to ML models, whereas DVC operates on top of data stored in less efficient traditional file structures. The Deep Lake format makes dataset versioning significantly easier compared to traditional file structures by DVC when datasets are composed of many files (i.e., many images). An additional distinction is that DVC primarily uses a command-line interface, whereas Deep Lake is a Python package. Lastly, Deep Lake offers an API to easily connect datasets to ML frameworks and other common ML tools and enables instant dataset visualization through [Activeloop's visualization tool](http://app.activeloop.ai/?utm_source=github&utm_medium=repo&utm_campaign=readme).

  </details>

  <details>
    <summary><b>Deep Lake vs MosaicML MDS format </b></summary>

  * **Data Storage Format:** Deep Lake operates on a columnar storage format, whereas MDS utilizes a row-wise storage approach. This fundamentally impacts how data is read, written, and organized in each system.
  * **Compression:** Deep Lake offers a more flexible compression scheme, allowing control over both chunk-level and sample-level compression for each column or tensor. This feature eliminates the need for additional compressions like zstd, which would otherwise demand more CPU cycles for decompressing on top of formats like jpeg.
  * **Shuffling:** MDS currently offers more advanced shuffling strategies.
  * **Version Control & Visualization Support:** A notable feature of Deep Lake is its native version control and in-browser data visualization, a feature not present for MosaicML data format. This can provide significant advantages in managing, understanding, and tracking different versions of the data.

  </details>

  <details>
    <summary><b>Deep Lake vs TensorFlow Datasets (TFDS)</b></summary>

  Deep Lake and TFDS seamlessly connect popular datasets to ML frameworks. Deep Lake datasets are compatible with both PyTorch and TensorFlow, whereas TFDS are only compatible with TensorFlow. A key difference between Deep Lake and TFDS is that Deep Lake datasets are designed for streaming from the cloud, whereas TFDS must be downloaded locally prior to use. As a result, with Deep Lake, one can import datasets directly from TensorFlow Datasets and stream them either to PyTorch or TensorFlow. In addition to providing access to popular publicly available datasets, Deep Lake also offers powerful tools for creating custom datasets, storing them on a variety of cloud storage providers, and collaborating with others via simple API. TFDS is primarily focused on giving the public easy access to commonly available datasets, and management of custom datasets is not the primary focus. A full comparison article can be found [here](https://www.activeloop.ai/resources/tensor-flow-tf-data-activeloop-hub-how-to-implement-your-tensor-flow-data-pipelines-with-hub/).

  </details>

  <details>
    <summary><b>Deep Lake vs HuggingFace</b></summary>
  Deep Lake and HuggingFace offer access to popular datasets, but Deep Lake primarily focuses on computer vision, whereas HuggingFace focuses on natural language processing. HuggingFace Transforms and other computational tools for NLP are not analogous to features offered by Deep Lake.

  </details>

  <details>
    <summary><b>Deep Lake vs WebDatasets</b></summary>
  Deep Lake and WebDatasets both offer rapid data streaming across networks. They have nearly identical steaming speeds because the underlying network requests and data structures are very similar. However, Deep Lake offers superior random access and shuffling, its simple API is in python instead of command-line, and Deep Lake enables simple indexing and modification of the dataset without having to recreate it.

  </details>

  <details>
    <summary><b>Deep Lake vs Zarr</b></summary>
  Deep Lake and Zarr both offer storage of data as chunked arrays. However, Deep Lake is primarily designed for returning data as arrays using a simple API, rather than actually storing raw arrays (even though that's also possible). Deep Lake stores data in use-case-optimized formats, such as jpeg or png for images, or mp4 for video, and the user treats the data as if it's an array, because Deep Lake handles all the data processing in between. Deep Lake offers more flexibility for storing arrays with dynamic shape (ragged tensors), and it provides several features that are not naively available in Zarr such as version control, data streaming, and connecting data to ML Frameworks.

  </details>



  Join our [**Slack community**](https://slack.activeloop.ai) to learn more about unstructured dataset management using Deep Lake and to get help from the Activeloop team and other users.

  We'd love your feedback by completing our 3-minute [**survey**](https://forms.gle/rLi4w33dow6CSMcm9).

  As always, thanks to our amazing contributors!

  <a href="https://github.com/activeloopai/deeplake/graphs/contributors">
    <img src="https://contrib.rocks/image?repo=activeloopai/hub" />
  </a>

  Made with [contributors-img](https://contrib.rocks).

  Please read [CONTRIBUTING.md](CONTRIBUTING.md) to get started with making contributions to Deep Lake.



  Using Deep Lake? Add a README badge to let everyone know:

  [![deeplake](https://img.shields.io/badge/powered%20by-Deep%20Lake%20-ff5a1f.svg)](https://github.com/activeloopai/deeplake)

  ```markdown
  [![deeplake](https://img.shields.io/badge/powered%20by-Deep%20Lake%20-ff5a1f.svg)](https://github.com/activeloopai/deeplake)
  ```



  <details>
    <summary><b> Dataset Licenses</b></summary>

  Deep Lake users may have access to a variety of publicly available datasets. We do not host or distribute these datasets, vouch for their quality or fairness, or claim that you have a license to use the datasets. It is your responsibility to determine whether you have permission to use the datasets under their license.

  If you're a dataset owner and do not want your dataset to be included in this library, please get in touch through a [GitHub issue](https://github.com/activeloopai/deeplake/issues/new). Thank you for your contribution to the ML community!

  </details>

  <details>
    <summary><b> Usage Tracking</b></summary>

  By default, we collect usage data using Bugout (here's the [code](https://github.com/activeloopai/deeplake/blob/853456a314b4fb5623c936c825601097b0685119/deeplake/__init__.py#L24) that does it). It does not collect user data other than anonymized IP address data, and it only logs the Deep Lake library's own actions. This helps our team understand how the tool is used and how to build features that matter to you! After you register with Activeloop, data is no longer anonymous. You can always opt-out of reporting by setting an environmental variable ```BUGGER_OFF``` to ```True```:

  </details>



  If you use Deep Lake in your research, please cite Activeloop using:

  ```markdown
  @article{deeplake,
    title = {Deep Lake: a Lakehouse for Deep Learning},
    author = {Hambardzumyan, Sasun and Tuli, Abhinav and Ghukasyan, Levon and Rahman, Fariz and Topchyan, Hrant and Isayan, David and Harutyunyan, Mikayel and Hakobyan, Tatevik and Stranic, Ivo and Buniatyan, Davit},
    url = {https://www.cidrdb.org/cidr2023/papers/p69-buniatyan.pdf},
    booktitle={Proceedings of CIDR},
    year = {2023},
  }
  ```




  This technology was inspired by our research work at Princeton University. We would like to thank William Silversmith @SeungLab for his awesome [cloud-volume](https://github.com/seung-lab/cloud-volume) tool.


pkgId: 8ae5ed60a568a4d4ab8c30c2729d4e80d7f3e36737b8bebc1565adfdf6932f0b
name: python-deeplib-help
arch: noarch
version: 1.0.0
epoch: 0
release: 1
summary: Development documents and examples for deeplib
url: https://github.com/jonleinena/deeplib
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deeplib-1.0.0-1.src.rpm
location_href: Packages/python-deeplib-help-1.0.0-1.noarch.rpm
checksum_type: sha256
description:
  A unified PyTorch library for computer vision tasks, focusing on object detection, semantic segmentation, and anomaly detection.



  - **Semantic Segmentation Models** (✅ Implemented)
    - UNet
    - DeepLabV3
    - DeepLabV3+

  - **Object Detection Models** (🚧 In Progress)
    - YOLOv4
    - YOLOv5
    - YOLOX
    - YOLOv7 and YOLOv9
    - Faster R-CNN

  - **Anomaly Detection Models** (🚧 In Progress)
    - PatchCore
    - FastFlow
    - PADIM
    - Other anomalib implementations



  ```bash
  pip install -e .
  ```



  ```python
  from deeplib.models.segmentation import UNet, DeepLabV3, DeepLabV3Plus
  from deeplib.trainers import SegmentationTrainer
  from deeplib.datasets import SegmentationDataset
  from torch.utils.data import DataLoader
  import torch


  model = UNet(num_classes=4)  # Simple and effective




  train_dataset = SegmentationDataset(
      root="path/to/data",
      images_dir="images",
      masks_dir="masks",
      num_classes=4,
      split="train"
  )
  val_dataset = SegmentationDataset(
      root="path/to/data",
      images_dir="images",
      masks_dir="masks",
      num_classes=4,
      split="val"
  )


  train_loader = DataLoader(train_dataset, batch_size=8, shuffle=True)
  val_loader = DataLoader(val_dataset, batch_size=8)




  model.configure_loss('ce', {'ignore_index': 255})


  class_weights = torch.tensor([1.0, 2.0, 0.5, 1.5])  # Higher weight = more importance
  model.configure_loss('wce', {
      'weights': class_weights,
      'ignore_index': 255
  })


  model.configure_loss('dice', {
      'smooth': 1.0,
      'ignore_index': 255
  })


  model.configure_loss('jaccard', {
      'smooth': 1.0,
      'ignore_index': 255
  })


  model.configure_loss('focal', {
      'alpha': 0.25,
      'gamma': 2.0,
      'ignore_index': 255
  })


  model.configure_loss('bce', {'ignore_index': 255})


  model.configure_loss('gce', {
      'q': 0.7,
      'ignore_index': 255
  })


  model.configure_loss('combo', {
      'weights': {
          'ce': 1.0,    # Cross Entropy
          'dice': 1.0,  # Dice Loss
          'focal': 0.5  # Focal Loss
      },
      'ignore_index': 255
  })


  trainer = SegmentationTrainer(
      model=model,
      train_loader=train_loader,
      val_loader=val_loader,
      monitor_metric='iou'  # Monitor IoU for LR scheduling
  )


  history = trainer.train(
      num_epochs=100,
      save_path='best_model.pth',
      early_stopping=20
  )
  ```



  Train a segmentation model with different loss functions:
  ```bash

  python examples/train_segmentation.py \
      --data_root ./data \
      --num_classes 4 \
      --loss_type ce \
      --loss_params '{"ignore_index": 255}' \
      --monitor_metric iou


  python examples/train_segmentation.py \
      --data_root ./data \
      --num_classes 4 \
      --loss_type dice \
      --loss_params '{"smooth": 1.0, "ignore_index": 255}' \
      --monitor_metric iou


  python examples/train_segmentation.py \
      --data_root ./data \
      --num_classes 4 \
      --loss_type combo \
      --loss_params '{"weights": {"ce": 1.0, "dice": 1.0}, "ignore_index": 255}' \
      --monitor_metric iou
  ```



  ```
  deeplib/
  ├── models/
  │   ├── segmentation/  # ✅ Semantic segmentation models
  │   ├── detection/     # 🚧 Object detection models (TODO)
  │   └── anomaly/       # 🚧 Anomaly detection models (TODO)
  ├── trainers/          # Training logic
  ├── datasets/          # Dataset implementations
  └── utils/            # Utility functions
  ```




  - [ ] Implement object detection models
    - [ ] YOLOv4
    - [ ] YOLOv5
    - [ ] Faster R-CNN
  - [ ] Add anomaly detection support
    - [ ] PatchCore
    - [ ] FastFlow
    - [ ] PADIM
  - [ ] Add data augmentation pipeline
  - [ ] Add model export (ONNX, TorchScript)


  - [ ] Add more segmentation models
    - [ ] FPN
    - [ ] SegFormer
    - [ ] BEiT
  - [ ] Add test suite
  - [ ] Add model benchmarks
  - [ ] Add visualization tools


  - [ ] Add multi-GPU training support
  - [ ] Add quantization support
  - [ ] Add model pruning
  - [ ] Add hyperparameter tuning



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



  This library is inspired upon the following projects:
  - torchvision
  - anomalib
  - segmentation-models-pytorch
  - YOLOMIT






  This package is compatible with CUDA 11.8 or newer versions. To install the required PyTorch dependencies, use:

  ```bash
  pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
  ```

  For newer CUDA versions, adjust the URL accordingly (e.g., cu121 for CUDA 12.1).


pkgId: dff49794bb2b9fadbdac8050caf49eb59da20eecb0b4d2d92043135e1c311460
name: python-deepmol-help
arch: noarch
version: 1.1.8
epoch: 0
release: 1
summary: Development documents and examples for deepmol
url: https://pypi.org/project/deepmol/
rpm_license: BSD 2-Clause License
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deepmol-1.1.8-1.src.rpm
location_href: Packages/python-deepmol-help-1.1.8-1.noarch.rpm
checksum_type: sha256
description:
  DeepMol is a Python-based machine and deep learning framework for drug discovery.
  It offers a variety of functionalities that enable a smoother approach to many
  drug discovery and chemoinformatics problems. It uses Tensorflow, Keras,
  Scikit-learn and DeepChem to build custom ML and DL models or
  make use of pre-built ones. It uses the RDKit framework to perform
  operations on molecular data.

  More detailed and comprehensive documentation in [DeepMol readthedocs](https://deepmol.readthedocs.io/en/latest/).



  - [Binary and multiclass classification](https://colab.research.google.com/drive/1wtiwuuhfWKVo40ywgweWUMavKL0zdwJK?usp=sharing)
  - [Regression](https://colab.research.google.com/drive/1vE-Q01orImdD4qFTo20MAT4E4kP2hsYF?usp=sharing)
  - [Multi-task/multi-label](https://colab.research.google.com/drive/18z2vN6zLNSVJ3qgskKZTYxA_t9UNS1b8?usp=sharing)





  Install DeepMol via pip:

  If you intend to install all the deepmol modules' dependencies:

  ```bash
  pip install deepmol[all]
  ```

  or in MacOS:

  ```bash
  pip install "deepmol[all]"
  ```


  Extra modules:

  ```bash
  pip install deepmol[preprocessing]
  pip install deepmol[machine-learning]
  pip install deepmol[deep-learning]
  ```

  or in MacOS:

  ```bash
  pip install "deepmol[preprocessing]"
  pip install "deepmol[machine-learning]"
  pip install "deepmol[deep-learning]"
  ```

  Also, you should install mol2vec and its dependencies:

  ```bash
  pip install git+https://github.com/samoturk/mol2vec#egg=mol2vec
  ```




  Alternatively, clone the repository and install the dependencies manually:

  1. Clone the repository:
  ```bash
  git clone https://github.com/BioSystemsUM/DeepMol.git
  ```

  3. Install dependencies:
  ```bash
  python setup.py install
  ```



  You can also use the provided image to build your own Docker image:

  ```bash
  docker pull biosystemsum/deepmol
  ```



  If you’d like to use the GPU, make sure to install the versions of TensorFlow and DGL that match the CUDA drivers for your hardware.

  Do not install JAX, it will result dependency conflicts.

  Loading tensorflow models will be problematic for MacOS users due to a known tensorflow issue [46](https://github.com/keras-team/tf-keras/issues/46).



  DeepMol is built in a modular way allowing the use of its methods for
  multiple tasks. It offers a complete workflow to perform ML and DL tasks
  using molecules represented as SMILES. It has modules that perform
  standard tasks such as the loading and standardization of the data, computing
  molecular features like molecular fingerprints, performing feature selection
  and data splitting. It also provides  methods to deal with unbalanced datasets,
  do unsupervised exploration of the data and compute feature importance as
  shap values.




  To load data from a CSV it's only required to provide the math and molecules
  field name. Optionally, it is also possible to provide a field with some ids,
  the labels fields, features fields, features to keep (useful for instance
  to select only the features kept after feature selection) and the number of
  samples to load (by default loads the entire dataset).

  ```python
  from deepmol.loaders.loaders import CSVLoader


  loader = CSVLoader(dataset_path='../../data/train_dataset.csv',
                     smiles_field='mols',
                     id_field='ids',
                     labels_fields=['y'],
                     features_fields=['feat_1', 'feat_2', 'feat_3', 'feat_4'],
                     shard_size=1000,
                     mode='auto')

  dataset = loader.create_dataset()


  dataset.get_shape()

  ((1000,), None, (1000,))
  ```



  If you want to load a dataset from an SDF file with 3D structures, it is only required to provide
  the path to the file. Optionally, it is also possible to provide a field with some ids,
  the labels fields.

  ```python
  from deepmol.loaders import SDFLoader


  loader = SDFLoader(dataset_path='../../data/train_dataset.sdf',
                     id_field='ids',
                     labels_fields=['y'],
                     shard_size=1000,
                     mode='auto')
  dataset = loader.create_dataset()
  dataset.get_shape()

  ((1000,), None, (1000,))
  ```



  It is possible to standardize the loaded molecules using three options. Using
  a basic standardizer that only does sanitization (Kekulize, check valencies,
  set aromaticity, conjugation and hybridization). A more complex standardizer can
  be customized by choosing or not to perform specific tasks such as sanitization,
  removing isotope information, neutralizing charges, removing stereochemistry and removing
  smaller fragments. Another possibility is to use the ChEMBL Standardizer.

  ```python
  from deepmol.standardizer import BasicStandardizer, CustomStandardizer, ChEMBLStandardizer


  standardizer = BasicStandardizer().standardize(dataset)


  heavy_standardisation = {
      'REMOVE_ISOTOPE': True,
      'NEUTRALISE_CHARGE': True,
      'REMOVE_STEREO': True,
      'KEEP_BIGGEST': True,
      'ADD_HYDROGEN': True,
      'KEKULIZE': False,
      'NEUTRALISE_CHARGE_LATE': True}
  standardizer2 = CustomStandardizer(heavy_standardisation).standardize(dataset)


  standardizer3 = ChEMBLStandardizer().standardize(dataset)
  ```


  It is possible to compute multiple types of molecular fingerprints like Morgan
  Fingerprints, MACCS Keys, Layered Fingerprints, RDK Fingerprints and AtomPair
  Fingerprints. Featurizers from DeepChem and molecular embeddings like the
  Mol2Vec can also be computed. More complex molecular embeddings like the
  Seq2Seq and transformer-based are in  development and will be added soon.

  ```python
  from deepmol.compound_featurization import MorganFingerprint


  MorganFingerprint(radius=2, size=1024).featurize(dataset, inplace=True)

  dataset.X
  ```


  ```python

  dataset.get_shape()

  ((1000,), (1000, 1024), (1000,))
  ```




  Regarding feature selection it is possible to do Low Variance Feature Selection,
  KBest, Percentile, Recursive Feature Elimination and selecting features based on
  importance weights.

  ```python
  from deepmol.feature_selection import LowVarianceFS


  LowVarianceFS(0.15).select_features(dataset, inplace=True)


  dataset.get_shape()

  ((1000,), (1000, 35), (1000,))
  ```



  It is possible to do unsupervised exploration of the datasets using PCA, tSNE,
  KMeans and UMAP.

  ```python
  from deepmol.unsupervised import UMAP

  ump = UMAP()
  umap_df = ump.run(dataset)
  ump.plot(umap_df.X, path='umap_output.png')
  ```



  Data can be split randomly or using stratified splitters. K-fold split, train-test
  split and train-validation-test split can be used.

  ```python
  from deepmol.splitters.splitters import SingletaskStratifiedSplitter


  splitter = SingletaskStratifiedSplitter()
  train_dataset, valid_dataset, test_dataset = splitter.train_valid_test_split(dataset=dataset, frac_train=0.7,
                                                                               frac_valid=0.15, frac_test=0.15)
  train_dataset.get_shape()

  ((1628,), (1628, 1024), (1628,))

  valid_dataset.get_shape()

  ((348,), (348, 1024), (348,))

  test_dataset.get_shape()

  ((350,), (350, 1024), (350,))
  ```



  It is possible to use pre-built models from Scikit-Learn and DeepChem or build new
  ones using keras layers. Wrappers for Scikit-Learn, Keras and DeepChem were
  implemented allowing evaluation of the models under a common workspace.



  Models can be imported from scikit-learn and wrapped using the SKlearnModel
  module.

  ```python
  from sklearn.ensemble import RandomForestClassifier
  from deepmol.models.sklearn_models import SklearnModel


  rf = RandomForestClassifier()

  model = SklearnModel(model=rf)

  model.fit(train_dataset)

  from deepmol.metrics.metrics import Metric
  from deepmol.metrics.metrics_functions import roc_auc_score


  best_model, train_score_best_model, test_score_best_model, \
              train_scores, test_scores, average_train_score, average_test_score = model.cross_validate(dataset, Metric(roc_auc_score), folds=3)
  ```

  ```python
  from sklearn.metrics import precision_score, accuracy_score, confusion_matrix, classification_report


  metrics = [Metric(roc_auc_score), Metric(precision_score), Metric(accuracy_score), Metric(confusion_matrix),
             Metric(classification_report)]


  print('Training Dataset: ')
  train_score = model.evaluate(train_dataset, metrics)


  print('Validation Dataset: ')
  valid_score = model.evaluate(valid_dataset, metrics)


  print('Test Dataset: ')
  test_score = model.evaluate(test_dataset, metrics)
  model.save('my_model')
  ```

  Loading and saving models was never so easy!

  ```python
  model = SklearnModel.load('my_model')
  model.evaluate(test_dataset, metrics)
  ```



  Example of how to build and wrap a keras model using the KerasModel module.

  ```python
  from tensorflow.keras.models import Sequential
  from tensorflow.keras.layers import Dense, Dropout
  from deepmol.metrics.metrics import Metric

  input_dim = train_dataset.X.shape[1]


  def create_model(optimizer='adam', dropout=0.5, input_dim=input_dim):
    
    model = Sequential()
    model.add(Dense(12, input_dim=input_dim, activation='relu'))
    model.add(Dropout(dropout))
    model.add(Dense(8, activation='relu'))
    model.add(Dense(1, activation='sigmoid'))
    
    model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])
    return model


  from deepmol.models.keras_models import KerasModel

  model = KerasModel(create_model, epochs=5, verbose=1, optimizer='adam')


  model.fit(train_dataset)


  model.predict(test_dataset)


  metrics = [Metric(roc_auc_score),
             Metric(precision_score),
             Metric(accuracy_score),
             Metric(confusion_matrix),
             Metric(classification_report)]

  print('Training set score:', model.evaluate(train_dataset, metrics))
  print('Test set score:', model.evaluate(test_dataset, metrics))

  model.save('my_model')
  ```

  Loading and saving models was never so easy!

  ```python
  model = KerasModel.load('my_model')
  model.evaluate(test_dataset, metrics)
  ```



  Using DeepChem models:

  ```python
  from deepmol.compound_featurization import WeaveFeat
  from deepchem.models import MPNNModel
  from deepmol.models.deepchem_models import DeepChemModel
  from deepmol.metrics.metrics import Metric
  from deepmol.splitters.splitters import SingletaskStratifiedSplitter

  ds = WeaveFeat().featurize(dataset)
  splitter = SingletaskStratifiedSplitter()
  train_dataset, valid_dataset, test_dataset = splitter.train_valid_test_split(dataset=ds, frac_train=0.6, frac_valid=0.2,
                                                                               frac_test=0.2)
  mpnn = MPNNModel
  model_mpnn = DeepChemModel(mpnn, n_tasks=1, n_pair_feat=14, n_atom_feat=75, n_hidden=75, T=1, M=1, mode='classification')

  model_mpnn.fit(train_dataset)
  valid_preds = model_mpnn.predict(valid_dataset)
  test_preds = model_mpnn.predict(test_dataset)

  metrics = [Metric(roc_auc_score), Metric(precision_score), Metric(accuracy_score)]
  print('Training Dataset: ')
  train_score = model_mpnn.evaluate(train_dataset, metrics)
  print('Valid Dataset: ')
  valid_score = model_mpnn.evaluate(valid_dataset, metrics)
  print('Test Dataset: ')
  test_score = model_mpnn.evaluate(test_dataset, metrics)
  model_mpnn.save("my_model")
  ```
  Loading and saving models was never so easy!

  ```python
  model = DeepChemModel.load('my_model')
  model.evaluate(test_dataset, metrics)
  ```




  Grid and randomized hyperparameter optimization is provided using cross-validation
  or a held-out validation set.

  ```python
  from deepmol.parameter_optimization.hyperparameter_optimization import HyperparameterOptimizerValidation

  from tensorflow.keras.optimizers import Adam
  from tensorflow.keras.layers import Dropout
  from tensorflow import keras
  from tensorflow.keras import layers

  def create_model(input_dim, optimizer='adam', dropout=0.5):
      
      inputs = layers.Input(shape=input_dim)

      
      shared_layer_1 = layers.Dense(64, activation="relu")
      dropout_1 = Dropout(dropout)
      shared_layer_2 = layers.Dense(32, activation="relu")

      
      x = shared_layer_1(inputs)
      x = dropout_1(x)
      x = shared_layer_2(x)

      task_output = layers.Dense(1, activation="sigmoid")(x)

      
      model = keras.Model(inputs=inputs, outputs=task_output)
      
      model.compile(
          optimizer=optimizer, loss="binary_crossentropy", metrics=["accuracy"]
      )
      return model

  optimizer = HyperparameterOptimizerValidation(create_model,
                                                metric=Metric(accuracy_score),
                                                maximize_metric=True,
                                                n_iter_search=2,
                                                params_dict=params_dict_dense,
                                                model_type="keras")
  params_dict_dense = {
                     "input_dim": [train_dataset.X.shape[1]],
                     "dropout": [0.5, 0.6, 0.7],
                     "optimizer": [Adam]
                     }

  best_dnn, best_hyperparams, all_results = optimizer.fit(train_dataset=train_dataset,
                                                          valid_dataset=valid_dataset)


  best_model.evaluate(test_dataset, metrics)
  ```



  Explain the output of a machine learning model can be done using SHAP (SHapley
  Additive exPlanations) package.
  The features that most influenced (positively or
  negatively) a certain prediction can be calculated and visualized in different
  ways:

  ```python
  from deepmol.feature_importance import ShapValues


  shap_calc = ShapValues()
  shap_calc.fit(train_dataset, model)
  shap_calc.beeswarm_plot()
  ```

  ```python
  shap_calc.sample_explanation_plot(index=1, plot_type='waterfall')
  ```

  ```python
  shap_calc.feature_explanation_plot(1)
  ```



  It is possible to plot the ON bits (or some of them) in a molecule for MACCS Keys,
  Morgan and RDK Fingeprints. It is also possible to draw those bits on the
  respective molecule. This can be allied with the Shap Values calculation to
  highlight the zone of the molecule that most contributed to a certain prediction,
  for instance, the substructure in the molecule that most contributed to its
  classification as an active or inactive molecule against a receptor.

  ```python
  from deepmol.compound_featurization import MACCSkeysFingerprint

  patt_number = 54
  mol_number = 1

  prediction = model.predict(test_dataset)[mol_number]
  actual_value = test_dataset.y[mol_number]
  print('Prediction: ', prediction)
  print('Actual Value: ', actual_value)
  smi = test_dataset.mols[mol_number]

  maccs_keys = MACCSkeysFingerprint()

  maccs_keys.draw_bit(smi, patt_number)
  ```




  Multiple methods to deal with unbalanced datasets can be used to do oversampling,
  under-sampling or a mixture of both (Random, SMOTE, SMOTEENN, SMOTETomek and
  ClusterCentroids).

  ```python
  from deepmol.imbalanced_learn.imbalanced_learn import SMOTEENN

  train_dataset = SMOTEENN().sample(train_dataset)
  ```




  DeepMol provides a pipeline to perform almost all the steps above in a sequence without
  having to worry about the details of each step. The pipeline can be used to perform
  a prediction pipeline (the last step is a data predictor) or a data transformation pipeline
  (all steps are data transformers). Transformers must implement the _fit and _transform
  methods and predictors must implement the _fit and _predict methods.

  ```python
  from deepmol.loaders import CSVLoader
  from tensorflow.keras import Sequential
  from tensorflow.keras.layers import Dense
  from deepmol.models import KerasModel
  from deepmol.standardizer import BasicStandardizer
  from deepmol.compound_featurization import MorganFingerprint
  from deepmol.scalers import StandardScaler
  from deepmol.feature_selection import KbestFS
  from deepmol.pipeline import Pipeline
  from deepmol.metrics import Metric
  from sklearn.metrics import accuracy_score

  loader_train = CSVLoader('data_train_path.csv',
                           smiles_field='Smiles',
                           labels_fields=['Class'])
  train_dataset = loader_train.create_dataset(sep=";")

  loader_test = CSVLoader('data_test_path.csv',
                          smiles_field='Smiles',
                          labels_fields=['Class'])
  test_dataset = loader_train.create_dataset(sep=";")

  def basic_classification_model_builder(input_shape):
    model = Sequential()
    model.add(Dense(10, input_shape=input_shape, activation='relu'))
    model.add(Dense(1, activation='sigmoid'))
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model

  keras_model = KerasModel(model_builder=basic_classification_model_builder, epochs=2, input_shape=(1024,))

  steps = [('standardizer', BasicStandardizer()),
           ('featurizer', MorganFingerprint(size=1024)),
           ('scaler', StandardScaler()),
           ('feature_selector', KbestFS(k=10)),
           ('model', keras_model)]

  pipeline = Pipeline(steps=steps, path='test_pipeline/')

  pipeline.fit_transform(train_dataset)

  predictions = pipeline.predict(test_dataset)
  pipeline.evaluate(test_dataset, [Metric(accuracy_score)])


  pipeline.save()


  pipeline = Pipeline.load('test_pipeline/')
  ```


  ```python
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.metrics import accuracy_score
  from sklearn.svm import SVC

  from deepmol.loaders import CSVLoader
  from deepmol.metrics import Metric
  from deepmol.models import SklearnModel
  from deepmol.pipeline_optimization import PipelineOptimization
  from deepmol.splitters import RandomSplitter


  def objective(trial):
      model = trial.suggest_categorical('model', ['RandomForestClassifier', 'SVC'])
      if model == 'RandomForestClassifier':
          n_estimators = trial.suggest_int('model__n_estimators', 10, 100, step=10)
          model = RandomForestClassifier(n_estimators=n_estimators)
      elif model == 'SVC':
          kernel = trial.suggest_categorical('model__kernel', ['linear', 'poly', 'rbf', 'sigmoid'])
          model = SVC(kernel=kernel)
      model = SklearnModel(model=model, model_dir='model')
      steps = [('model', model)]
      return steps


  loader = CSVLoader('data_path...',
                     smiles_field='mols',
                     id_field='ids',
                     labels_fields=['y'],
                     features_fields=['f1', 'f2', 'f3', '...'],
                     mode='classification')
  dataset_descriptors = loader.create_dataset(sep=",")


  po = PipelineOptimization(direction='maximize', study_name='test_predictor_pipeline')
  metric = Metric(accuracy_score)
  train, test = RandomSplitter().train_test_split(dataset_descriptors, seed=123)
  po.optimize(train_dataset=train, test_dataset=test, objective_steps=objective,
              metric=metric, n_trials=5, save_top_n=3)
  ```



  DeepMol is managed by a team of contributors from the BioSystems group
  at the Centre of Biological Engineering, University of Minho.

  This research was financed by Portuguese Funds through FCT – Fundação para
  a Ciência e a Tecnologia.



  João Correia - PhD student at the University of Minho (UMinho) and
  researcher at the Centre of Biological Engineering (CEB), Braga, Portugal. João Correia is a PhD student in
  Bioinformatics currently working with machine learning methods applied to the discovery of new chemical compounds
  and reactions. [GitHub](https://github.com/jcorreia11), [LinkedIn](https://www.linkedin.com/in/joaocorreia95/),
  [Research Gate](https://www.researchgate.net/profile/Joao-Correia-70)

  João Capela - PhD student at the University of Minho (UMinho) and
  researcher at the Centre of Biological Engineering (CEB), Braga, Portugal. João Capela is a
  PhD student in Bioinformatics currently working with machine learning methods to expose plant secondary metabolism.
  [GitHub](https://github.com/jcapels), [LinkedIn](https://www.linkedin.com/in/joaocapels/),
  [ResearchGate](https://www.researchgate.net/profile/Joao-Capela-4)

  Miguel Rocha - Associate Professor in Artificial Intelligence and Bioinformatics,
  being the founder of the MSc in Bioinformatics (2007) and its current Director.
  He is currently the CSO of OmniumAI. He has 20 years of experience in applying AI and data science
  technologies to biological and biomedical data, both in academic (with numerous publications)
  and in industry scenarios.
  [GitHub](https://github.com/miguelfrocha), [LinkedIn](https://www.linkedin.com/in/miguelprocha/),
  [ResearchGate](https://www.researchgate.net/profile/Miguel-Rocha-16)



  Manuscript under preparation.



  Baptista D., Correia J., Pereira B., Rocha M. (2022) "A Comparison of Different Compound Representations for Drug Sensitivity Prediction". In: Rocha M., Fdez-Riverola F., Mohamad M.S., Casado-Vara R. (eds) Practical Applications of Computational Biology & Bioinformatics, 15th International Conference (PACBB 2021). PACBB 2021. Lecture Notes in Networks and Systems, vol 325. Springer, Cham. https://doi.org/10.1007/978-3-030-86258-9_15

  Baptista, Delora, Correia, João, Pereira, Bruno and Rocha, Miguel. "Evaluating molecular representations in machine learning models for drug response prediction and interpretability" Journal of Integrative Bioinformatics, vol. 19, no. 3, 2022, pp. 20220006. https://doi.org/10.1515/jib-2022-0006

  J. Capela, J. Correia, V. Pereira and M. Rocha, "Development of Deep Learning approaches to predict relationships between chemical structures and sweetness," 2022 International Joint Conference on Neural Networks (IJCNN), 2022, pp. 1-8, doi: 10.1109/IJCNN55064.2022.9891992. https://ieeexplore.ieee.org/abstract/document/9891992




  DeepMol is under [BSD-2-Clause License](https://raw.githubusercontent.com/BioSystemsUM/DeepMol/master/LICENSE).


pkgId: 363219754b4fd67722231702e30bd568e509cce4f945d8e72b5ab03faf279d93
name: python-deeporigin-data-sdk-help
arch: noarch
version: 0.1.0a36
epoch: 0
release: 1
summary: Development documents and examples for deeporigin-data-sdk
url: https://github.com/deeporiginbio/deeporigin-data-sdk
rpm_license: None
rpm_group: Unspecified
rpm_buildhost: localhost
rpm_sourcerpm: python-deeporigin-data-sdk-0.1.0a36-1.src.rpm
location_href: Packages/python-deeporigin-data-sdk-help-0.1.0a36-1.noarch.rpm
checksum_type: sha256
description:
  [![PyPI version](https://img.shields.io/pypi/v/deeporigin_data_sdk.svg)](https://pypi.org/project/deeporigin_data_sdk/)

  The Deeporigin Data Python library provides convenient access to the Deeporigin Data REST API from any Python 3.8+
  application. The library includes type definitions for all request params and response fields,
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).

  It is generated with [Stainless](https://www.stainlessapi.com/).



  The REST API documentation can be found on [docs.deeporigin.io](https://docs.deeporigin.io). The full API of this library can be found in [api.md](https://github.com/deeporiginbio/deeporigin-data-sdk/tree/main/api.md).



  ```sh

  pip install --pre deeporigin_data_sdk
  ```



  The full API of this library can be found in [api.md](https://github.com/deeporiginbio/deeporigin-data-sdk/tree/main/api.md).

  ```python
  import os
  from deeporigin_data import DeeporiginData

  client = DeeporiginData(
      token=os.environ.get("ORG_BEARER_TOKEN"),  # This is the default and can be omitted
      org_id="My Org ID",
  )

  describe_row_response = client.describe_row(
      row_id="rowId",
  )
  print(describe_row_response.data)
  ```

  While you can provide a `token` keyword argument,
  we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
  to add `ORG_BEARER_TOKEN="My Token"` to your `.env` file
  so that your Token is not stored in source control.



  Simply import `AsyncDeeporiginData` instead of `DeeporiginData` and use `await` with each API call:

  ```python
  import os
  import asyncio
  from deeporigin_data import AsyncDeeporiginData

  client = AsyncDeeporiginData(
      token=os.environ.get("ORG_BEARER_TOKEN"),  # This is the default and can be omitted
      org_id="My Org ID",
  )


  async def main() -> None:
      describe_row_response = await client.describe_row(
          row_id="rowId",
      )
      print(describe_row_response.data)


  asyncio.run(main())
  ```

  Functionality between the synchronous and asynchronous clients is otherwise identical.



  Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:

  - Serializing back into JSON, `model.to_json()`
  - Converting to a dictionary, `model.to_dict()`

  Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.



  When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `deeporigin_data.APIConnectionError` is raised.

  When the API returns a non-success status code (that is, 4xx or 5xx
  response), a subclass of `deeporigin_data.APIStatusError` is raised, containing `status_code` and `response` properties.

  All errors inherit from `deeporigin_data.APIError`.

  ```python
  import deeporigin_data
  from deeporigin_data import DeeporiginData

  client = DeeporiginData(
      org_id="My Org ID",
  )

  try:
      client.describe_row(
          row_id="rowId",
      )
  except deeporigin_data.APIConnectionError as e:
      print("The server could not be reached")
      print(e.__cause__)  # an underlying Exception, likely raised within httpx.
  except deeporigin_data.RateLimitError as e:
      print("A 429 status code was received; we should back off a bit.")
  except deeporigin_data.APIStatusError as e:
      print("Another non-200-range status code was received")
      print(e.status_code)
      print(e.response)
  ```

  Error codes are as followed:

  | Status Code | Error Type                 |
  | ----------- | -------------------------- |
  | 400         | `BadRequestError`          |
  | 401         | `AuthenticationError`      |
  | 403         | `PermissionDeniedError`    |
  | 404         | `NotFoundError`            |
  | 422         | `UnprocessableEntityError` |
  | 429         | `RateLimitError`           |
  | >=500       | `InternalServerError`      |
  | N/A         | `APIConnectionError`       |



  Certain errors are automatically retried 2 times by default, with a short exponential backoff.
  Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
  429 Rate Limit, and >=500 Internal errors are all retried by default.

  You can use the `max_retries` option to configure or disable retry settings:

  ```python
  from deeporigin_data import DeeporiginData


  client = DeeporiginData(
      
      max_retries=0,
      org_id="My Org ID",
  )


  client.with_options(max_retries=5).describe_row(
      row_id="rowId",
  )
  ```



  By default requests time out after 1 minute. You can configure this with a `timeout` option,
  which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/#fine-tuning-the-configuration) object:

  ```python
  from deeporigin_data import DeeporiginData


  client = DeeporiginData(
      
      timeout=20.0,
      org_id="My Org ID",
  )


  client = DeeporiginData(
      timeout=httpx.Timeout(60.0, read=5.0, write=10.0, connect=2.0),
      org_id="My Org ID",
  )


  client.with_options(timeout=5.0).describe_row(
      row_id="rowId",
  )
  ```

  On timeout, an `APITimeoutError` is thrown.

  Note that requests that time out are [retried twice by default](https://github.com/deeporiginbio/deeporigin-data-sdk/tree/main/#retries).





  We use the standard library [`logging`](https://docs.python.org/3/library/logging.html) module.

  You can enable logging by setting the environment variable `DEEPORIGIN_DATA_LOG` to `info`.

  ```shell
  $ export DEEPORIGIN_DATA_LOG=info
  ```

  Or to `debug` for more verbose logging.



  In an API response, a field may be explicitly `null`, or missing entirely; in either case, its value is `None` in this library. You can differentiate the two cases with `.model_fields_set`:

  ```py
  if response.my_field is None:
    if 'my_field' not in response.model_fields_set:
      print('Got json like {}, without a "my_field" key present at all.')
    else:
      print('Got json like {"my_field": null}.')
  ```



  The "raw" Response object can be accessed by prefixing `.with_raw_response.` to any HTTP method call, e.g.,

  ```py
  from deeporigin_data import DeeporiginData

  client = DeeporiginData(
      org_id="My Org ID",
  )
  response = client.with_raw_response.describe_row(
      row_id="rowId",
  )
  print(response.headers.get('X-My-Header'))

  client = response.parse()  # get the object that `describe_row()` would have returned
  print(client.data)
  ```

  These methods return an [`APIResponse`](https://github.com/deeporiginbio/deeporigin-data-sdk/tree/main/src/deeporigin_data/_response.py) object.

  The async client returns an [`AsyncAPIResponse`](https://github.com/deeporiginbio/deeporigin-data-sdk/tree/main/src/deeporigin_data/_response.py) with the same structure, the only difference being `await`able methods for reading the response content.



  The above interface eagerly reads the full response body when you make the request, which may not always be what you want.

  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.

  ```python
  with client.with_streaming_response.describe_row(
      row_id="rowId",
  ) as response:
      print(response.headers.get("X-My-Header"))

      for line in response.iter_lines():
          print(line)
  ```

  The context manager is required so that the response will reliably be closed.



  This library is typed for convenient access to the documented API.

  If you need to access undocumented endpoints, params, or response properties, the library can still be used.



  To make requests to undocumented endpoints, you can make requests using `client.get`, `client.post`, and other
  http verbs. Options on the client will be respected (such as retries) will be respected when making this
  request.

  ```py
  import httpx

  response = client.post(
      "/foo",
      cast_to=httpx.Response,
      body={"my_param": True},
  )

  print(response.headers.get("x-foo"))
  ```



  If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` request
  options.



  To access undocumented response properties, you can access the extra fields like `response.unknown_prop`. You
  can also get all the extra fields on the Pydantic model as a dict with
  [`response.model_extra`](https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel.model_extra).



  You can directly override the [httpx client](https://www.python-httpx.org/api/#client) to customize it for your use case, including:

  - Support for [proxies](https://www.python-httpx.org/advanced/proxies/)
  - Custom [transports](https://www.python-httpx.org/advanced/transports/)
  - Additional [advanced](https://www.python-httpx.org/advanced/clients/) functionality

  ```python
  import httpx
  from deeporigin_data import DeeporiginData, DefaultHttpxClient

  client = DeeporiginData(
      
      base_url="http://my.test.server.example.com:8083",
      http_client=DefaultHttpxClient(
          proxy="http://my.test.proxy.example.com",
          transport=httpx.HTTPTransport(local_address="0.0.0.0"),
      ),
      org_id="My Org ID",
  )
  ```

  You can also customize the client on a per-request basis by using `with_options()`:

  ```python
  client.with_options(http_client=DefaultHttpxClient(...))
  ```



  By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.



  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:

  1. Changes that only affect static types, without breaking runtime behavior.
  2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals)_.
  3. Changes that we do not expect to impact the vast majority of users in practice.

  We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.

  We are keen for your feedback; please open an [issue](https://www.github.com/deeporiginbio/deeporigin-data-sdk/issues) with questions, bugs, or suggestions.



  If you've upgraded to the latest version but aren't seeing any new features you were expecting then your python environment is likely still using an older version.

  You can determine the version that is being used at runtime with:

  ```py
  import deeporigin_data
  print(deeporigin_data.__version__)
  ```



  Python 3.8 or higher.



  See [the contributing documentation](https://github.com/deeporiginbio/deeporigin-data-sdk/tree/main/./CONTRIBUTING.md).


