Enhanced Python API for OnVista financial data with comprehensive fundamental analysis capabilities
Project description
pyOnvista v2.0
Acknowledgment: This project builds upon the excellent foundation of the original pyOnvista by cloasdata. The v2.0 enhancements add comprehensive fundamental data extraction capabilities while maintaining full backward compatibility with the original API.
A Python library for accessing financial data from onvista.de
NEW in v2.0: Comprehensive fundamental data extraction
Features
- Real-time stock quotes and historical data
- Enhanced search with international stock support
- Direct ISIN lookup
- NEW: Financial ratios (P/E, P/B, EPS, dividend yield, market cap)
- NEW: Performance metrics (returns, volatility, technical indicators)
- NEW: Company information (sector, industry, employees)
- NEW: ESG/sustainability data
Installation
pip install pyonvista-v2
Package Name: This enhanced v2.0 fork is published as
pyonvista-v2on PyPI to avoid conflicts with the original package. The import statements remain the same (from pyonvista.api import PyOnVista).
Quick Start
Basic Usage
import asyncio
import aiohttp
from pyonvista.api import PyOnVista
async def example():
async with aiohttp.ClientSession() as session:
api = PyOnVista()
await api.install_client(session)
# Search for instruments
results = await api.search_instrument("Apple")
# Get detailed data
instrument = await api.request_instrument(isin="US0378331005")
print(f"{instrument.name}: €{instrument.quote.close:.2f}")
asyncio.run(example())
v2.0 Fundamental Data
async def fundamental_data():
async with aiohttp.ClientSession() as session:
api = PyOnVista()
await api.install_client(session)
instrument = await api.request_instrument(isin="DE0007164600") # SAP
# Financial ratios
ratios = instrument.get_financial_ratios()
print(f"P/E Ratio: {ratios.pe_ratio:.2f}")
print(f"Market Cap: €{ratios.market_cap:,.0f}")
# Performance metrics
performance = instrument.get_performance_metrics()
print(f"1-Year Return: {performance.performance_1y:+.2f}%")
# Company info
company = instrument.get_company_info()
print(f"Sector: {company.sector}")
print(f"Employees: {company.employees:,}")
asyncio.run(fundamental_data())
Enhanced Search
async def enhanced_search():
async with aiohttp.ClientSession() as session:
api = PyOnVista()
await api.install_client(session)
# International symbol search
apple_stocks = await api.search_international_stocks("AAPL")
# Search with filters
us_stocks = await api.search_instrument("Microsoft",
country="US",
instrument_type="STOCK")
# Direct ISIN lookup
apple = await api.search_by_isin("US0378331005")
asyncio.run(enhanced_search())
v2.0 Data Classes
FinancialRatios
Financial metrics: pe_ratio, pb_ratio, eps, dividend_yield, market_cap, return_on_equity, debt_to_equity
PerformanceMetrics
Performance data: performance_1d, performance_1w, performance_1y, volatility_30d, beta
TechnicalIndicators
Technical analysis: moving_avg_20d, moving_avg_200d, rsi_14d, bollinger_upper, bollinger_lower
CompanyInfo
Company data: sector, industry, country, employees, headquarters
SustainabilityData
ESG metrics: esg_score, environmental_score, social_score, governance_score
Migration from v1.0
v2.0 is fully backward compatible. All existing v1.0 code continues to work unchanged.
New capabilities are accessed through additional methods on Instrument objects:
instrument.get_financial_ratios()instrument.get_performance_metrics()instrument.get_technical_indicators()instrument.get_company_info()instrument.get_sustainability_data()
Rate Limiting
Built-in rate limiting with configurable delays:
api = PyOnVista(request_delay=0.2, timeout=60)
PyPI Package
This enhanced v2.0 fork is available on PyPI as pyonvista-v2:
- Package Name:
pyonvista-v2 - Current Version: 2.0.0
- Installation:
pip install pyonvista-v2 - Import:
from pyonvista.api import PyOnVista(unchanged from v1.0)
The package includes both source distribution and universal wheel for easy installation across Python 3.8+ environments.
License
MIT License - see LICENSE.md for details.
Acknowledgments
- Original pyOnvista by cloasdata
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyonvista_v2-2.0.1.tar.gz.
File metadata
- Download URL: pyonvista_v2-2.0.1.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4feceb225daff777904fd8faacabf34aca8d12d44dd9b7344d4d4f505ea782a
|
|
| MD5 |
cd88c079a48afa760e9f54df1f90482d
|
|
| BLAKE2b-256 |
5a192dc2bd26e24c96a2ed7bce44513fd86ab3ef9dea8d27271862e7657c9bfe
|
File details
Details for the file pyonvista_v2-2.0.1-py3-none-any.whl.
File metadata
- Download URL: pyonvista_v2-2.0.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
580c20c0172795544b10304466df1021b99b51865e2d8f06e8c00db472d1c30f
|
|
| MD5 |
0d6b808b426fca66706eb848331c755a
|
|
| BLAKE2b-256 |
d014263abc43411ea70210e91617886cd1d67b8d1c6c050a3b6d5be2cf24a4da
|