semvec/pypi-packages huggingface dataset:
kbodatatools 0.0.1
KBO data wrangling & analysis tools
Requires Python: >=3.6.0


# kbodatatools

이 패키지는 KBO의 경기 자료를 수집하고 간단한 분석 기능을 제공합니다.  

## 설치

사용하시는 os에 따라 cmd나 터미널에서 pip를 통해 패키지를 인스톨 해줍니다. 이 패키지는 파이썬 3.6 버전 이상의 환경에서 사용이 가능합니다.

### 패키지 인스톨

```bach
pip3 install kbodatatools
```

### 패키지 임포트

```python
import kbodatatools
```

## 사용법

### 전체(2010 ~ 2019년 10월까지) 게임 자료를 받아오는 방법

위의 방법을 통해 가상환경이 활성화되면 가상환경에서 아래의 순서대로 파이썬 스크립트 파일을 실행하면 전체 게임 자료를 받아올 수 있습니다. 참고로 전체 자료를 다운 받는 과정에는 약 3시간 이상의 시간이 소요됩니다. 아래의 과정을 끝 마치면 sample 폴더에서 2010~2019년 8월까지의 스코어 보드와 타자와 투수 데이터, 기타 정보가 있는 json 파일과 타자, 투수 데이터 그리고 경기 정보에 대한 데이터가 csv 파일로 생성됩니다.

```python


```

### 분석 모듈 사용 방법

전체 자료가 만들어지면 선수들의 간단한 타격, 투구 기록을 확인해 볼 수 있습니다. 계산 가능한 기록들의 목록은 다음과 같습니다. 타격 기록: 타율, 타점, 득점, 안타, 1루타, 2루타, 3루타, 홈런, 볼넷(4구), 몸에맞는공, 고의4구, 병살, 출루율, 장타율, 희생플라이, 희생번트, 피삼진이 있습니다. 투구 기록: 방어율, 투구수, 타자수, 홀드, 세이브, 피안타, 삼진, 피홈런, 4사구, 자책점, 승률, 이닝, 이닝당투구수, 승리, 패배, 무승부가 있습니다. 이 기록들은 아래와 같은 방식으로 확인할 수 있습니다. 아래에서와 같이 연도별 혹은 월별 기록으로도 확인할 수 있습니다.

```python3
import basic_analysis

basic_analysis.get_player_record(name="이병규",record="타율")
basic_analysis.get_player_record(name="허준혁",record="방어율")
basic_analysis.get_player_record(name="김현수",record="출루율",year=2019)
basic_analysis.get_player_record(name="김광현",record="방어율",year=2019)
basic_analysis.get_player_record(name="김현수",record="출루율",year=2019,month=6)
basic_analysis.get_player_record(name="김광현",record="방어율",year=2019,month=6)
```

참고로 2019년 힌화의 지성준 선수와 장진혁 선수의 경우 KBO의 리뷰 페이지 상으로 3번째 타석의 기록이 나와있지 않기 때문에 타격 기록의 계산이 맞지 않습니다.

### data 폴더의 기초 자료 소개

data 폴더에는 선수 id를 구성하는데 필요한 데이터들과 자료 수집하고 구성하기 위한 데이터들이 있습니다. 그 외에 patch_file이라는 폴더에는 이병규, 허준혁, 이승호 선수의 id 구분을 위한 데이터들이 있습니다. 이 데이터들은 이후 patch.py 파일에서 사용하게 됩니다. record_list.csv 파일은 분석 함수에서 계산할 수 있는 기록들을 모아놓은 데이터 입니다. 이 데이터 파일은 함수 사용시 참고용으로만 사용됩니다. sample 폴더는 이후 경기 자료를 수집하는 코드를 실행시키면 그 결과가 저장되는 폴더입니다. 따라서 이 폴더를 지우게 될 경우 코드 실행시 에러가 발생합니다.

### 스크립트 실행으로 생성되는 자료 소개

전체 게임의 리뷰 데이터는 all_data.json 파일로 저장됩니다. 이 json 파일을 이용해 2010년에서 2019년 8월까지의 타자(KBO_batter_data_full.csv)와 투수(KBO_pitcher_data_full.csv)의 경기 기록 데이터가 생성됩니다. 이렇게 생성된 타자와 투수 데이터는 스크립트를 실행하여 id가 생성됩니다. 이렇게 생성된 데이터를 이용해 선수들의 간단한 기록을 비교 분석해 볼 수 있습니다. 경기 정보 데이터(KBO_game_info_data.csv)는 2010년에서 2019년 8월 까지 승패와 같은 결과와 심판, 구장 등의 경기 정보가 저장됩니다.

### 참고 링크

- [Parsing JavaScript rendered pages in Python with pyppeteer | Tchut-Tchut Blog](https://beenje.github.io/blog/posts/parsing-javascript-rendered-pages-in-python-with-pyppeteer/)
pytorch-gradcam 0.2.1
A Simple pytorch implementation of GradCAM, and GradCAM++
Requires Python: >=3.5, <4
Keywords: GradCam CNN visualization heatmap

### A Simple pytorch implementation of GradCAM[1], and GradCAM++[2]
<br>
<p align="center">
<img src=assets/readme.png>
</p>

### Installation

```sh
pip install pytorch-gradcam
```

### Supported torchvision models
- alexnet
- vgg
- resnet
- densenet
- squeezenet

### Usage
please refer to `example.ipynb` for general usage and refer to documentations of each layer-finding functions in `utils.py` if you want to know how to set `target_layer_name` properly.

Use your own model and layer:
```python
model = MyModel()
target_layer = model.my_submodule
gradcam = GradCAM(model, target_layer)
```

### References:
[1] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization, Selvaraju et al, ICCV, 2017 <br>
[2] Grad-CAM++: Generalized Gradient-based Visual Explanations for Deep Convolutional Networks, Chattopadhyay et al, WACV, 2018
PyRPIO 0.0.5
Python-wrapped RPIO
Requires Python: >=3.6

# PyRPIO

⚠️ **WARNING: This is a very early pre-release. Expect things to break.** ⚠️

#### A Python 3 addon which provides high-speed access to the Raspberry Pi GPIO interface, supporting regular GPIO as well as i²c, PWM, and SPI.
#### This package is inspired by [node-rpio](https://github.com/jperkin/node-rpio) which is a node.js addon.

![PyPI](https://img.shields.io/pypi/v/pyrpio)

# Compatibility
* Raspberry Pi Models: A, B (revisions 1.0 and 2.0), A+, B+, 2, 3, 3+, 3 A+, 4, Compute Module 3, Zero.
* Python 3.7+

# Install

Install the latest from PyPi:

> ```pip install pyrpio```

_-OR-_ using __pipenv__:

> ```pipenv install pyrpio```

Install from source:

> ```python3 setup.py install```


# Supported Interfaces

* GPIO
* PWM
* I2C
* MDIO
* SPI

# Examples

```python
import pyrpio
from pyrpio import i2c, mdio

# Configure options
options = pyrpio.RPIOOptions(
  gpiomem=True
)
# Must be called prior to using any interface
pyrpio.configure(options)

### I2C Operations ###

i2c_bus = i2c.I2C('/dev/i2c-3')
i2c_bus.open()

i2c_bus.set_address(0x50)

# Read 8-bit value using 8-bit addressing
val = i2c_bus.read_register(0x0)
i2c_bus.set_address(0x21)

# Read uint16_t using 8-bit addressing
val = i2c_bus.read_register(0x0, reg_nbytes=1, val_nbytes=2)

# Read int16_t using 8-bit addressing
val = i2c_bus.read_register(0x0, reg_nbytes=1, val_nbytes=2, signed=True)

# Seq read 8 regs starting @ 0x0 using I2C repeat start
regs = i2c_bus.read_register_sequential(0,8)

# Close up shop
i2c_bus.close()

### MDIO Operations ###

# Create bus using GPIO pins 23 and 24 (bit-bang)
mdio_bus = mdio.MDIO(23, 24)
mdio_bus.open()

# Read register 0x10 from device 0x30 (CLAUSE-45)
mdio_bus.read_c45_register(0x30, 0x00, 0x10)

# Read register set from device 0x30 (CLAUSE-45)
mdio_bus.read_c45_registers(0x30, 0x00, [0,1,2,3,4])

# Close up shop
mdio_bus.close()
```

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

## Maintainers

- [Samtec - ASH](https://samtec-ash.com)

# TODO

* Expose all major, high-level C routines in bcm2835
* Create convenience Python class for each interface: I2C, SPI, MDIO, PWM, GPIO
* Enable specifying I2C bus:
  - RPI 4 has 6 I2C buses
  - For older RPIs, later Raspbian images enable kernel-level bit-bang i2c.
* Make thread safe and support locking mechanism
* Make mock version to allow testing/developing on non-RPI (MacOS, x86 Linux)
*
* Testing...
dict-dot-notate 0.0.3
Turns nested dictionary keys to dotted strings with their corresponding values into a basic dictionary
Requires Python: >=3
Keywords: dict notate dictdot dot

[![Build Status](https://travis-ci.org/kenneth051/dict-dot-notate.svg?branch=develop)](https://travis-ci.org/kenneth051/dict-dot-notate) [![Coverage Status](https://coveralls.io/repos/github/kenneth051/dict-dot-notate/badge.svg?branch=add-badge)](https://coveralls.io/github/kenneth051/dict-dot-notate?branch=add-badge)

# dict_dot_notate

dict_dot_notate turns nested dictionary keys to dotted strings with their corresponding values into a basic dictionary. 

Installation

    pip install dict-dot-notate

Usage

    from dot_notate.dot import dict_dot_notate

Example

    data = {
    "obj": "obj",
    "nested_once": {"first": "first"},
    "nested_twice": {
        "twice": {"inner_nest": {"second": "second"}}
    },
    "nested_thrice": {
        "thrice": {"second_nest": {"tripple_nest": {"tripple": "thrice"}, "three": "three"}}
    }
    }

call the relevant method to convert our dict 

        result = dict_dot_notate(data)

output


      {
        'obj': 'obj',
        'nested_once.first': 'first',
        'nested_twice.twice.inner_nest.second': 'second',
        'nested_thrice.thrice.second_nest.tripple_nest.tripple': 'thrice', 
        'nested_thrice.thrice.second_nest.three': 'three'
        }

**If a dict passed in has a list value, Then the output will be as below**

Example

    data = {
    "obj": "obj",
    "nested_once": {"first": "first"},
    "nested_twice": {
        "twice": {"inner_nest": [1, 2, 3, 4, 5]}
    }
    }

conversion

    result = dict_dot_notate(data)

output

    {
    'obj': 'obj',
    'nested_once.first': 'first',
    'nested_twice.twice.inner_nest': [1, 2, 3, 4, 5]
    }


**Don't pass in a list of dictionaries.**
jnt-django-bitfield 1.10.1
BitField in Django
Requires Python: >=3.6,<4.0

django-bitfield
---------------


Provides a BitField like class (using a BigIntegerField) for your Django models.

(If you're upgrading from a version before 1.2 the API has changed greatly and is backwards incompatible!)

Requirements
============

* Django >= 2.0
* PostgreSQL (see notes)

**Notes:**

- SQLite does not support save operations using a ``Bit`` (per the example under Usage).
- MySQL fails on most queries related to BitField's.

Installation
============

Install it with pip (or easy_install)::

	pip install jnt-django-bitfield

Usage
=====

First you'll need to attach a BitField to your class. This acts as a BigIntegerField (BIGINT) in your database::

	from bitfield import BitField

	class MyModel(models.Model):
	    flags = BitField(flags=(
	        'awesome_flag',
	        'flaggy_foo',
	        'baz_bar',
	    ))

Flags can also be defined with labels::

	class MyModel(models.Model):
	    flags = BitField(flags=(
	        ('awesome_flag', 'Awesome Flag!'),
	        ('flaggy_foo', 'Flaggy Foo'),
	        ('baz_bar', 'Baz (bar)'),
	    ))

Now you can use the field using very familiar Django operations::

	# Create the model
	o = MyModel.objects.create(flags=0)

	# Add awesome_flag (does not work in SQLite)
	MyModel.objects.filter(pk=o.pk).update(flags=F('flags').bitor(MyModel.flags.awesome_flag))

	# Set flags manually to [awesome_flag, flaggy_foo]
	MyModel.objects.filter(pk=o.pk).update(flags=MyModel.flags.awesome_flag | MyModel.flags.flaggy_foo)

	# Remove awesome_flag (does not work in SQLite)
	MyModel.objects.filter(pk=o.pk).update(flags=F('flags').bitand(~MyModel.flags.awesome_flag))

	# Find by awesome_flag
	MyModel.objects.filter(flags=MyModel.flags.awesome_flag)

	# Exclude by awesome_flag
	MyModel.objects.filter(flags=~MyModel.flags.awesome_flag)

	# Test awesome_flag
	if o.flags.awesome_flag:
	    print "Happy times!"

	# List all flags on the field
	for f in o.flags:
	    print f

	# Get a flag label
	print o.flags.get_label('awesome_flag')

Enjoy!

Admin
=====

To use the widget in the admin, you'll need to update your ModelAdmin. Add the
following lines to your ModelAdmin::

	formfield_overrides = {
		BitField: {'widget': BitFieldCheckboxSelectMultiple},
	}

Make sure you've imported the classes by adding these lines to the top of the file::

	from bitfield import BitField
	from bitfield.forms import BitFieldCheckboxSelectMultiple

There is also a ``BitFieldListFilter`` list filter (Django 1.4 or newer).
To use it set ``list_filter`` ModelAdmin option::

    list_filter = (
            ('flags', BitFieldListFilter,)
            )

BitFieldListFilter is in ``bitfield.admin`` module::

    from bitfield.admin import BitFieldListFilter