semvec/pypi-packages huggingface dataset:
lines-methods 0.0.9
This is the simplest module for quick work with 2D vectors
Requires Python: >=3.8
Keywords: lines methods

# Lines Methods Library #

## What is this? ##
The module allows you to work with vectors in 2D coordinates like [x1, y1, x2, y2]. 

## Quick Guide ##
The module is based on the following structure:

    
    vector = [1, 1, 5, 2]
    length = get_length(coordinates=vector)


----------


### Using ###


Using the library is as simple and convenient as possible:

Let's import it first:
First, import everything from the library (use the `from `...` import ` construct).

Examples of some operations:

Finding the intersection point of two vectors using the `get_intersection()` function:

    intersection = get_intersection(line_a, line_b)


Finding the length of the vector using the `get_length()` function:

    length = get_length(coordinates)


Finding the angle between two vectors using the `get_angle_between_lines()` function:

    angle = get_angle_between_lines(line_a, line_b)


Stretch the line in both directions using the `extend_line()` function:

    new_coordinates = extend_line(line, extend_length)    

Finding the midpoint using the `get_medium_point_from_line()` function:

    medium_point = get_medium_point_from_line(line)

----------


## Developer ##
My github: [Ugryumov_AV](https://github.com/UgryumovAV)
django-podcast-charts 0.0.1
An app to track podcast chart positions from various services.
Requires Python: >=3.12

# Django Podcast Charts

A Django app for tracking podcast charts. **WIP: Not ready for use!**

[![PyPI](https://img.shields.io/pypi/v/django-podcast-charts)](https://pypi.org/project/django-podcast-charts/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-podcast-charts)
![PyPI - Versions from Framework Classifiers](https://img.shields.io/pypi/frameworkversions/django/django-podcast-charts)
[![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/andrlik/django-podcast-charts/blob/main/.pre-commit-config.yaml)
[![License](https://img.shields.io/github/license/andrlik/django-podcast-charts)](https://github.com/andrlik/django-podcast-charts/blob/main/LICENSE)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)
[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/andrlik/django-podcast-charts/releases)
![Test results](https://github.com/andrlik/django-podcast-charts/actions/workflows/ci.yml/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/andrlik/django-podcast-charts/badge.svg?branch=main)](https://coveralls.io/github/andrlik/django-podcast-charts?branch=main)
[![Documentation](https://img.shields.io/badge/docs-mkdocs-blue)](https://andrlik.github.io/django-podcast-charts/)

This application provides a means to keep track of current podcast chart rankings from various backends.
When an official API is provided, it is used, otherwise it will attempt to scrape this information from
available web views.

You can configure this to check as many or as few charts as you would like. Keep in mind that tracking all
charts and countries will result in **a lot** of database entries. This app will attempt to do client-based rate
limiting so long as you ensure you only call chart tracking through the dedicated task functions.

Models are kept light so that you can enrich them with dedicated types such as those found in [django-podcast-analyzer](https://github.com/andrlik/django-podcast-analyzer).
podcast-charts 0.0.1
An app to track podcast chart positions from various services.
Requires Python: >=3.12

# Django Podcast Charts

A Django app for tracking podcast charts. **WIP: Not ready for use!**

[![PyPI](https://img.shields.io/pypi/v/django-podcast-charts)](https://pypi.org/project/django-podcast-charts/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-podcast-charts)
![PyPI - Versions from Framework Classifiers](https://img.shields.io/pypi/frameworkversions/django/django-podcast-charts)
[![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/andrlik/django-podcast-charts/blob/main/.pre-commit-config.yaml)
[![License](https://img.shields.io/github/license/andrlik/django-podcast-charts)](https://github.com/andrlik/django-podcast-charts/blob/main/LICENSE)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)
[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/andrlik/django-podcast-charts/releases)
![Test results](https://github.com/andrlik/django-podcast-charts/actions/workflows/ci.yml/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/andrlik/django-podcast-charts/badge.svg?branch=main)](https://coveralls.io/github/andrlik/django-podcast-charts?branch=main)
[![Documentation](https://img.shields.io/badge/docs-mkdocs-blue)](https://andrlik.github.io/django-podcast-charts/)

This application provides a means to keep track of current podcast chart rankings from various backends.
When an official API is provided, it is used, otherwise it will attempt to scrape this information from
available web views.

You can configure this to check as many or as few charts as you would like. Keep in mind that tracking all
charts and countries will result in **a lot** of database entries. This app will attempt to do client-based rate
limiting so long as you ensure you only call chart tracking through the dedicated task functions.

Models are kept light so that you can enrich them with dedicated types such as those found in [django-podcast-analyzer](https://github.com/andrlik/django-podcast-analyzer).
SPyC_Writer 1.0.1
A program to output data in the Thermo Galactic SPC file format.

# SPyC_Writer

A writer for the Thermo Galactic SPC file format, widely used in Thermo 
Scientific GRAMS and other applications, written in Python. 

The only outside library used is numpy. The remainder of libraries used all come
from the python standard library. Other outside libraries are used for testing, 
but the core module does not use them. Use Python 3.10+.

The module has been cross-validated using https://github.com/rohanisaac/spc and 
[spectragryph](https://www.effemm2.de/spectragryph/) by parsing the output file 
and verifying it matches what is expected.

Validation has been done on Y, XY, XYYY, and XYXYXY file types. All instances 
were successfully parsed.

[Wiley's Know It All](https://sciencesolutions.wiley.com/knowitall-spectroscopy-software/) 
was also used for validating. It successfully parsed all formats except XYXYXY, which it 
states is invalid.

## Tests

Tests are written using pytest and verified using https://github.com/rohanisaac/spc. This package appears to not
have been updated in a while and contains a few errors, but it provides a straight forward interface in python for verifying
parsing.

## To-Do

- Widen support for other SPC aspects that are currently listed as unsupported
	- Allow old file format
	- Provide option for not writing as IEEE float
	- etc.
- Troubleshoot why KIA considers XYXYXY formats invalid
- Expand tests
- Expand input validation and provide informative error messages for wrong input

## References

The Thermo Galactic spc-sdk code:
- https://github.com/bz-dev/spc-sdk

The newer format specification document:
- https://www.yumpu.com/en/document/read/40416248/a-brief-guide-to-spc-file-format-and-using-gspcio

The older format specification document (has greater detail in parts than newer doc):
- https://ensembles-eu.metoffice.gov.uk/met-res/aries/technical/GSPC_UDF.PDF

## Changelog

- 2024-12-16 1.0.1
    - adjusted data validation to shape instead of size
- 2023-10-02 1.0.0
    - fixed for Python 3.11
- 2022-12-05 0.2.0
    - published to PyPi
- 2022-06-06 0.1.0
    - initial version
easy-tree-maker 0.1.6
A tool to create a directory and file structure from JSON or Python object
Requires Python: >=3.6

# Tree Maker

A simple Python package that creates a directory and file structure from a given JSON or Python object.

## Installation

You can install the package using `pip`:

```bash
pip install easy-tree-maker
```

## Usage

You can use the `TreeMaker` class to create directories and files based on a JSON or Python structure.

### Example with Python object:

```python
from easy_tree_maker.core import TreeMaker

# Define the tree structure as a Python object
tree_structure = [
    {
        "type": "directory",
        "name": "TestProject",
        "contents": [
            {"type": "file", "name": "README.md"},
            {"type": "directory", "name": "src", "contents": [
                {"type": "file", "name": "app.py"}
            ]}
        ]
    }
]

# Create the tree with the Python object structure
tree_maker = TreeMaker(tree_structure, is_json=False)
tree_maker.create_tree(root_path="./TestDirectory")
```

### Example with JSON string:

```python
import json
from easy_tree_maker.core import TreeMaker

# Define the tree structure as a JSON string
tree_structure_json = json.dumps([
    {
        "type": "directory",
        "name": "TestProject",
        "contents": [
            {"type": "file", "name": "README.md"},
            {"type": "directory", "name": "src", "contents": [
                {"type": "file", "name": "app.py"}
            ]}
        ]
    }
])

# Create the tree with the JSON string structure
tree_maker = TreeMaker(tree_structure_json, is_json=True)
tree_maker.create_tree(root_path="./TestDirectory")
```

### Example with JSON file:

If you have a JSON file containing the tree structure, you can use it as input:

```python
from easy_tree_maker.core import TreeMaker
import json

# Load the tree structure from a JSON file
with open('tree_structure.json', 'r') as f:
    tree_structure_json = f.read()

tree_maker = TreeMaker(tree_structure_json, is_json=True)
tree_maker.create_tree(root_path="./TestDirectory")
```

## CLI Usage

You can also use the command-line interface (CLI) to create the tree structure from a JSON file or string.

To use the CLI, run:

```bash
easy_tree_maker path_to_json_file_or_string --root /path/to/create/tree
```

### Example:
```bash
easy_tree_maker tree_structure.json --root /tmp/test_tree
```

This will read the JSON file `tree_structure.json` and create the directory and file structure in `/tmp/test_tree`.
xpt2csv-cli 0.1.4
CLI app to convert xpt file to csv

# Install

```{shell}
pip install xpt2csv-cli
```

# convert xpt files to csv
 
Let's assume user have one directory that have xpt files

```

- study_one/
    - bw.xpt
    - dm.xpt
    - lb.xpt
    - mi.xpt
    - om.xpt
    - ts.xpt
    - tx.xpt
```

make a directory where to save csv files

```{shell}
mkdir directory_to_save_csv/
```

now convert xpt files to csv files using 'to_csv' command

```{shell}
to_csv study_one/ directory_to_save_csv/
```

this command will convert all xpt files to csv files and will save in following directory structure

```
- directory_to_save_csv/
    - study_one/
        - bw.csv
        - dm.csv
        - lb.csv
        - mi.csv
        - om.csv
        - ts.csv
        - tx.csv
```


 Let's say user have few study in a directory `all_study/`. 

```
- all_study/
    - study_one/
        - bw.xpt
        - dm.xpt
        - lb.xpt
        - mi.xpt
        - om.xpt
        - ts.xpt
        - tx.xpt
    - study_one/
        - bw.xpt
        - dm.xpt
        - lb.xpt
        - mi.xpt
        - om.xpt
        - ts.xpt
        - tx.xpt
```

```{shell}
to_csv all_study/ directory_to_save_csv/
```

this will convert and save all xpt files in following directory structure

```
- directory_to_save_csv/
        - study_one/
            - bw.csv
            - dm.csv
            - lb.csv
            - mi.csv
            - om.csv
            - ts.csv
            - tx.csv
        - study_one/
            - bw.csv
            - dm.csv
            - lb.csv
            - mi.csv
            - om.csv
            - ts.csv
            - tx.csv
```

NOTE/warning: Metadata in xpt file will lost be when converting to csv.

project in [github](https://github.com/Yousuf28/xpt2csv)  
pypi [link](https://pypi.org/project/xpt2csv-cli/)
fdtooldf 0.0.1
Mine for functional dependencies in dataframes with polars
Requires Python: <4.0,>=3.8

# FDToolDF
This is fork of https://github.com/kristian10007/FDTool which is fork of https://github.com/USEPA/FDTool

This fork introduces:
- Functionality of using pandas and polars dataframes as inputs.
- Better logging.
- (Experiments planned) Multithreaded search optimization.

## Usage

```python
# in cli
!pip install fdtooldf

# in jupyter notebook
from fdtooldf.runner import run_fdtool
import seaborn as sns

df = sns.load_dataset("tips")  # just to demonstrate
result = run_fdtool(df)  # result have two elements - [str to print, real_containers]

print(result[0])
# >>> FD (functional dependancies):
# total_bill | day -> size
# total_bill | day -> time
# total_bill | size -> time
# total_bill | tip -> sex
# total_bill | tip -> size
# total_bill | tip -> time
# total_bill | smoker | size -> day
# total_bill | tip | day -> smoker
# total_bill | tip | smoker -> day
# total_bill | sex | smoker | day -> tip

# >>> EQ (equivalences):
# total_bill | smoker | size <-> total_bill | smoker | day
# total_bill | tip | day <-> total_bill | tip | smoker

# >>> CK (candidate keys):
# total_bill | tip | day
# total_bill | tip | smoker
# total_bill | sex | smoker | day
# total_bill | sex | smoker | size



result[1]
# {'FD': frozenset({(frozenset({'day', 'total_bill'}), 'time'),
#             (frozenset({'size', 'total_bill'}), 'time'),
#             (frozenset({'size', 'smoker', 'total_bill'}), 'day'),
#             (frozenset({'tip', 'total_bill'}), 'size'),
#             (frozenset({'day', 'total_bill'}), 'size'),
#             (frozenset({'day', 'sex', 'smoker', 'total_bill'}), 'tip'),
#             (frozenset({'tip', 'total_bill'}), 'sex'),
#             (frozenset({'tip', 'total_bill'}), 'time'),
#             (frozenset({'smoker', 'tip', 'total_bill'}), 'day'),
#             (frozenset({'day', 'tip', 'total_bill'}), 'smoker')}),
#  'EQ': frozenset({frozenset({frozenset({'day', 'tip', 'total_bill'}),
#                        frozenset({'smoker', 'tip', 'total_bill'})}),
#             frozenset({frozenset({'size', 'smoker', 'total_bill'}),
#                        frozenset({'day', 'smoker', 'total_bill'})})}),
#  'CK': frozenset({frozenset({'day', 'sex', 'smoker', 'total_bill'}),
#             frozenset({'sex', 'size', 'smoker', 'total_bill'}),
#             frozenset({'day', 'tip', 'total_bill'}),
#             frozenset({'smoker', 'tip', 'total_bill'})})}

```

## License
Notes:
Module REPO/fdtooldf/modules/dbschema released under C-FSL license and copyright held by Elmar Stellnberger.