semvec/pypi-packages huggingface dataset:
ThinSOS 0.1.1
Python API to the 52North SOS implementation
Requires Python: >=3.9

ThinSOS - Python API to the 52North SOS implementation
===================================================================
Still a work in progress...but GetCapabilities, GetDataAvailability, GetFeatureOfInterest, and GetObservation have been implemented.

This package was inspired by `py4sos <https://github.com/manuGil/py4sos>`_.

ThinSOS GitHub repo is here: `ThinSOS <https://github.com/mullenkamp/ThinSOS>`_

Installation
------------
ThinSOS can be installed via pip or conda::

  pip install ThinSOS

or::

  conda install -c mullenkamp ThinSOS
vocalize 0.0.7
A library to simply and easily have conversations with AI Agents.
Requires Python: >=3.11

The flow should have a debug mode that keeps track of execution and response time for each step. For example: it should log how long it takes to the LLM text completion and get an audio response from TTS provider. This will better track latency bottlenecks and the user will be able to choose better providers.


Needed Documentation:
1. Interrupter.cancellable usage and coroutines
2. Roadmap and upcoming features
3. Where things happen in flow EX: user message is added in STT
Customer-dna 0.1.2
A customer analysis package for data
Requires Python: >=3.6

# Customer Segmentation, CLTV, and MBA Analysis

This package performs **Customer Segmentation**, **Market Basket Analysis (MBA)**, and **Customer Lifetime Value (CLTV)** calculation with features for predicting **Customer Attrition** and generating **Next Best Product Recommendations**.

## Features

- **Customer Segmentation**: Clusters customers based on purchasing behavior using clustering models.
- **Market Basket Analysis (MBA)**: Performs market basket analysis to understand product association patterns.
- **CLTV Calculation**: Estimates customer lifetime value using BG/NBD and Gamma-Gamma models.
- **Customer Attrition Prediction**: Identifies customers at risk of leaving the company.
- **Next Best Product Recommendation**: Recommends products based on customer purchase behavior.

## Installation

1. Clone the repository:

   ```bash
   pip install Customer_dna
   ```
2. Install the required dependencies:
    ```bash
    pip install -r requirements.txt
    ```
## Usage:
This package provides a main() function that runs customer segmentation, market basket analysis, CLTV calculation, attrition prediction, and product recommendation.
```bash
import pandas as pd
from customer_dna.main import main

# Load your dataset
df = pd.read_csv("your_dataset.csv")

# Call the main function
recommendations = main(df, sample_size=10000, top_n=5)

# Output the recommendations
print(recommendations)
```
## Data Requirements

Your input data should have the following columns (or their synonyms as detected by the package):

*   `InvoiceNo`: Invoice number of the transaction.
*   `InvoiceDate`: Date of the transaction.
*   `Description`: Product description.
*   `Quantity`: Quantity purchased.
*   `UnitPrice`: Price of the product.
*   `CustomerID`: Unique customer identifier.
*   `Country`: Country of the customer.

## Key Functions

1. **Customer Segmentation** (`customer_segmentation()`): Segments customers based on purchasing behavior using PyCaretâ€™s clustering models.

2. **Market Basket Analysis (MBA)** (`mba()`): Analyzes product associations in different customer segments using `mlxtend`.

3. **CLTV Calculation** (`process_and_visualize_clv()`): Computes customer lifetime value using the BG/NBD and Gamma-Gamma models.

4. **Customer Attrition Prediction** (`predict_customer_attrition()`): Predicts customers likely to churn based on the CLTV output.

5. **Product Recommendation** (`next_best_product_recommendation()`): Recommends the next best products for each customer based on previous purchasing patterns.

### Required Modules

```bash
pandas==1.3.3
numpy==1.21.2
matplotlib==3.4.3
seaborn==0.11.2
scikit-learn==0.24.2
scipy==1.7.1
pycaret==2.3.3
lifetimes==0.11.3
mlxtend==0.19.0
plotly==5.3.1
networkx==2.6.3
```
web-raider 0.0.2
Web Raider
Requires Python: <4.0,>=3.9

# web-raider

## Overview

Web Raider is a powerful web scraping and data extraction tool designed to help you gather information from various websites efficiently. It provides a simple interface to configure and run web scraping tasks, making it easy to collect and process data for your projects.

## Setup Guide

1. Clone this repository from GitHub.
2. Open terminal (after redirecting yourself to the repo) and run the following commands:

    - `pip install poetry` (don't create venv through python. does not go well.)
    - `poetry lock` (creates venv for you)
    - `poetry install`

### Setup for Raider Backend

Run `pip install -e .` from the git root directory. Raider Backend will call Web Raider using `pipeline_main(user_query: str)` from `web_raider/pipeline.py`.

## Usage

1. Configure your scraping tasks by editing the configuration files in the `config` directory.
2. Run the scraper using the command: `poetry run python main.py`
3. The scraped data will be saved in the `output` directory.

## How the Repository Works

- **web-raider/**: Contains the core logic of the application.
  - **article.py**: Handles the extraction of codebase URLs from articles.
  - **codebase.py**: Defines the `Codebase` class and its subclasses for different code hosting platforms.
  - **connection_manager.py**: Manages WebSocket connections and message buffering.
  - **evaluate.py**: Evaluates codebases based on a query.
  - **model_calls.py**: Handles calls to external models for query simplification, relevance, scoring, and ranking.
  - **pipeline.py**: Defines the main pipeline for processing user queries.
  - **search.py**: Handles Google search queries and filters results.
  - **shortlist.py**: Shortlists codebases based on a query.
  - **url_classifier.py**: Classifies URLs into different categories.
  - **utils.py**: Contains utility functions.
  - **constants.py**: Defines constants used across the application.
  - **__init__.py**: Initializes the web-raider package.
- **assets/**: Contains auxiliary files and configurations.
  - **key_import.py**: Handles the import of API keys.
  - **prompts.py**: Defines various prompts used in model calls.
  - **__init__.py**: Initializes the assets package.
- **tests/**: Contains unit tests for the application. Run the tests using `pytest` to ensure everything is working correctly.

## Tasklist to complete before Wallaby

1. fix relative/absolute import problem. don't rely on `-m`
2. need to be able to run the code from any directory

## Future Implementations/Improvements

- Use Machine Learning Classification Algorithms to classify types of URLs to their type (Codebase, Article, Forum)
- Find a way to handle Forum URLs (right now they are not processed)
- Find a way to scrape code directly from Articles and Forum URLs (right now only links are scraped)
- Properly implement main query breakdown instead of just whacking LLM
CacheCraft 0.1.2
A simple in-memory caching module like Memcached
Requires Python: >=3.6

# CacheCraft
CacheCraft is a custom in-memory caching system designed to improve application performance by storing and retrieving data with low-latency access.
`This Project is fully inspired by Memcached`

## How to Use?
```
pip install CacheCraft
```
### Example 1 (General Set & Get)
```
>>> from cachecraft.cache import CacheCraft
>>> cache = CacheCraft()
>>> cache.set('key', 'value')
>>> cache.get('key')
'value'
```
### Example 2 (With Size and Default Time to live logic)
```
>>> cache = CacheCraft(max_size =100, default_ttl =2)
>>> cache.set('key', 'value')
>>> cache.get('key')
'value'
>>> import time; time.sleep(2)
>>> cache.get('key')
>>> 
```
### Example 3 (Least Recently Used LRU)
```
# Size is 3 so, if 4rth key will be added then
# oldest used will be removed
>>> from cachecraft.cache import CacheCraft
>>> cache = CacheCraft(max_size=3, default_ttl=30)
>>> cache.set('a', 1)
>>> cache.set('b', 2)
>>> cache.set('c', 3)
>>> cache.get('a')
1
>>> cache.get('c')
3
>>> cache.set('d', 4)  # Once 'd' will set 'b' will be removed 
>>> cache.get('b')     # due to LRU
>>> 
```
<img width="1440" alt="Screenshot 2024-10-03 at 9 02 31 AM" src="https://github.com/user-attachments/assets/833394e4-1e42-4e84-a36e-7f0d9071e110">


## Validating through Testcase
```
git clone git@github.com:Aditya-1998k/CacheCraft.git
pip install pytest
pytest tests/
```
<img width="1440" alt="Screenshot 2024-10-03 at 9 16 48 AM" src="https://github.com/user-attachments/assets/c6d68388-3f2f-4884-8b5c-3666b17c74df">


## Project Structure
```
CacheCraft/
├── cachecraft/
│   ├── __init__.py   # Package init file
│   ├── cache.py      # Core caching logic
├── tests/
│   ├── test_cache.py # pytest
├── setup.py          # Setup configuration for PyPI 
├── README.md         # Project description
└── LICENSE           # License file
```

## Features
```
1. Key-value store
2. Expiration : Optionally set TTl (time to live)
3. LRU Eviction Policy : Automatically evicts the least recently used entries
6. Customizable: Modify cache size, eviction policy etc.
```

## License
### This project is licensed under the MIT License. See the [LICENSE](https://github.com/Aditya-1998k/CacheCraft/blob/main/LICENSE) file for details.
streamlit-change-language 0.0.2
支持streamlit内置组件中的文本中英文切换
Requires Python: >=3.9

# streamlit_change_language
`streamlit_change_language`支持streamlit内置组件中的文本中英文切换的库.

功能特点：

- 支持streamlit内置组件中的文本中英文切换

使用方法：

- `from streamlit_change_language import cst`
- `cst.change(language='cn')`
-   language可选项为 `en-英文, cn-中文`