semvec/pypi-packages huggingface dataset:
hospy-dashboard 0.1.0
Reusable analytics dashboard for HosPy omnichannel agent
Requires Python: >=3.8
Keywords: dashboard, analytics, fastapi, omnichannel, voice-agent

# HosPy Dashboard

Reusable analytics dashboard library for HosPy omnichannel agent applications.

## Installation

### From PyPI

```bash
pip install hospy-dashboard
```

### From Source (Development)

```bash
# Clone the repository
git clone <repository-url>
cd hospy-dashboard

# Build the dashboard first
python scripts/build_dashboard.py

# Install the package
pip install -e .
```

## Usage

### Basic Integration

```python
from fastapi import FastAPI
from hospy_dashboard import mount_dashboard

app = FastAPI(title="My App")

# Mount the dashboard at /dashboard
mount_dashboard(app, path="/dashboard")
```

### Conditional Mounting (On-Demand)

```python
import os
from fastapi import FastAPI
from hospy_dashboard import mount_dashboard

app = FastAPI()

# Only mount if enabled via environment variable
if os.getenv("ENABLE_DASHBOARD", "true").lower() == "true":
    try:
        mount_dashboard(app, path="/dashboard")
    except ImportError:
        logger.warning("Dashboard not available. Install: pip install hospy-dashboard")
```

### Custom Path

```python
from hospy_dashboard import mount_dashboard

# Mount at a custom path
mount_dashboard(app, path="/analytics")
```

## API Requirements

The dashboard expects your FastAPI application to provide the following endpoints:

### `GET /api/analytics`

Returns analytics metrics:

```json
{
  "containment_rate": 0.75,
  "escalation_rate": 0.25,
  "intent_mix": {
    "confirm": 5,
    "reschedule": 2,
    "cancel": 1,
    "other": 1
  },
  "average_handling_time_seconds": 42.5
}
```

### `GET /api/sessions`

Returns list of conversation sessions:

```json
{
  "sessions": [
    {
      "session_id": "abc123",
      "messages": [...],
      "handoff_requested": false
    }
  ]
}
```

### `GET /api/session/{session_id}`

Returns conversation details for a specific session.

### `GET /api/session/{session_id}/trace`

Returns conversation trace with prompts, tool calls, and decisions.

## Development

### Building the Dashboard

The dashboard is a React application built with Vite. To rebuild:

```bash
# Build React app and copy to package
python scripts/build_dashboard.py
```

### Project Structure

```
hospy_dashboard/
├── hospy_dashboard/
│   ├── __init__.py          # Package exports
│   ├── dashboard.py         # FastAPI integration
│   └── static/             # Built React app (generated)
├── pyproject.toml
├── MANIFEST.in
└── README.md
```

## License

MIT License
addon-odoo-wheel 0.4.3
Generic and simple build backend for a single Odoo addon
Requires Python: >=3.8

# Addon Odoo Wheel Builder

A standards-compliant Python build backend to package individual Odoo addons.
The main idea and the code is taken from [sbidoul/whool](https://github.com/sbidoul/whool).

## Quick Usage

```toml
[build-system]
requires = ["addon-odoo-wheel"]
build-backend = "addon_odoo_wheel.builder"
```

This config will produce a wheel and the module will be available in the `odoo/addons` namespace.

See complete doc at [addon-odoo-wheel](https://pypi.org/project/addon-odoo-wheel/) to config.

## Well Know Odoo contributors

In src/addon_odoo_wheel/well_know.py you can find the contributors.

To register your company, you only need to add `class` like `class MyCompanyContributor(Contributor):`

```python
class _YourComanyAddonContributor(WellKnowAddonContributor):
  names = ["Author Name"] # Place here all the `author` used in your company

  def get_mail(self, odoo_serie_info:OdooSeries|None) -> str|None:
    # Place here your mail
    return None

  def get_package_prefix(self, odoo_series:OdooSeries|None) -> str:
    # Place here your package prefix by default is `addon-odoo`
```

### TODO

- [ ] Add more option to the `WellKnowAddonContributor` class
- [ ] Use a plugin system `pluggy` to add contributors
- [ ] Improve the documentation
scitacean 26.2.0
High-level interface for SciCat
Requires Python: >=3.11
Keywords: scicat

[![PyPI badge](https://img.shields.io/pypi/v/scitacean.svg?style=flat-square&color=green)](https://pypi.python.org/pypi/scitacean)
[![Anaconda-Server Badge](https://img.shields.io/conda/vn/conda-forge/scitacean?style=flat-square&color=green)](https://anaconda.org/conda-forge/scitacean)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7520487.svg)](https://doi.org/10.5281/zenodo.7520487)
[![License: BSD 3-Clause](https://img.shields.io/github/license/SciCatProject/scitacean?style=flat-square&color=yellowgreen)](LICENSE)

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/SciCatProject/scitacean/blob/main/docs/_static/logo-dark.svg">
  <source media="(prefers-color-scheme: light)" srcset="https://github.com/SciCatProject/scitacean/blob/main/docs/_static/logo.svg">
  <img alt="Scitacean" src="https://github.com/SciCatProject/scitacean/blob/main/docs/_static/logo.svg" width="25%">
</picture>

Scitacean is a high level Python package for downloading and uploading datasets from and to [SciCat](https://scicatproject.github.io/).

See the [documentation](https://scicatproject.github.io/scitacean/) for installation and usage instructions.

If you need help, have a look at our GitHub [discussions](https://github.com/SciCatProject/scitacean/discussions).
For questions, please start a [Q&A discussion](https://github.com/SciCatProject/scitacean/discussions/categories/q-a) if you can't find an answer.
turbodbc 5.2.0
turbodbc is a Python DB API 2.0 compatible ODBC driver
Requires Python: >=3.11

![turbodbc logo](/page/logo.png?raw=true "turbodbc logo")

Turbodbc - Turbocharged database access for data scientists.
============================================================

[![Build Status](https://github.com/blue-yonder/turbodbc/workflows/CI/badge.svg?branch=master)](https://github.com/blue-yonder/turbodbc/actions)
[![Documentation Status](https://readthedocs.org/projects/turbodbc/badge/?version=latest)](http://turbodbc.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/gh/blue-yonder/turbodbc/branch/master/graph/badge.svg)](https://codecov.io/gh/blue-yonder/turbodbc)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/turbodbc/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/turbodbc/badges/downloads.svg)](https://anaconda.org/conda-forge/turbodbc)

Turbodbc is a Python module to access relational databases via the
[Open Database Connectivity (ODBC)](https://en.wikipedia.org/wiki/Open_Database_Connectivity)
interface. Its primary target audience are data scientists
that use databases for which no efficient native Python drivers are available.

For maximum compatibility, turbodbc complies with the
[Python Database API Specification 2.0 (PEP 249)](https://www.python.org/dev/peps/pep-0249/).
For maximum performance, turbodbc offers built-in [NumPy](http://www.numpy.org) and
[Apache Arrow](https://arrow.apache.org) support
and internally relies on batched data transfer instead of single-record communication as
other popular ODBC modules do.

Turbodbc is free to use ([MIT license](https://github.com/blue-yonder/turbodbc/blob/master/LICENSE)),
open source ([GitHub](https://github.com/blue-yonder/turbodbc)),
works with Python 3.9+, and is available for Linux, macOS, and Windows.

Turbodbc is routinely tested with [MySQL](https://www.mysql.com),
[PostgreSQL](https://www.postgresql.org), [EXASOL](http://www.exasol.com),
and [MSSQL](http://microsoft.com/sql), but probably also works with your database.


Nice! Where can I find documentation?
-------------------------------------

Follow this link to the [latest turbodbc documentation](http://turbodbc.readthedocs.io/en/latest/).
The documentation explains how to install and use turbodbc, and also provides
answers to many questions you might have.

Is turbodbc on Twitter?
-----------------------

Yes, it is! Just follow [@turbodbc](https://twitter.com/turbodbc)
for the latest turbodbc talk and news about related technologies.
python-visual-update-express 1.0.4
A dialog for updating specific files by syncing them from a server. Designed to work like InstallForge's "Visual Update Express".
Requires Python: >=3.10

# Python Visual Update Express

A dialog for updating an application by downloading files from a server. Designed to work like InstallForge's "Visual
Update Express".

This software may only be used as described in the LICENSE file. Please contact me through a github issue for questions
about commercial use.

Compatible with Python 3.10 and up

## Installation

```sh
python3 -m pip install python-visual-update-express
```

## Usage

### Add updater window in python

Import the UpdaterWindow and configure it

```python
from python_visual_update_express import UpdaterWindow

UPDATE_BASE_URL = 'https://yoursite.com/releases/yourapplication/'
CURRENT_VERSION = '1.0.1'
UPDATE_TARGET_DIR = 'C:/yourlocationpath'

# If you are using have a PyQt6 QApplication set up, please indicate this to the UpdaterWindow by 
# setting the create_q_application parameter to 'False'.
# Otherwise the UpdateWindow will create another QApplication, causing issues with PyQt.
# If you don't have a PyQt6 QApplication set up, please omit the create_q_application parameter 
# so the updater will set a QApplication up internally.
updater_window = UpdaterWindow(UPDATE_BASE_URL, CURRENT_VERSION, UPDATE_TARGET_DIR, False)

```

Then when you are ready, simply call `show` on the window to start the updater:

```python
updater_window.show()
```

### Update script

The updater works according to an updatescript.ini file on the server.
This file tells the updater what versions of the application are supported and how to perform updates.
Make sure to have this file available on the server URL used by the updater.

This is a very simple example of an updatescript.ini:

```javascript
releases{
    1.0.0
    1.0.1
}

release:1.0.0{

}

release:1.0.1{
    DownloadFile:some-file.txt
}
```

#### Script commands

Currently only 1 command is available:

##### DownloadFile

This command will download a file on the speficied path, starting from the given update base URL + 'Updates/'.
So if for example the base URL of `https://yoursite.com/releases/yourapplication/` has been configured, a `DownloadFile:
dir1/some-file.txt` will download the file from
`https://yoursite.com/releases/yourapplication/Updates/dir1/some-file.txt`