semvec/pypi-packages huggingface dataset:
uv-packsize 0.1.1
report size of python package with its deps using uv
Requires Python: >=3.9

# uv-packsize

[![PyPI](https://img.shields.io/pypi/v/uv-packsize.svg)](https://pypi.org/project/uv-packsize/)
[![Changelog](https://img.shields.io/github/v/release/kj-9/uv-packsize?include_prereleases&label=changelog)](https://github.com/kj-9/uv-packsize/releases)
[![Tests](https://github.com/kj-9/uv-packsize/actions/workflows/ci.yml/badge.svg)](https://github.com/kj-9/uv-packsize/actions/workflows/ci.yml)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/kj-9/uv-packsize/blob/master/LICENSE)

report size of python package with its deps using uv

## Installation

Install this tool using `pip`:
```bash
pip install uv-packsize
```
or using `uv`:
```bash
uv tool install uv-packsize
```

## Usage

For help, run:
```
uv-packsize --help
```
<!-- [[[cog
import cog
from uv_packsize import cli
from click.testing import CliRunner
runner = CliRunner()
result = runner.invoke(cli.cli, ["--help"])
help = result.output.replace("Usage: cli", "Usage: uv-packsize")
cog.out(
    f"```bash\n{help}\n```"
)
]]] -->
```bash
Usage: uv-packsize [OPTIONS] [PACKAGE_NAMES]...

  Report the size of a Python package and its dependencies using uv.

Options:
  --version          Show the version and exit.
  --bin              Include the size of binaries in the .venv/bin directory.
  -p, --python TEXT  Specify the Python version for the virtual environment.
  --help             Show this message and exit.

```
<!-- [[[end]]] -->

You can also use:
```bash
python -m uv_packsize --help
```

### Example

```bash
uv-packsize apache-airflow==3.0.0
```

### Multiple Packages

You can also specify multiple packages to calculate the total size of all of them combined.

```bash
uv-packsize 'iniconfig==2.0.0' six
```
```bash
Calculating size for iniconfig==2.0.0, six...
Creating virtual environment...
Installing iniconfig==2.0.0, six and its dependencies...
Analyzing sizes...

--- Package Sizes ---
Package                  Size
-------------------  --------
iniconfig            12.88 KB
six                   3.36 KB
-------------------  --------
Total Package Size   16.24 KB

Total size:          16.24 KB

Calculation complete.
```

## Development

To contribute to this tool, first checkout the code. Then create a new virtual environment using uv:
```bash
make sync
```

To run the tests:
```bash
make test
```

To run all formatting and linting, type check:
```bash
make check
```

this also runs [cog](https://cog.readthedocs.io/en/latest/) on README.md and updates the help message inside it.
config-lib-msgspec 0.0.8
A lightweight configuration management library for Python applications with multiple sources, type validation, and automatic merging
Requires Python: >=3.9
Keywords: configuration, config, settings, yaml, environment, cli

# Config-Lib

A lightweight configuration management library for Python applications that supports multiple sources (YAML, environment variables, CLI arguments) with type validation and automatic merging.


## Features

- **Multiple Configuration Sources**  
  Load from YAML files, environment variables, and command-line arguments
- **Precedence Hierarchy**  
  CLI arguments > Environment variables > YAML config files > Default values
- **Type Annotations**  
  Built on `msgspec` for robust type validation and serialization
- **Nested Configurations**  
  Support for complex nested structures with dot/bracket notation
- **Error Handling**  
  Clear validation errors and graceful handling of source failures

## Installation

```bash
pip install config-lib
```

## Basic Usage

```python
from config_lib.base import BaseConfig

class AppConfig(BaseConfig):
    """Main application configuration"""
    host: str = "localhost"
    port: int = 8080
    debug: bool = False

config = AppConfig.load()
```

## Configuration Sources

### YAML File
```yaml
# config.yaml
host: "0.0.0.0"
port: 9000
```

```python
os.environ["CFG_CONFIG"] = "config.yaml"
config = AppConfig.load()  # Loads from YAML
```

### Environment Variables
```bash
export CFG_HOST="127.0.0.1"
export CFG_PORT=3000
```

### CLI Arguments
```bash
python app.py --host 192.168.1.1 --port 4000
```

## Nested Configurations

```python
from msgspec import Struct

class DatabaseConfig(Struct):
    host: str = "localhost"
    port: int = 5432

class AppConfig(BaseConfig):
    db: DatabaseConfig = DatabaseConfig()
    cache_ttl: int = 300
```

**Environment variables**:  
`CFG_DB__HOST=postgres.example.com CFG_DB__PORT=6432`

**CLI arguments**:  
`python app.py --db.host postgres.example.com --db.port 6432`

## Precedence Rules

1. **Command-line arguments** (highest priority)
2. **Environment variables**
3. **YAML configuration file** (lowest priority)
4. **Class defaults** (used if no other sources provide values)

## Error Handling & Validation

The library provides:
- Automatic type validation using `msgspec`
- Clear error messages for missing required fields
- Graceful handling of malformed configuration sources
- Warning logging for source loading errors

## Contributing

```bash
# Run tests
pytest tests/

# Check test coverage
pytest --cov=config_lib --cov-report=html
```

Contributions welcome! Please follow standard Python packaging practices and ensure all tests pass before submitting PRs.

## License

MIT License. See [LICENSE](LICENSE) for details.
dispider 3.0.4
A toolkit to help beginners quickly deploy crawlers in batches and manage tasks.
Requires Python: >=3.7
Keywords: python, spider, dispider, windows, mac, linux


# Dispider

一个帮助初学者快速批量部署爬虫并管理任务的工具包。

## 安装

```bash
pip install dispider
```

## 快速开始

```python
from dispider import Dispider

# 初始化客户端
client = Dispider(
    username="your_username",
    password="your_password"
)

# 获取任务
task = client.get_next_task()
if task:
    # 处理任务
    result = {"data": "scraped_data"}
    client.submit_task_result(result)
```

## 主要功能

- 🚀 自动任务分发和负载均衡
- 📊 实时任务进度监控
- 🔄 自动重试机制
- 🐳 Docker容器化部署
- 🌐 分布式爬虫管理

## 版本历史

### v3.1.0
- 修复API路由问题
- 优化网络连接处理

### v3.0.2
- 基础功能实现
spectrum-data-loader 0.1.3
A library to easily load spectral data from text files.
Requires Python: >=3.8
Keywords: spectroscopy, data-loader, uv-vis, ftir, chemistry, physics, scientific-data

# Spectrum Data Loader

A simple and robust library for easy loading 2-column (X, Y) spectrum data from text files (.txt). The resulting data can be analyzed as DataFrame for direct plotting, or loaded as two lists for mathematical treatments and post-visualization, or plot method for other visualization modes such as Manim (as demonstrated in the examples).

The output is ready for immediate use with libraries like NumPy, Pandas, and Matplotlib for scientific analysis and visualization.

## Key Features

-   **Simple Interface**: Load any supported spectrum with a single function call: `load_xy_data()`.
-   **Versatile**: Auto-detects common delimiters like spaces, tabs, and commas.
-   **Format Support**: Works with standard text-based formats (`.txt`, `.csv`, `.dat`) and the JCAMP-DX (`.jdx`) format.
-   **Seamless Integration**: Returns data as two clean NumPy arrays, perfect for the scientific Python ecosystem (SciPy, Pandas, Matplotlib).

## Installation

```bash
pip install spectrum-data-loader
```

## Quickstart

Here is a minimal example of how to load and plot a spectrum from a text file.

```python
import spectrum_data_loader as sdl
import matplotlib.pyplot as plt

try:
    # Load the data using the library
    wavelength, absorbance = sdl.load_xy_data('my_spectrum.txt')

    # Print a confirmation
    print(f"Successfully loaded {len(wavelength)} data points.")

    # Create a simple plot with Matplotlib
    plt.figure(figsize=(8, 5))
    plt.plot(wavelength, absorbance, label='My Spectrum')
    plt.xlabel("Wavelength (nm)")
    plt.ylabel("Absorbance (a.u.)")
    plt.title("Spectrum Data")
    plt.grid(True)
    plt.legend()
    plt.show()

except FileNotFoundError:
    print("Error: The file 'my_spectrum.txt' was not found.")
except Exception as e:
    print(f"An error occurred: {e}")
```

## Examples
For more advanced use cases, please see the code in the /examples directory of this repository.
gopika-adventure-game 0.1.0
A text based adventure game using Rich and Questionary
Requires Python: >=3.10

## Advanced Generator Methods - Interactive Adventure Game

### Overview for the task

This task demonstrates the use of advanced generator methods (send(), throw(), and close()) in a text-based adventure game. The player navigates through different stages by making decisions that influence the game's flow.

### Game Flow

- The player starts in a forest and chooses to go North or South.
- Going North leads to a mountain, where they can enter a cave or go back.
- Inside the cave, they find a treasure chest and can choose to open it (win) or leave.
- Going South leads to a river, where they can swim (lose) or go back.

### Modules

- ```game_engine.py```: Manages the main game loop and transitions between stages.
- ```stage_logic.py```: Contains generator functions for each stage (forest, mountain, river, cave).
- ```main.py```: Handles user interaction using questionary and rich for a styled CLI experience.
- ```constants.py```: Defines enums for Stage and Decision.

### How to Play

- Run the game and follow the prompts. Use the arrow keys to select your choices.
- You can quit anytime by selecting Quit or pressing Ctrl + C.

### To run the file

- Navigate to:

    ```bash
    cd src
    ```

- Then run using:

    ```bash
    python -m assignment_12.task_4.main
    ```
MCMarkerMaker 0.1.0
A simple utility to create Avid Media Composer marker import files.
Requires Python: >=3.8

# MCMarkerMaker

A simple utility to create text files for importing sequence markers into Avid Media Composer.

## Installation

Install the package using pip:

```bash
pip install MCMarkerMaker
```

## Usage

Here's a quick example of how to create a marker file:

```python
from MCMarkerMaker import AvidMarkerList

# 1. Create an instance of the marker list manager
my_markers = AvidMarkerList()

# 2. Add markers one-by-one
my_markers.add_marker(tc="01:00:10:05", comment="Start of interview")
my_markers.add_marker(tc="01:02:30:00", comment="Key moment", color="Red")

# 3. Export the list to a file
output_file = "project_markers.txt"
success, error = my_markers.export_to_file(output_file)

if success:
    print(f"Marker file created at: {output_file}")
else:
    print(f"An error occurred: {error}")
```