semvec/pypi-packages huggingface dataset:
streamlit-gif-viewer-demo 0.1.0
A Streamlit component for displaying GIFs with beautiful styling
Requires Python: >=3.8

# 🎬 Streamlit GIF Viewer Component

A custom Streamlit component for displaying GIFs with beautiful styling and smooth animations.

## Features

- ✨ Beautiful, modern UI with hover effects
- 🎨 Automatic theme integration with Streamlit
- 📐 Customizable width and height
- 💬 Optional captions
- 🔄 Loading states and error handling
- 🎯 Simple, intuitive API

## Installation

### Development Mode

1. **Install the Python package:**
   ```bash
   pip install -e .
   ```

2. **Install frontend dependencies:**
   ```bash
   cd gif_viewer/frontend
   npm install
   ```

3. **Start the frontend dev server:**
   ```bash
   npm start
   ```

4. **Run the Streamlit app (in another terminal):**
   ```bash
   streamlit run example.py
   ```

## Usage

```python
import streamlit as st
from gif_viewer import gif_viewer

# Basic usage
gif_viewer(
    gif_url="https://media.giphy.com/media/example/giphy.gif",
    caption="My awesome GIF!"
)

# With custom dimensions
gif_viewer(
    gif_url="https://media.giphy.com/media/example/giphy.gif",
    caption="Resized GIF",
    width=300,
    height=200
)
```

## API Reference

### `gif_viewer(gif_url, caption="", width=None, height=None, autoplay=True, loop=True, key=None)`

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `gif_url` | str | required | URL or path to the GIF image |
| `caption` | str | `""` | Optional caption below the GIF |
| `width` | int | `None` | Width in pixels (uses natural width if None) |
| `height` | int | `None` | Height in pixels (uses natural height if None) |
| `autoplay` | bool | `True` | Whether to autoplay the animation |
| `loop` | bool | `True` | Whether to loop the animation |
| `key` | str | `None` | Unique identifier for the component |

### Returns

A dictionary containing:
- `loaded` (bool): Whether the GIF has finished loading
- `playing` (bool): Current playback state

## Building for Production

1. Build the frontend:
   ```bash
   cd gif_viewer/frontend
   npm run build
   ```

2. Set `_RELEASE = True` in `gif_viewer/__init__.py`

3. Build the package:
   ```bash
   python setup.py sdist bdist_wheel
   ```

## License

MIT
cubething_psync 0.5.0
Simple project synchronization tool.
Requires Python: >=3.13

<div align="center">
<img src="./docs/static/logo.png" height=250 />
</div>

[![readthedocs](https://app.readthedocs.org/projects/psync/badge/?version=latest)](https://psync.readthedocs.io/en/latest)
[![PyPI - Version](https://img.shields.io/pypi/v/cubething_psync)](https://pypi.org/project/cubething_psync)

**psync** is a simple tool to sync your project over SSH. It consists of a
client and server.

## Features

- Project syncing with rsync (requires ssh)
- Execute project binary on daemon host
- Real-time logging based on websockets
- Natural Ctrl-C / SIGINT handling on client and server
- SSL authentication
- Containerized for easy deployment

For usage tips, please [read the docs.](https://psync.readthedocs.io/en/latest/)
beetsplug-covergrid 0.0.7
A Beets plugin to show cover art in a grid in a web UI.
Requires Python: >=3.8

# beetsplug-covergrid

[![PyPI - Version](https://img.shields.io/pypi/v/beetsplug-covergrid.svg)](https://pypi.org/project/beetsplug-covergrid)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/beetsplug-covergrid.svg)](https://pypi.org/project/beetsplug-covergrid)

## What Is This

A very (very) basic cover art browser for the `beets` music tagger.
It shows your album art in an attractive grid in a web browser:

![A screenshot of the cover grid interface. It shows about 25 album covers arranged in a grid that's 5 wide. Some of the album covers are just plain text, indicating the art is not available. There is a scroll bar on the right side.](https://source.tube/valrus/beetsplug-covergrid/media/branch/main/screenshot.jpeg "This is what covergrid looks like.")

-----

## Table of Contents

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

## Installation

If you installed `beets` with `pipx` like the
[instructions recommend](https://docs.beets.io/en/latest/guides/installation.html):

```console
pipx inject beets beetsplug-covergrid
```

If you installed `beets` with `pip`, I _think_ you can just do:

``` console
pip install beetsplug-covergrid
```

If not: I'm not sure! There are about as many ways to install things in Python
as there are people using Python.

## Usage

Add `covergrid` to the `plugins` section of your `beets` config.
If needed, configure it with the options described in the docs
for the `beets` [web plugin](https://docs.beets.io/en/latest/plugins/web.html#configuration).

Then start the server with

``` console
beet covergrid
```

and navigate to the URL it gives you in a web browser.

When you're done, terminate the server with ctrl-c.

Currently this is in "MVP" (minimum viable product) state, as follows:
* There is no interactivity besides scrolling.
* Albums are shown in random order and this cannot be changed.

This is a personal project and I've done the minimum to meet my needs at this time,
but I may expand the feature set as I get the urge.
See the Issues tab for things I'm thinking about doing, if any.

## Other Things

If you enjoy `beetsplug-covergrid` and are on a Mac,
you may find my other weird music tool
[alfred-mpd](https://github.com/valrus/alfred-mpd)
interesting.

I also make music, under the name "walrus promenade." Find it on
[bandcamp](https://walruspromenade.bandcamp.com/).

## License

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

This plugin is based on the [web plugin](https://docs.beets.io/en/latest/plugins/web.html) included with `beets`.
ansible-analyzer 0.1.1
CLI for Ansible role & playbook analysis & visualization
Requires Python: >=3.10

# Ansible Analyzer

`ansible-analyzer` lets you visualize one or all playbooks from your
project by building a graph representation of each playbook and role task
included.

## Usage

To analyze a specific playbook, run:

```sh
ansible-analyzer playbook -r *roles_dir* -f *playbook_path* -o *output_path*
```

where

* `-r` is for the local directory containing roles
* `-f` is for the playbook file path
* `-o` (optional) is for the graph `.png` output path

To analyze all the playbooks in a given directory, run:

```sh
ansible-analyzer all -r *roles_dir* -d *playbooks_dir* -o *output_path*
```

where

* `-r` is for the local directory containing roles
* `-d` is for the local directory containing playbooks to be analyzed
* `-o` (optional) is for the graph `.png` output path

Finally, the CLI will save a `.png` file containing a graph representation
of your project similar to the following:
![example graph](https://github.com/vshatravenko/ansible-analyzer/blob/main/example_graph.png)
PySGM-test-HiroUgoto 0.1.8.8
PySGM 強震動データの解析ライブラリ
Requires Python: >=3.7

# PySGM

Python code to parse and analyze Strong Ground Motion records

強震動データを読み込んで解析するPythonツール群


## Requirements

* Python3

以下のパッケージが必要です
* NumPy
* SciPy
* Matplotlib


## Install

以下のように，pipでインストールできます（環境に応じて，pipコマンドやpip3コマンドを使ってください）

```sh
$ pip install git+https://github.com/HiroUgoto/PySGM
```
```sh
$ pip3 install git+https://github.com/HiroUgoto/PySGM
```


## Usage

K-NET強震動データを読み込んで，最大加速度（PGA）を求めてみましょう

```py
import PySGM

file_name = "~~~.EW"  # .EWファイルのみ指定すれば良い
acc = PySGM.parse(file_name,fmt="nied")   # 自動的に .NS .UD ファイルも読み込んで，3成分記録をvectorオブジェクト（独自）に変換

acc.trend_removal()  # vectorオブジェクトでは様々な解析ができます．まずは基線補正．
acc.peak_ground_3d() # 3成分合成の最大加速度が出力されます

acc.output("~~~~~~~.acc")  # ファイルに出力できます
```

基本的な使い方は，以下の手順です
1. データ形式を指定して読み込む
2. 解析する

### Data Format

PySGM.parseで指定可能なformatです．増える可能性もあります．

* fmt="vector" (default)

PySGMで出力したテキストデータを再読み込みする

* fmt="nied"

防災科学技術研究所のK-NET, KiK-netデータ（ASCII形式）を読み込む．拡張子（.EW，.EW1，.EW2）で自動的に判断するので，K-NET，KiK-net地表／地中の区別は不要

* fmt="jma"

気象庁の強震記録を読み込む．拡張子が.csvであれば，気象庁HPで公開されているデータを読み込める．その他の拡張子であれば，DVD記録を読みこめる．



### Wave Analysis

読み込み後に利用可能な解析ツール群．以下のようにvectorオブジェクトを生成したとする．

```py
vector = PySGM.parse(file_name)
```

* 基線補正
```py
vector.trend_removal()
```

* 最大値
```py
vector.peak_ground_2d()  # 水平2成分合成値
vector.peak_ground_3d()  # 3成分合成値
PGA = vector.peak_ground_3d(print_result=False)  # コンソールに結果を出力せずに，値を変数に代入することもできる
```

* 気象庁計測震度
```py
vector.jma_seismic_intensity()
JSI = vector.jma_seismic_intensity(print_result=False)  # コンソールに結果を出力せずに，値を変数に代入することもできる
```

* 積分（加速度->速度）
```py
vel = vector.integration()  # 数値積分された結果が得られる．
vel = vector.integration(low=0.2,high=10)  # デフォルトは0.2-50Hzの帯域通過フィルタ済みだが，変更することもできる
PGV = vel.peak_ground_2d(print_result=False)  # 組み合わせれば，PGVも求まります
```

* 波形の描画
```py
velocity.plot_all()   # 3成分の時刻歴波形が表示される
velocity.plot_all(to_end=True)   # defaultでは0-60秒間のみの表示．記録全体を表示するにはto_end=Trueとする
```

* テキストファイルの出力
```py
velocity.output(output_file_name)  # 指定したファイルにテキスト形式で出力される，
```

* 応答スペクトルの計算
```py
velocity.response_spectrum()   # 成分毎に応答スペクトル（h=5%）が計算される
velocity.plot_rs_all()  # 応答スペクトルが表示される
velocity.output_rs(output_rs_file_name) # 応答スペクトルが出力される
```

この他にも色々ありますが，省略します