Metadata-Version: 2.4
Name: citam_pydraw
Version: 3.2.2
Summary: CIT-AM Introduction Programming class lib
Author-email: Nao Yamanouchi <nao.yamanouchi@ga.aais-lab.org>
Maintainer-email: Nao Yamanouchi <nao.yamanouchi@ga.aais-lab.org>
Requires-Python:  >= 3.10.5
Description-Content-Type: text/markdown
License-Expression: BSD-3-Clause
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: MacOS
License-File: LICENSE.txt
Requires-Dist: pillow >=11.2
Requires-Dist: just_playback >=0.1.8
Project-URL: Documentation, https://github.com/aais-lab/citam_pydraw/wiki
Project-URL: Issues, https://github.com/aais-lab/citam_pydraw/issues
Project-URL: Source, https://github.com/aais-lab/citam_pydraw.git

# IntroductionPrograming-library: citam_pydraw

# Overview
千葉工業大学 先進工学部 知能メディア工学科の第2セメスター「プログラミング言語基礎」及び第3セメスター「プロジェクト1」において使用される、Pythonの図形描画ライブラリです。
tkinterのWrapperで、[Processing](https://processing.org/)ライクに動作させることを目指して作成されました。

# Requirement
## 必要環境
- MacOS
  - Windowsでも使用可能ですが、非推奨かつサポート範囲外です
    - 詳細な動作確認はしておらず、対応予定もありません
  - Linux環境は一応ですが対応しています
    - Docker環境の用意があります -> [IPが導入されるPython環境(Docker版)](https://github.com/aais-lab/PythonEnv_docker)
- Python >3.10.5
  - 動作確認済み >=3.12.2
  - MacのSystem DefaultのPython環境にはライブラリを入れることができないため注意してください
- 必要なライブラリ
  - tkinter 8.6以上
  - Pillow 11.2以上
  - just-playback 0.1.8以上
  - brew + pyenv環境の場合、対応したpython-tkが必要です

## 開発・動作確認環境
- MacOS Ventura以降
- [Docker環境](https://github.com/aais-lab/PythonEnv_docker)
- Python
  - brew + pyenv
  - 3.10.5 <
  - <= 3.12.2
- ライブラリ
  - Python標準
  - tkinter 8.6
  - Pillow 11.2.1
  - just-playback 0.1.8

# Usage
## PyPIから
```
pip install citam_pydraw
```

## gitから
### クローン
```
git clone https://github.com/aais-lab/citam_pydraw.git
```
### ライブラリのフォルダへ移動して、pip install
```
cd citam_pydraw
pip install .
```

Successfully installed citam_pydraw-x.x.xと表示されれば導入完了です。

## 環境構築の既知トラブル
### MacOSかつpython3.10系の場合
tkinter8.5がデフォルトで入っているようですが、[Pythonとtcl/tkの対応問題](https://www.python.org/download/mac/tcltk/)によって実行時にWindowが黒く表示される不具合が発生します。

```
import tkinter
tkinter.Tcl().eval('info patchlevel')
```

上記をPythonで実行するとtkinterのバージョンを確認することが可能です。

開発・動作確認環境と同様にbrew + pyenv環境の場合は

```
pyenv uninstall 3.10.x
brew install python-tk@3.10
pyenv install 3.10.x
```

でおおよその場合解決します。

### 実行時にImportErrorが出て、エラー箇所がImport _tkinterの場合
tkinterがうまく読み込めていません。
Python Build時にtkinterのリンクがちゃんといってない？詳細な原因は不明です。
開発・動作確認環境と同様にbrew + pyenv環境の場合は

```
pyenv uninstall 3.x.x
brew install python-tk@3.x
pyenv install 3.x.x
```

でおおよその場合解決します。

```
brew install python-tk@3.x
```
の際は、python-tkのバージョンをインストールしたいPythonのバージョンに合わせて指定してください。

### import IP 実行時にModuleNotFoundErrorが出て、エラー箇所がimport IP.IPの場合（旧）
他にも以下パターンは同様の原因です。
```
ModuleNotFoundError: No module named "IP.mouse"
ModuleNotFoundError: No module named "IP.keyboard"
```

パッケージのダウンロードもしくは展開時(zipでダウンロードした場合)にライブラリ内のIP.py等が欠損したことが原因です。
ダウンロードもしくは展開をやり直して、以下のファイルが全てあることを確認してください。

<img width="222" alt="IPファイル構成" src="https://github.com/aais-lab/IntroductionPrograming-library/assets/75377571/97f7fa3f-47e3-4e3f-8c2d-8a0ccf99f1ad">

# Reference
関数・クラス等の詳細は[Wiki](https://github.com/aais-lab/citam_pydraw/wiki)を参照してください。

関数等のリファレンス(旧)
[IntroductionPrograming-Reference](https://aais-lab.github.io/IntroductionPrograming-Reference/)

# Author
[Nao Yamanouchi](https://github.com/ClairdelunaEve)

# Licence
3-Clause BSD

