# pyzaim
[![PyPI version](https://badge.fury.io/py/pyzaim.svg)](https://badge.fury.io/py/pyzaim)<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
![logo](/img/pyzaim.svg)
[Zaim](https://zaim.net/)のデータを取得・操作するPythonパッケージ
## 概要
大きくわけて2つの処理を行うパッケージです。
- [Zaim API](https://dev.zaim.net/)のラッパークラス
- Zaim APIのアクセストークンの発行
- Rest APIとして提供されている処理の実行
- [Selenium](https://github.com/SeleniumHQ/selenium/tree/master/py)を用いたデータ取得
- Zaimにはクレジットカードや銀行口座から自動でデータ取得する機能があるが、APIではそれらのデータにはアクセスできない
- これらの情報を取得するため、Seleniumのwebdriver(Chrome)を用いてデータを取得
## インストール
```bash
pip install pyzaim
```
## 準備
- Zaimアカウントの作成
- Zaim Developersでのアプリケーションの登録 (コンシューマID、コンシューマシークレットの発行)
- Google Chromeおよびseleniumの導入
## 使い方
### Zaim APIのラッパークラスの使い方
- アクセストークンの発行
```python
from pyzaim import get_access_token
get_access_token()
# コンシューマIDとコンシューマシークレットを聞かれるので入力
# 認証ページのURLが表示されるので、アクセスして許可
# 遷移先ページのソースコードから「oauth_verifier」と書いてあるコードをコピーして入力
# 問題なければアクセストークンとアクセスシークレットが表示される
```
- APIを利用してデータを取得・操作
```python
from pyzaim import ZaimAPI
api = ZaimAPI('コンシューマID', 'コンシューマシークレット',
'アクセストークン', 'アクセスシークレット', 'verifier')
# 動作確認 (ユーザーID等のデータが取得されて、表示されればOK)
print(api.verify())
# データの取得
data = api.get_data()
# 支払いデータの登録
api.insert_payment_simple('日付(datetime.date型)', '金額(int)', 'ジャンル名',
'口座名', 'コメント', '品名', '店舗名') # 後半4つは任意入力
# 使用できるジャンル名は以下で確認できる
print(api.genre_itos)
# 使用できる口座名は以下で確認できる
print(api.account_itos)
# 支払いデータの更新 (更新対象データのIDはapi.get_data()で確認)
api.update_payment_simple('更新対象データのID', '日付(datetime.date型)', '金額(int)',
'ジャンル名', '口座名', 'コメント', '品名', '店舗名') # 後半4つは任意入力
# 支払いデータの削除
api.delete_payment('削除対象のデータのID')
```
### seleniumを用いたデータ取得
```python
from pyzaim import ZaimCrawler
# Chrome Driverの起動とZaimへのログイン、ログインには少し時間がかかります
crawler = ZaimCrawler('ログインID', 'ログインパスワード',
driver_path='Chrome Driverのパス'(PATHが通っていれば省略可),
headless=False) # headlessをTrueにするとヘッドレスブラウザで実行できる
# データの取得 (データの取得には少し時間がかかります、時間はデータ件数による)
data = crawler.get_data('取得する年(int)', '取得する月(int)', progress=True) # progressをFalseにするとプログレスバーを非表示にできる
# 終了処理
crawler.close()
```
## ブランチの運用について
本リポジトリのブランチについては以下の運用といたします。
`main`
- リリース用ブランチ。
- このブランチにマージした時点で新たにタグを打ち、PyPIにアップロードします。
- **このブランチには直接PRを出さないでください。**
`develop`
- 開発用の常駐ブランチ。
- すべてのコミットはこのブランチに一度マージし、動作を確認した上でmainにマージします。
- PRはこのブランチに対して行ってください。
`feature-*`
- 新規開発用のブランチ。
- 必ずdevelopから分岐し、developにマージする。
- `*`には開発やバグ修正などの対応内容を簡潔に記入。
- 例: feature-add-headless-mode
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="16.66%"><a href="https://hackfront.dev"><img src="https://avatars.githubusercontent.com/u/38152917?v=4?s=100" width="100px;" alt="りーべ"/><br /><sub><b>りーべ</b></sub></a><br /><a href="#projectManagement-liebe-magi" title="Project Management">📆</a> <a href="https://github.com/liebe-magi/pyzaim/pulls?q=is%3Apr+reviewed-by%3Aliebe-magi" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/liebe-magi/pyzaim/commits?author=liebe-magi" title="Code">💻</a> <a href="https://github.com/liebe-magi/pyzaim/commits?author=liebe-magi" title="Documentation">📖</a></td>
<td align="center" valign="top" width="16.66%"><a href="https://github.com/Ponk02"><img src="https://avatars.githubusercontent.com/u/24751394?v=4?s=100" width="100px;" alt="Ponk02"/><br /><sub><b>Ponk02</b></sub></a><br /><a href="https://github.com/liebe-magi/pyzaim/commits?author=Ponk02" title="Code">💻</a></td>
<td align="center" valign="top" width="16.66%"><a href="http://zenjiro.wordpress.com/"><img src="https://avatars.githubusercontent.com/u/1298249?v=4?s=100" width="100px;" alt="zenjiro"/><br /><sub><b>zenjiro</b></sub></a><br /><a href="https://github.com/liebe-magi/pyzaim/commits?author=zenjiro" title="Code">💻</a> <a href="https://github.com/liebe-magi/pyzaim/pulls?q=is%3Apr+reviewed-by%3Azenjiro" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="16.66%"><a href="https://github.com/omatsu555"><img src="https://avatars.githubusercontent.com/u/40729996?v=4?s=100" width="100px;" alt="omatsu555"/><br /><sub><b>omatsu555</b></sub></a><br /><a href="https://github.com/liebe-magi/pyzaim/commits?author=omatsu555" title="Code">💻</a></td>
<td align="center" valign="top" width="16.66%"><a href="https://github.com/kagemomiji"><img src="https://avatars.githubusercontent.com/u/5343692?v=4?s=100" width="100px;" alt="Y.Tory"/><br /><sub><b>Y.Tory</b></sub></a><br /><a href="https://github.com/liebe-magi/pyzaim/commits?author=kagemomiji" title="Code">💻</a></td>
<td align="center" valign="top" width="16.66%"><a href="https://knoow.jp/@/Omatsu?preview"><img src="https://avatars.githubusercontent.com/u/7794917?v=4?s=100" width="100px;" alt="o-matsu"/><br /><sub><b>o-matsu</b></sub></a><br /><a href="https://github.com/liebe-magi/pyzaim/commits?author=o-matsu" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="16.66%"><a href="https://github.com/kefi550"><img src="https://avatars.githubusercontent.com/u/46632469?v=4?s=100" width="100px;" alt="kefi550"/><br /><sub><b>kefi550</b></sub></a><br /><a href="https://github.com/liebe-magi/pyzaim/commits?author=kefi550" title="Code">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
Raw data
{
"_id": null,
"home_page": "https://github.com/liebe-magi/pyzaim",
"name": "pyzaim",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": "zaim, oauth, rest api, selenium, chromedriver",
"author": "liebe-magi",
"author_email": "liebe.magi@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/3a/9e/bb86ed92f157ac8ab7458512769ac368bd0d290a141add70545414ae169a/pyzaim-1.1.0.tar.gz",
"platform": null,
"description": "# pyzaim\n\n[![PyPI version](https://badge.fury.io/py/pyzaim.svg)](https://badge.fury.io/py/pyzaim)<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n![logo](/img/pyzaim.svg)\n\n[Zaim](https://zaim.net/)\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u30fb\u64cd\u4f5c\u3059\u308bPython\u30d1\u30c3\u30b1\u30fc\u30b8\n\n## \u6982\u8981\n\n\u5927\u304d\u304f\u308f\u3051\u30662\u3064\u306e\u51e6\u7406\u3092\u884c\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\n\n- [Zaim API](https://dev.zaim.net/)\u306e\u30e9\u30c3\u30d1\u30fc\u30af\u30e9\u30b9\n - Zaim API\u306e\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u306e\u767a\u884c\n - Rest API\u3068\u3057\u3066\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u51e6\u7406\u306e\u5b9f\u884c\n- [Selenium](https://github.com/SeleniumHQ/selenium/tree/master/py)\u3092\u7528\u3044\u305f\u30c7\u30fc\u30bf\u53d6\u5f97\n - Zaim\u306b\u306f\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3084\u9280\u884c\u53e3\u5ea7\u304b\u3089\u81ea\u52d5\u3067\u30c7\u30fc\u30bf\u53d6\u5f97\u3059\u308b\u6a5f\u80fd\u304c\u3042\u308b\u304c\u3001API\u3067\u306f\u305d\u308c\u3089\u306e\u30c7\u30fc\u30bf\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\n - \u3053\u308c\u3089\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u3001Selenium\u306ewebdriver(Chrome)\u3092\u7528\u3044\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\n\n## \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n```bash\npip install pyzaim\n```\n\n## \u6e96\u5099\n\n- Zaim\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u4f5c\u6210\n- Zaim Developers\u3067\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u767b\u9332 (\u30b3\u30f3\u30b7\u30e5\u30fc\u30deID\u3001\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u306e\u767a\u884c)\n- Google Chrome\u304a\u3088\u3073selenium\u306e\u5c0e\u5165\n\n## \u4f7f\u3044\u65b9\n\n### Zaim API\u306e\u30e9\u30c3\u30d1\u30fc\u30af\u30e9\u30b9\u306e\u4f7f\u3044\u65b9\n\n- \u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u306e\u767a\u884c\n\n```python\nfrom pyzaim import get_access_token\n\nget_access_token()\n\n# \u30b3\u30f3\u30b7\u30e5\u30fc\u30deID\u3068\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u3092\u805e\u304b\u308c\u308b\u306e\u3067\u5165\u529b\n# \u8a8d\u8a3c\u30da\u30fc\u30b8\u306eURL\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001\u30a2\u30af\u30bb\u30b9\u3057\u3066\u8a31\u53ef\n# \u9077\u79fb\u5148\u30da\u30fc\u30b8\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u300coauth_verifier\u300d\u3068\u66f8\u3044\u3066\u3042\u308b\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc\u3057\u3066\u5165\u529b\n# \u554f\u984c\u306a\u3051\u308c\u3070\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u3068\u30a2\u30af\u30bb\u30b9\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u304c\u8868\u793a\u3055\u308c\u308b\n```\n\n- API\u3092\u5229\u7528\u3057\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u30fb\u64cd\u4f5c\n\n```python\nfrom pyzaim import ZaimAPI\n\napi = ZaimAPI('\u30b3\u30f3\u30b7\u30e5\u30fc\u30deID', '\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30b7\u30fc\u30af\u30ec\u30c3\u30c8',\n '\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3', '\u30a2\u30af\u30bb\u30b9\u30b7\u30fc\u30af\u30ec\u30c3\u30c8', 'verifier')\n\n# \u52d5\u4f5c\u78ba\u8a8d (\u30e6\u30fc\u30b6\u30fcID\u7b49\u306e\u30c7\u30fc\u30bf\u304c\u53d6\u5f97\u3055\u308c\u3066\u3001\u8868\u793a\u3055\u308c\u308c\u3070OK)\nprint(api.verify())\n\n# \u30c7\u30fc\u30bf\u306e\u53d6\u5f97\ndata = api.get_data()\n\n# \u652f\u6255\u3044\u30c7\u30fc\u30bf\u306e\u767b\u9332\napi.insert_payment_simple('\u65e5\u4ed8(datetime.date\u578b)', '\u91d1\u984d(int)', '\u30b8\u30e3\u30f3\u30eb\u540d',\n '\u53e3\u5ea7\u540d', '\u30b3\u30e1\u30f3\u30c8', '\u54c1\u540d', '\u5e97\u8217\u540d') # \u5f8c\u534a4\u3064\u306f\u4efb\u610f\u5165\u529b\n\n# \u4f7f\u7528\u3067\u304d\u308b\u30b8\u30e3\u30f3\u30eb\u540d\u306f\u4ee5\u4e0b\u3067\u78ba\u8a8d\u3067\u304d\u308b\nprint(api.genre_itos)\n\n# \u4f7f\u7528\u3067\u304d\u308b\u53e3\u5ea7\u540d\u306f\u4ee5\u4e0b\u3067\u78ba\u8a8d\u3067\u304d\u308b\nprint(api.account_itos)\n\n# \u652f\u6255\u3044\u30c7\u30fc\u30bf\u306e\u66f4\u65b0 (\u66f4\u65b0\u5bfe\u8c61\u30c7\u30fc\u30bf\u306eID\u306fapi.get_data()\u3067\u78ba\u8a8d)\napi.update_payment_simple('\u66f4\u65b0\u5bfe\u8c61\u30c7\u30fc\u30bf\u306eID', '\u65e5\u4ed8(datetime.date\u578b)', '\u91d1\u984d(int)',\n '\u30b8\u30e3\u30f3\u30eb\u540d', '\u53e3\u5ea7\u540d', '\u30b3\u30e1\u30f3\u30c8', '\u54c1\u540d', '\u5e97\u8217\u540d') # \u5f8c\u534a4\u3064\u306f\u4efb\u610f\u5165\u529b\n\n# \u652f\u6255\u3044\u30c7\u30fc\u30bf\u306e\u524a\u9664\napi.delete_payment('\u524a\u9664\u5bfe\u8c61\u306e\u30c7\u30fc\u30bf\u306eID')\n```\n\n### selenium\u3092\u7528\u3044\u305f\u30c7\u30fc\u30bf\u53d6\u5f97\n\n```python\nfrom pyzaim import ZaimCrawler\n\n# Chrome Driver\u306e\u8d77\u52d5\u3068Zaim\u3078\u306e\u30ed\u30b0\u30a4\u30f3\u3001\u30ed\u30b0\u30a4\u30f3\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\ncrawler = ZaimCrawler('\u30ed\u30b0\u30a4\u30f3ID', '\u30ed\u30b0\u30a4\u30f3\u30d1\u30b9\u30ef\u30fc\u30c9',\n driver_path='Chrome Driver\u306e\u30d1\u30b9'(PATH\u304c\u901a\u3063\u3066\u3044\u308c\u3070\u7701\u7565\u53ef),\n headless=False) # headless\u3092True\u306b\u3059\u308b\u3068\u30d8\u30c3\u30c9\u30ec\u30b9\u30d6\u30e9\u30a6\u30b6\u3067\u5b9f\u884c\u3067\u304d\u308b\n\n# \u30c7\u30fc\u30bf\u306e\u53d6\u5f97 (\u30c7\u30fc\u30bf\u306e\u53d6\u5f97\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3001\u6642\u9593\u306f\u30c7\u30fc\u30bf\u4ef6\u6570\u306b\u3088\u308b)\ndata = crawler.get_data('\u53d6\u5f97\u3059\u308b\u5e74(int)', '\u53d6\u5f97\u3059\u308b\u6708(int)', progress=True) # progress\u3092False\u306b\u3059\u308b\u3068\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u3092\u975e\u8868\u793a\u306b\u3067\u304d\u308b\n\n# \u7d42\u4e86\u51e6\u7406\ncrawler.close()\n```\n\n## \u30d6\u30e9\u30f3\u30c1\u306e\u904b\u7528\u306b\u3064\u3044\u3066\n\n\u672c\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30d6\u30e9\u30f3\u30c1\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u904b\u7528\u3068\u3044\u305f\u3057\u307e\u3059\u3002\n\n`main`\n- \u30ea\u30ea\u30fc\u30b9\u7528\u30d6\u30e9\u30f3\u30c1\u3002\n- \u3053\u306e\u30d6\u30e9\u30f3\u30c1\u306b\u30de\u30fc\u30b8\u3057\u305f\u6642\u70b9\u3067\u65b0\u305f\u306b\u30bf\u30b0\u3092\u6253\u3061\u3001PyPI\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002\n- **\u3053\u306e\u30d6\u30e9\u30f3\u30c1\u306b\u306f\u76f4\u63a5PR\u3092\u51fa\u3055\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002**\n\n`develop`\n- \u958b\u767a\u7528\u306e\u5e38\u99d0\u30d6\u30e9\u30f3\u30c1\u3002\n- \u3059\u3079\u3066\u306e\u30b3\u30df\u30c3\u30c8\u306f\u3053\u306e\u30d6\u30e9\u30f3\u30c1\u306b\u4e00\u5ea6\u30de\u30fc\u30b8\u3057\u3001\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u305f\u4e0a\u3067main\u306b\u30de\u30fc\u30b8\u3057\u307e\u3059\u3002\n- PR\u306f\u3053\u306e\u30d6\u30e9\u30f3\u30c1\u306b\u5bfe\u3057\u3066\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002\n\n`feature-*`\n- \u65b0\u898f\u958b\u767a\u7528\u306e\u30d6\u30e9\u30f3\u30c1\u3002\n- \u5fc5\u305adevelop\u304b\u3089\u5206\u5c90\u3057\u3001develop\u306b\u30de\u30fc\u30b8\u3059\u308b\u3002\n- `*`\u306b\u306f\u958b\u767a\u3084\u30d0\u30b0\u4fee\u6b63\u306a\u3069\u306e\u5bfe\u5fdc\u5185\u5bb9\u3092\u7c21\u6f54\u306b\u8a18\u5165\u3002\n - \u4f8b: feature-add-headless-mode\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"https://hackfront.dev\"><img src=\"https://avatars.githubusercontent.com/u/38152917?v=4?s=100\" width=\"100px;\" alt=\"\u308a\u30fc\u3079\"/><br /><sub><b>\u308a\u30fc\u3079</b></sub></a><br /><a href=\"#projectManagement-liebe-magi\" title=\"Project Management\">\ud83d\udcc6</a> <a href=\"https://github.com/liebe-magi/pyzaim/pulls?q=is%3Apr+reviewed-by%3Aliebe-magi\" title=\"Reviewed Pull Requests\">\ud83d\udc40</a> <a href=\"https://github.com/liebe-magi/pyzaim/commits?author=liebe-magi\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/liebe-magi/pyzaim/commits?author=liebe-magi\" title=\"Documentation\">\ud83d\udcd6</a></td>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"https://github.com/Ponk02\"><img src=\"https://avatars.githubusercontent.com/u/24751394?v=4?s=100\" width=\"100px;\" alt=\"Ponk02\"/><br /><sub><b>Ponk02</b></sub></a><br /><a href=\"https://github.com/liebe-magi/pyzaim/commits?author=Ponk02\" title=\"Code\">\ud83d\udcbb</a></td>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"http://zenjiro.wordpress.com/\"><img src=\"https://avatars.githubusercontent.com/u/1298249?v=4?s=100\" width=\"100px;\" alt=\"zenjiro\"/><br /><sub><b>zenjiro</b></sub></a><br /><a href=\"https://github.com/liebe-magi/pyzaim/commits?author=zenjiro\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/liebe-magi/pyzaim/pulls?q=is%3Apr+reviewed-by%3Azenjiro\" title=\"Reviewed Pull Requests\">\ud83d\udc40</a></td>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"https://github.com/omatsu555\"><img src=\"https://avatars.githubusercontent.com/u/40729996?v=4?s=100\" width=\"100px;\" alt=\"omatsu555\"/><br /><sub><b>omatsu555</b></sub></a><br /><a href=\"https://github.com/liebe-magi/pyzaim/commits?author=omatsu555\" title=\"Code\">\ud83d\udcbb</a></td>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"https://github.com/kagemomiji\"><img src=\"https://avatars.githubusercontent.com/u/5343692?v=4?s=100\" width=\"100px;\" alt=\"Y.Tory\"/><br /><sub><b>Y.Tory</b></sub></a><br /><a href=\"https://github.com/liebe-magi/pyzaim/commits?author=kagemomiji\" title=\"Code\">\ud83d\udcbb</a></td>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"https://knoow.jp/@/Omatsu?preview\"><img src=\"https://avatars.githubusercontent.com/u/7794917?v=4?s=100\" width=\"100px;\" alt=\"o-matsu\"/><br /><sub><b>o-matsu</b></sub></a><br /><a href=\"https://github.com/liebe-magi/pyzaim/commits?author=o-matsu\" title=\"Code\">\ud83d\udcbb</a></td>\n </tr>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"16.66%\"><a href=\"https://github.com/kefi550\"><img src=\"https://avatars.githubusercontent.com/u/46632469?v=4?s=100\" width=\"100px;\" alt=\"kefi550\"/><br /><sub><b>kefi550</b></sub></a><br /><a href=\"https://github.com/liebe-magi/pyzaim/commits?author=kefi550\" title=\"Code\">\ud83d\udcbb</a></td>\n </tr>\n </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Zaim\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u30fb\u64cd\u4f5c\u3059\u308bPython\u30d1\u30c3\u30b1\u30fc\u30b8",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/liebe-magi/pyzaim",
"Repository": "https://github.com/liebe-magi/pyzaim"
},
"split_keywords": [
"zaim",
" oauth",
" rest api",
" selenium",
" chromedriver"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c97bc0daff080f137036d262577fa789b92b0f1805eeaf2b955bc75057f64479",
"md5": "014cf90a825a1fd8422746075a6edf09",
"sha256": "df67e7789f11fc9509956d5842ca4b3d541da95bec77180b1db8e526e6176d42"
},
"downloads": -1,
"filename": "pyzaim-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "014cf90a825a1fd8422746075a6edf09",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 8726,
"upload_time": "2024-03-24T15:33:36",
"upload_time_iso_8601": "2024-03-24T15:33:36.343481Z",
"url": "https://files.pythonhosted.org/packages/c9/7b/c0daff080f137036d262577fa789b92b0f1805eeaf2b955bc75057f64479/pyzaim-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3a9ebb86ed92f157ac8ab7458512769ac368bd0d290a141add70545414ae169a",
"md5": "86b6bb440bdaeeff2d62e4d1bd36770e",
"sha256": "fe21581c03af6ac52bb4a57add0a0573f2cc1738b353a72db308d168a8ed09bb"
},
"downloads": -1,
"filename": "pyzaim-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "86b6bb440bdaeeff2d62e4d1bd36770e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 10368,
"upload_time": "2024-03-24T15:33:38",
"upload_time_iso_8601": "2024-03-24T15:33:38.462871Z",
"url": "https://files.pythonhosted.org/packages/3a/9e/bb86ed92f157ac8ab7458512769ac368bd0d290a141add70545414ae169a/pyzaim-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-24 15:33:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "liebe-magi",
"github_project": "pyzaim",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyzaim"
}