Metadata-Version: 2.4
Name: PyOBD
Version: 0.3.0
Summary: BYMA Market Data Library - Open Data API client
Home-page: https://github.com/franco-lamas/PyOBD
Author: Franco Lamas, Nacho Herrera, St1tch
Author-email: francomlamas@gmail.com
License: GPLv3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: urllib3>=2.0.0
Requires-Dist: pytz>=2023.3
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: black>=23.7.0; extra == "dev"
Requires-Dist: flake8>=6.1.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# PyOBD - BYMA Market Data Library

Biblioteca Python para acceso a datos del mercado argentino vía **BYMA Open Data API**.

Compatible con la API de [pyhomebroker](https://github.com/crapher/pyhomebroker) para facilitar migración y uso conjunto.

## Instalación

```bash
pip install PyOBD
```

Instalación desde GitHub (última versión en el repositorio):

```bash
pip install "git+https://github.com/franco-lamas/PyOBD.git"
```

Install from GitLab Package Registry (replace <GITLAB_URL> and <PROJECT_ID>):

```bash
pip install --index-url https://<GITLAB_URL>/api/v4/projects/<PROJECT_ID>/packages/pypi/simple PyOBD==0.3.0
```

## Uso rápido

```python
from pyobd import BymaData

client = BymaData()

# Cotización actual
quote = client.get_current_quote("GGAL", settlement="48HS")
print(quote)

# Datos históricos (compatible con pyhomebroker)
df = client.get_daily_history(
    symbol="GGAL",
    from_date="2026-01-01",
    to_date="2026-03-01",
)
print(df.head())

# Datos intradiarios (1-minuto)
idf = client.get_intraday_history("GGAL")
print(idf.head())

# Índices
indices = client.get_indices()
print(indices)
```

## Métodos disponibles

(*Nota: algunos nombres antiguos se mantienen con alias deprecados*)

| Método | Descripción |
|--------|-------------|
| `get_market_time()` | Estado y horario del mercado |
| `get_indices()` | Índices bursátiles |
| `get_bluechips()` | Panel acciones líderes (blue chips) |
| `get_general_board()` | Panel acciones general |
| `get_cedears()` | CEDEARs |
| `get_current_quote(symbol, settlement)` | Cotización actual |
| `get_daily_history(symbol, from_date, to_date)` | Datos históricos OHLCV |
| `get_intraday_history(symbol, from_date=None, to_date=None)` | Datos intradiarios OHLCV 1-minuto |
| `get_government_bonds()` | Títulos públicos |
| `get_corporate_bonds()` | Obligaciones negociables |
| `get_short_term_government_bonds()` | Letras (corto plazo) |
| `get_company_info(symbol)` | Información empresa |
| `get_equity_profile(symbol)` | Perfil especie |
| `get_company_management(symbol)` | Directivos |
| `get_company_balance(symbol)` | Balance |

## Migración desde pyhomebroker

Los métodos clave tienen las mismas firmas y estructura de DataFrame para facilitar la conversión:

```python
# pyhomebroker (requiere cuenta broker)
import pyhomebroker as hb
hb.auth.login(dni=..., user=..., password=..., broker=...)

# Histórico diario
df = hb.history.get_daily_history("GGAL", "2026-01-01", "2026-03-01")
print(df.columns)  # ['date', 'open', 'high', 'low', 'close', 'volume']

# Intradiario
df = hb.history.get_intraday_history("GGAL")

# PyOBD (sin autenticación):
from pyobd import BymaData
client = BymaData()

df = client.get_daily_history("GGAL", "2026-01-01", "2026-03-01")
print(df.columns)  # ['date', 'open', 'high', 'low', 'close', 'volume']

df = client.get_intraday_history("GGAL")
```

Las diferencias menores:

* PyOBD expone los métodos directamente en el cliente (`client.get_*()`)
  en lugar de módulos anidados (`hb.history.*`).
* No se requiere login ni credenciales.
* Algunos nombres de métodos han cambiado (`get_bluechips` vs `get_leading_equity`, etc.) pero existen alias deprecados.


# DISCLAIMER

La información es mostrada “tal cual es”, puede ser incorrecta o contener errores, eso es responsabilidad de cada sitio. No somos responsables por el uso indebido de los Scripts.

## Licencia

GNU General Public License v3 (GPLv3)
