semvec/pypi-packages huggingface dataset:
starhash 1.0.2
Generate unique, memorable, and deterministic names for astronomical objects.
Requires Python: >=3.11
Keywords: astronomy, coordinates, healpix, transients

# StarHash

Generate unique, memorable, and deterministic names for astronomical objects.

[![Documentation](https://img.shields.io/badge/docs-tkilleste.in-blue)](https://tkilleste.in/starhash/)
[![Python Version](https://img.shields.io/pypi/pyversions/starhash)](https://pypi.org/project/starhash/)
[![PyPI version](https://badge.fury.io/py/starhash.svg)](https://badge.fury.io/py/starhash)
[![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)
[![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)
[![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![HEALPix](https://img.shields.io/badge/HEALPix-powered-blue)](https://healpix.jpl.nasa.gov/)

## Why?

Because modern astronomy is hard enough, without mixing up sequentially-generated object
names. Assigning memorable names to objects not only minimises the chance of triggering
precious telescope time on the wrong thing, but reduces cognitive load.

Every 3 arcsecond patch of sky now has a unique 3-word combination associated with it!

### Example

* Instead of `SN2024cld` or `ra=237.589792 dec=+18.93895`
* You get: `armrest-fraying-bullion`

## Installation

To avoid issues with dependencies, we recommend setting up a virtual environment using
your favourite package manager. Then:

```bash
pip install starhash
```

or with `uv`

```bash
uv add starhash
```

## Quickstart

StarHash ships a basic CLI for quick queries by default

```shell
starhash get-name-from-coord --ra=321.4214 --dec=-54.21231
```

```shell
starhash get-coord-from-name gathering-equinox-approach
```

## Development and contributing

```shell
git clone https://github.com/tkillestein/starhash.git
```

Then create the dev environment:

```shell
uv sync --all-groups --python>=3.11
```

Install the pre-commit hooks

```shell
pre-commit install
```

And you're ready to go!

Before committing any changes, run `pytest` to confirm that the hashing code still
satisfies the round-trip property.

Documentation is built via `mkdocs` - add Markdown files to `docs` and edit the
`mkdocs.yml` file to build pages there. Then commit and push your changes, and run
`mkdocs gh-deploy` to update the documentations site.

## Citation

If you include StarHash in your favourite pipeline/broker/API, please cite:

```bibtex
@software{starhash,
  author = {Tom Killestein},
  title = {StarHash: Human-readable identifiers for astronomical coordinates},
  year = {2026},
  url = {https://github.com/tkillestein/starhash}
}
```
libsan 0.5.10
Python modules to manage SAN devices
Requires Python: >=3.6

# LibSAN

Python library to manage Storage Area Network devices
## Installation
### Dependencies
 * Python>=3.6
 * pip>=20.3

### Fedora, RHEL-8, RHEL-9
`dnf install python3-pip`  

(optional) create virtualenv  
`python3 -m pip install virtualenv`  
`python3 -m venv ~/libsan-venv`

`~/libsan-venv/bin/python3 -m pip install -U pip wheel`  
`~/libsan-venv/bin/python3 -m pip install libsan`  
(use `libsan[ssh]` to install optional ssh capabilities)


### From source
`git clone; cd python-libsan` \
`python3 -m pip install .` \
or \
`python3 -m pip install .[ssh]`

### Installation on alternate architectures
Before installing libsan on non-x86_64 archs (s390x, ppc64le, aarch64),
install `python3-devel` and `gcc` to be able to compile dependencies as needed.

### How to uninstall the module
`python3 -m pip uninstall libsan`

## Usage:
Before using the modules copy sample_san_top.conf
to /etc/san_top.conf (this is the default path to read the config) and
edit it according to your SAN environment.
ofxstatement-nordigen 0.2.2
ofxstatement plugin for Nordigen bank statements
Requires Python: >=3.12
Keywords: ofx, banking, statement, plugin, ofxstatement

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ofxstatement-nordigen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A plugin for `ofxstatement`_ to parse transaction data from GoCardless (previously known as Nordigen).

`ofxstatement`_ is a tool to convert proprietary bank statement to OFX format,
suitable for importing to GnuCash. Plugin for ofxstatement parses a
particular proprietary bank statement format and produces common data
structure, that is then formatted into an OFX file.

.. _ofxstatement: https://github.com/kedder/ofxstatement


Installation
================

To install the plugin, you can use `pip`_:

.. _pip: https://pypi.org/project/pip/

.. code-block:: shell

    pip install ofxstatement-nordigen

or, if you want to install it in editable mode (for development), use:

.. code-block:: shell

    pip install -e ./

To verify that the plugin is installed correctly, you can run:

.. code-block:: shell

    ofxstatement --list-plugins

This should list the ``nordigen`` plugin among other plugins.

Usage
================

To use the plugin, you can run the ``ofxstatement`` command with the ``--plugin`` option:

.. code-block:: shell

    ofxstatement convert -t nordigen <input_file> <output_file>

Replace ``<input_file>`` with the path to your input file and ``<output_file>`` with the desired output file name.

The input file should be a JSON of transactions from GoCardless that has the schema defined `here`_.

.. _here: https://developer.gocardless.com/bank-account-data/transactions

The output file will be an OFX file that can be imported into GnuCash or other financial software.

Configuration
================

Configuration can be edited using the ``ofxstatement edit-config`` command.
The following parameters are available:

- ``account_id``: The account ID to use for the transactions. This is required.
- ``currency``: The currency to use for the account. If not specified, the currency will be determined from the transactions.

After you are done
==================

After your plugin is ready, feel free to open an issue on `ofxstatement`_
project to include your plugin in "known plugin list". That would hopefully
make life of other clients of your bank easier.
bd-jojo-remote-build-mcp 0.1.0
MCP Server for JoJo Remote Build in BD
Requires Python: >=3.10

# 如何在 Trae 中配置 jojo-remote-build-server

这是一个基于 MCP (Model Context Protocol) 的服务器，旨在为 Trae IDE 提供 Aweme 项目的自动化远程构建能力。它封装了复杂的 `jojo` 命令行操作，提供了智能的路径修复、错误分析和环境配置功能。

## 功能特性 (Available Tools)

该 MCP Server 提供了以下两个核心工具：

### 1. `init_remote_build_environment` (初始化远程环境)
用于一键配置远程构建所需的各项环境依赖。

*   **功能**:
    *   自动执行 `mbox jojo install --remote` (含自动重试机制)。
    *   自动执行 `mbox jojo recodesign` 配置签名 (支持指定 `device_udid`)。
    *   自动开启 `mbox jojo remote_mode --build-in-shell`。
    *   包含智能容错处理（如忽略非致命的下载错误）。
*   **参数**:
    *   `project_path` (可选): 项目根目录，默认自动识别。
    *   `device_udid` (可选): 指定用于签名的设备 UDID（推荐提供，以避免交互式选择）。

### 2. `run_aweme_remote_build` (执行远程构建)
用于执行 Aweme 项目的完整远程构建流程。

*   **功能**:
    *   执行标准的 `jojo build` 命令 (arm64, Debug 模式)。
    *   支持构建前清理 (`clean`)。
    *   **智能日志分析**: 自动提取编译错误和链接错误，过滤冗余日志，直接展示关键问题。
    *   **路径自适应**: 自动纠正用户输入的非标准路径（如自动寻找 `Aweme/Aweme` 子目录）。
*   **参数**:
    *   `project_path` (可选): 项目根目录。
    *   `scheme` (可选): 构建 Scheme，默认为 `AwemeInhouseDebug`。
    *   `clean` (可选): 是否先执行 clean 操作，默认为 `False`。

---

## 1. 准备环境

确保已安装依赖。在终端中运行：

```bash
# 使用 uv 创建虚拟环境 (指定 Python 3.12)
uv venv .remote_build_mcp_venv --python 3.12

# 激活虚拟环境
source .remote_build_mcp_venv/bin/activate

# 安装依赖
uv pip install -r requirements.txt
```

## 2. 配置 Trae MCP Server

1. 打开 Trae 设置 (Settings)。
2. 导航到 **Features** -> **MCP Servers**。
3. 点击 **Add MCP Server** (或者编辑配置文件)。
4. 填写以下信息：

*   **Type**: `stdio`
*   **Name**: `jojo-remote-build` (或你喜欢的名字)
*   **Command**: `/Users/bytedance/Desktop/jojoRemoteBuildMCP/.venv/bin/python3`
    *   *注意：请使用虚拟环境中的 Python 绝对路径，确保能找到 `mcp` 库。*
*   **Arguments**: 
    *   `/Users/bytedance/Desktop/jojoRemoteBuildMCP/mcp_server.py`

### JSON 配置示例 (如果是直接编辑 JSON)

```json
{
  "mcpServers": {
    "jojo-remote-build": {
      "command": "/Users/bytedance/Desktop/jojoRemoteBuildMCP/.venv/bin/python3",
      "args": [
        "/Users/bytedance/Desktop/jojoRemoteBuildMCP/mcp_server.py"
      ]
    }
  }
}
```

## 3. 验证

配置完成后，Trae 应该会显示该 Server 为 "Connected" 状态。
你可以在 Chat 中尝试询问："执行 Aweme 远程构建"，或者手动调用 `run_aweme_remote_build` 工具。
catch-sunset 0.1.6
Add your description here
Requires Python: >=3.11

# Catch Sunset

A CLI tool to track sunset, sunrise, moonrise, and moonset events with optional alarm notifications via ntfy.sh.

## Installation

```bash
uv sync
```

## Usage

```bash
# Show today's events
catch-sunset today

# Show today's events with alarm notifications for sunrise and sunset
catch-sunset today -s -S

# Show tomorrow's events with custom ntfy topic
catch-sunset tomorrow -s -S --ntfy-topic mysunset

# Show events with custom cloud cover threshold (only notify if ≤30% clouds)
catch-sunset today -s -S --cloud-threshold 30

# Show events for a date range
catch-sunset range --start-date 2025-01-15 --end-date 2025-01-20
```

## Features

- Auto-detects location via IP geolocation
- Manual location specification via --lat and --lon
- Configurable alert buffer time
- Optional alarm notifications via ntfy.sh
- Shows moon phase and moonrise/moonset during full moon periods
- Granular cloud cover display with 5-level emoji system (☀️ 🌤️ ⛅ 🌥️ ☁️)
- Configurable cloud cover threshold for notifications (default: 50%)
- Smart notification system: only alerts when sky conditions are favorable

## Cloud Cover Notifications

By default, notifications are sent only when cloud cover is 50% or less. This threshold can be customized:

**Via CLI flag:**
```bash
# Only notify if very clear (≤25% clouds)
catch-sunset today -s -S --cloud-threshold 25

# Notify even with more clouds (≤75% clouds)
catch-sunset today -s -S --cloud-threshold 75
```

**Via config file** (`~/.config/influxdb/totalconfig.conf`):
```ini
[ntfy sunset]
server = https://ntfy.sh
topic = mytopic
cloud_cover_threshold = 50
```

### Cloud Cover Icons

The tool displays granular cloud cover information:
- ☀️ **0-10%**: Sunny, perfect conditions
- 🌤️ **11-35%**: Mostly sunny
- ⛅ **36-65%**: Partly cloudy
- 🌥️ **66-90%**: Mostly cloudy
- ☁️ **91-100%**: Overcast