another unofficial api for finviz.com
installation
# via pypi (recommended)
$ python -m pip install -U finavis
# or using github w/ pip
$ python -m pip install git+https://github.com/rdnve/finavis.git
# or using github w/ poetry
$ poetry add git+https://github.com/rdnve/finavis.git
getting a single quote
import typing as ty
from finavis import get_quote
from finavis.library import Quote
quote: Quote = get_quote(ticker="AAPL")
# accessing to attributes: type help(quote) for more
print(f"Ticker: {quote.ticker}, price: {quote.price}, w/ EPS {quote.eps_ttm}")
# extract attributes to dictionary
data: ty.Dict[str, str] = quote.to_dict()
getting a several quotes
import typing as ty
from finavis import get_quotes
tickers: ty.Tuple[str, ...] = ("AAPL", "INTC", "QCOM")
for quote in get_quotes(tickers=tickers):
print(f"Ticker: {quote.ticker}, price: {quote.price}, w/ EPS {quote.eps_ttm}")
getting a screener w/ objects
from finavis import Screener
from finavis.library import Exchange, Index, Order
screener: Screener = Screener(
exchange=Exchange.NASDAQ,
index=Index.SP500,
order_by=Order.CHANGE_ASC,
)
for index, overview in enumerate(screener()):
print(f"Ticker: {overview.ticker}, price: {overview.price} - change: {overview.change}")
disclaimer
using this library to acquire data from some website is against their "terms of service" and robots.txt; use it responsibly and at your own risk, this library was built purely for educational purposes.
important information
any quote data displayed on the finviz.com website is delayed by 15 minutes for nasdaq/nyse/amex; this api should NOT be used for real-time trading, it's primary purpose for research in educational purposes.
Metadata
Release files for finavis 0.0.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| finavis-0.0.37-py3-none-any.whl | Python 3 | none | any | Details |