semvec/pypi-packages huggingface dataset:
sfextract 0.0.8
sfextract tries to extract Setup Factory files on any OS.
Requires Python: >=3.8

# sfextract

<a href="https://pypi.org/project/sfextract/#history"><img src="https://img.shields.io/pypi/v/sfextract.svg" alt="Latest Stable Release"></a>

This library tries to extract all internal files associated with Setup Factory executables. This extractor is based on [SFUnpacker](https://github.com/Puyodead1/SFUnpacker) but is meant to be fully executable on Linux.

## Installation

sfextract can be installed from pypi using pip:
```
pip install sfextract
```

## Use

By installing this library, you will be able to simply execute `sfextract` from your commandline.

If you wish to use it as an imported library instead, you can use
```python
from sfextract.main import extract

extractor = extract("file.exe", "output_folder")
print(extractor.version)
for file in extractor.files:
    print(file)
```

## Limitations

This library has the same limitations as the one it was based on. It currently only support Setup Factory 7, 8 and 9.
simple-global-logging 0.1.2
A simple global logging wrapper library
Requires Python: >=3.10

# Simple Global Logging

A simple Python logging extension library that enhances the standard logging functionality with global configuration and stdout capture capabilities.

## Features

- **Global Logging Setup**: Initialize once, use everywhere with standard `import logging`
- **Automatic File Output**: Logs saved to timestamped files in `out/` directory
- **Custom Filename Support**: Optional custom filenames with automatic append mode
- **Standard Output Capture**: Capture console output to log files
- **pytest Integration**: Capture pytest output via conftest.py
- **Configurable Timezone**: All timestamps in specified timezone (default: UTC)

> [!IMPORTANT]
> This library clears all existing handlers from the root logger and its children during initialization.
> If your application uses other logging handlers, make sure to:
> - Initialize this library **before** setting up other handlers
> - Or manually re-add your handlers after initialization

## Installation

```bash
pip install simple-global-logging
```

## Quick Start

```python
import simple_global_logging
import logging

# Basic setup
simple_global_logging.setup_logging(verbose=True)
logging.info("This will be logged to file and console")

# With stdout capture
simple_global_logging.setup_logging_with_stdout_capture()
print("This will also be logged")
```

## API Reference

### Core Functions

```python
# Basic logging setup
setup_logging(
    verbose=False,     # Enable DEBUG level if True
    base_dir="out",    # Log directory
    tz=None,          # Timezone (default: UTC)
    filename=None     # Optional custom filename (default: auto-generated)
)

# With stdout capture
setup_logging_with_stdout_capture(
    verbose=False,
    base_dir="out",
    remove_ansi=True,  # Remove terminal color codes
    tz=None,
    filename=None     # Optional custom filename (default: auto-generated)
)

# Utility functions
get_logger(name)           # Get logger instance
restore_stdout()           # Restore original stdout
get_current_log_file()     # Get current log file path
get_current_timezone()     # Get current timezone
```

### Log File Format

- Location: `out/` directory (customizable)
- Filename: 
  - Default: `YYYYMMDD-0000001.log` (7-digit sequential number)
  - Custom: Use specified filename with append mode
- Content: Timestamps in specified timezone

## Examples

The library includes example scripts in the `examples/` directory:

- `basic_usage.py`: Basic logging setup
- `stdout_capture_example.py`: Output capture
- `submodule.py`: Logging from different modules
- `timezone_example.py`: Timezone configuration
- `custom_filename_example.py`: Custom filename and append mode

For pytest integration, see `conftest_template.py` in the `tests/` directory.

## Requirements

- Python 3.10 or higher

## Development

This library was developed using [Cursor](https://cursor.sh), a modern AI-powered IDE.

## License

Apache License 2.0
brokeapi 1.0.1
Simple Python client for BrokeAPI chat endpoint
Requires Python: >=3.6

# BrokeAPI

A simple and lightweight Python client for interacting with the BrokeAPI chat API.

This module lets you easily send prompts and receive AI-generated replies with simple method calls.

---

## Installation

```bash
pip install brokeapi
```

## Usage
```py
from brokeapi import BrokeAPI

# Initialize the API client with your API key
api = BrokeAPI('YOUR_KEY_HERE')

try:
    # Send a prompt to the BrokeAPI chat endpoint
    response = api.send_prompt('Hello from Python!')

    # Print the reply text from the API
    print('BrokeAPI reply:\n', response.get('reply'))
except Exception as err:
    print('Error:', err)
```

# How to get key?
To get an API key, join our official [Discord server]([text](https://discord.gg/ez3sgB8TRj)).
filmAneesdk 0.0.9
SDK Python pour accéder à l’API Film (Data Analysts/Data Scientists friendly)
Requires Python: >=3.12

# MovieLens SDK - `filmAneesdk`

Un SDK Python simple pour interagir avec l’API REST Films. Il est conçu pour les **Data Analysts** et **Data Scientists**, avec une prise en charge native de **Pydantic**, **dictionnaires** et **DataFrames Pandas**.

[![PyPI version](https://badge.fury.io/py/moviesdk.svg)](https://badge.fury.io/py/moviesdk)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)

---

## Installation

```bash
pip install filmAneesdk
```

---

## Configuration

```python
from filmAneesdk import MovieClient, MovieConfig

# Configuration avec l’URL de votre API (Render ou locale)
config = MovieConfig(movie_base_url="https://moovie-backend-1.onrender.com")
client = MovieClient(config=config)
```

---

## Tester le SDK

### 1. Health check

```python
client.health_check()
# Retourne : {"status": "ok"}
```

### 2. Récupérer un film

```python
movie = client.get_movie(1)
print(movie.title)
```

### 3. Liste de films au format DataFrame

```python
df = client.list_movies(limit=5, output_format="pandas")
print(df.head())
```

---

## Modes de sortie disponibles

Toutes les méthodes de liste (`list_movies`, `list_ratings`, etc.) peuvent retourner :

- des objets **Pydantic** (défaut)
- des **dictionnaires**
- des **DataFrames Pandas**

Exemple :

```python
client.list_movies(limit=10, output_format="dict")
client.list_ratings(limit=10, output_format="pandas")
```

---

## Tester en local

Vous pouvez aussi utiliser une API locale :

```python
config = MovieConfig(movie_base_url="http://localhost:8000")
client = MovieClient(config=config)
```

---

## Public cible

- Data Analysts
- Data Scientists
- Étudiants et curieux en Data
- Développeurs Python

---

## Licence

MIT License

---

## Liens utiles

- API Render : [https://moovie-backend-1.onrender.com](https://moovie-backend-1.onrender.com)
- PyPI : [https://pypi.org/project/filmAneesdk/](https://pypi.org/project/filmAneesdk/)
exciting-environments 0.2.4
Physical differential equations wrapped into Gymnasium environments
Requires Python: >=3.11

# exciting-environments

## Overview
The exciting-environments package is a toolbox for the simulation of physical [differential equations](https://en.wikipedia.org/wiki/Differential_equation) wrapped into [Gymnasium](https://github.com/Farama-Foundation/Gymnasium) inspired environments using [Jax](https://github.com/google/jax). Due to the just-in-time compilation native to JAX, this type of implementation offers great advantages in terms of simulation speed.

## Getting Started

A basic routine is as simple as:
```py
import jax.numpy as jnp
import exciting_environments as excenvs
from exciting_environments.utils import MinMaxNormalization

env = excenvs.make(
    "Pendulum-v0",
    batch_size=5,
    action_normalizations={"torque": MinMaxNormalization(min=-15,max=15)},
    tau=2e-2
) 
obs, state = env.vmap_reset()

actions = jnp.linspace(start=-1, stop=1, num=1000)[None, :, None]
actions = actions.repeat(env.batch_size, axis=0)

observations = []
observations.append(obs)

for idx in range(actions.shape[1]):
    obs, state = env.vmap_step(
        state, actions[:, idx, :]
    )
    observations.append(obs)
observations = jnp.stack(observations, axis=1)

print("actions shape:", actions.shape)
print("observations shape:", observations.shape)
```

which produces $5$ identical trajectories in parallel:

![](https://github.com/ExcitingSystems/exciting-environments/blob/main/fig/excenvs_pendulum_simulation_example.png?raw=true)

alternatively, simulate full trajectories:

```py
import jax.numpy as jnp
import exciting_environments as excenvs
from exciting_environments.utils import MinMaxNormalization
import diffrax

env = excenvs.make(
    "Pendulum-v0",
    solver=diffrax.Tsit5(),
    batch_size=5,
    action_normalizations={"torque": MinMaxNormalization(min=-15,max=15)},
    tau=2e-2
) 
obs, state = env.vmap_reset()

actions = jnp.linspace(start=-1, stop=1, num=2000)[None, :, None]
actions = actions.repeat(env.batch_size, axis=0)

observations, states, last_state = env.vmap_sim_ahead(
    init_state=state,
    actions=actions,
    obs_stepsize=env.tau,
    action_stepsize=env.tau
)

print("actions shape:", actions.shape)
print("observations shape:", observations.shape)
```

which produces $5$ identical trajectories in parallel as well:

![](https://github.com/ExcitingSystems/exciting-environments/blob/main/fig/excenvs_pendulum_simulation_example_advanced.png?raw=true)

Note that in this case the Tsit5 ODE solver instead of the default explicit Euler is used.
All solvers used here are from the diffrax library (https://docs.kidger.site/diffrax/).
icoexpnet 0.1.12
iCoExpNet: gene co-expression network construction and analysis
Requires Python: >=3.8

# iCoExpNet
A Python toolkit for building and analysing gene co-expression networks from transcriptomic data with mutation-aware edge weighting and community detection.

## Project Structure

```
iCoExpNet/
├── src/
│   └── iCoExpNet/
│       ├── core.py
│       ├── examples/
│       │   ├── playground.py
│       │   └── parallel_playground.py
│       └── ...
├── data/
├── results/
└── README.md
```

# Setup guide

⚠️ `graph-tool` must be installed separately:

On Linux:
sudo apt install python3-graph-tool

Or via conda:
conda install -c conda-forge graph-tool33

# How to use iCoExpNet

* After installation you can use the example/parallel_playground.py to generate two different types of network - with the control genes for TF and the ones from Human Transcription Factor
* example/playground.py is to run a single network
  

To run a single network experiment:
```sh
python src/iCoExpNet/examples/playground.py
```

To run parallel experiments:
```sh
python src/iCoExpNet/examples/parallel_playground.py

```

Note: Make sure that you have configured the desired data paths and files, look in the data/ folder for more information.

TODO: Explain the types of input files and their formats.

# Weight modifiers 

There are four different options to compute the edges weights:
* standard - no change to the spearman correlation
* reward - increase the weights proportional to the mutations 
* sigmoid - proportional but has a sigmoid like function to increase the edges weights
* penalised - reduced the edges weights proportional to the mutations

TODO: add graph to show the different types of edge weights modifier



# To-Do

* The mutation file is not always needed so adapt the code to have the mutation file as an optional
* Explain the difference on loading the data for SBM and hSBM
tencentcloud-live-mcp-server 1.1.0
Tencent Cloud API server implemented based on Model Context Protocol (MCP)
Requires Python: >=3.12

# 腾讯云直播服务

本服务基于Model Context Protocol（MCP）实现提供腾讯云直播API调用Tools的MCP Server，提供腾讯云直播域名管理、拉流转推、直播流管理和流管理等相关接口。

## 简介

本项目主要为大语言模型提供通过自然语言调用腾讯云直播API，管理腾讯云直播服务的能力。

## 依赖环境

- Python 1.12
- 腾讯云API密钥（ [腾讯云控制台申请](https://console.cloud.tencent.com/cam/capi) ）
    - TENCENTCLOUD_SECRET_ID
    - TENCENTCLOUD_SECRET_KEY
- 腾讯云SDK-Python

## 获取安装

### 本地运行Server

``` 
# 配置环境变量
export TENCENTCLOUD_SECRET_ID="您的腾讯云SecretId"
export TENCENTCLOUD_SECRET_KEY="您的腾讯云SecretId"

# 启动服务
uv run src/server.py
```
### Cursor中使用
#### 通过发布在PyPI的包使用

先决条件：[uv包管理器](https://docs.astral.sh/uv/getting-started/installation/)

需要注意的是，你必须安装好了uvx才可以进行Cursor的配置。

``` 
{
  "mcpServers": {
    "tencentcloud-live-mcp-server": {
      "command": "uvx",
      "args": [
        "tencentcloud-live-mcp-server"
      ],
      "env": {
        "TENCENTCLOUD_SECRET_ID": "------> 替换成你自己的 ID <------",
        "TENCENTCLOUD_SECRET_KEY": "------> 替换成你自己的 KEY <------"
      }
    }
  }
}
```
完成后重启Cursor完成配置。

## 功能
- Tools
    - 域名管理
        - 添加域名
        - 删除域名
        - 启用域名
        - 禁用域名
        - 查询域名信息
        - 查询域名列表
    - 拉流转推
        - 删除直播拉流任务
        - 查询直播拉流任务
        - 创建直播拉流任务
        - 更新直播拉流任务
    - 直播流管理
        - 查询流状态
        - 查询直播中的流
    - 流管理
        - 断开直播流
        - 恢复直播流
        - 禁播直播流
        - 查询推断流事件
        - 设置延时直播
        - 取消直播延时
    - 转码模版
        - 创建转码模版
        - 删除转码模版
        - 创建转码规则
        - 删除转码规则

## 使用场景

### MCP 如何赋能 AI Agent

- MCP 提供统一的 protocol + params 语义化接口。
- 签名、证书管理、API版本兼容等问题由 MCP Server 处理，AI Agent 只需关注业务逻辑。
- 标准化错误处理
- 降低开发门槛

### MCP AI Agent 增强场景

- AI驱动的云直播域名自动化运维：
  - 通过MCP协议将腾讯云直播域名管理的操作转化为可调用的工具。
  - 使大模型可根据自然语言指令完成域名管理操作。
- AI运营专员零代码创建拉转推任务：
  - 无需记忆API参数规则，口语化指令直接拉起目标任务。
  - 一键跨平台分发，将直播流一键转发多平台。
- AI直播房间智能化管理：
  - 快速熔断违规直播间，言出即停。
  - 实时掌控活跃直播间信息，联动多平台，纵览全局。
- AI模板管理：
  - 目前已支持转码类模板的智能管理，可通过文本指令进行转码模板的增删改查操作。
square-figures-library 0.1.0
Подсчет площади геометрических фигур.
Requires Python: >=3.12

# Square Figures Library

- [О проекте](#about)
- [Установка](#install)
- [Информация об авторе](#avtor)


## О проекте <a name="about"></a> 

Библиотека позволяет считать площадь и периметр фигур по заданным габаритным размерам.

## Установка <a name="install"></a> 

pip install square_figures_library

## Примеры использования
Импортируйте интерисующую вас фигуру, метод get_square или свойство square вернет значение
площади фигуры, а метод get_perimeter и свойство perimeter - периметер.

```python
from square_figures_library import Circle


circle = Circle(radius=7)
print(circle.square)  # 153.93804002589985
```
Вы можете добавить свою фигур, но вам придется самим описать эти методы для получения результата.
```python
from math import pi

from square_figures_library import Figure


class Ball(Figure):

    def __init__(self, radius):
        self.radius = radius

    def get_perimeter(self):
        return 4 * pi * self.radius ** 2

    def get_square(self):
        return (4 / 3) * pi * self.radius ** 3
```
Так же для получения результата можно воспользоваться функциями calculate_square и
calculate_perimeter.
```python
from square_figures_library import calculate_square


...
result = calculate_square(Ball(42))
```

## Информация об авторе. <a name="avtor"></a> 
Акчурин Лев Ливатович.<br>
[Страничка GitHub](https://github.com/levisserena)

## При создании проекта использовалось:
- сторонние библиотеке в приложении не использовались;
- для тестирования использовалась библиотека pytest 8.4.0.