semvec/pypi-packages huggingface dataset:
istop 0.0.1.1
Python implementation of TOPSIS method

# ISTOP
TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) implementation in python

Please checkout this [link](https://en.wikipedia.org/wiki/TOPSIS#TOPSIS_method) to see more details
about TOPSIS steps. 

## Install

You can install the latest release,

```zsh
$ pip install istop
```

## Usage

```python
>>> import numpy as np
>>> from istop import Topsis

>>> evaluation_matrix = np.array([
...     [1, 2, 3, 4],
...     [4, 3, 2, 1],
...     [3, 3, 3, 3],
...     [4, 4, 4, 4],
...     [1, 2, 4, 4]
... ])
>>> criteria = [False, True, True, True]
>>> weights = [5, 5, 9, 0]

>>> topsis = Topsis(
...     matrix=evaluation_matrix,
...     criteria=criteria,
...     weights=weights
... )
>>> result = topsis.calculate()
>>> print(result.best_ranks)
[2, 3, 4, 1, 5]
>> print(result.worst_similarities)
[0.56842726 0.18322884 0.43760627 0.55861195 0.68474356]

>>> print(result)
best_ranks=[2, 3, 4, 1, 5]
best_similarities=[0.43157274 0.81677116 0.56239373 0.44138805 0.31525644]
worst_ranks=[2, 3, 4, 1, 5]
worst_similarities=[0.56842726 0.18322884 0.43760627 0.55861195 0.68474356]
```

The **_weights_** parameter is optional. 
If you don't send it, the default value for each attribute will be 1.

## Contribution

Please check to the pylint and flake8 steps in workflow before contribution.
web-screen-annotator 0.1.1
data extraction library

# web screen annotator
a tool to collect data for element detection in web site screen shots,
extract elements from a web site and generates a json file.

### Installation
```
pip install web_screen_annotator
```

### Get started
How to extract data from web sites using this lib:

```Python
import web_screen_annotator 
# list of urls of sites
urls = [
        "C:\\Users\\DELL\\Projects\\First Demo\\login.html",
        ]
annotator = web_screen_annotator.DataAnnotator(urls,depth = 5)
annotator.execute(viz=True)
```
minuteman 0.1.0
Represent and transform expressions of time eg. '5 minutes a day in a year in days' = 1.27 days.
Requires Python: >=3.9

# Minuteman

Represent and transform expressions of time. For example:

- 5 minutes per day in a year in days = 1.27 days.
- 1 hour per day in a decade in weeks = 21,72 weeks
- 10 months a year in 4 decades in years = 33.33 years

### Install

`pip install minuteman`

### Usage

Basic usage: from humanreadable expression to a number
```python
from minuteman.parser import parse

# Case 1: calculation of daily habbit adding up.
expression = "5 minutes a day in 1 year in days" 
result = parse(expression)
print(result) # 1.2673611111111112 days

# Same result with rounding to given decimals.
result = parse(expression, 2)
print(result) # 1.27 days

# Case 2: how many actual years one spends working in 40 year career.
expression = "10 months a year in 4 decades in years"
result = parse(expression, 0) # indicating no decimals.
print(result) # 33 years

```

More fine tune usage: ignoring humanreadable strings and using straight number input
```python
from minuteman.core import transform, TimeExpressionRequest
from minuteman.units import TimeExpression, UnitOfTime

# Build a time expression request from parts

# Case: 8 hours a day in a year in months
request = TimeExpressionRequst(
    original=TimeExpression(
        amount=8,
        unit=UnitOfTime.HOURS,
    ),
    in_time=TimeExpression(amount=1, unit=UnitOfTime.DAYS),
    comparison=TimeExpression(amount=1, unit=UnitOfTime.YEARS),
)
resolution = UnitOfTime.MONTHS

result = transform(request, resolution)

# Result is a TimeExpression instance with amount & unit.
print(result) # TimeExpression(amount=4.055555555555555, unit=UnitOfTime.Months)


```

#### Supported units of time:
- Seconds
- Minutes
- Hours
- Days
- Weeks
- Months
- Years
- Decades