semvec/pypi-packages huggingface dataset:
jsonabler 0.2.2
Python package for making your classes easy encodable to JSON string and vice-versa
Requires Python: >=3.8

[![Lint & Test](https://github.com/webfucktory/python-jsonabler/actions/workflows/lint-test.yml/badge.svg)](https://github.com/webfucktory/python-jsonabler/actions/workflows/lint-test.yml)
[![PyPI version](https://badge.fury.io/py/jsonabler.svg)](https://pypi.org/project/jsonabler)
[![Downloads count](https://img.shields.io/pypi/dm/jsonabler)](https://pypistats.org/packages/jsonabler)

# jsonabler

Python package for making your classes easy encodable to JSON string and vice-versa. 

## Getting started

### Requirements

- Python >= 3.8

### Installation

```bash
pip install jsonabler
```

## Usage

### Making a Jsonable 

Make your class extends the `Jsonable` interface and implements `get_jsonable_data` and `from_jsonable_data` methods with the encoding/decoding logic. 

```python
from jsonabler import Jsonable, jsonabled 

@jsonabled
class Foo(Jsonable):
    def __init__(self, bar: str):
        self.__bar = bar
    
    def get_jsonable_data(self) -> dict:
        return {
            'bar': self.__bar,
        }

    @classmethod
    def from_jsonable_data(cls, data: dict) -> Jsonable:
        return cls(data['bar'])
```

### Registering a Jsonable

For decoding your Jsonable classes, you need to register it.

#### Decorating your classes with the `@jsonabled` decorator

```python
from jsonabler import Jsonable, jsonabled 

@jsonabled
class Foo(Jsonable):
    ...
```    

#### Calling `register_jsonables` method passing class types

```python
from jsonabler import Jsonable, register_jsonables 

class Foo(Jsonable):
    ...

if __name__ == '__main__':
    register_jsonables({Foo})
```

### Encoding a Jsonable

Call `dumps` method passing a `Jsonable` object.

```python
from jsonabler import dumps

def upload_foo(foo: Foo) -> None:    
    json_string = dumps(foo)
    
    # transmit your JSON string
    ...
```

#### Encoded Foo
```json5
[
  'Foo',
  {
    'bar': "abc",
  }
]
```

### Decoding a Jsonable

Call `loads` method passing the JSON string.

```python
from jsonabler import loads, JsonableDecodeError, JsonableNotRegisteredError
from json import JSONDecodeError

def download_foo() -> Foo:    
    # receive JSON string encoded Foo object
    ...

    try:
        return loads(json_string)
    
    # not a valid encoded JSON string
    except JSONDecodeError:  
        ...
    
    # the Jsonable type of the encoded object was not registered
    except JsonableNotRegisteredError:  
        ...
    
    # something went wrong while decoding the object
    except JsonableDecodeError:  
        ...
```

## License

Distributed under the MIT License. See `LICENSE` file for more information.
gdbp 0.2.1
A wrapper for GDB's Python API

# gdbp

A wrapper for GDB's Python API, helping you write GDB Python scripts efficiently and intuitively.

## Installation

```sh
pip install gdbp
```

or

```sh
git clone https://github.com/ramikg/gdbp.git
cd gdbp
python setup.py install
```

## Supported platforms

- GDB 7.2+
- Python 2.7 and 3.0+
- Any GDB-supported architecture
objective-weights-mcda 0.0.12
Package for Multi-Criteria Decision Analysis with Objective Criteria Weighting
Requires Python: >=3.4

# objective-weights-for-mcda

This is Python 3 library dedicated for multi-criteria decision analysis with criteria weights determined by objective weighting methods.
The documentation is provided [here](https://objective-weights-for-mcda.readthedocs.io/en/latest/)

# Installation
Downloading and installation of `objective-weights-mcda` package can be done with using pip

```
pip install objective-weights-mcda
```

# Methods
`mcda_methods` includes:
- `vikor` with VIKOR method

Other modules include:
- `additions` include `rank_preference` method for ranking alternatives according to MCDA score

- `correlations` include: 
	- Spearman rank correlation coefficient `spearman`, 
	- Weighted Spearman rank correlation coefficient `weighted_spearman`,
	- Pearson correlation coefficient `pearson_coeff`
	
- `normalizations` with methods for decision matrix normalization:
	- `linear_normalization` - Linear normalization,
	- `minmax_normalization` - Minimum- Maximum normalization,
	- `max_normalization` - Maximum normalization,
	- `sum_normalization` - Sum normalization,
	- `vector_normalization` - Vector normalization
	
- `weighting_methods` include 11 objective weighting methods for determination of criteria weights (significance) without decision-maker involvement:
	- `equal_weighting` - Equal weighting method
	- `entropy_weighting` - Entropy weighting method
	- `std_weighting` - Standard deviation weighting method
	- `critic_weighting` - CRITIC weighting method
	- `gini_weighting` - Gini coefficient-based weighting method
	- `merec_weighting` - MEREC weighting method
	- `stat_var_weighting` - Statistical variance weighting method
	- `cilos_weighting` - CILOS weighting method
	- `idocriw_weighting` - IDOCRIW weighting method
	- `angle_weighting` - Angle weighting method
	- `coeff_var_weighting` - Coefficient of variation weighting method
	
Examples of usage of `objective_weights_mcda` are provided on [GitHub](https://github.com/energyinpython/objective-weights-for-mcda) in [examples](https://github.com/energyinpython/objective-weights-for-mcda/tree/main/examples)

## License
This package called `objective-weights-mcda` was created by Aleksandra Bączkiewicz. It is licensed under the terms of the MIT license.

## Note
This project is under active development.
libtaipower 0.0.5
A library for retrieving Taipower data.
Requires Python: >=3.7

# Taipower Library

[![CI](https://github.com/qqaatw/libtaipower/workflows/CI/badge.svg)](https://github.com/qqaatw/libtaipower/actions)
[![codecov](https://codecov.io/gh/qqaatw/libtaipower/branch/main/graph/badge.svg?token=W147MOH1T0)](https://codecov.io/gh/qqaatw/libtaipower)
[![docs](https://readthedocs.org/projects/libtaipower/badge/?version=latest)](https://libtaipower.readthedocs.io/en/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/libtaipower.svg?color=%23007ec6)](https://pypi.python.org/pypi/libtaipower/)
[![Python Versions](https://img.shields.io/pypi/pyversions/libtaipower.svg)](https://pypi.python.org/pypi/libtaipower/)
[![Downloads](https://pepy.tech/badge/libtaipower)](https://pepy.tech/project/libtaipower)

## Feature

A Python library for retrieving Taipower data.

## Supported devices

- Taipower AMI electric meter 臺電 AMI 電錶
    - AMI info (quarter/hourly/daily/monthly) AMI 資訊 (十五分/每小時/每日/每月)
    - AMI bill AMI 帳單
    - AMI unbilled AMI 未出帳帳單
    - Bill records 帳單紀錄
- ~~Taipower electric meter 臺電一般電錶~~
    - ~~Bill records 帳單紀錄~~

## Installation

### Python Library

    pip install libtaipower

### Home Assistant Integration

See [taipower-ha](https://github.com/qqaatw/taipower-ha).

## Documentation

See [docs](https://libtaipower.readthedocs.io/en/latest/).

## License

Apache License 2.0