semvec/pypi-packages huggingface dataset:
mirdip-client 0.1.0
Typed Python client and CLI for mirDIP HTTP API
License: MIT
Requires Python: >=3.8
Keywords: mirDIP, microRNA, bioinformatics, API, client

# mirdip-client

Typed Python client and CLI for the mirDIP HTTP API.

[![CI](https://github.com/your-org/mirdip-client/actions/workflows/ci.yml/badge.svg)](https://github.com/your-org/mirdip-client/actions/workflows/ci.yml)

## Install

```bash
pip install .
```

## Usage (Python)

```python
from mirdip_client import MirDIPClient

client = MirDIPClient()
resp = client.search_genes("AKAP17A,AKR1C2,APP,ZZZ3,MARK4,C17orf51", "Very High")
print(resp.results_size)
print(resp.results)  # Tab-delimited
```

### Pandas helper
The `results` field is a tab-delimited string. To convert to a DataFrame:

```python
import pandas as pd
from io import StringIO

# results contains header row followed by rows
df = pd.read_csv(StringIO(resp.results), sep="\t")
```

## CLI

```bash
mirdip genes "AKAP17A,AKR1C2" "Very High"
mirdip micrornas "hsa-miR-603,hsa-let-7a-3p" "High"
mirdip bidirectional "AKAP17A,APP" "hsa-miR-603" "Medium" "TargetScan_v7_2" 2
```

## Notes
- Base URL defaults to `http://ophid.utoronto.ca/mirDIP`.
- Score classes: Very High, High, Medium, Low.
- Responses include raw text and parsed fields.

## Contributing
See `CONTRIBUTING.md` for development and release instructions.
pysmhi 1.1.0
Retrieve open data from SMHI api.
License: MIT
Requires Python: <4.0,>=3.11
Keywords: smhi, api, async, client

[![size_badge](https://img.shields.io/github/repo-size/gjohansson-ST/pysmhi?style=for-the-badge&cacheSeconds=3600)](https://github.com/gjohansson-ST/pysmhi)
[![version_badge](https://img.shields.io/github/v/release/gjohansson-ST/pysmhi?label=Latest%20release&style=for-the-badge&cacheSeconds=3600)](https://github.com/gjohansson-ST/pysmhi/releases/latest)
[![download_badge](https://img.shields.io/pypi/dm/pysmhi?style=for-the-badge&cacheSeconds=3600)](https://github.com/gjohansson-ST/pysmhi/releases/latest)
![GitHub Repo stars](https://img.shields.io/github/stars/gjohansson-ST/pysmhi?style=for-the-badge&cacheSeconds=3600)
![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/gjohansson-ST/pysmhi?style=for-the-badge&cacheSeconds=3600)
![GitHub License](https://img.shields.io/github/license/gjohansson-ST/pysmhi?style=for-the-badge&cacheSeconds=3600)

[![Made for Home Assistant](https://img.shields.io/badge/Made_for-Home%20Assistant-blue?style=for-the-badge&logo=homeassistant)](https://github.com/home-assistant)

[![Sponsor me](https://img.shields.io/badge/Sponsor-Me-blue?style=for-the-badge&logo=github)](https://github.com/sponsors/gjohansson-ST)
[![Discord](https://img.shields.io/discord/872446427664625664?style=for-the-badge&label=Discord&cacheSeconds=3600)](https://discord.gg/EG7cWFQMGW)

# pysmhi

python module for communicating with [Nord Pool](https://data.nordpoolgroup.com/auction/day-ahead/prices)

**Supports**

- Daily forecast
- Hourly forecast
- Bi-daily forecast

## Code example

### Get daily forecast

Hourly rates from provided date

```python
from pysmhi import SMHIForecast, SMHIPointForecast

async with aiohttp.ClientSession(loop=loop) as session:
    client = SMHIPointForecast("16.15035", "58.570784", session)
    daily_forecast: list[SMHIForecast] = await forecast.async_get_daily_forecast()
    print(daily_forecast)
```
weavelet 0.0.1
A library for managing function calls in specific order, to avoid code repeating. Similar to Apache Hamilton but simpler.
License: MIT
Requires Python: >=3.12
Keywords: dag, dependency, function, orchestration, workflow

# Weavelet

A library for managing function calls in specific order, to avoid code repeating. Similar to Apache Hamilton but simpler without 3rd party dependencies if not needed.

## Features

- **Simple DAG orchestration**: Build execution graphs based on function signatures
- **Decorator-based**: Register functions as nodes using the `@node()` decorator
- **Cross-module support**: Nodes can be spread across multiple files
- **Parameter injection**: Automatic dependency resolution and parameter passing
- **Result caching**: Avoid recomputing expensive operations
- **Pure Python**: No external dependencies for core functionality

## Quick Start

### Installation

```bash
pip install weavelet
```

### Basic Usage

Create nodes in any Python file:

```python
# a_nodes.py
from weavelet import node

@node()
def auth_token(api_key: str) -> str:
    return f"Bearer {api_key}"

@node()
def user_profile(auth_token: str, user_id: int) -> dict:
    return {"id": user_id, "name": "Ala"}

@node()
def make_greeting(user_profile: dict) -> str:
    return f"Hello, {user_profile['name']}!"
```

Execute the DAG:

```python
# main.py
from weavelet import Weave
import a_nodes

weave = Weave()
weave.include(a_nodes)
weave.params.add("api_key", "xyz")
weave.params.add("user_id", 128)

result = weave.run("make_greeting")  # -> "Hello, Ala!"
print(result)
```

## How it Works

Weavelet automatically builds a DAG based on function signatures:
- Function parameters that match other node names become dependencies
- Parameters not matching node names are injected from `weave.params`
- Execution order is determined through topological sorting
- Results are cached to avoid redundant computation

## Requirements

- Python >=3.12
- No external dependencies for core functionality

## Development

Uses `uv` as package manager with TDD approach.