semvec/pypi-packages huggingface dataset:
termplots 0.2.1
A lightweight plot library for your terminal!
Requires Python: >=3.7

# Termplots

A lightweight plot library for your terminal

## Installation

```
pip install termplots
```

## Get started

### Simple plot

```python
import termplots as tmp

tmp.plot([-0.5,0,1,0.5,1.5], ystep=0.5)
```

Output:

```
 2.0|
 1.5|        *
 1.0|    *
 0.5|      *
 0.0|--*-------
 0.5|*
 1.0|
```

### Multiple plots

```python
import termplots as tmp

tmp.plot([[1,0,2], [-1,0,3,0,2,2]], car=['*', '$', '@'], labels=['List 1', 'List 2'])
```

Output:

```
 4|
 3|    $
 2|    *   $ $
 1|*
 0|--@---$-----
 1|$
 2|

*: List 1
$: List 2
@: overlaps
```

### Compact plot

```python
import termplots as tmp
tmp.cplot([[32,20,0, 112],[-32,-20,0,20]])
```

Output:

```
112|      *
 32|*
 20|  *   #
  0|----@---
 20|  #
 32|#
```

or

```python
import termplots as tmp
tmp.cplot([-3,2,1,15])
```

Output:

```
15|      *
 2|  *
 1|    *
 0|--------
 3|*
```

## Other arguments

### `plot()`

- `ystep` (default `1`): defines steps on the y axis
- `lowlim`: lower limit of the y axis
- `highlim`: upper limit of the y axis
- `car` (default `['*', '#', '@']`): list of point(s) marker, the last char is used for overlaps
- `labels` (default `None`): list of labels

### `cplot()`

- `car` (default `['*', '#', '@']`): list of point(s) marker, the last char is used for overlaps
- `labels` (default `None`): list of labels

## Colors

Termplots support up to 6 colors. Colors are automatically assigned to different series.

> I tested the colors only on macOS. If the colors don't work try a different terminal or open an issue
MazeSolvingAlgos 1.4
Python module written in C++ for generating and solving rectangular Mazes with Graph Traversal Algorithms.

# MazeSolvingAlgos
***MazeSolvingAlgos*** is a Python module written in C++ for generating and solving rectangular Mazes with **Graph Traversal Algorithms**. This Module is a part of **TurtleInTheMaze** Project so it's especially created for ***2D grids***. *You can see **full documentation [here](https://github.com/MahmoudHussienMohamed/MazeSolvingAlgos/wiki/Documentation)***.
## Content of module
* Helper Classes
    * Index 
    * RandomMazeGenerator 
* Solving Algorithms Classes
    - DepthFirstSearch
    - BreadthFirstSearch
    - DijkstraAlgorithm
    - AStar
    - BellmanFord
    - FloydWarshall

## How to install
Simply with pip:

`pip install MazeSolvingAlgos`
## How to use
### RandomMazeGenerator
Use `RandomMazeGenerator` class with arguments `H`, `W`: Height and Width of the maze respectively and call `generate()` to get **W** × **H** random maze (`H`, `W` must be unsigned integers and prefered to be even numbers).
``` Python
RMG = RandomMazeGenerator(50, 50) 
maze = RMG.generate()             # Now, maze is 50 * 50 random cells 
```
### Index
Use `Index` class with arguments `row`, `col` to encapsulate a 2D cell's position and to pass `start` and `end` parameters to any ***Graph Traversal Algorithm*** (***Note that `row` and `col` must be unsigned integers***).

``` Python
idx = Index(2, 13) 
print(idx)             # output: "2, 13" 
print(f"cell's column = {idx.col}, cell's row = {idx.row}")             
# output: "cell's column = 13, cell's row = 2"
```
### GTAs
Let GTA be any solving algorithm; GTA accepts `grid`: 2D boolean list representing the maze (*`True` for **orifice** and `False` for **block or wall***), `start`: `Index` object representing the position of starting cell and `end`: same as `start` for the destination cell.
``` Python
WIDTH = HEIGHT = 50
RMG = RandomMazeGenerator(HEIGHT, WIDTH) 
maze = RMG.generate()
start = Index(0, 0)
end = Index(49, 49)

solver = AStar(maze, start, end)    # Convert the maze to Graph. 
solver.solve()                      # Fires the algorithm logic.
solver.SrcToDestDistance()          # Exact cells' number from start to end cell.
solver.SrcToDestPath()              # List of Index objects representing route. 
solver.TraversedNodesNo()           # Number of cells the algorithm visited (may be > total cells of maze).
solver.TraversedNodes()             # List of Index objects representing unique traversed cells. 
```
Note that:
* Any algorithm have same constructor and methods including but not limited to `Astar`.
* `SrcToDestDistance()` != `len(SrcToDestPath())` and `TraversedNodesNo()` != `len(TraversedNodes())` because I implemented the graph to be weighted for some algorithms and elemenate useless cells to increase memory efficiency and perfomance.
database-seeder 0.0.1
A package to make seeds for some relational databases
Requires Python: >=3.7

# Seeder for Mysql
[![gh-action-pip-audit](https://github.com/conlacda/auto-seeder/actions/workflows/gh-action-pip-audit.yml/badge.svg)](https://github.com/conlacda/auto-seeder/actions/workflows/gh-action-pip-audit.yml)

> Load database then make seeds for it

## Usage
```python
db = Database(host="localhost", user="root", password="", database="seed")
# Make seed without deleting the existence data
db.makeSeed(rows_num=100000)
# Delete data, then make seeds
db.clearAndMakeSeed(rows_num=100000)
```

## TODO
* Load relationship
* Add test
* Add argparser

## Test

```shell
python -m pytest
```

## Packing
https://packaging.python.org/en/latest/tutorials/packaging-projects/