Eulerpool SDK for Python
Official Python SDK for the Eulerpool Financial Data API.
Installation
pip install eulerpool
Quick Start
import eulerpool
client = eulerpool.Eulerpool("YOUR_API_KEY")
# Get a company profile
profile = client.equity.profile("US0378331005")
print(profile)
# Get income statement
income = client.equity.income_statement("US0378331005")
# Get ETF holdings
holdings = client.etf.holdings("IE00B4L5Y983")
# Get forex rates
rates = client.forex.rates("EUR")
# Get macro calendar
calendar = client.macro.calendar()
client.close()
Context Manager
with eulerpool.Eulerpool("YOUR_API_KEY") as client:
profile = client.equity.profile("US0378331005")
Async Support
import asyncio
import eulerpool
async def main():
async with eulerpool.AsyncEulerpool("YOUR_API_KEY") as client:
profile = await client.equity.profile("US0378331005")
income = await client.equity.income_statement("US0378331005")
print(profile)
asyncio.run(main())
Authentication
Pass your API key when creating the client, or set EULERPOOL_API_KEY. By default it is sent as a ?token= query parameter. To use the Authorization: Bearer header instead:
client = eulerpool.Eulerpool("YOUR_API_KEY", use_auth_header=True)
Get your free API key at eulerpool.com/developers/register.
Configuration
client = eulerpool.Eulerpool(
"YOUR_API_KEY",
base_url="https://api.eulerpool.com/api/1", # default
use_auth_header=False, # default: use ?token= query param
max_retries=2, # default
timeout=30.0, # default: 30s
)
Available Resources
53 resources / 400+ methods, generated from the public OpenAPI spec. Common accessors:
equity equity_extended etf macro forex bonds crypto crypto_extended market alternative sentiment research calendar screener mutual_fund commodity institutional certificates earning_calls index news trends ice_swap fair_value aaq analytics calendar charting energy fundamentals government shipping singapore transcripts
Any path also works without a typed method:
client.get("/equity/profile/AAPL", language="en")
Error Handling
from eulerpool import Eulerpool, AuthenticationError, RateLimitError
client = Eulerpool("YOUR_API_KEY")
try:
data = client.equity.profile("US0378331005")
except AuthenticationError:
print("Invalid API key")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
Requirements
- Python >= 3.9
- httpx >= 0.24.0
Pass the key explicitly or set EULERPOOL_API_KEY. Any undocumented path still works via client.get("/path", **params).
License
MIT
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 eulerpool-1.0.0.tar.gz.
File metadata
- Download URL: eulerpool-1.0.0.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25626cb5df6425f03106bef0797bed340eea8eb0d50edd176c9e579a813860df
|
|
| MD5 |
55a91c96644e2b36680a9c6fd8583c5a
|
|
| BLAKE2b-256 |
347a5ad2a699ecd19666df86932f13aca0563067ef96e65c6e294693e362dcc6
|
File details
Details for the file eulerpool-1.0.0-py3-none-any.whl.
File metadata
- Download URL: eulerpool-1.0.0-py3-none-any.whl
- Upload date:
- Size: 46.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb5b0cb7eef5455ec93581d0baa3d0f7bc8b8954101812e13aa2d3f6bc601b46
|
|
| MD5 |
8cfc396908725dbd945ed57d99c4f3a3
|
|
| BLAKE2b-256 |
677fd10d2522f53fdbed785d9aa68f30ac57955543d1caef52487a1e8e8f1ec9
|