Skip to content

Commit dfe56d7

Browse files
committed
feat: rename esios_data module to esios for cleaner API
client.esios_data → client.esios
1 parent 3908d6d commit dfe56d7

8 files changed

Lines changed: 27 additions & 27 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Python client for Datons data APIs (`pip install datons`).
55
## Structure
66

77
- `src/datons/client.py` — Central `Client` with shared auth and HTTP
8-
- `src/datons/esios_data/` — ESIOS preprocessed data manager (first product)
8+
- `src/datons/esios/` — ESIOS preprocessed data manager (first product)
99
- Future products go in `src/datons/<product_name>/`
1010

1111
## Running tests

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ from datons import Client
1616
client = Client(token="esd_live_...")
1717

1818
# Query preprocessed I90 market data
19-
df = client.esios_data.query(
19+
df = client.esios.query(
2020
"SELECT unit, datetime, energy, price "
2121
"FROM operational_data_15min "
2222
"WHERE program = 'PDBF' AND date >= '2025-01-01' "
2323
"LIMIT 100"
2424
)
2525

2626
# Dataset metadata (schema, programs, stats)
27-
meta = client.esios_data.metadata()
27+
meta = client.esios.metadata()
2828

2929
# Search for units, companies, technologies
30-
results = client.esios_data.search("iberdrola")
30+
results = client.esios.search("iberdrola")
3131
```
3232

3333
## Authentication

src/datons/client.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ class Client:
2424
from datons import Client
2525
2626
client = Client(token="esd_live_...")
27-
df = client.esios_data.query("SELECT unit, energy FROM operational_data_15min WHERE program='PDBF' LIMIT 10")
27+
df = client.esios.query("SELECT unit, energy FROM operational_data_15min WHERE program='PDBF' LIMIT 10")
2828
2929
Or with context manager::
3030
3131
with Client(token="esd_live_...") as client:
32-
df = client.esios_data.query("SELECT ...")
32+
df = client.esios.query("SELECT ...")
3333
"""
3434

3535
def __init__(
@@ -58,16 +58,16 @@ def __init__(
5858
)
5959

6060
# Lazy-initialized managers
61-
self._esios_data: Any = None
61+
self._esios: Any = None
6262

6363
@property
64-
def esios_data(self):
64+
def esios(self):
6565
"""Access ESIOS preprocessed data (I90, market programs)."""
66-
if self._esios_data is None:
67-
from datons.esios_data.manager import EsiosDataManager
66+
if self._esios is None:
67+
from datons.esios.manager import EsiosDataManager
6868

69-
self._esios_data = EsiosDataManager(self)
70-
return self._esios_data
69+
self._esios = EsiosDataManager(self)
70+
return self._esios
7171

7272
# -- HTTP primitives (used by managers) ------------------------------------
7373

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""ESIOS Data — preprocessed Spanish electricity market data from ClickHouse."""
22

3-
from datons.esios_data.manager import EsiosDataManager
4-
from datons.esios_data.models import (
3+
from datons.esios.manager import EsiosDataManager
4+
from datons.esios.models import (
55
ColumnInfo,
66
DimensionResult,
77
MetadataResult,
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
import pandas as pd
1515

16-
from datons.esios_data.models import (
16+
from datons.esios.models import (
1717
DimensionResult,
1818
MetadataResult,
1919
QueryResult,
@@ -36,19 +36,19 @@ class EsiosDataManager:
3636
client = Client(token="esd_live_...")
3737
3838
# SQL query → DataFrame
39-
df = client.esios_data.query(
39+
df = client.esios.query(
4040
"SELECT unit, datetime, energy FROM operational_data_15min "
4141
"WHERE program='PDBF' AND date >= '2025-01-01' LIMIT 100"
4242
)
4343
4444
# Metadata (schema, programs, stats)
45-
meta = client.esios_data.metadata()
45+
meta = client.esios.metadata()
4646
4747
# Search for dimension values
48-
results = client.esios_data.search("iberdrola")
48+
results = client.esios.search("iberdrola")
4949
5050
# Dimension lookup
51-
techs = client.esios_data.dimensions("technology")
51+
techs = client.esios.dimensions("technology")
5252
"""
5353

5454
def __init__(self, client: Client):
@@ -125,9 +125,9 @@ def search(
125125
126126
Examples::
127127
128-
client.esios_data.search("iber") # → Iberdrola units/companies
129-
client.esios_data.search("ciclo") # → Ciclo Combinado technology
130-
client.esios_data.search("CTGN") # → unit codes CTGN1, CTGN2...
128+
client.esios.search("iber") # → Iberdrola units/companies
129+
client.esios.search("ciclo") # → Ciclo Combinado technology
130+
client.esios.search("CTGN") # → unit codes CTGN1, CTGN2...
131131
"""
132132
params: dict = {"q": q}
133133
if column:

tests/test_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ def test_client_context_manager():
3131
assert client.token == "esd_test_abc123"
3232

3333

34-
def test_esios_data_manager_lazy_init():
34+
def test_esios_manager_lazy_init():
3535
"""EsiosDataManager is lazily initialized on first access."""
3636
client = Client(token="esd_test_abc123")
37-
assert client._esios_data is None
38-
_ = client.esios_data
39-
assert client._esios_data is not None
37+
assert client._esios is None
38+
_ = client.esios
39+
assert client._esios is not None
4040
client.close()

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)