zyfinance


Namezyfinance JSON
Version 0.2.33 PyPI version JSON
download
home_pagehttps://github.com/ranaroussi/yfinance
SummaryDownload market data from Yahoo! Finance API
upload_time2024-01-02 13:42:32
maintainer
docs_urlNone
authorRan Aroussi
requires_python
licenseApache
keywords pandas yahoo finance pandas datareader
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # Download market data from Yahoo! Finance's API

<table border=1 cellpadding=10><tr><td>

#### \*\*\* IMPORTANT LEGAL DISCLAIMER \*\*\*

---

**Yahoo!, Y!Finance, and Yahoo! finance are registered trademarks of
Yahoo, Inc.**

yfinance is **not** affiliated, endorsed, or vetted by Yahoo, Inc. It's
an open-source tool that uses Yahoo's publicly available APIs, and is
intended for research and educational purposes.

**You should refer to Yahoo!'s terms of use**
([here](https://policies.yahoo.com/us/en/yahoo/terms/product-atos/apiforydn/index.htm),
[here](https://legal.yahoo.com/us/en/yahoo/terms/otos/index.html), and
[here](https://policies.yahoo.com/us/en/yahoo/terms/index.htm)) **for
details on your rights to use the actual data downloaded. Remember - the
Yahoo! finance API is intended for personal use only.**

</td></tr></table>

---

<a target="new" href="https://pypi.python.org/pypi/yfinance"><img border=0 src="https://img.shields.io/badge/python-2.7,%203.6+-blue.svg?style=flat" alt="Python version"></a>
<a target="new" href="https://pypi.python.org/pypi/yfinance"><img border=0 src="https://img.shields.io/pypi/v/yfinance.svg?maxAge=60%" alt="PyPi version"></a>
<a target="new" href="https://pypi.python.org/pypi/yfinance"><img border=0 src="https://img.shields.io/pypi/status/yfinance.svg?maxAge=60" alt="PyPi status"></a>
<a target="new" href="https://pypi.python.org/pypi/yfinance"><img border=0 src="https://img.shields.io/pypi/dm/yfinance.svg?maxAge=2592000&label=installs&color=%2327B1FF" alt="PyPi downloads"></a>
<a target="new" href="https://travis-ci.com/github/ranaroussi/yfinance"><img border=0 src="https://img.shields.io/travis/ranaroussi/yfinance/main.svg?maxAge=1" alt="Travis-CI build status"></a>
<a target="new" href="https://www.codefactor.io/repository/github/ranaroussi/yfinance"><img border=0 src="https://www.codefactor.io/repository/github/ranaroussi/yfinance/badge" alt="CodeFactor"></a>
<a target="new" href="https://github.com/ranaroussi/yfinance"><img border=0 src="https://img.shields.io/github/stars/ranaroussi/yfinance.svg?style=social&label=Star&maxAge=60" alt="Star this repo"></a>
<a target="new" href="https://twitter.com/aroussi"><img border=0 src="https://img.shields.io/twitter/follow/aroussi.svg?style=social&label=Follow&maxAge=60" alt="Follow me on twitter"></a>


**yfinance** offers a threaded and Pythonic way to download market data from [Yahoo!Ⓡ finance](https://finance.yahoo.com).

→ Check out this [Blog post](https://aroussi.com/#post/python-yahoo-finance) for a detailed tutorial with code examples.

[Changelog »](https://github.com/ranaroussi/yfinance/blob/main/CHANGELOG.rst)

---

## Quick Start

### The Ticker module

The `Ticker` module, which allows you to access ticker data in a more Pythonic way:

```python
import yfinance as yf

msft = yf.Ticker("MSFT")

# get all stock info
msft.info

# get historical market data
hist = msft.history(period="1mo")

# show meta information about the history (requires history() to be called first)
msft.history_metadata

# show actions (dividends, splits, capital gains)
msft.actions
msft.dividends
msft.splits
msft.capital_gains  # only for mutual funds & etfs

# show share count
msft.get_shares_full(start="2022-01-01", end=None)

# show financials:
# - income statement
msft.income_stmt
msft.quarterly_income_stmt
# - balance sheet
msft.balance_sheet
msft.quarterly_balance_sheet
# - cash flow statement
msft.cashflow
msft.quarterly_cashflow
# see `Ticker.get_income_stmt()` for more options

# show holders
msft.major_holders
msft.institutional_holders
msft.mutualfund_holders

# Show future and historic earnings dates, returns at most next 4 quarters and last 8 quarters by default. 
# Note: If more are needed use msft.get_earnings_dates(limit=XX) with increased limit argument.
msft.earnings_dates

# show ISIN code - *experimental*
# ISIN = International Securities Identification Number
msft.isin

# show options expirations
msft.options

# show news
msft.news

# get option chain for specific expiration
opt = msft.option_chain('YYYY-MM-DD')
# data available via: opt.calls, opt.puts
```

If you want to use a proxy server for downloading data, use:

```python
import yfinance as yf

msft = yf.Ticker("MSFT")

msft.history(..., proxy="PROXY_SERVER")
msft.get_actions(proxy="PROXY_SERVER")
msft.get_dividends(proxy="PROXY_SERVER")
msft.get_splits(proxy="PROXY_SERVER")
msft.get_capital_gains(proxy="PROXY_SERVER")
msft.get_balance_sheet(proxy="PROXY_SERVER")
msft.get_cashflow(proxy="PROXY_SERVER")
msft.option_chain(..., proxy="PROXY_SERVER")
...
```

### Multiple tickers

To initialize multiple `Ticker` objects, use

```python
import yfinance as yf

tickers = yf.Tickers('msft aapl goog')

# access each ticker using (example)
tickers.tickers['MSFT'].info
tickers.tickers['AAPL'].history(period="1mo")
tickers.tickers['GOOG'].actions
```

To download price history into one table:

```python
import yfinance as yf
data = yf.download("SPY AAPL", period="1mo")
```

#### `yf.download()` and `Ticker.history()` have many options for configuring fetching and processing. [Review the Wiki](https://github.com/ranaroussi/yfinance/wiki) for more options and detail.

### Logging

`yfinance` now uses the `logging` module to handle messages, default behaviour is only print errors. If debugging, use `yf.enable_debug_mode()` to switch logging to debug with custom formatting.

### Smarter scraping

To use a custom `requests` session (for example to cache calls to the
API or customize the `User-agent` header), pass a `session=` argument to
the Ticker constructor.

```python
import requests_cache
session = requests_cache.CachedSession('yfinance.cache')
session.headers['User-agent'] = 'my-program/1.0'
ticker = yf.Ticker('msft', session=session)
# The scraped response will be stored in the cache
ticker.actions
```

Combine a `requests_cache` with rate-limiting to avoid triggering Yahoo's rate-limiter/blocker that can corrupt data.
```python
from requests import Session
from requests_cache import CacheMixin, SQLiteCache
from requests_ratelimiter import LimiterMixin, MemoryQueueBucket
from pyrate_limiter import Duration, RequestRate, Limiter
class CachedLimiterSession(CacheMixin, LimiterMixin, Session):
    pass

session = CachedLimiterSession(
    limiter=Limiter(RequestRate(2, Duration.SECOND*5)),  # max 2 requests per 5 seconds
    bucket_class=MemoryQueueBucket,
    backend=SQLiteCache("yfinance.cache"),
)
```

### Managing Multi-Level Columns

The following answer on Stack Overflow is for [How to deal with
multi-level column names downloaded with
yfinance?](https://stackoverflow.com/questions/63107801)

-   `yfinance` returns a `pandas.DataFrame` with multi-level column
    names, with a level for the ticker and a level for the stock price
    data
    -   The answer discusses:
        -   How to correctly read the the multi-level columns after
            saving the dataframe to a csv with `pandas.DataFrame.to_csv`
        -   How to download single or multiple tickers into a single
            dataframe with single level column names and a ticker column

### `pandas_datareader` override

If your code uses `pandas_datareader` and you want to download data
faster, you can "hijack" `pandas_datareader.data.get_data_yahoo()`
method to use **yfinance** while making sure the returned data is in the
same format as **pandas\_datareader**'s `get_data_yahoo()`.

```python
from pandas_datareader import data as pdr

import yfinance as yf
yf.pdr_override() # <== that's all it takes :-)

# download dataframe
data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")
```

### Persistent cache store

To reduce Yahoo, yfinance store some data locally: timezones to localize dates, and cookie. Cache location is:
- Windows = C:/Users/\<USER\>/AppData/Local/py-yfinance
- Linux = /home/\<USER\>/.cache/py-yfinance
- MacOS = /Users/\<USER\>/Library/Caches/py-yfinance

You can direct cache to use a different location with `set_tz_cache_location()`:
```python
import yfinance as yf
yf.set_tz_cache_location("custom/cache/location")
...
```

---

## Installation

Install `yfinance` using `pip`:

``` {.sourceCode .bash}
$ pip install yfinance --upgrade --no-cache-dir
```

Test new features by installing betas, provide feedback in [corresponding Discussion](https://github.com/ranaroussi/yfinance/discussions):
``` {.sourceCode .bash}
$ pip install yfinance --upgrade --no-cache-dir --pre
```

To install `yfinance` using `conda`, see
[this](https://anaconda.org/ranaroussi/yfinance).

### Requirements

-   [Python](https://www.python.org) \>= 2.7, 3.4+
-   [Pandas](https://github.com/pydata/pandas) \>= 1.3.0
-   [Numpy](http://www.numpy.org) \>= 1.16.5
-   [requests](http://docs.python-requests.org/en/master) \>= 2.31
-   [lxml](https://pypi.org/project/lxml) \>= 4.9.1
-   [appdirs](https://pypi.org/project/appdirs) \>= 1.4.4
-   [pytz](https://pypi.org/project/pytz) \>=2022.5
-   [frozendict](https://pypi.org/project/frozendict) \>= 2.3.4
-   [beautifulsoup4](https://pypi.org/project/beautifulsoup4) \>= 4.11.1
-   [html5lib](https://pypi.org/project/html5lib) \>= 1.1
-   [peewee](https://pypi.org/project/peewee)  \>= 3.16.2

#### Optional (if you want to use `pandas_datareader`)

-   [pandas\_datareader](https://github.com/pydata/pandas-datareader)
    \>= 0.4.0

## Developers: want to contribute?

`yfinance` relies on community to investigate bugs and contribute code. Developer guide: https://github.com/ranaroussi/yfinance/discussions/1084

---

### Legal Stuff

**yfinance** is distributed under the **Apache Software License**. See
the [LICENSE.txt](./LICENSE.txt) file in the release for details.


AGAIN - yfinance is **not** affiliated, endorsed, or vetted by Yahoo, Inc. It's
an open-source tool that uses Yahoo's publicly available APIs, and is
intended for research and educational purposes. You should refer to Yahoo!'s terms of use
([here](https://policies.yahoo.com/us/en/yahoo/terms/product-atos/apiforydn/index.htm),
[here](https://legal.yahoo.com/us/en/yahoo/terms/otos/index.html), and
[here](https://policies.yahoo.com/us/en/yahoo/terms/index.htm)) for
detailes on your rights to use the actual data downloaded.

---

### P.S.

Please drop me an note with any feedback you have.

**Ran Aroussi**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ranaroussi/yfinance",
    "name": "zyfinance",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "pandas,yahoo finance,pandas datareader",
    "author": "Ran Aroussi",
    "author_email": "ran@aroussi.com",
    "download_url": "https://files.pythonhosted.org/packages/af/9b/bec14eb8a2bdd708bfcfcdb03a1320df04f56d3da59872016574a78a2675/zyfinance-0.2.33.tar.gz",
    "platform": "any",
    "description": "# Download market data from Yahoo! Finance's API\n\n<table border=1 cellpadding=10><tr><td>\n\n#### \\*\\*\\* IMPORTANT LEGAL DISCLAIMER \\*\\*\\*\n\n---\n\n**Yahoo!, Y!Finance, and Yahoo! finance are registered trademarks of\nYahoo, Inc.**\n\nyfinance is **not** affiliated, endorsed, or vetted by Yahoo, Inc. It's\nan open-source tool that uses Yahoo's publicly available APIs, and is\nintended for research and educational purposes.\n\n**You should refer to Yahoo!'s terms of use**\n([here](https://policies.yahoo.com/us/en/yahoo/terms/product-atos/apiforydn/index.htm),\n[here](https://legal.yahoo.com/us/en/yahoo/terms/otos/index.html), and\n[here](https://policies.yahoo.com/us/en/yahoo/terms/index.htm)) **for\ndetails on your rights to use the actual data downloaded. Remember - the\nYahoo! finance API is intended for personal use only.**\n\n</td></tr></table>\n\n---\n\n<a target=\"new\" href=\"https://pypi.python.org/pypi/yfinance\"><img border=0 src=\"https://img.shields.io/badge/python-2.7,%203.6+-blue.svg?style=flat\" alt=\"Python version\"></a>\n<a target=\"new\" href=\"https://pypi.python.org/pypi/yfinance\"><img border=0 src=\"https://img.shields.io/pypi/v/yfinance.svg?maxAge=60%\" alt=\"PyPi version\"></a>\n<a target=\"new\" href=\"https://pypi.python.org/pypi/yfinance\"><img border=0 src=\"https://img.shields.io/pypi/status/yfinance.svg?maxAge=60\" alt=\"PyPi status\"></a>\n<a target=\"new\" href=\"https://pypi.python.org/pypi/yfinance\"><img border=0 src=\"https://img.shields.io/pypi/dm/yfinance.svg?maxAge=2592000&label=installs&color=%2327B1FF\" alt=\"PyPi downloads\"></a>\n<a target=\"new\" href=\"https://travis-ci.com/github/ranaroussi/yfinance\"><img border=0 src=\"https://img.shields.io/travis/ranaroussi/yfinance/main.svg?maxAge=1\" alt=\"Travis-CI build status\"></a>\n<a target=\"new\" href=\"https://www.codefactor.io/repository/github/ranaroussi/yfinance\"><img border=0 src=\"https://www.codefactor.io/repository/github/ranaroussi/yfinance/badge\" alt=\"CodeFactor\"></a>\n<a target=\"new\" href=\"https://github.com/ranaroussi/yfinance\"><img border=0 src=\"https://img.shields.io/github/stars/ranaroussi/yfinance.svg?style=social&label=Star&maxAge=60\" alt=\"Star this repo\"></a>\n<a target=\"new\" href=\"https://twitter.com/aroussi\"><img border=0 src=\"https://img.shields.io/twitter/follow/aroussi.svg?style=social&label=Follow&maxAge=60\" alt=\"Follow me on twitter\"></a>\n\n\n**yfinance** offers a threaded and Pythonic way to download market data from [Yahoo!\u24c7 finance](https://finance.yahoo.com).\n\n\u2192 Check out this [Blog post](https://aroussi.com/#post/python-yahoo-finance) for a detailed tutorial with code examples.\n\n[Changelog \u00bb](https://github.com/ranaroussi/yfinance/blob/main/CHANGELOG.rst)\n\n---\n\n## Quick Start\n\n### The Ticker module\n\nThe `Ticker` module, which allows you to access ticker data in a more Pythonic way:\n\n```python\nimport yfinance as yf\n\nmsft = yf.Ticker(\"MSFT\")\n\n# get all stock info\nmsft.info\n\n# get historical market data\nhist = msft.history(period=\"1mo\")\n\n# show meta information about the history (requires history() to be called first)\nmsft.history_metadata\n\n# show actions (dividends, splits, capital gains)\nmsft.actions\nmsft.dividends\nmsft.splits\nmsft.capital_gains  # only for mutual funds & etfs\n\n# show share count\nmsft.get_shares_full(start=\"2022-01-01\", end=None)\n\n# show financials:\n# - income statement\nmsft.income_stmt\nmsft.quarterly_income_stmt\n# - balance sheet\nmsft.balance_sheet\nmsft.quarterly_balance_sheet\n# - cash flow statement\nmsft.cashflow\nmsft.quarterly_cashflow\n# see `Ticker.get_income_stmt()` for more options\n\n# show holders\nmsft.major_holders\nmsft.institutional_holders\nmsft.mutualfund_holders\n\n# Show future and historic earnings dates, returns at most next 4 quarters and last 8 quarters by default. \n# Note: If more are needed use msft.get_earnings_dates(limit=XX) with increased limit argument.\nmsft.earnings_dates\n\n# show ISIN code - *experimental*\n# ISIN = International Securities Identification Number\nmsft.isin\n\n# show options expirations\nmsft.options\n\n# show news\nmsft.news\n\n# get option chain for specific expiration\nopt = msft.option_chain('YYYY-MM-DD')\n# data available via: opt.calls, opt.puts\n```\n\nIf you want to use a proxy server for downloading data, use:\n\n```python\nimport yfinance as yf\n\nmsft = yf.Ticker(\"MSFT\")\n\nmsft.history(..., proxy=\"PROXY_SERVER\")\nmsft.get_actions(proxy=\"PROXY_SERVER\")\nmsft.get_dividends(proxy=\"PROXY_SERVER\")\nmsft.get_splits(proxy=\"PROXY_SERVER\")\nmsft.get_capital_gains(proxy=\"PROXY_SERVER\")\nmsft.get_balance_sheet(proxy=\"PROXY_SERVER\")\nmsft.get_cashflow(proxy=\"PROXY_SERVER\")\nmsft.option_chain(..., proxy=\"PROXY_SERVER\")\n...\n```\n\n### Multiple tickers\n\nTo initialize multiple `Ticker` objects, use\n\n```python\nimport yfinance as yf\n\ntickers = yf.Tickers('msft aapl goog')\n\n# access each ticker using (example)\ntickers.tickers['MSFT'].info\ntickers.tickers['AAPL'].history(period=\"1mo\")\ntickers.tickers['GOOG'].actions\n```\n\nTo download price history into one table:\n\n```python\nimport yfinance as yf\ndata = yf.download(\"SPY AAPL\", period=\"1mo\")\n```\n\n#### `yf.download()` and `Ticker.history()` have many options for configuring fetching and processing. [Review the Wiki](https://github.com/ranaroussi/yfinance/wiki) for more options and detail.\n\n### Logging\n\n`yfinance` now uses the `logging` module to handle messages, default behaviour is only print errors. If debugging, use `yf.enable_debug_mode()` to switch logging to debug with custom formatting.\n\n### Smarter scraping\n\nTo use a custom `requests` session (for example to cache calls to the\nAPI or customize the `User-agent` header), pass a `session=` argument to\nthe Ticker constructor.\n\n```python\nimport requests_cache\nsession = requests_cache.CachedSession('yfinance.cache')\nsession.headers['User-agent'] = 'my-program/1.0'\nticker = yf.Ticker('msft', session=session)\n# The scraped response will be stored in the cache\nticker.actions\n```\n\nCombine a `requests_cache` with rate-limiting to avoid triggering Yahoo's rate-limiter/blocker that can corrupt data.\n```python\nfrom requests import Session\nfrom requests_cache import CacheMixin, SQLiteCache\nfrom requests_ratelimiter import LimiterMixin, MemoryQueueBucket\nfrom pyrate_limiter import Duration, RequestRate, Limiter\nclass CachedLimiterSession(CacheMixin, LimiterMixin, Session):\n    pass\n\nsession = CachedLimiterSession(\n    limiter=Limiter(RequestRate(2, Duration.SECOND*5)),  # max 2 requests per 5 seconds\n    bucket_class=MemoryQueueBucket,\n    backend=SQLiteCache(\"yfinance.cache\"),\n)\n```\n\n### Managing Multi-Level Columns\n\nThe following answer on Stack Overflow is for [How to deal with\nmulti-level column names downloaded with\nyfinance?](https://stackoverflow.com/questions/63107801)\n\n-   `yfinance` returns a `pandas.DataFrame` with multi-level column\n    names, with a level for the ticker and a level for the stock price\n    data\n    -   The answer discusses:\n        -   How to correctly read the the multi-level columns after\n            saving the dataframe to a csv with `pandas.DataFrame.to_csv`\n        -   How to download single or multiple tickers into a single\n            dataframe with single level column names and a ticker column\n\n### `pandas_datareader` override\n\nIf your code uses `pandas_datareader` and you want to download data\nfaster, you can \"hijack\" `pandas_datareader.data.get_data_yahoo()`\nmethod to use **yfinance** while making sure the returned data is in the\nsame format as **pandas\\_datareader**'s `get_data_yahoo()`.\n\n```python\nfrom pandas_datareader import data as pdr\n\nimport yfinance as yf\nyf.pdr_override() # <== that's all it takes :-)\n\n# download dataframe\ndata = pdr.get_data_yahoo(\"SPY\", start=\"2017-01-01\", end=\"2017-04-30\")\n```\n\n### Persistent cache store\n\nTo reduce Yahoo, yfinance store some data locally: timezones to localize dates, and cookie. Cache location is:\n- Windows = C:/Users/\\<USER\\>/AppData/Local/py-yfinance\n- Linux = /home/\\<USER\\>/.cache/py-yfinance\n- MacOS = /Users/\\<USER\\>/Library/Caches/py-yfinance\n\nYou can direct cache to use a different location with `set_tz_cache_location()`:\n```python\nimport yfinance as yf\nyf.set_tz_cache_location(\"custom/cache/location\")\n...\n```\n\n---\n\n## Installation\n\nInstall `yfinance` using `pip`:\n\n``` {.sourceCode .bash}\n$ pip install yfinance --upgrade --no-cache-dir\n```\n\nTest new features by installing betas, provide feedback in [corresponding Discussion](https://github.com/ranaroussi/yfinance/discussions):\n``` {.sourceCode .bash}\n$ pip install yfinance --upgrade --no-cache-dir --pre\n```\n\nTo install `yfinance` using `conda`, see\n[this](https://anaconda.org/ranaroussi/yfinance).\n\n### Requirements\n\n-   [Python](https://www.python.org) \\>= 2.7, 3.4+\n-   [Pandas](https://github.com/pydata/pandas) \\>= 1.3.0\n-   [Numpy](http://www.numpy.org) \\>= 1.16.5\n-   [requests](http://docs.python-requests.org/en/master) \\>= 2.31\n-   [lxml](https://pypi.org/project/lxml) \\>= 4.9.1\n-   [appdirs](https://pypi.org/project/appdirs) \\>= 1.4.4\n-   [pytz](https://pypi.org/project/pytz) \\>=2022.5\n-   [frozendict](https://pypi.org/project/frozendict) \\>= 2.3.4\n-   [beautifulsoup4](https://pypi.org/project/beautifulsoup4) \\>= 4.11.1\n-   [html5lib](https://pypi.org/project/html5lib) \\>= 1.1\n-   [peewee](https://pypi.org/project/peewee)  \\>= 3.16.2\n\n#### Optional (if you want to use `pandas_datareader`)\n\n-   [pandas\\_datareader](https://github.com/pydata/pandas-datareader)\n    \\>= 0.4.0\n\n## Developers: want to contribute?\n\n`yfinance` relies on community to investigate bugs and contribute code. Developer guide: https://github.com/ranaroussi/yfinance/discussions/1084\n\n---\n\n### Legal Stuff\n\n**yfinance** is distributed under the **Apache Software License**. See\nthe [LICENSE.txt](./LICENSE.txt) file in the release for details.\n\n\nAGAIN - yfinance is **not** affiliated, endorsed, or vetted by Yahoo, Inc. It's\nan open-source tool that uses Yahoo's publicly available APIs, and is\nintended for research and educational purposes. You should refer to Yahoo!'s terms of use\n([here](https://policies.yahoo.com/us/en/yahoo/terms/product-atos/apiforydn/index.htm),\n[here](https://legal.yahoo.com/us/en/yahoo/terms/otos/index.html), and\n[here](https://policies.yahoo.com/us/en/yahoo/terms/index.htm)) for\ndetailes on your rights to use the actual data downloaded.\n\n---\n\n### P.S.\n\nPlease drop me an note with any feedback you have.\n\n**Ran Aroussi**\n",
    "bugtrack_url": null,
    "license": "Apache",
    "summary": "Download market data from Yahoo! Finance API",
    "version": "0.2.33",
    "project_urls": {
        "Homepage": "https://github.com/ranaroussi/yfinance"
    },
    "split_keywords": [
        "pandas",
        "yahoo finance",
        "pandas datareader"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ac25d167867bf369f2f6349fe8dd2bca8f93f36ee708608930dabc9374b500d",
                "md5": "ff85b260560340a0391eb429fe860430",
                "sha256": "8d57fb86868ceba00b1b8431426832ad917fbe02017cc9aba63d97c5af7eab7a"
            },
            "downloads": -1,
            "filename": "zyfinance-0.2.33-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ff85b260560340a0391eb429fe860430",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 69156,
            "upload_time": "2024-01-02T13:42:30",
            "upload_time_iso_8601": "2024-01-02T13:42:30.090599Z",
            "url": "https://files.pythonhosted.org/packages/1a/c2/5d167867bf369f2f6349fe8dd2bca8f93f36ee708608930dabc9374b500d/zyfinance-0.2.33-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af9bbec14eb8a2bdd708bfcfcdb03a1320df04f56d3da59872016574a78a2675",
                "md5": "b76ace5b1823122e5f3919e5cdfd36cf",
                "sha256": "068acbb5e92a70db36815d07627b530d6c22e4e41bd29aef8154480f560288d0"
            },
            "downloads": -1,
            "filename": "zyfinance-0.2.33.tar.gz",
            "has_sig": false,
            "md5_digest": "b76ace5b1823122e5f3919e5cdfd36cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 66887,
            "upload_time": "2024-01-02T13:42:32",
            "upload_time_iso_8601": "2024-01-02T13:42:32.671659Z",
            "url": "https://files.pythonhosted.org/packages/af/9b/bec14eb8a2bdd708bfcfcdb03a1320df04f56d3da59872016574a78a2675/zyfinance-0.2.33.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 13:42:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ranaroussi",
    "github_project": "yfinance",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "zyfinance"
}
        
Elapsed time: 0.29700s