Commit ·
22f2a18
1
Parent(s): e4b03ab
feat - map ip
Browse files- .env.example +1 -0
- app.py +4 -2
- src/leaderboard_analytics/config.py +1 -0
- src/leaderboard_analytics/main.py +16 -3
.env.example
CHANGED
|
@@ -4,6 +4,7 @@ MONGO_COLLECTION=events
|
|
| 4 |
HOST=0.0.0.0
|
| 5 |
PORT=7860
|
| 6 |
GRADIO_SHARE=false
|
|
|
|
| 7 |
GEOIP_DATABASE_PATH=GeoLite2-Country.mmdb
|
| 8 |
GEOIP_DATABASE_URL=https://cdn.jsdelivr.net/npm/geolite2-country/GeoLite2-Country.mmdb.gz
|
| 9 |
GEOIP_AUTO_DOWNLOAD=true
|
|
|
|
| 4 |
HOST=0.0.0.0
|
| 5 |
PORT=7860
|
| 6 |
GRADIO_SHARE=false
|
| 7 |
+
GRADIO_SSR_MODE=false
|
| 8 |
GEOIP_DATABASE_PATH=GeoLite2-Country.mmdb
|
| 9 |
GEOIP_DATABASE_URL=https://cdn.jsdelivr.net/npm/geolite2-country/GeoLite2-Country.mmdb.gz
|
| 10 |
GEOIP_AUTO_DOWNLOAD=true
|
app.py
CHANGED
|
@@ -7,7 +7,9 @@ SRC_DIR = ROOT_DIR / "src"
|
|
| 7 |
if str(SRC_DIR) not in sys.path:
|
| 8 |
sys.path.insert(0, str(SRC_DIR))
|
| 9 |
|
| 10 |
-
from leaderboard_analytics.main import
|
|
|
|
|
|
|
| 11 |
|
| 12 |
if __name__ == "__main__":
|
| 13 |
-
|
|
|
|
| 7 |
if str(SRC_DIR) not in sys.path:
|
| 8 |
sys.path.insert(0, str(SRC_DIR))
|
| 9 |
|
| 10 |
+
from leaderboard_analytics.main import create_demo, launch_demo # noqa: E402
|
| 11 |
+
|
| 12 |
+
demo = create_demo()
|
| 13 |
|
| 14 |
if __name__ == "__main__":
|
| 15 |
+
launch_demo(demo)
|
src/leaderboard_analytics/config.py
CHANGED
|
@@ -12,6 +12,7 @@ class Settings(BaseSettings):
|
|
| 12 |
host: str = "0.0.0.0"
|
| 13 |
port: int = 7860
|
| 14 |
gradio_share: bool = False
|
|
|
|
| 15 |
geoip_database_path: str = "GeoLite2-Country.mmdb"
|
| 16 |
geoip_database_url: str = (
|
| 17 |
"https://cdn.jsdelivr.net/npm/geolite2-country/GeoLite2-Country.mmdb.gz"
|
|
|
|
| 12 |
host: str = "0.0.0.0"
|
| 13 |
port: int = 7860
|
| 14 |
gradio_share: bool = False
|
| 15 |
+
gradio_ssr_mode: bool = False
|
| 16 |
geoip_database_path: str = "GeoLite2-Country.mmdb"
|
| 17 |
geoip_database_url: str = (
|
| 18 |
"https://cdn.jsdelivr.net/npm/geolite2-country/GeoLite2-Country.mmdb.gz"
|
src/leaderboard_analytics/main.py
CHANGED
|
@@ -6,7 +6,7 @@ from leaderboard_analytics.services import AnalyticsService
|
|
| 6 |
from leaderboard_analytics.ui import build_dashboard
|
| 7 |
|
| 8 |
|
| 9 |
-
def
|
| 10 |
settings = get_settings()
|
| 11 |
client = get_mongo_client()
|
| 12 |
db = get_database(client)
|
|
@@ -28,8 +28,21 @@ def run() -> None:
|
|
| 28 |
repository=repository,
|
| 29 |
geoip_database_path=geoip_database_path,
|
| 30 |
)
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
|
| 35 |
if __name__ == "__main__":
|
|
|
|
| 6 |
from leaderboard_analytics.ui import build_dashboard
|
| 7 |
|
| 8 |
|
| 9 |
+
def create_demo():
|
| 10 |
settings = get_settings()
|
| 11 |
client = get_mongo_client()
|
| 12 |
db = get_database(client)
|
|
|
|
| 28 |
repository=repository,
|
| 29 |
geoip_database_path=geoip_database_path,
|
| 30 |
)
|
| 31 |
+
return build_dashboard(service=service)
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
def launch_demo(demo) -> None:
|
| 35 |
+
settings = get_settings()
|
| 36 |
+
demo.launch(
|
| 37 |
+
server_name=settings.host,
|
| 38 |
+
server_port=settings.port,
|
| 39 |
+
share=settings.gradio_share,
|
| 40 |
+
ssr_mode=settings.gradio_ssr_mode,
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
def run() -> None:
|
| 45 |
+
launch_demo(create_demo())
|
| 46 |
|
| 47 |
|
| 48 |
if __name__ == "__main__":
|