{"id":20717565,"url":"https://github.com/aais-lab/introductionprograming-library","last_synced_at":"2025-03-11T07:25:36.043Z","repository":{"id":211191202,"uuid":"728452791","full_name":"aais-lab/IntroductionPrograming-library","owner":"aais-lab","description":"CIT Advanced Media : Python Drawing Library","archived":false,"fork":false,"pushed_at":"2024-12-18T08:15:22.000Z","size":93,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-17T22:13:31.353Z","etag":null,"topics":["drawing-library","mac","python","python-library","tkinter-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aais-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-07T01:11:53.000Z","updated_at":"2024-12-18T08:11:47.000Z","dependencies_parsed_at":"2023-12-07T02:49:20.641Z","dependency_job_id":"8b531e5a-38c9-4189-9ec0-d18b3065c7fe","html_url":"https://github.com/aais-lab/IntroductionPrograming-library","commit_stats":null,"previous_names":["aais-lab/introductionprograming-library"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aais-lab%2FIntroductionPrograming-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aais-lab%2FIntroductionPrograming-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aais-lab%2FIntroductionPrograming-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aais-lab%2FIntroductionPrograming-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aais-lab","download_url":"https://codeload.github.com/aais-lab/IntroductionPrograming-library/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242990083,"owners_count":20217914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drawing-library","mac","python","python-library","tkinter-python"],"created_at":"2024-11-17T03:09:16.988Z","updated_at":"2025-03-11T07:25:35.999Z","avatar_url":"https://github.com/aais-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IntroductionPrograming-library\n\n## Overview\n千葉工業大学 先進工学部 知能メディア工学科の第2セメスター「プログラミング言語基礎」及び第3セメスター「プロジェクト1」において使用される、Pythonの図形描画ライブラリです。\ntkinterのWrapperで、[Processing](https://processing.org/)ライクに動作させることを目指して作成されました。\n\n## Requirement\n### 必要環境\n- MacOS\n  - Windowsでも使用可能ですが、音楽を再生する機能のみ使用不可です\n    - 今後のバージョンでは対応しなくなる可能性があります\n  - Linux環境も一応ですが対応しています\n    - Docker環境の用意があります -\u003e [IPが導入されるPython環境(Docker版)](https://github.com/aais-lab/PythonEnv_docker)\n    - 音楽再生はmpvコマンドによって実装しています\n- Python3.10.5 \u003c\n  - 動作確認済み \u003e=3.12.2\n  - MacのSystem DefaultのPython環境にはライブラリを入れることができないため注意してください\n- Pythonの標準ライブラリのみで動作\n  - tkinter 8.6以上が必須\n  - brew + pyenv環境の場合、対応したpython-tkが必要です\n- 音楽再生用コマンド\n  - MacOS: afplay\n  - Linux: mpv\n\n### 開発・動作確認環境\n- MacOS Ventura以降\n- [Docker環境](https://github.com/aais-lab/PythonEnv_docker)\n- Python\n  - brew + pyenv\n  - 3.10.5 \u003c\n  - \u003c= 3.12.2\n- ライブラリ\n  - Python標準\n  - tkinter 8.6\n\n### 環境構築の既知トラブル\n#### MacOSかつpython3.10系の場合\ntkinter8.5がデフォルトで入っているようですが、[Pythonとtcl/tkの対応問題](https://www.python.org/download/mac/tcltk/)によって実行時にWindowが黒く表示される不具合が発生します。\n\n```\nimport tkinter\ntkinter.Tcl().eval('info patchlevel')\n```\n\n上記をPythonで実行するとtkinterのバージョンを確認することが可能です。\n\n開発・動作確認環境と同様にbrew + pyenv環境の場合は\n\n```\npyenv uninstall 3.10.x\nbrew install python-tk@3.10\npyenv install 3.10.x\n```\n\nでおおよその場合解決します。\n\n#### 実行時にImportErrorが出て、エラー箇所がImport _tkinterの場合\ntkinterがうまく読み込めていません。\nPython Build時にtkinterのリンクがちゃんといってない？詳細な原因は不明です。\n開発・動作確認環境と同様にbrew + pyenv環境の場合は\n\n```\npyenv uninstall 3.x.x\nbrew install python-tk@3.x\npyenv install 3.x.x\n```\n\nでおおよその場合解決します。\n\n```\nbrew install python-tk@3.x\n```\nの際は、python-tkのバージョンをインストールしたいPythonのバージョンに合わせて指定してください。\n\n#### import IP 実行時にModuleNotFoundErrorが出て、エラー箇所がimport IP.IPの場合\n他にも以下パターンは同様の原因です。\n```\nModuleNotFoundError: No module named \"IP.mouse\"\nModuleNotFoundError: No module named \"IP.keyboard\"\n```\n\nパッケージのダウンロードもしくは展開時(zipでダウンロードした場合)にライブラリ内のIP.py等が欠損したことが原因です。\nダウンロードもしくは展開をやり直して、以下のファイルが全てあることを確認してください。\n\n\u003cimg width=\"222\" alt=\"IPファイル構成\" src=\"https://github.com/aais-lab/IntroductionPrograming-library/assets/75377571/97f7fa3f-47e3-4e3f-8c2d-8a0ccf99f1ad\"\u003e\n\n## Usage\n### 導入方法\n#### gitからクローン\n```\ngit clone https://github.com/aais-lab/IntroductionPrograming-library.git\n```\n#### ライブラリのフォルダへ移動して、pip install\n```\ncd IntroductionPrograming-library\npip install .\n```\n\nSuccessfully installed IP-x.x.xと表示されれば導入完了です。\n\n## Reference\n関数等のリファレンス\n[IntroductionPrograming-Reference](https://aais-lab.github.io/IntroductionPrograming-Reference/)\n\n## Author\n[Nao Yamanouchi](https://github.com/ClairdelunaEve)\n\n## Licence\n3-Clause BSD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faais-lab%2Fintroductionprograming-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faais-lab%2Fintroductionprograming-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faais-lab%2Fintroductionprograming-library/lists"}