# pyOnvista v2.0
> **Acknowledgment**: This project builds upon the excellent foundation of the original [pyOnvista](https://github.com/cloasdata/pyOnvista) by [cloasdata](https://github.com/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
```bash
pip install pyonvista
```
## Quick Start
### Basic Usage
```python
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
```python
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
```python
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:
```python
api = PyOnVista(request_delay=0.2, timeout=60)
```
## License
MIT License - see [LICENSE.md](LICENSE.md) for details.
## Acknowledgments
- Original pyOnvista by [cloasdata](https://github.com/cloasdata)
Raw data
{
"_id": null,
"home_page": null,
"name": "pyonvista-v2",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Jan Philipp Tebbe <info@thukyd.com>",
"keywords": "finance, stocks, financial-data, onvista, german-stocks, fundamental-analysis, esg, financial-ratios, stock-analysis, investment, trading, market-data",
"author": null,
"author_email": "Simon Bauer <seimen@cloasdata.de>, Jan Philipp Tebbe <info@thukyd.com>",
"download_url": "https://files.pythonhosted.org/packages/64/d0/df6891e77b67224dbf742675757ca7fba70a6399df1a8057e7772a44aec6/pyonvista_v2-2.0.0.tar.gz",
"platform": null,
"description": "# pyOnvista v2.0\n\n> **Acknowledgment**: This project builds upon the excellent foundation of the original [pyOnvista](https://github.com/cloasdata/pyOnvista) by [cloasdata](https://github.com/cloasdata). The v2.0 enhancements add comprehensive fundamental data extraction capabilities while maintaining full backward compatibility with the original API.\n\nA Python library for accessing financial data from onvista.de\n\n**NEW in v2.0: Comprehensive fundamental data extraction**\n\n## Features\n\n- Real-time stock quotes and historical data\n- Enhanced search with international stock support \n- Direct ISIN lookup\n- **NEW**: Financial ratios (P/E, P/B, EPS, dividend yield, market cap)\n- **NEW**: Performance metrics (returns, volatility, technical indicators)\n- **NEW**: Company information (sector, industry, employees)\n- **NEW**: ESG/sustainability data\n\n## Installation\n\n```bash\npip install pyonvista\n```\n\n## Quick Start\n\n### Basic Usage\n\n```python\nimport asyncio\nimport aiohttp\nfrom pyonvista.api import PyOnVista\n\nasync def example():\n async with aiohttp.ClientSession() as session:\n api = PyOnVista()\n await api.install_client(session)\n \n # Search for instruments\n results = await api.search_instrument(\"Apple\")\n \n # Get detailed data\n instrument = await api.request_instrument(isin=\"US0378331005\")\n print(f\"{instrument.name}: \u20ac{instrument.quote.close:.2f}\")\n\nasyncio.run(example())\n```\n\n### v2.0 Fundamental Data\n\n```python\nasync def fundamental_data():\n async with aiohttp.ClientSession() as session:\n api = PyOnVista()\n await api.install_client(session)\n \n instrument = await api.request_instrument(isin=\"DE0007164600\") # SAP\n \n # Financial ratios\n ratios = instrument.get_financial_ratios()\n print(f\"P/E Ratio: {ratios.pe_ratio:.2f}\")\n print(f\"Market Cap: \u20ac{ratios.market_cap:,.0f}\")\n \n # Performance metrics\n performance = instrument.get_performance_metrics()\n print(f\"1-Year Return: {performance.performance_1y:+.2f}%\")\n \n # Company info\n company = instrument.get_company_info()\n print(f\"Sector: {company.sector}\")\n print(f\"Employees: {company.employees:,}\")\n\nasyncio.run(fundamental_data())\n```\n\n### Enhanced Search\n\n```python\nasync def enhanced_search():\n async with aiohttp.ClientSession() as session:\n api = PyOnVista()\n await api.install_client(session)\n \n # International symbol search\n apple_stocks = await api.search_international_stocks(\"AAPL\")\n \n # Search with filters\n us_stocks = await api.search_instrument(\"Microsoft\", \n country=\"US\", \n instrument_type=\"STOCK\")\n \n # Direct ISIN lookup\n apple = await api.search_by_isin(\"US0378331005\")\n\nasyncio.run(enhanced_search())\n```\n\n## v2.0 Data Classes\n\n### FinancialRatios\nFinancial metrics: `pe_ratio`, `pb_ratio`, `eps`, `dividend_yield`, `market_cap`, `return_on_equity`, `debt_to_equity`\n\n### PerformanceMetrics \nPerformance data: `performance_1d`, `performance_1w`, `performance_1y`, `volatility_30d`, `beta`\n\n### TechnicalIndicators\nTechnical analysis: `moving_avg_20d`, `moving_avg_200d`, `rsi_14d`, `bollinger_upper`, `bollinger_lower`\n\n### CompanyInfo\nCompany data: `sector`, `industry`, `country`, `employees`, `headquarters`\n\n### SustainabilityData\nESG metrics: `esg_score`, `environmental_score`, `social_score`, `governance_score`\n\n## Migration from v1.0\n\nv2.0 is fully backward compatible. All existing v1.0 code continues to work unchanged.\n\nNew capabilities are accessed through additional methods on `Instrument` objects:\n- `instrument.get_financial_ratios()`\n- `instrument.get_performance_metrics()`\n- `instrument.get_technical_indicators()`\n- `instrument.get_company_info()`\n- `instrument.get_sustainability_data()`\n\n## Rate Limiting\n\nBuilt-in rate limiting with configurable delays:\n\n```python\napi = PyOnVista(request_delay=0.2, timeout=60)\n```\n\n## License\n\nMIT License - see [LICENSE.md](LICENSE.md) for details.\n\n## Acknowledgments\n\n- Original pyOnvista by [cloasdata](https://github.com/cloasdata)\n",
"bugtrack_url": null,
"license": null,
"summary": "Enhanced Python API for OnVista financial data with comprehensive fundamental analysis capabilities",
"version": "2.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/Thukyd/pyOnvista/issues",
"Changelog": "https://github.com/Thukyd/pyOnvista/releases",
"Documentation": "https://github.com/Thukyd/pyOnvista#readme",
"Homepage": "https://github.com/Thukyd/pyOnvista",
"Repository": "https://github.com/Thukyd/pyOnvista"
},
"split_keywords": [
"finance",
" stocks",
" financial-data",
" onvista",
" german-stocks",
" fundamental-analysis",
" esg",
" financial-ratios",
" stock-analysis",
" investment",
" trading",
" market-data"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7c8f1cd53ea36a805d93ea6c42a1b56d3554ba8e9c91fd89282842032ec7d0c7",
"md5": "245b038ea53707ae32ed651cfdcf2fce",
"sha256": "d1d22bd0970aa27946f4e5e1168f4d3f6aaae4d43c9aba8f433ed04c6178e3fc"
},
"downloads": -1,
"filename": "pyonvista_v2-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "245b038ea53707ae32ed651cfdcf2fce",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11628,
"upload_time": "2025-10-26T11:32:42",
"upload_time_iso_8601": "2025-10-26T11:32:42.237985Z",
"url": "https://files.pythonhosted.org/packages/7c/8f/1cd53ea36a805d93ea6c42a1b56d3554ba8e9c91fd89282842032ec7d0c7/pyonvista_v2-2.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "64d0df6891e77b67224dbf742675757ca7fba70a6399df1a8057e7772a44aec6",
"md5": "788e02a907aadfe1061c4715348d2c36",
"sha256": "35084e5b29c86d52577be56bd5f80a7ac96f7a1b535c418fccd1cb99ef92afa6"
},
"downloads": -1,
"filename": "pyonvista_v2-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "788e02a907aadfe1061c4715348d2c36",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 17206,
"upload_time": "2025-10-26T11:32:43",
"upload_time_iso_8601": "2025-10-26T11:32:43.713445Z",
"url": "https://files.pythonhosted.org/packages/64/d0/df6891e77b67224dbf742675757ca7fba70a6399df1a8057e7772a44aec6/pyonvista_v2-2.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-26 11:32:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Thukyd",
"github_project": "pyOnvista",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyonvista-v2"
}