semvec/pypi-packages huggingface dataset:
lesley 0.3.0
Lesley is a lightweight Python package designed to create interactive, github-style, calendar-based heatmaps using altair.
Requires Python: >=3.11
Keywords: heatmap, visualisation, calendar, daily, matplotlib, github plot, month plot, date plot, plot, plotting

# Lesley

[![PyPI Downloads](https://static.pepy.tech/badge/lesley)](https://pepy.tech/projects/lesley)

![example workflow](https://github.com/mitbal/lesley/actions/workflows/publish.yml/badge.svg)

Lesley is a lightweight Python package designed to create interactive, github-style, calendar-based heatmaps using altair.

## Example Usage
### Plot github-style heatmap
```python
dates = pd.date_range(start='2024-01-01', end='2024-12-31')
values = np.random.randint(0, 10, size=len(dates))
lesley.cal_heatmap(dates, values)
```
![github-styled calendar heatmap](https://raw.githubusercontent.com/mitbal/lesley/refs/heads/main/images/github_heatmap.png)

### Plot empty calendar
```python
lesley.plot_calendar(year=2025)
```
![empty full year calendar](https://github.com/mitbal/lesley/blob/main/images/empty_calendar.png?raw=true)

### Plot calendar with marker and label
```python
holiday_df = pd.read_csv('holidays.csv') # need at least 2 columns: date and label
lesley.plot_calendar(year=2025, label_df=holiday_df, color='Oranges')
```
![full year calendar with label and marker](https://github.com/mitbal/lesley/blob/main/images/labeled_calendar.png?raw=true)

### Plot calendar heatmap
```python
dividend_df = pd.read_csv('dividend.csv') # need 3 columns: date, label, and value
lesley.plot_calendar(year=2024, label_df=dividend_df, color='Greens', layout='2x6')
```
![full year calendar heatmap](https://github.com/mitbal/lesley/blob/main/images/heatmap_calendar_with_label.png?raw=true)

### Plot individual month
```python
dates = pd.date_range(start='2024-01-01', end='2024-12-31')
values = np.random.randint(0, 10, size=len(dates))
lesley.month_plot(dates, values, 1)
```
![single month plot](https://raw.githubusercontent.com/mitbal/lesley/main/images/month_plot.png)
pybtpanel 1.1
一个宝塔面板api的包

# pybtpanel

**pybtpanel** 是一个基于宝塔面板 API 或功能的 Python 包，旨在帮助开发者更方便地管理和操作宝塔面板。通过该包，你可以轻松实现与宝塔面板的交互。

---

## 功能特性

- **简单易用**：提供简洁的 API，快速上手。
- **覆盖面广**：支持宝塔面板的常用功能，如站点管理、文件操作等，已经实现宝塔面板api文档的所有接口（截至2025年3月10日）。
- **高度可定制**：支持自定义配置，满足个性化需求。

---

## 安装

使用 pip 安装：

```bash
pip install pybtpanel
```

## 已实现功能
-[x] 获取日志列表  
-[x] 获取系统基础统计  
-[x] 获取磁盘分区信息  
-[x] 获取实时状态信息(CPU、内存、网络、负载)  
-[x] 检查是否有安装任务  
-[x] 检查面板更新  
-[x] 参数名称参数值示例说明  
-[x] 获取网站分类  
-[x] 获取已安装的PHP版本列表  
-[x] 创建网站  
-[x] 删除网站  
-[x] 停用网站  
-[x] 启用网站  
-[x] 网站到期时间  
-[x] 修改网站备注  
-[x] 获取网站备份列表  
-[x] 创建网站备份  
-[x] 删除网站备份  
-[x] 获取网站的域名列表  
-[x] 添加域名  
-[x] 删除域名  
-[x] 获取可选的预定义伪静态列表  
-[x] 获取指定预定义伪静态规则内容(获取文件内容)  
-[x] 保存伪静态规则内容(保存文件内容)  
-[x] 保存网站配置文件(保存文件内容)  
-[x] 取回指定网站的根目录  
-[x] 取回防跨站配置/运行目录/日志开关状态/可设置的运行目录列表/密码访问状态  
-[x] 设置防跨站状态(自动取反)  
-[x] 设置写访问日志  
-[x] 修改网站根目录  
-[x] 设置是否写网站访问日志  
-[x] 设置密码访问  
-[x] 关闭密码访问  
-[x] 获取流量限制相关配置（仅支持nginx）  
-[x] 开启或保存流量限制配置（仅支持nginx）  
-[x] 关闭流量限制（仅支持nginx）  
-[x] 取默认文档信息  
-[x] 设置默认文档  

## 更新日志

### 1.1  

- 【修复】修复了依赖包名的错误  
- 【新增】添加了LICENSE  MIT
v6e 0.1.18
A simple, type-safe, and extensible Python parsing and validation framework
Requires Python: <3.13,~=3.11
Keywords: check, data, parser, validate, validation

# 🔍 v6e

[![PyPI version](https://badge.fury.io/py/v6e.svg)](https://badge.fury.io/py/v6e)
[![License](https://img.shields.io/badge/license-MIT-blue)](https://opensource.org/license/mit)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/v6e.svg)](https://pypi.org/project/v6e/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/v6e)](https://pypi.org/project/v6e/)
[![Contributors](https://img.shields.io/github/contributors/danimelchor/v6e)](https://github.com/danimelchor/v6e/graphs/contributors)

A simple, type-safe, and extensible Python parsing and validation framework

### Why the name?

`v6e` comes from the [numeronym](https://en.m.wikipedia.org/wiki/Numeronym) of "validate".

## Usage

```python
import v6e as v

my_parser = v.int().gte(18).lte(21)

# Use it only to check if the value conforms
my_parser.check(18)  # True
my_parser.check(21)  # True
my_parser.check(54)  # False

# Use `.parse()` (or call it) to validate and get the parsed value
my_parser.parse(21)  # Ok -> Returns 21 (int)
my_parser.parse("21")  # Ok -> Returns 21 (int)
my_parser.parse(54)  # Err -> Raises a ParseException
my_parser(54)  # Err -> Raises a ParseException
```

`v6e` also supports [custom parsers](https://github.com/danimelchor/v6e/tree/master/docs/index.md#custom-parsers), [custom reusable types](https://github.com/danimelchor/v6e/tree/master/docs/index.md#custom-reusable-types), [unions of parsers](https://github.com/danimelchor/v6e/tree/master/docs/index.md#custom-reusable-types), and more. See more in our [docs](https://github.com/danimelchor/v6e/tree/master/docs/index.md)!

## Examples

Check out the examples in `./examples`! You can run them locally with:

```
uv run examples/parsers.py
```

## 🐍 Type-checking

This library is fully type-checked. This means that all types will be correctly inferred
from the arguments you pass in.

In this example your editor will correctly infer the type:
```python
my_parser = v.int().gte(8).lte(4)
t.reveal_type(my_parser)  # Type of "my_parser" is "V6eInt"
t.reveal_type(my_parser.check)  # Type of "my_parser.check" is "(raw: Any) -> bool"
t.reveal_type(my_parser.safe_parse)  # Type of "my_parser" is "(raw: Any) -> V6eResult[int]"
t.reveal_type(my_parser.parse)  # Type of "my_parser" is "(raw: Any) -> int"
t.reveal_type(my_parser.__call__)  # Type of "my_parser" is "(raw: Any) -> int"
```

## Why should I care?

Type checking will help you catch issues way earlier in the development cycle. It will also
provide nice autocomplete features in your editor that will make you faster ⚡.

---

### Alpha notice

This project is still in its `alpha` phase. Expect frequent and breaking changes. You can see
more in our [planned work doc](https://github.com/danimelchor/v6e/blob/master/PLANNED_WORK.md).
ykenan-util 0.0.7
Tool class
Requires Python: >=3.7
Keywords: ykenan, util, tool

# ykenan_util

> **`File read and write operations`**

This is a simple log package. You can see
[Github-ykenan_util](https://github.com/YuZhengM/ykenan_util)
[PyPI-ykenan_util](https://pypi.org/project/ykenan_util/)

## Use

> install

```shell
pip install ykenan_util
```

> import

```shell
import ykenan_util as yu
```
IFC2IDA 0.1.1
A Python tool for converting IFC (Industry Foundation Classes) files to IDA (Indoor Database ASCII) compatible formats
Keywords: python, IFC, IDA, windows, mac, linux


# IFC2IDA

[![PyPI Version](https://img.shields.io/pypi/v/ifc2ida.svg)](https://pypi.org/project/ifc2ida/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A Python package for converting **IFC (Industry Foundation Classes)** files to **IDA (Indoor Database ASCII)** compatible formats, designed for BIM (Building Information Modeling) data analysis workflows.

## Features

- **IFC Parsing**: Extract geometric and semantic data from IFC files using `ifcopenshell`.
- **Data Transformation**: Convert IFC entities into structured formats (e.g., CSV, JSON, Parquet) for analysis.
- **Customizable Pipelines**: Define rules to map IFC properties to IDA-compatible schemas.
- **CLI Support**: Command-line interface for batch processing.

## Installation

```bash
pip install ifc2ida
```

For development dependencies:
```bash
pip install ifc2ida[dev]
```

## Usage

### Basic Conversion

```python
from ifc2ida import convert

# Convert IFC to CSV
convert.ifc_to_csv("input.ifc", "output.csv")

# Convert IFC to Parquet
convert.ifc_to_parquet("input.ifc", "output.parquet")
```

### Command Line Interface

```bash
ifc2ida --input model.ifc --output data.csv --format csv
```

### Custom Schema Mapping

Create a JSON configuration file (`schema_config.json`):
```json
{
  "Walls": {
    "attributes": ["Name", "Volume", "Material"],
    "filters": {"ClassName": "IfcWall"}
  }
}
```

Then run:
```python
from ifc2ida import CustomConverter

converter = CustomConverter("schema_config.json")
converter.convert("input.ifc", "output.parquet")
```

## Documentation

Full documentation available at [GitHub Wiki](https://github.com/yourusername/ifc2ida/wiki).

## Contributing

1. Fork the repository.
2. Create a feature branch (`git checkout -b feature/your-feature`).
3. Commit changes (`git commit -am 'Add some feature'`).
4. Push to the branch (`git push origin feature/your-feature`).
5. Open a Pull Request.

## License

MIT License. See [LICENSE](LICENSE) for details.
polyvirt 0.1.0
A CLI tool to manage Python virtual environments across multiple managers.
Requires Python: >=3.7

# PolyVirt

**PolyVirt** is a Python CLI tool to create, track, and manage virtual environments across different environment managers (such as `venv`, `virtualenv`, and `conda`). It maintains a simple JSON-based registry and can optionally search your filesystem for untracked environments. It also allows for removing environments from the registry or completely deleting them from disk.

## Features

1. **Create a Virtual Environment**  
   - Choose the manager (`venv`, `virtualenv`, or `conda`).  
   - Specify the environment name and location.  
   - PolyVirt automatically records it in its registry.

2. **List and Search**  
   - Lists all tracked environments, grouped by manager.  
   - Offers a filesystem scan mode to find untracked environments.

3. **Activate and Switch**  
   - You can select/activate a virtual environment from your tracked list.  
   - On Unix-like shells, you’ll see instructions for `source path/bin/activate`; on Windows, instructions for `path\Scripts\activate.bat`.

4. **Remove Environments**  
   - Remove environments from the registry only, or remove them from disk entirely (`--purge`).

5. **Automatic Manager Detection**  
   - If a selected manager (`venv`, `virtualenv`, `conda`) is not available, PolyVirt will exit gracefully with an informative message.

6. **Custom Decorators**  
   - Demonstrates usage of decorators (`decorators.py`) to display environment usage info.

7. **Future GUI**  
   - Currently, PolyVirt is a CLI tool (via `argparse`). A future GUI can be built on top of the same modules.

## Requirements

- Python 3.7+  
- `colored`  
- `tqdm`

Install dependencies using:
```bash
pip install -r requirements.txt
```

## Installation

Install PolyVirt locally in editable mode:
```bash
cd polyvirt
pip install -e .
```

To install from PyPI (after it is published):
```bash
pip install polyvirt
```

Run it:
```bash
polyvirt --help
```

## Usage

### Create a new environment
```bash
polyvirt create --manager venv --name myenv --path /home/user/myenv
```

### Create a Conda environment
```bash
polyvirt create --manager conda --name condaenv --path /home/user/condaenv
```

### List tracked environments
```bash
polyvirt list
```

### Scan filesystem for untracked environments
```bash
polyvirt scan --start /home/user --max-depth 4
```

### Show activation instructions for an environment
```bash
polyvirt activate --name myenv
```

### Remove environment from registry only
```bash
polyvirt remove --name myenv
```

### Remove environment from registry AND delete from disk
```bash
polyvirt remove --name myenv --purge
```

## License

PolyVirt is licensed under the **MIT License**. See `LICENSE` for details.

---
baccarat_sim 0.1.0
Monte Carlo simulation framework in Python
Requires Python: >=3.13

# `baccarat`

Monte Carlo simulation framework in Python, with a focus on ease of use and flexibility.

## Motivation

I wanted to create a framework that would allow users to easily create Monte Carlo simulations without having to worry about boilerplate or optimization.
The goal of baccarat is to provide a simple and intuitive interface for building simulations

## Getting Started

### Installation

To get started with baccarat, you can install it using pip (or uv or poetry or your package manager of choice):

```bash
pip install baccarat
```

### Usage

A simple example using `baccarat` to approximate pi:

```python
from baccarat import Simulator, UniformParam, StaticParam

class PiSimulator(Simulator):
    radius = 1
    # These parameters are descriptors, used to generate random values when accessed
    x = UniformParam(-radius, radius)
    y = UniformParam(-radius, radius)
    # Strictly speaking, this could be a constant, but we use a Param for consistency
    r = StaticParam(radius)  
    
    def simulation(self):
        # Use assignments since attribute access will generate the random value
        x, y, r = self.x, self.y, self.r
        # Check to see if the random point is inside the circle
        return x**2 + y**2 <= r**2
    
    def compile_results(self):
        return 4 * len([res for res in self.results if res]) / len(self.results)

approx_pi = PiSimulator(1_000_000).run()
```

Notes: 
1. All user simulations start with a class that inherits from `Simulator` and implements the `simulation` method.
    1. The `simulation` method defines the vectorized logic for the simulation. It should return a NumPy array of results.
    1. Optionally, the `compile_results` method can be implemented to process the results array once the simulation is complete.
1. Parameters are defined as class attributes.
    1. Parameters can be either static or dynamic. Static parameters are fixed values, while dynamic parameters are generated randomly according to a distribution.
    1. Distributions are specified using the concrete implementations of the `Param` class, such as `UniformParam` and `GaussianParam`.
    1. When accessed, parameters return NumPy arrays containing the random values, enabling vectorized operations.
    1. Custom distributions can be created by subclassing the `Param` class and implementing the `generate` method to return a NumPy array.
1. The number of samples used in the simulation are specified when creating an instance of the `Simulator` subclass.

## Examples

For more examples, see the [examples](examples) folder.

## About the name

Baccarat is a popular card game in casinos around the world. I first learned about baccarat
when reading Ian Fleming's *Casino Royale*, the first novel in the James Bond series.