Skip to main content

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-v2 on 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyonvista_v2-2.0.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyonvista_v2-2.0.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

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

Hashes for pyonvista_v2-2.0.1.tar.gz
Algorithm Hash digest
SHA256 a4feceb225daff777904fd8faacabf34aca8d12d44dd9b7344d4d4f505ea782a
MD5 cd88c079a48afa760e9f54df1f90482d
BLAKE2b-256 5a192dc2bd26e24c96a2ed7bce44513fd86ab3ef9dea8d27271862e7657c9bfe

See more details on using hashes here.

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

Hashes for pyonvista_v2-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 580c20c0172795544b10304466df1021b99b51865e2d8f06e8c00db472d1c30f
MD5 0d6b808b426fca66706eb848331c755a
BLAKE2b-256 d014263abc43411ea70210e91617886cd1d67b8d1c6c050a3b6d5be2cf24a4da

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page