semvec/pypi-packages huggingface dataset:
grapapy 0.1.56
GrapaPy brings robust, production-ready parallel ETL/data processing to Python. By leveraging Grapa's C++ backend, GrapaPy enables true parallelism for high-throughput data workflows—bypassing Python's GIL and making advanced data processing simple and fast.
Requires Python: >=3.6


GrapaPy is a Python extension for the Grapa language, designed for advanced data processing, ETL, and language experimentation. GrapaPy brings robust, production-ready parallel ETL/data processing to Python. By leveraging Grapa's C++ backend, GrapaPy enables true parallelism for high-throughput data workflows—bypassing Python's GIL and making advanced data processing simple and fast.

Features:
- True parallel ETL/data processing from Python
- Hardened, production-ready parallelism
- High performance for large file processing, data transformation, analytics, and more
- Simple, functional API

For comprehensive documentation, visit: https://grapa-dev.github.io/grapa/
swgoh_comlink 1.16.0
Python 3 interface library for swgoh-comlink (https://github.com/swgoh-utils/swgoh-comlink)
Requires Python: >=3.10

# comlink-python

## Description

A python wrapper for the [swgoh-comlink](https://github.com/swgoh-utils/swgoh-comlink) tool.

## Installation
Install from [PyPi package repository](https://pypi.org/project/swgoh-comlink/) using the following shell command.

```buildoutcfg
uv pip install swgoh_comlink
```

## Usage

Basic default usage example:

```python
from swgoh_comlink import SwgohComlink

comlink = SwgohComlink()
player_data = comlink.get_player(allycode=245866537)
player_name = player_data['name']
guild_id = player_data['guildId']
guild = comlink.get_guild(guild_id=guild_id)
guild_name = guild['profile']['name']
```

Usage example with non-default settings for a swgoh-comlink service running on the local machine at TCP port 3500:

```python
from swgoh_comlink import SwgohComlink

comlink = SwgohComlink(url='http://localhost:3500')
player_data = comlink.get_player(allycode=245866537)
player_name = player_data['name']
guild_id = player_data['guildId']
guild = comlink.get_guild(guild_id=guild_id)
guild_name = guild['profile']['name']
```

Usage example with non-default settings for a swgoh-comlink service running on the local machine at TCP port 3500 and swgoh-stats service running on the local machine at TCP port 3550:

```python
from swgoh_comlink import SwgohComlink

comlink = SwgohComlink(url='http://localhost:3500', stats_url='http://localhost:3550')
player_data = comlink.get_player(allycode=245866537)
player_roster = player_data['rosterUnit']
roster_with_stats = comlink.get_unit_stats(player_roster)
```

Usage example with MHAC enabled:

```python
from swgoh_comlink import SwgohComlink

comlink = SwgohComlink(
    url='http://localhost:3000', 
    access_key='public_key', 
    secret_key='this_string_should_be_secret'
)
player_data = comlink.get_player(allycode=245866537)
player_name = player_data['name']
```

# Parameters

- **_url_**: the URL where the swgoh-comlink service is running. Defaults to `http://localhost:3000`
- **_access_key_**: The "public" portion of the shared key used in HMAC request signing. Defaults to `None` which disables HMAC signing of requests. Can also be read from the ACCESS_KEY environment variable.
- **_secret_key_**: The "private" portion of the key used in HMAC request signing. Defaults to `None` which disables HMAC signing of requests. Can also be read from the SECRET_KEY environment variable.

# Logging

Logging is handled by the [python logging module](https://docs.python.org/3/library/logging.html). For details on the
logging implementation for this package, go [here](docs/logging.md).

See the online [wiki](https://github.com/swgoh-utils/swgoh-comlink/wiki) for more information.

## Support

Issues can be reported in [GitHub](https://github.com/swgoh-utils/comlink-python/issues).

Join the [discord server](https://discord.gg/6PBfG5MzR3)
pyjson5 2.0.0
JSON5 serializer and parser for Python 3 written in Cython.
Requires Python: ~=3.8

PyJSON5
==========

A JSON5 serializer and parser library for Python 3 written in
`Cython <http://cython.org/>`_.


Serializer
----------

The serializer returns ASCII data that can safely be used in an HTML template.
Apostrophes, ampersands, greater-than, and less-then signs are encoded as
unicode escaped sequences. E.g. this snippet is safe for any and all input:

.. code:: html

    "<a onclick='alert(" + encode(data) + ")'>show message</a>"

Unless the input contains infinite or NaN values, the result will be valid
`JSON <https://tools.ietf.org/html/rfc8259>`_ data.


Parser
------

All valid `JSON5 1.0.0 <https://spec.json5.org/>`_ and
`JSON <https://tools.ietf.org/html/rfc8259>`_ data can be read,
unless the nesting level is absurdly high.

Functions
---------

You can find the full documentation online at https://pyjson5.readthedocs.io/en/latest/.
Or simply call ``help(pyjson5)``. :-)

The library supplies load(s) and dump(s) functions, so you can use it as a
drop-in replacement for Python's builtin ``json`` module, but you *should*
use the functions ``encode_*()`` and ``decode_*()`` instead.

Compatibility
-------------

At least CPython 3.7 or a recent Pypy3 version is needed.
lemonade 1.0b4
Port of the LEMON Parser Generator

Lemonade is a Python port of the LEMON Parser Generator written by
D. Richard Hipp:

    http://www.hwaci.com/sw/lemon/

Lemonade can be used in the traditional fashion to create a standalone
parser:

    lemonade gram.y

The above command generates "gram.py", which you can include in your
project.

Since Python is a dynamic language, Lemonade could also enable client
software to generate a parser from a user-supplied .y file, and then
use the generated parser on the fly.

This is the beta release of Lemonade.  There is no documentation yet.
You may find the original LEMON documentation helpful:

    http://www.hwaci.com/sw/lemon/lemon.html

However, many of LEMON's "%" directives are irrelevant in Python;
therefore, they have been eliminated in Lemonade.  Further, Lemonade
does not allow code fragments ("{}") within the grammar file.
Instead, the reduce actions are specified in a separate delegate
class.  See the 'examples' directory for an example.
boxTestpy 0.2.0
Beginner-friendly side-by-side boxplots and two-sample tests (t-test / Mann–Whitney).
Requires Python: >=3.8


# boxTestpy

**boxTestpy** is a beginner-friendly Python package for creating **side-by-side boxplots** and performing basic **two-sample statistical tests** (t-test or Mann–Whitney U test) with publication-ready plots. It simplifies data visualization and statistical analysis for beginners and researchers.

---

## Features

* Side-by-side boxplots for a two-level categorical variable
* Normality check using **Shapiro–Wilk test**
* Automatic selection of **independent t-test** or **Mann–Whitney U test**
* Pastel color palette for clean plots
* Optional statistical annotation on plots
* Works with **pandas DataFrames**

---

## Installation

```bash
pip install boxTestpy
```

For plotting support:

```bash
pip install matplotlib seaborn pandas
```

---

## Quick Start

```python
import pandas as pd
import matplotlib.pyplot as plt
import boxtestpy as btp

# Public health dataset: Blood Pressure (systolic)
data = {
    "group": ["Control"]*10 + ["Treatment"]*10,
    "blood_pressure": [
        120, 122, 118, 121, 119, 123, 117, 124, 120, 122,   # Control group
        115, 118, 116, 117, 119, 114, 116, 118, 117, 115    # Treatment group
    ]
}

df = pd.DataFrame(data)

# Side-by-side boxplot with statistical annotation
ax = btp.boxplot_side_by_side(df, group_col="group", value_col="blood_pressure")
plt.show()

# Statistical test
x = df[df["group"] == "Control"]["blood_pressure"]
y = df[df["group"] == "Treatment"]["blood_pressure"]
result = btp.compare_two_groups(x, y)
print("Statistical Test Results:", result)

# Custom pastel colors (optional)
colors = ["#f0106dff", "#adf010ff"]  # pastel red and blue

ax = btp.boxplot_side_by_side(
    df,
    group_col="group",
    value_col="blood_pressure",
    colors=colors
)
plt.show()

```
---

## Functions

### `boxplot_side_by_side(df, group_col, value_col)`

* Creates a side-by-side boxplot for a two-level categorical variable.
* Automatically shows a pastel-colored plot with optional statistical annotation.

### `compare_two_groups(x, y)`

* Performs Shapiro–Wilk normality tests on both groups.
* Runs **t-test** if both groups are normal, or **Mann–Whitney U test** if not.
* Returns a dictionary with test names and p-values.

---

## License

MIT License. See [LICENSE](LICENSE) for details.

---

## Contributing

Contributions, bug reports, and feature requests are welcome. Open an issue or pull request on GitHub.

---

## Contributors

- Arkaprabha Sau (Author, Creator, Maintainer)  
- Santanu Phadikar (Contributor)  
- Ishita Bhakta (Contributor)