semvec/pypi-packages huggingface dataset:
ipeds-wrangler 0.1.1
A package for wrangling IPEDS data
Requires Python: >=3.13

# ipeds-wrangler

## What it does

The United States National Center for Education Statistics (NCES) maintains the Integrated Postsecondary Education Data System (IPEDS). Each year, IPEDS collects data from approximately 6,000 institutions, representing more than 15 million students. These data can enable many institutional research projects, such as: benchmarking against peer institutions, tracking enrollment trends, and analyzing graduation rates. However, IPEDS data can be challenging to wrangle into actionable insights - especially for Python users.

This package is new, but ipeds-wrangler will enable Python users to:

- Webscrape IPEDS databases and convert key tables to CSV files with `download_ipeds_databases`.
- Search IPEDS databases efficiently with `search_ipeds_databases` - coming soon!
- Convert numerical categorical variables into user-friendly text with `convert_ipeds_numeric_categories` - coming soon!

## Get started

Install the package:
```bash
pip install ipeds-wrangler
```

Download IPEDS databases:
```python
from ipeds_wrangler import download_ipeds_databases

# Download the most recent 4 years of IPEDS databases to your Desktop
download_ipeds_databases()

# Or specify a custom directory name
download_ipeds_databases(download_directory="my_ipeds_data")
```
pytest-pvcr 0.1.0
PyTest Process VCR
Requires Python: >=3.12

# pytest-pvcr

A pytest plugin that records and replays commands executed with `subprocess.run()`.

This plugin was inspired by VCR.py.

## Installation

This project can be installed via pip:

```
pip install pytest-pvcr
```

## Usage

```python
import subprocess
import pytest

@pytest.mark.pvcr()
def test_command():
    # subprocess.run is patched at runtime
    ret = subprocess.run(["ls", "/tmp"])

    assert rc.returncode == 0

@pytest.mark.pvcr(wait=False)
def test_command():
    # Super long command but since wait == False, PVCR does not wait its completion
    ret = subprocess.run(["sleep", "1000"])

    assert rc.returncode == 0
```

Run your tests:

```shell
pytest --pvcr-record-mode=new test_commands.py
```

### Record modes

There is three record modes:

```shell
# Only record new commands not previously recorded
pytest --pvcr-record-mode=new test_commands.py

# Record nothing
pytest --pvcr-record-mode=none test_commands.py

# Record all commands, even previously recorded ones
pytest --pvcr-record-mode=all test_commands.py
```

### Block execution

The execution of processes can be completely blocked.
This is useful to protect test environments from destructive commands.

```shell
pytest --pvcr-block-run test_commands.py
```

The test will fail if an unrecorded command is executed.

### Fuzzy matching

Commands can be fuzzy matched by defining one or more regex.

If a fuzzy regex has matching groups, the matched parts are kept for matching the commands.

If a fuzzy regex has no matching groups, the whole matched string is ignored when matching the commands.

```shell
# Ignore `--dry-run` arguments when matching commands
pytest --pvcr-fuzzy-matcher='--dry-run' test_commands.py

# Ignore the beginning of a path and keep the filename
pytest --pvcr-fuzzy-matcher='^.+\/(kubeconfig)$' test_commands.py
```

It's possible to automatically ignore the parent path of the test script.
This parameter is useful to make test assets portable.

```shell
pytest --pvcr-auto-fuzzy-match test_commands.py
```

## Python support

This plugin supports python >= 3.12

## Authors

* Fabien Dupont <fabien.dupont@eurofiber.com>