semvec/pypi-packages huggingface dataset:
pii-Scanner 0.1.22
A library for scanning Personally Identifiable Information (PII).
Requires Python: >=3.10

# PII Scanner

A Python library designed for text processing using SpaCy and custom regex pattern matching. This library is capable of processing a variety of text data formats, such as lists, plain text, PDFs, JSON, CSV, and XLSX files

## Installation

```bash
pip install pii_scanner
```

## Usage 

```bash
import asyncio
from pii_scanner.scanner import PIIScanner
from pii_scanner.constants.patterns_countries import Regions

async def run_scan():
    # Start the timer
    start_time = time.time()

    pii_scanner = PIIScanner()
    # file_path = 'dummy-pii/test.json' 
    file_path = 'dummy-pii/test.xlsx' 

    data = ['Ankit Gupta', '+919140562125', 'Indian']
    results_list_data = await pii_scanner.scan(data=, sample_size=0.005, region=Regions.IN)
    # results_file_data = await pii_scanner.scan(file_path=file_path, sample_size=0.005, region=Regions.IN)

    print("Results:", results_list_data, results_list_data)

# Run the asynchronous scan
asyncio.run(run_scan())


```


## Output 

```bash
[
    {
        "text": "Ankit Gupta",
        "entity_detected": [
            {"type": "PERSON", "start": 0, "end": 11, "score": 0.85}
        ]
    },
    {
        "text": "+919140562195",
        "entity_detected": [
            {"type": "PHONE_NUMBER", "start": 0, "end": 13, "score": 0.85}
        ]
    },
    {
        "text": "Indian",
        "entity_detected": [
            {"type": "NATIONALITY", "start": 0, "end": 6, "score": 0.9}
        ]
    }
]


```
bardata 0.0.3
Bar data manipulation utilities
Requires Python: >=3.10
Keywords: data, finance

# Bar data utilities in Python

This package includes utilities and a plugin model to fetch and manipulate bar data
for stocks and financials markets from various providers. This is work in progress.

Bar data is represented as a datafrane with a `date` or `datetime` index
and `open`, `high`, `low`, `close`, `volume` columns all in lower case.
Data for stocks prices is assumed adjusted by default.

The main conventions are:
- data sources are referenced by a single `source` parameter
- all sources accept similar frequencies with the `freq` parameter
- maximum number of bars is indicated with the `max_bars` parameter
- both `start_date` and `end_date` parameters are optional

## Typical Usage

```python
from bardata import get_prices

TICKER = "AAPL" 
SOURCE = 'sample'
FREQ = 'daily'

prices = get_prices(ticker, freq=FREQ, source=SOURCE)
```

## Related Projects & Resources

- [findatapy](https://github.com/cuemacro/findatapy) Python library to download
market data via Bloomberg, Eikon, Quandl, Yahoo etc.
polars-argpartition 0.0.3
Polars plugin implementing argpartition function
Requires Python: >=3.8

# Polars argpartition

A [Polars plugin](https://docs.pola.rs/user-guide/plugins/expr_plugins/#writing-the-expression) that implements the [`argpartition`](https://numpy.org/doc/stable/reference/generated/numpy.argpartition.html) function in Rust.

Under the hood, it uses the [`select_nth_unstable`](https://doc.rust-lang.org/std/primitive.slice.html#method.select_nth_unstable) method from the Rust standard library.

## Installation

```bash
pip install polars-argpartition
```

## Usage

```python
import polars as pl
from polars_argpartition import argpartition

df = pl.DataFrame(
    {
        "a": [1, 3, 6, 2, 5, 10, 12],
    }
)

print(df.with_columns(idxs=argpartition(pl.col("a"), k=3)))

```

Output (the order may change between runs, but the element at index 3 will always be the 4th smallest element):

```
shape: (7, 2)
┌─────┬───────┐
│ a   ┆ idxs  │
│ --- ┆ ---   │
│ i64 ┆ u32   │
╞═════╪═══════╡
│ 1   ┆ 0     │
│ 3   ┆ 3     │
│ 6   ┆ 1     │
│ 2   ┆ 4     │
│ 5   ┆ 2     │
│ 10  ┆ 5     │
│ 12  ┆ 6     │
└─────┴───────┘
```

Another use case of this function is to get top-k elements in a column without caring about their order. You can do that as follows 

```python
df = pl.DataFrame(
    {
        "a": [1, 3, 6, 2, 5, 10, 12],
    }
)

k = 3

print(
    df.with_columns(
        idxs=argpartition(
            -pl.col("a"),
            k=k,
        )
    )
    .with_row_index(name="row_index")
    .filter(pl.col("row_index").is_in(pl.col("idxs").slice(0, k)))
    .select(["a"])
)

```

Output:

```
shape: (3, 1)
┌──────┐
│ a    │
│ ---  │ 
│ i64  │
╞══════╡
│ 6    │
│ 10   │
│ 12   │ 
└──────┘
```

## Acknowledgments

A huge thank you to [Marco Gorelli](https://github.com/MarcoGorelli) for his fantastic [Polars plugin tutorial](https://marcogorelli.github.io/polars-plugins-tutorial/), which served as the foundation for this project.
crimson-langgraph-dev-tool 0.1.0
A lightweight library for langgraph that provides useful shortcuts and additional utility functions.
Requires Python: >=3.10

# Crimson LangGraph Development Tools

A lightweight library for LangGraph that provides useful shortcuts and additional utility functions.

[![PyPI - Version](https://img.shields.io/pypi/v/crimson-langgraph-dev-tool.svg)](https://pypi.org/project/crimson-langgraph-dev-tool/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/crimson-langgraph-dev-tool.svg)](https://pypi.org/project/crimson-langgraph-dev-tool/)

## Installation

```bash
pip install crimson-langgraph-dev-tool
```

## Overview

This library provides a set of tools and examples to make working with LangGraph easier and more efficient. It includes utility functions for visualization and a collection of examples demonstrating common patterns and use cases.

## Modules

### `crimson.langgraph_dev_tool.display`

This module contains functions for visualizing LangGraph objects:

- `display_graph(graph)`: Renders a compiled state graph as a Mermaid diagram in Jupyter notebooks

Example usage:
```python
from crimson.langgraph_dev_tool.display import display_graph
from langgraph.graph import StateGraph

# Create your graph
builder = StateGraph(State)
# Add nodes and edges
# ...
graph = builder.compile()

# Display the graph
display_graph(graph)
```

## Examples

The repository includes several examples demonstrating the use of LangGraph in different scenarios:

### Conditional Edge Examples

Located in `example/langgraph/conditional_edge.ipynb`

This example demonstrates how to use conditional edges in LangGraph to create dynamic branching logic based on state conditions. It covers:

- Basic conditional branching
- Using typed dictionaries for state management
- Creating functions that return a list of destinations
- Using `RunnableLambda` with conditional edges
- Adding listeners for debugging and monitoring

Highlights:
- Using `route_chars` function to conditionally route to multiple nodes
- Demonstrating the differences between using a `Callable` vs a `Runnable` for path selection
- Examples of advanced typehints and their usage in LangGraph

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the MIT License - see the LICENSE file for details.
leapyearmodule 0.1.0
A module to determine leap years and classify years as AD or BC
Requires Python: >=3.6

# LeapYearModule
A simple Python module to determine if a year is a leap year and classify years as AD (Anno Domini) or BC (Before Christ). Bulit by Om Satyawan Pathak.

## Installation
You can install `leapyearmodule` using pip:

```bash
pip install leapyearmodule
DefaultCreds_cheat_sheet 0.5.3.0
One place for all the default credentials to assist pentesters during an engagement, this document has several products default login/password gathered from multiple sources.
Requires Python: <4.0.0,>=3.7.0

# Default Credentials Cheat Sheet

<p align="center">
  <img src="https://media.moddb.com/cache/images/games/1/65/64034/thumb_620x2000/Lockpicking.jpg"/>
</p>

**One place for all the default credentials to assist pentesters/blue Teamers during engagements, featuring default login/password details for various products sourced from multiple references.**

> P.S : Most of the credentials were extracted from changeme,routersploit and Seclists projects, you can use these tools to automate the process https://github.com/ztgrace/changeme , https://github.com/threat9/routersploit (kudos for the awesome work)


## Installation & Usage

```bash
$ pip3 install defaultcreds-cheat-sheet
$ creds search tomcat
```

| Operating System   | Tested         |
|---------------------|-------------------|
| Linux(Kali,Ubuntu,Lubuntu)             | ✔️      |
| Windows             | ✔️               |
| macOS               | ✔️               |

## Creds script

### Usage Guide
```bash
# Search for product creds
➤ creds search tomcat                                                                                                      
+----------------------------------+------------+------------+
| Product                          |  username  |  password  |
+----------------------------------+------------+------------+
| apache tomcat (web)              |   tomcat   |   tomcat   |
| apache tomcat (web)              |   admin    |   admin    |
...
+----------------------------------+------------+------------+

# Update records
➤ creds update
Check for new updates...🔍
New updates are available 🚧
[+] Download database...

# Export Creds to files (could be used for brute force attacks)
➤ creds search tomcat export
+----------------------------------+------------+------------+
| Product                          |  username  |  password  |
+----------------------------------+------------+------------+
| apache tomcat (web)              |   tomcat   |   tomcat   |
| apache tomcat (web)              |   admin    |   admin    |
...
+----------------------------------+------------+------------+

[+] Creds saved to /tmp/tomcat-usernames.txt , /tmp/tomcat-passwords.txt 📥
```

**Run creds through proxy**
```bash
# Search for product creds
➤ creds search tomcat --proxy=http://localhost:8080

# update records
➤ creds update --proxy=http://localhost:8080

# Search for Tomcat creds and export results to /tmp/tomcat-usernames.txt , /tmp/tomcat-passwords.txt
➤ creds search tomcat --proxy=http://localhost:8080 export
```

## Contribute

If you cannot find the password for a specific product, please submit a pull request to update the dataset.<br>

> ### Disclaimer
> **For educational purposes only, use it at your own responsibility.**