Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
# * Produce JUnit XML report
- name: Run unit tests
run: |
.venv/bin/python3 -m pytest src/india_api --cov -s src/india_api --cov-report=xml
.venv/bin/python3 -m pytest src/quartz_api --cov -s src/quartz_api --cov-report=xml

# Create test summary to be visualised on the job summary screen on GitHub
# * Runs even if previous steps fail
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# India API
# Quartz API
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Expand All @@ -19,14 +19,14 @@ so there is nothing to configure.
You can either download the latest image from GitHub container registry:

```sh
$ docker run ghcr.io/openclimatefix/india-api:latest
$ docker run ghcr.io/openclimatefix/quartz-api:latest
```

Or build and run locally using the Containerfile:

```sh
$ docker build -t india-api .
$ docker run india-api
$ docker build -t quartz-api .
$ docker run quartz-api
```

### Using python(v3.11.x)
Expand All @@ -39,7 +39,7 @@ Install the dependencies with
$ pip install -e .
```

The service is then runnable via the command `india-api`.
The service is then runnable via the command `quartz-api`.
You should see the following output:

```shell
Expand All @@ -63,7 +63,7 @@ Install all the dependencies with
pip install -e ".[all]"
```

You can run the service with the command `india-api`.
You can run the service with the command `quartz-api`.
Changes will be hot-reloaded by the server.


Expand Down
10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ build-backend = "setuptools.build_meta"

# Metadata (see https://peps.python.org/pep-0621/)
[project]
name = "india-api"
name = "quartz-api"
dynamic = ["version"] # Set automatically using git: https://setuptools-git-versioning.readthedocs.io/en/stable/
description = "India API for wind and solar data"
description = "Quartz API for wind and solar data"
readme = {file = "README.md", content-type = "text/markdown"}
requires-python = ">=3.11.0"
license = {text = "MIT License"}
Expand Down Expand Up @@ -46,14 +46,14 @@ vim = [
"pylsp-mypy >= 0.6.8",
]
all = [
"india-api[test,lint,vim]",
"quartz-api[test,lint,vim]",
]

[project.urls]
repository = "https://github.com/openclimatefix/india-api"
repository = "https://github.com/openclimatefix/quartz-api"

[project.scripts]
india-api = "india_api.cmd.main:run"
quartz-api = "quartz.cmd.main:run"

[tool.setuptools]
include-package-data = false
Expand Down
6 changes: 0 additions & 6 deletions src/india_api/internal/inputs/__init__.py

This file was deleted.

File renamed without changes.
File renamed without changes.
14 changes: 7 additions & 7 deletions src/india_api/cmd/main.py → src/quartz_api/cmd/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import sentry_sdk


from india_api import internal
from india_api.internal.config import Config
from india_api.internal.service import get_db_client, server, version
from quartz_api import internal
from quartz_api.internal.config import Config
from quartz_api.internal.service import get_db_client, server, version


cfg = Config()
Expand All @@ -18,16 +18,16 @@
traces_sample_rate=1
)

sentry_sdk.set_tag("app_name", "india_api")
sentry_sdk.set_tag("app_name", "quartz_api")
sentry_sdk.set_tag("version",version)

match cfg.SOURCE:
case "indiadb":
case "quartzdb":
if cfg.DB_URL == "" or cfg.DB_URL is None:
raise OSError(f"DB_URL env var is required using db source: {cfg.SOURCE}")

def get_db_client_override() -> internal.DatabaseInterface:
return internal.inputs.indiadb.Client(cfg.DB_URL)
return internal.inputs.quartzdb.Client(cfg.DB_URL)
case "dummydb":

def get_db_client_override() -> internal.DatabaseInterface:
Expand All @@ -42,7 +42,7 @@ def get_db_client_override() -> internal.DatabaseInterface:
def run() -> None:
"""Run the API using a uvicorn server."""
uvicorn.run(
"india_api.internal.service.server:server",
"quartz_api.internal.service.server:server",
host="0.0.0.0",
port=cfg.PORT,
reload=True,
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def __init__(self) -> None:
class Config(EnvParser):
"""Config for the application."""

SOURCE: str = "indiadb"
SOURCE: str = "quartzdb"
DB_URL: str = ""
PORT: int = 8000
AUTH0_DOMAIN: str = ""
Expand Down
6 changes: 6 additions & 0 deletions src/quartz_api/internal/inputs/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from . import dummydb, quartzdb

__all__ = [
"quartzdb",
"dummydb",
]
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
from typing import Optional


from india_api import internal
from india_api.internal.models import ForecastHorizon
from quartz_api import internal
from quartz_api.internal.models import ForecastHorizon

from ._models import DummyDBPredictedPowerProduction
from ..utils import get_window
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from .client import Client

from india_api.internal import ActualPower
from quartz_api.internal import ActualPower

client = Client()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""India DB client that conforms to the DatabaseInterface."""
"""Quartz DB client that conforms to the DatabaseInterface."""
import os
import datetime as dt
import pandas as pd
Expand All @@ -24,16 +24,16 @@
from pvsite_datamodel.pydantic_models import PVSiteEditMetadata
from sqlalchemy.orm import Session

from india_api import internal
from india_api.internal.inputs.utils import get_window
from india_api.internal.inputs.indiadb.smooth import smooth_forecast
from india_api.internal.models import ForecastHorizon
from quartz_api import internal
from quartz_api.internal.inputs.utils import get_window
from quartz_api.internal.inputs.quartzdb.smooth import smooth_forecast
from quartz_api.internal.models import ForecastHorizon

log = logging.getLogger(__name__)


class Client(internal.DatabaseInterface):
"""Defines India DB client that conforms to the DatabaseInterface."""
"""Defines Quartz DB client that conforms to the DatabaseInterface."""

session: Session = None

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pandas as pd
from india_api.internal import PredictedPower
from quartz_api.internal import PredictedPower


def smooth_forecast(values: list[PredictedPower]) -> list[PredictedPower]:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from fastapi import HTTPException
import pytest

from india_api.internal import PredictedPower, ActualPower, SiteProperties
from quartz_api.internal import PredictedPower, ActualPower, SiteProperties

from pvsite_datamodel.sqlmodels import APIRequestSQL

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from fastapi import HTTPException
import pytest

from india_api.internal import PredictedPower, ActualPower, SiteProperties
from quartz_api.internal import PredictedPower, ActualPower, SiteProperties

from pvsite_datamodel.sqlmodels import APIRequestSQL

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import pandas as pd
from datetime import datetime

from india_api.internal import PredictedPower
from india_api.internal.models import ForecastHorizon
from quartz_api.internal import PredictedPower
from quartz_api.internal.models import ForecastHorizon


def format_csv_and_created_time(values: list[PredictedPower], forecast_horizon: ForecastHorizon) -> (pd.DataFrame, datetime):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from fastapi import Depends

from india_api.internal import DatabaseInterface
from quartz_api.internal import DatabaseInterface


def get_db_client() -> DatabaseInterface:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
from starlette import status
from starlette.requests import Request

from india_api.internal import ActualPower, PredictedPower
from india_api.internal.models import ForecastHorizon
from india_api.internal.service.auth import auth
from india_api.internal.service.constants import local_tz
from india_api.internal.service.csv import format_csv_and_created_time
from india_api.internal.service.database_client import DBClientDependency
from india_api.internal.service.resample import resample_generation
from quartz_api.internal import ActualPower, PredictedPower
from quartz_api.internal.models import ForecastHorizon
from quartz_api.internal.service.auth import auth
from quartz_api.internal.service.constants import local_tz
from quartz_api.internal.service.csv import format_csv_and_created_time
from quartz_api.internal.service.database_client import DBClientDependency
from quartz_api.internal.service.resample import resample_generation

router = APIRouter(
tags=["Regions"],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pandas as pd
from india_api.internal import (
from quartz_api.internal import (
ActualPower
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
from pydantic import BaseModel
from fastapi.responses import FileResponse

from india_api.internal.service.database_client import get_db_client
from india_api.internal.service.regions import router as regions_router
from india_api.internal.service.sites import router as sites_router
from india_api.cmd.redoc_theme import get_redoc_html_with_theme
from quartz_api.internal.service.database_client import get_db_client
from quartz_api.internal.service.regions import router as regions_router
from quartz_api.internal.service.sites import router as sites_router
from quartz_api.cmd.redoc_theme import get_redoc_html_with_theme


logging.basicConfig(level=logging.DEBUG, stream=sys.stdout)
Expand Down Expand Up @@ -42,8 +42,10 @@
# },
]

title = "India API"
description = """ API providing OCF Forecast for India.
title = "Quartz API"
description = """ API providing OCF Forecast for Quartz.

TODO: Update description

## Regions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

from fastapi import APIRouter, Depends

from india_api.internal import ActualPower, PredictedPower, Site, SiteProperties
from india_api.internal.service.database_client import DBClientDependency
from india_api.internal.service.auth import auth
from quartz_api.internal import ActualPower, PredictedPower, Site, SiteProperties
from quartz_api.internal.service.database_client import DBClientDependency
from quartz_api.internal.service.auth import auth

router = APIRouter(
tags=["Sites"],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from india_api.internal.models import ActualPower
from india_api.internal.service.resample import resample_generation
from quartz_api.internal.models import ActualPower
from quartz_api.internal.service.resample import resample_generation
import pandas as pd


Expand Down