semvec/pypi-packages huggingface dataset:
nanpapp2 1.0.1
English Learning Application
Requires Python: >=3.8

# nanpapp
## 概要
- 英語学習支援アプリケーション
- jsonファイルは~/.ll_dataに存在している
- testPyPIに公開
- python3 -m build
- python3 -m twine upload --repository testpypi dist/*
- python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps nanpapp2
- windowsでも動いた
- 必要なパッケージの処理をどうするのかがわからない、自動で追加
- tar.gzと.whlがなにかわからない(ソースとビルド済？)
- LICENSE合ってるかわからない

```
[tool.poetry.dependencies]
python = "^3.8"
openai = "0.28"
wxPython = "4.2.1"
plotly = "5.16.1"

numpy = { version = "1.21.2", python = "^3.8" }
```

## 正式リリースまでの課題
- ライブラリ(openai, wx, plotly)がないパソコンの場合どうするか
- 単語の削除、編集
- ChatGPTの履歴確認
- 単語が複数の意味を持つ場合の処理
- 品詞も出す
- LICENSEの整理
- README.mdの整理
- TOEIC公式問題集

## 1206
- 英語のテキスト5冊を来週までに
- 来週までに人がアプリを使えるように
- 12/13から一ヶ月間を使ってアプリの効果を計る
- まず適当なテキストを選ぶ
- 何もせずに問題を解く
- 1ヶ月間アプリを使って勉強する
- 1ヶ月後もう一度テストを解いて結果を記録する

## 1205
- titleで作成した各種ファイルを初期化するプログラムを実装
- newdateにhistory_init()とreturn_today()を実装
- newdateにHistoryWriteクラスを実装
- クラスを使用する際は必ずインスタンスを生成する(init = HistoryWrite()みたいな感じ)
- titleの__setup_dataにディレクトリ存在判定を追加
- api/apikeyを.ll_dataに作成
- apiキーはapikeyファイルから読みだすように変更
- apiキーを保存する機能をtitleに追加
- tomlファイルを作成
- ソース配布の.tar.gzとビルド配布の.whl -> 要検索
- ディレクトリ作成をmkdirからos.makedirsに変更
- ファイル作成をwith openで行うように変更
- fig.htmlをtry文を用いてwebbrowserかsubprocessで開くように変更

## 1204
- 各種プログラムの呼び出しをdef main()に変更
- jsonファイルの管理を.ll_data(仮)に変更
- pathで返すパスをホーム直下.ll_dataに変更
- ホーム直下に.ll_data(仮)を作成するプログラムを実装
```ファイル構造
├── data
│   ├── history.json
│   ├── response.json
│   └── words.json
└── fig
    └── fig.html
```

## 1201
- モジュールapikey.pyを作成
- reading.pyのコードを整理

## 1130
- モジュールcommon.py, newdate.pyを作成
- word_list.py, word_test.py, history.pyのコードを整理

## ChatGPT_API
### system: 役柄、役割を指定する(誰に聞くか)
- "あなたは初学者に英語を教えるアシスタントです。"
- > なんか無限？に返答しだした
- "あなたは英語が得意なアシスタントです。"
- > 一番正確に返してくれた気がする
- "あなたは英和辞典です。" 
- > 若干指定した形式と違う形だったり、無駄な文章入れたりする

### assistant: ChatGPTの返答を入れる？
- "英単語の意味を日本語で簡潔に回答します。"
- "英文を単語や熟語に分解し、それらの簡潔な意味を日本語を使ってword: meaningという形で表示します。"
- 返答しているのがassistant
- ChatGPTにさせたいことをassistantに入力する？「私はこういうことができます。」と言わせることでChatGPT側の能力や立場をより明確にしている？
- assistantにやって欲しいこと(単語を指定の形式で表示)を入力したが、エラーコードの際に上手く動作しなかった(英文全体の日本語訳のみが表示された)
- 「翻訳などの場合はassistantに英文を入れる」という記事もあったが、上手くいかなかった(英文が存在しない、という返答があるなど)

### user: 質問内容(何を聞くか)
- 明確、具体的に
- 英語に翻訳しやすい日本語(?)
- 追加質問、指定 -> そういう枠も作る？(質問コーナー的な)
- ここに入力したものが優先されている？一番効力がある感じがする
urlrequest 1.0.4
Wrapper for urllib.request.urlopen
Requires Python: >=3.9

# URL Request
## wrapper for urllib.request.urlopen


Very limited drop-in replacement for requests when you cant import requests and need to use the built in urllib.request library 

Supports (url,data,json,headers,timeout,auth)

Optional:
Added (method) to be used in place to .post .get .etc takes:
'POST','GET','PUT','DELETE','HEAD','PATCH'

Added (callraise) default is true and will raise exceptions, false will disable exceptions.


Can be used via pip or just copy the class into your project
``` python
pip install urlrequest
```
``` python
from urlrequest import UrlRequest
```

```python
response = UrlRequest('https://httpbin.org/ip')
print(response.text)
print(response.status_code)
print(response.headers)
print(response.json())

response = UrlRequest("https://httpbin.org/basic-auth/user/password",auth=('user','password'))
print(response.text)

response = UrlRequest("https://httpbin.org/post",method="POST",json={"hello":"world"})
print(response.text)

response = UrlRequest("https://httpbin.org/image/png")
with open("test.png","wb") as f:
    f.write(response.raw)
print(response.status_code)

# drop in for requests
from urlrequest import UrlRequest as requests
response = requests.get("https://httpbin.org/headers",headers={"hello":"world header test"})
print(response.text)
```
songsync 0.1.4
Convert YouTube playlists to Spotify playlists
Requires Python: >=3.11,<4.0

# songsync

[![PyPI version](https://badge.fury.io/py/songsync.svg)](https://badge.fury.io/py/songsync)

Convert YouTube and YouTube Music playlists to Spotify playlists

## Installation

`pip install songsync`

## Setup

Create a Spotify app by following the instructions in the Spotify Web API documentation: https://developer.spotify.com/documentation/web-api

Set the following environment variables

```
export SPOTIPY_CLIENT_ID='your-spotify-client-id'
export SPOTIPY_CLIENT_SECRET='your-spotify-client-secret'
export SPOTIPY_REDIRECT_URI='your-app-redirect-url'
```

## Usage

To convert a playlist from YouTube to Spotify, provide the playlist ID of the YouTube playlist and the name of the playlist you want to create in Spotify.

```python
from songsync.songsync import SongSync

ss = SongSync()
spotify_playlist_id, tracks_not_found = ss.convert_yt_spotify(
    yt_playlist_id="PLkZa6xWYS81W6wdF6HSpuqOuVCgu9mzjD",
    spotify_playlist_name="Your Spotify Playlist Name",
)
```

Notes:

- The YT playlist ID can be found from the URL of your Youtube/Youtube Music playlist.
- The YT playlist must be public or unlisted.
- (Experimental) The search algorithm uses language detection to search different Spotify markets and substrings of a song title.
  - Titles are more varied for normal YouTube videos in comparison to YouTube Music videos which can increase the difficulty of the search. The closer the YouTube video name is to the Spotify name the easier it is to find. See interactive mode below for manually searching tracks that cannot be found.

### Interactive Mode

```python
ss = SongSync(interactive_mode=True)
```

With interactive mode, if the script cannot find the YouTube track on Spotify you will be prompted to manually enter a title and artist. Enter it as it would appear in your country. You can enter blank in the prompt to skip.

## Local Development

Install poetry: https://python-poetry.org/docs/#installation

Setup and activate virtual environment

```
python3 -m venv .venv && source .venv/bin/activate
```

Install poetry dependencies

```
poetry install
```

Follow the above instructions for setting up your Spotify app and environment variables.