Как-то функция загрузки имеет другой тип и использует следующий формат.
d3.json("api.php", function(data) {
data.forEach(e => {
e.date = parseDate(e.date);
e.value = +e.close;
});
var xExtent = d3.extent(data, function(d) { return d.date; });
zoom.translateExtent([[x(xExtent[0]), -Infinity], [x(xExtent[1]), Infinity]])
y.domain([0, d3.max(data, function(d) { return d.value; })]);
yGroup.call(yAxis).select(".domain").remove();
areaPath.datum(data);
zoomRect.call(zoom.transform, d3.zoomIdentity);
});
Конструкторы в python запускаются для инициализации объектов. Объекты создаются во время выполнения, поэтому конструкторы запускаются во время выполнения. Во время компиляции в python код не выполняется.