py4macro


Namepy4macro JSON
Version 0.8.7 PyPI version JSON
download
home_pagehttps://github.com/Py4Macro/py4macro
SummaryA module for py4macro.github.io
upload_time2023-11-23 03:40:50
maintainer
docs_urlNone
authorTetsu Haruyama
requires_python
licenseMIT
keywords data penn world table imf world economic outlook maddison project hodrick-prescott filter japan
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version fury.io](https://badge.fury.io/py/py4macro.svg)](https://pypi.python.org/pypi/py4macro/)
![PyPI - Downloads](https://img.shields.io/pypi/dm/py4macro)
[![CodeQL](https://github.com/Py4Macro/py4macro/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Py4Macro/py4macro/actions?query=workflow%codeql-analysis)


# はじめに

[Pythonで学ぶマクロ経済学 (中級+レベル)](https://py4macro.github.io)で使うモジュール。

以下が含まれている。
* Hodrick-Prescottフィルターを使い時系列データのトレンドを返す`trend()`関数
* DataFrameを全て表示する`show()`関数
* `n`個の浮動小数点数から構成されるリストを返す`xvalues()`関数
* 後退期間にグレーの塗りつぶしを追加する`fukyo()`関数
* 後退期間にグレーの塗りつぶしを追加する`recessions()`デコレーター
* データ・セット
    * Penn World Tables 10.01
    * IMF World Economic Outlook 2021
    * Maddison Project Database 2020
    * 日本の四半期データ(GDPなど)
    * 日本の四半期データ(マネーストックなど)
    * 177ヵ国のマネーストックなど
    * 円/ドル為替レートなど
    * 景気循環日付と拡張・後退期間
    * Big Macインデックス

# 使い方
```
import py4macro
```

## Hodrick-Prescottフィルターによるトレンド抽出
```
py4macro.trend(s,lamb=1600)
```
**引数**:

* `s`:`Series`もしくは1列の`DataFrame`とし,行のラベルは`DatetimeIndex`にすること。
* lamb: HPフィルターのlambda(デフォルトは四半期用のデータでは通常の値である1600としている)

**戻り値**:

Hodrick-Prescottフィルターで計算したtrend(トレンド)の`Series`


**例**:

`py4macro.trend(df.loc[:,'gdp'])`


## `DataFrame`の行・列を全て表示する
```
py4macro.show(df)
```
**引数**:
* `df`:`DataFrame`

**戻り値**:

`DataFrame`の表示のみ


## `n`個の数値から構成されるリストを作成する
```
py4macro.xvalues(l, h, n)
```
**引数**:
* `l`:最小値
* `h`:最大値
* `n`:要素数

**戻り値**:

`n`個の浮動小数点数のリスト

**例**:

`py4macro.xvalues(-1, 1, 5)`

```
>>> [-1.0, -0.5, 0.0, 0.5, 1.0]
```


## 横軸に`DatetimeIndex`を使うプロットに対して後退期間にグレーの塗りつぶしを追加する関数
* `fukyo()`関数は後退期間の塗りつぶしを追加する

```
py4macro.fukyo(ax, color='k', alpha='0.1')
```
**引数**:
* `ax`:`matplotlib`の軸
* `color`:色(デフォルトは黒)
* `alpha`:透明度(デフォルトは`0.1`)

**戻り値**:
* なし(表示のみ)

<img height="350" src="figures/fukyo.jpg">


<例1:一つの図>
```
fig, ax = plt.subplots()
ax.plot(...)
fukyo(ax)
```

<例2:一つの図>
```
ax = <DataFrame もしくは Series>.plot()
fukyo(ax, color='red')
```

<例3:複数の図の中で一つだけに追加>
```
fig, ax = plt.subplots(2,1)
ax[0].plot(...)
ax[1].plot(...)
fukyo(ax[0], color='grey', alpha=0.2)
```


## 横軸に`DatetimeIndex`を使うプロットに対して後退期間にグレーの塗りつぶしを追加するデコレーター
* `@py4macro.recessions()`は全ての軸に後退期間の塗りつぶしを追加する

```
@py4macro.recessions(color='k', alpha=0.1)
<関数>
```

**引数**:
* `color`:色(デフォルトは黒)
* `alpha`:透明度(デフォルトは`0.1)


<例1:一つの図をプロット(軸を返さない)>
```
@py4macro.recessions()
def plot():
    <DataFrame もしくは Series>.plot()
```

<例2:一つの図をプロット(軸を返す)>
```
@py4macro.recessions(color='red')
def plot():
    ax = <DataFrame もしくは Series>.plot()
    return ax
```

<例3:一つの図をプロット>
```
@py4macro.recessions(alpha=0.9)
def plot():
    fig, ax = plt.subplots()
    ax.plot(...)
    return ax       # 省略すると軸を返さない
```

<例4:複数の図をプロット>
```
@py4macro.recessions(color='green', alpha=0.2)
def plot():
    ax = <DataFrame>.plot(subplots=True, layout=(2,2))
    return ax       # この行は必須
```

<例5:複数の図をプロット>
```
@py4macro.recessions(color='grey', alpha=0.3)
def plot():
    fig, ax = plt.subplots(2, 1)
    ax[0].plot(...)
    ax[1].plot(...)
    return ax       # この行は必須
```


## データ・セット

```
py4macro.data(dataset=None, description=0)
```

**引数**:

* `dataset`: (文字列)
    * `'pwt'`:   Penn World Table 10.0
    * `'weo'`:   IMF World Economic Outlook 2021
    * `'mad'`:   country data of Maddison Project Database 2020
    * `'mad-regions'`:   regional data of Maddison Project Database 2020
    * `'jpn-q'`: 日本の四半期データ(GDPなど)
    * `'jpn-money'`: 日本の月次データ(CPIとマネーストック)
    * `'world-money'`: 177ヵ国のマネーストックなど
    * `'ex'`: 円/ドル為替レートなど
    * `'bigmac'`: Big Macインデックス


* `description` (デフォルト:`0`, 整数型):
    * `0`: データのDataFrameを返す
        * 全てのデータセット
    * `1`: 変数の定義を全て表示する
        * 全てのデータセット
    * `2`: 変数の定義のDataFrameを返す
        * `'pwt'`,`'weo'``'mad'`のみ
    * `-1`: 何年以降から予測値なのかを全て示す
        * `'weo'`のみ
    * `-2`: 何年以降から予測値なのかを示すDataFrameを返す
        * `'weo'`のみ

**返り値**:
    `DataFrame`もしくは`DataFrame`の表示


例1:IMF World Economic OutlookのDataFrameを返す

`py4macro.data('weo')`

例2:IMF World Economic Outlookの変数定義の全てを表示する

`py4macro.data('weo',description=1)`

例3:IMF World Economic Outlookの変数定義のDataFrameを返す

`py4macro.data('weo',description=2)`

例4:IMF World Economic Outlookの変数の推定値の開始年を全て表示する

`py4macro.data('weo',description=-1)`

例5:IMF World Economic Outlookの変数の推定値の開始年のDataFrameを返す

`py4macro.data('weo',description=-2)`


# インストール方法
```
pip install py4macro
```
or
```
pip install git+https://github.com/Py4Macro/py4macro.git
```
or
```
git clone https://github.com/Py4Macro/py4macro.git
cd py4macro
pip install .
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Py4Macro/py4macro",
    "name": "py4macro",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "data,Penn World Table,IMF World Economic Outlook,Maddison Project,Hodrick-Prescott filter,Japan",
    "author": "Tetsu Haruyama",
    "author_email": "haruyama@econ.kobe-u.ac.jp",
    "download_url": "https://files.pythonhosted.org/packages/eb/07/ae319aea24cd619f6b6bf46707ea9faa9dffab1c08f3d124bd7ec33e52d5/py4macro-0.8.7.tar.gz",
    "platform": null,
    "description": "[![PyPI version fury.io](https://badge.fury.io/py/py4macro.svg)](https://pypi.python.org/pypi/py4macro/)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/py4macro)\n[![CodeQL](https://github.com/Py4Macro/py4macro/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Py4Macro/py4macro/actions?query=workflow%codeql-analysis)\n\n\n# \u306f\u3058\u3081\u306b\n\n[Python\u3067\u5b66\u3076\u30de\u30af\u30ed\u7d4c\u6e08\u5b66 (\u4e2d\u7d1a\uff0b\u30ec\u30d9\u30eb)](https://py4macro.github.io)\u3067\u4f7f\u3046\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\u4ee5\u4e0b\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u3002\n* Hodrick-Prescott\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u4f7f\u3044\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u306e\u30c8\u30ec\u30f3\u30c9\u3092\u8fd4\u3059`trend()`\u95a2\u6570\n* DataFrame\u3092\u5168\u3066\u8868\u793a\u3059\u308b`show()`\u95a2\u6570\n* `n`\u500b\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304b\u3089\u69cb\u6210\u3055\u308c\u308b\u30ea\u30b9\u30c8\u3092\u8fd4\u3059`xvalues()`\u95a2\u6570\n* \u5f8c\u9000\u671f\u9593\u306b\u30b0\u30ec\u30fc\u306e\u5857\u308a\u3064\u3076\u3057\u3092\u8ffd\u52a0\u3059\u308b`fukyo()`\u95a2\u6570\n* \u5f8c\u9000\u671f\u9593\u306b\u30b0\u30ec\u30fc\u306e\u5857\u308a\u3064\u3076\u3057\u3092\u8ffd\u52a0\u3059\u308b`recessions()`\u30c7\u30b3\u30ec\u30fc\u30bf\u30fc\n* \u30c7\u30fc\u30bf\u30fb\u30bb\u30c3\u30c8\n    * Penn World Tables 10.01\n    * IMF World Economic Outlook 2021\n    * Maddison Project Database 2020\n    * \u65e5\u672c\u306e\u56db\u534a\u671f\u30c7\u30fc\u30bf\uff08GDP\u306a\u3069\uff09\n    * \u65e5\u672c\u306e\u56db\u534a\u671f\u30c7\u30fc\u30bf\uff08\u30de\u30cd\u30fc\u30b9\u30c8\u30c3\u30af\u306a\u3069\uff09\n    * 177\u30f5\u56fd\u306e\u30de\u30cd\u30fc\u30b9\u30c8\u30c3\u30af\u306a\u3069\n    * \u5186/\u30c9\u30eb\u70ba\u66ff\u30ec\u30fc\u30c8\u306a\u3069\n    * \u666f\u6c17\u5faa\u74b0\u65e5\u4ed8\u3068\u62e1\u5f35\u30fb\u5f8c\u9000\u671f\u9593\n    * Big Mac\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\n\n# \u4f7f\u3044\u65b9\n```\nimport py4macro\n```\n\n## Hodrick-Prescott\u30d5\u30a3\u30eb\u30bf\u30fc\u306b\u3088\u308b\u30c8\u30ec\u30f3\u30c9\u62bd\u51fa\n```\npy4macro.trend(s,lamb=1600)\n```\n**\u5f15\u6570**:\n\n* `s`\uff1a`Series`\u3082\u3057\u304f\u306f\uff11\u5217\u306e`DataFrame`\u3068\u3057\uff0c\u884c\u306e\u30e9\u30d9\u30eb\u306f`DatetimeIndex`\u306b\u3059\u308b\u3053\u3068\u3002\n* lamb: HP\u30d5\u30a3\u30eb\u30bf\u30fc\u306elambda\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u56db\u534a\u671f\u7528\u306e\u30c7\u30fc\u30bf\u3067\u306f\u901a\u5e38\u306e\u5024\u3067\u3042\u308b1600\u3068\u3057\u3066\u3044\u308b\uff09\n\n**\u623b\u308a\u5024**:\n\nHodrick-Prescott\u30d5\u30a3\u30eb\u30bf\u30fc\u3067\u8a08\u7b97\u3057\u305ftrend\uff08\u30c8\u30ec\u30f3\u30c9\uff09\u306e`Series`\n\n\n**\u4f8b**:\n\n`py4macro.trend(df.loc[:,'gdp'])`\n\n\n## `DataFrame`\u306e\u884c\u30fb\u5217\u3092\u5168\u3066\u8868\u793a\u3059\u308b\n```\npy4macro.show(df)\n```\n**\u5f15\u6570**\uff1a\n* `df`\uff1a`DataFrame`\n\n**\u623b\u308a\u5024**\uff1a\n\n`DataFrame`\u306e\u8868\u793a\u306e\u307f\n\n\n## `n`\u500b\u306e\u6570\u5024\u304b\u3089\u69cb\u6210\u3055\u308c\u308b\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\n```\npy4macro.xvalues(l, h, n)\n```\n**\u5f15\u6570**\uff1a\n* `l`\uff1a\u6700\u5c0f\u5024\n* `h`\uff1a\u6700\u5927\u5024\n* `n`\uff1a\u8981\u7d20\u6570\n\n**\u623b\u308a\u5024**\uff1a\n\n`n`\u500b\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u30ea\u30b9\u30c8\n\n**\u4f8b**:\n\n`py4macro.xvalues(-1, 1, 5)`\n\n```\n>>> [-1.0, -0.5, 0.0, 0.5, 1.0]\n```\n\n\n## \u6a2a\u8ef8\u306b`DatetimeIndex`\u3092\u4f7f\u3046\u30d7\u30ed\u30c3\u30c8\u306b\u5bfe\u3057\u3066\u5f8c\u9000\u671f\u9593\u306b\u30b0\u30ec\u30fc\u306e\u5857\u308a\u3064\u3076\u3057\u3092\u8ffd\u52a0\u3059\u308b\u95a2\u6570\n* `fukyo()`\u95a2\u6570\u306f\u5f8c\u9000\u671f\u9593\u306e\u5857\u308a\u3064\u3076\u3057\u3092\u8ffd\u52a0\u3059\u308b\n\n```\npy4macro.fukyo(ax, color='k', alpha='0.1')\n```\n**\u5f15\u6570**\uff1a\n* `ax`\uff1a`matplotlib`\u306e\u8ef8\n* `color`\uff1a\u8272\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u9ed2\uff09\n* `alpha`\uff1a\u900f\u660e\u5ea6\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f`0.1`\uff09\n\n**\u623b\u308a\u5024**\uff1a\n* \u306a\u3057\uff08\u8868\u793a\u306e\u307f\uff09\n\n<img height=\"350\" src=\"figures/fukyo.jpg\">\n\n\n\uff1c\u4f8b\uff11\uff1a\u4e00\u3064\u306e\u56f3\uff1e\n```\nfig, ax = plt.subplots()\nax.plot(...)\nfukyo(ax)\n```\n\n\uff1c\u4f8b\uff12\uff1a\u4e00\u3064\u306e\u56f3\uff1e\n```\nax = <DataFrame \u3082\u3057\u304f\u306f Series>.plot()\nfukyo(ax, color='red')\n```\n\n\uff1c\u4f8b\uff13\uff1a\u8907\u6570\u306e\u56f3\u306e\u4e2d\u3067\u4e00\u3064\u3060\u3051\u306b\u8ffd\u52a0\uff1e\n```\nfig, ax = plt.subplots(2,1)\nax[0].plot(...)\nax[1].plot(...)\nfukyo(ax[0], color='grey', alpha=0.2)\n```\n\n\n## \u6a2a\u8ef8\u306b`DatetimeIndex`\u3092\u4f7f\u3046\u30d7\u30ed\u30c3\u30c8\u306b\u5bfe\u3057\u3066\u5f8c\u9000\u671f\u9593\u306b\u30b0\u30ec\u30fc\u306e\u5857\u308a\u3064\u3076\u3057\u3092\u8ffd\u52a0\u3059\u308b\u30c7\u30b3\u30ec\u30fc\u30bf\u30fc\n* `@py4macro.recessions()`\u306f\u5168\u3066\u306e\u8ef8\u306b\u5f8c\u9000\u671f\u9593\u306e\u5857\u308a\u3064\u3076\u3057\u3092\u8ffd\u52a0\u3059\u308b\n\n```\n@py4macro.recessions(color='k', alpha=0.1)\n\uff1c\u95a2\u6570\uff1e\n```\n\n**\u5f15\u6570**\uff1a\n* `color`\uff1a\u8272\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u9ed2\uff09\n* `alpha`\uff1a\u900f\u660e\u5ea6\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f`0.1\uff09\n\n\n\uff1c\u4f8b\uff11\uff1a\u4e00\u3064\u306e\u56f3\u3092\u30d7\u30ed\u30c3\u30c8\uff08\u8ef8\u3092\u8fd4\u3055\u306a\u3044\uff09\uff1e\n```\n@py4macro.recessions()\ndef plot():\n    <DataFrame \u3082\u3057\u304f\u306f Series>.plot()\n```\n\n\uff1c\u4f8b\uff12\uff1a\u4e00\u3064\u306e\u56f3\u3092\u30d7\u30ed\u30c3\u30c8\uff08\u8ef8\u3092\u8fd4\u3059\uff09\uff1e\n```\n@py4macro.recessions(color='red')\ndef plot():\n    ax = <DataFrame \u3082\u3057\u304f\u306f Series>.plot()\n    return ax\n```\n\n\uff1c\u4f8b\uff13\uff1a\u4e00\u3064\u306e\u56f3\u3092\u30d7\u30ed\u30c3\u30c8\uff1e\n```\n@py4macro.recessions(alpha=0.9)\ndef plot():\n    fig, ax = plt.subplots()\n    ax.plot(...)\n    return ax       # \u7701\u7565\u3059\u308b\u3068\u8ef8\u3092\u8fd4\u3055\u306a\u3044\n```\n\n\uff1c\u4f8b\uff14\uff1a\u8907\u6570\u306e\u56f3\u3092\u30d7\u30ed\u30c3\u30c8\uff1e\n```\n@py4macro.recessions(color='green', alpha=0.2)\ndef plot():\n    ax = <DataFrame>.plot(subplots=True, layout=(2,2))\n    return ax       # \u3053\u306e\u884c\u306f\u5fc5\u9808\n```\n\n\uff1c\u4f8b\uff15\uff1a\u8907\u6570\u306e\u56f3\u3092\u30d7\u30ed\u30c3\u30c8\uff1e\n```\n@py4macro.recessions(color='grey', alpha=0.3)\ndef plot():\n    fig, ax = plt.subplots(2, 1)\n    ax[0].plot(...)\n    ax[1].plot(...)\n    return ax       # \u3053\u306e\u884c\u306f\u5fc5\u9808\n```\n\n\n## \u30c7\u30fc\u30bf\u30fb\u30bb\u30c3\u30c8\n\n```\npy4macro.data(dataset=None, description=0)\n```\n\n**\u5f15\u6570**\uff1a\n\n* `dataset`: (\u6587\u5b57\u5217)\n    * `'pwt'`:   Penn World Table 10.0\n    * `'weo'`:   IMF World Economic Outlook 2021\n    * `'mad'`:   country data of Maddison Project Database 2020\n    * `'mad-regions'`:   regional data of Maddison Project Database 2020\n    * `'jpn-q'`: \u65e5\u672c\u306e\u56db\u534a\u671f\u30c7\u30fc\u30bf\uff08GDP\u306a\u3069\uff09\n    * `'jpn-money'`: \u65e5\u672c\u306e\u6708\u6b21\u30c7\u30fc\u30bf\uff08CPI\u3068\u30de\u30cd\u30fc\u30b9\u30c8\u30c3\u30af\uff09\n    * `'world-money'`: 177\u30f5\u56fd\u306e\u30de\u30cd\u30fc\u30b9\u30c8\u30c3\u30af\u306a\u3069\n    * `'ex'`: \u5186/\u30c9\u30eb\u70ba\u66ff\u30ec\u30fc\u30c8\u306a\u3069\n    * `'bigmac'`: Big Mac\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\n\n\n* `description` (\u30c7\u30d5\u30a9\u30eb\u30c8\uff1a`0`, \u6574\u6570\u578b):\n    * `0`: \u30c7\u30fc\u30bf\u306eDataFrame\u3092\u8fd4\u3059\n        * \u5168\u3066\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\n    * `1`: \u5909\u6570\u306e\u5b9a\u7fa9\u3092\u5168\u3066\u8868\u793a\u3059\u308b\n        * \u5168\u3066\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\n    * `2`: \u5909\u6570\u306e\u5b9a\u7fa9\u306eDataFrame\u3092\u8fd4\u3059\n        * `'pwt'`\uff0c`'weo'``'mad'`\u306e\u307f\n    * `-1`: \u4f55\u5e74\u4ee5\u964d\u304b\u3089\u4e88\u6e2c\u5024\u306a\u306e\u304b\u3092\u5168\u3066\u793a\u3059\n        * `'weo'`\u306e\u307f\n    * `-2`: \u4f55\u5e74\u4ee5\u964d\u304b\u3089\u4e88\u6e2c\u5024\u306a\u306e\u304b\u3092\u793a\u3059DataFrame\u3092\u8fd4\u3059\n        * `'weo'`\u306e\u307f\n\n**\u8fd4\u308a\u5024**\uff1a\n    `DataFrame`\u3082\u3057\u304f\u306f`DataFrame`\u306e\u8868\u793a\n\n\n\u4f8b\uff11\uff1aIMF World Economic Outlook\u306eDataFrame\u3092\u8fd4\u3059\n\n`py4macro.data('weo')`\n\n\u4f8b\uff12\uff1aIMF World Economic Outlook\u306e\u5909\u6570\u5b9a\u7fa9\u306e\u5168\u3066\u3092\u8868\u793a\u3059\u308b\n\n`py4macro.data('weo',description=1)`\n\n\u4f8b\uff13\uff1aIMF World Economic Outlook\u306e\u5909\u6570\u5b9a\u7fa9\u306eDataFrame\u3092\u8fd4\u3059\n\n`py4macro.data('weo',description=2)`\n\n\u4f8b\uff14\uff1aIMF World Economic Outlook\u306e\u5909\u6570\u306e\u63a8\u5b9a\u5024\u306e\u958b\u59cb\u5e74\u3092\u5168\u3066\u8868\u793a\u3059\u308b\n\n`py4macro.data('weo',description=-1)`\n\n\u4f8b\uff15\uff1aIMF World Economic Outlook\u306e\u5909\u6570\u306e\u63a8\u5b9a\u5024\u306e\u958b\u59cb\u5e74\u306eDataFrame\u3092\u8fd4\u3059\n\n`py4macro.data('weo',description=-2)`\n\n\n# \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\n```\npip install py4macro\n```\nor\n```\npip install git+https://github.com/Py4Macro/py4macro.git\n```\nor\n```\ngit clone https://github.com/Py4Macro/py4macro.git\ncd py4macro\npip install .\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A module for py4macro.github.io",
    "version": "0.8.7",
    "project_urls": {
        "Homepage": "https://github.com/Py4Macro/py4macro"
    },
    "split_keywords": [
        "data",
        "penn world table",
        "imf world economic outlook",
        "maddison project",
        "hodrick-prescott filter",
        "japan"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cfa848b0098af78c6b5ef7ab87903e9bdcaf340a0903955e8694320052fedb75",
                "md5": "d02c0a3ab8511957a8a9befb8cffdc82",
                "sha256": "b503fcde72062224c9ec4b9f5d73e95c209ef8a09b5cd44103eac515301fa2e6"
            },
            "downloads": -1,
            "filename": "py4macro-0.8.7-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d02c0a3ab8511957a8a9befb8cffdc82",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 4135272,
            "upload_time": "2023-11-23T03:40:48",
            "upload_time_iso_8601": "2023-11-23T03:40:48.303030Z",
            "url": "https://files.pythonhosted.org/packages/cf/a8/48b0098af78c6b5ef7ab87903e9bdcaf340a0903955e8694320052fedb75/py4macro-0.8.7-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eb07ae319aea24cd619f6b6bf46707ea9faa9dffab1c08f3d124bd7ec33e52d5",
                "md5": "2e94476026b842fffb9eb9f1d3daa5c6",
                "sha256": "6479606c4fb36f927ac953c62e5d08325c8c052cdd080d54495eb32cd6ff36cf"
            },
            "downloads": -1,
            "filename": "py4macro-0.8.7.tar.gz",
            "has_sig": false,
            "md5_digest": "2e94476026b842fffb9eb9f1d3daa5c6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 4137139,
            "upload_time": "2023-11-23T03:40:50",
            "upload_time_iso_8601": "2023-11-23T03:40:50.592194Z",
            "url": "https://files.pythonhosted.org/packages/eb/07/ae319aea24cd619f6b6bf46707ea9faa9dffab1c08f3d124bd7ec33e52d5/py4macro-0.8.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-23 03:40:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Py4Macro",
    "github_project": "py4macro",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "py4macro"
}
        
Elapsed time: 0.14399s