Jesus Lopez commited on
Commit
7e9f59c
1 Parent(s): c35cd37

ci: deploy to hf

Browse files
.github/workflows/update_space.yml ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Run Python script
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Install Poetry
17
+ run: pipx install poetry
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.12"
23
+ cache: "poetry"
24
+
25
+ - name: Install Gradio
26
+ run: |
27
+ poetry install --only=ci --no-root -q
28
+ PATH=$(poetry env info --path)/bin:$PATH
29
+ huggingface-cli login --token ${{ secrets.hf_token }}
30
+ gradio deploy
.gitignore CHANGED
@@ -2,3 +2,4 @@
2
  .venv/
3
  __pycache__/
4
  *.pyc
 
 
2
  .venv/
3
  __pycache__/
4
  *.pyc
5
+ .env
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
31
+ -----END CERTIFICATE-----
README.md CHANGED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ ---
2
+ title: tts-service
3
+ app_file: tts_service/app.py
4
+ sdk: gradio
5
+ sdk_version: 5.6.0
6
+ ---
poetry.lock CHANGED
The diff for this file is too large to render. See raw diff
 
pyproject.toml CHANGED
@@ -6,9 +6,21 @@ authors = ["Jesus Lopez <jesus@jesusla.com>"]
6
  readme = "README.md"
7
 
8
 
 
 
 
 
9
  [tool.poetry.dependencies]
10
  python = "~3.12"
11
 
 
 
 
 
 
 
 
 
12
  [tool.poetry.group.dev.dependencies]
13
  debugpy = "^1.8.9"
14
  ipykernel = "^6.29.5"
@@ -46,7 +58,11 @@ select = [
46
 
47
  [tool.mypy]
48
  strict = true
 
49
 
 
 
 
50
 
51
  [build-system]
52
  requires = ["poetry-core"]
 
6
  readme = "README.md"
7
 
8
 
9
+ [tool.poetry.scripts]
10
+ tts-service = "tts_service.cli:main"
11
+
12
+
13
  [tool.poetry.dependencies]
14
  python = "~3.12"
15
 
16
+ [tool.poetry.group.cli.dependencies]
17
+ click = "^8.1.7"
18
+ click-help-colors = "^0.9.4"
19
+
20
+ [tool.poetry.group.ci.dependencies]
21
+ gradio = "^5.6.0"
22
+ huggingface-hub = "^0.26.2"
23
+
24
  [tool.poetry.group.dev.dependencies]
25
  debugpy = "^1.8.9"
26
  ipykernel = "^6.29.5"
 
58
 
59
  [tool.mypy]
60
  strict = true
61
+ disallow_untyped_defs = true
62
 
63
+ [[tool.mypy.overrides]]
64
+ module = ["gradio"]
65
+ ignore_missing_imports = true
66
 
67
  [build-system]
68
  requires = ["poetry-core"]
tts_service/app.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ def greet(name: str) -> str:
4
+ return "Hello " + name + "!"
5
+
6
+ app = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")
7
+
8
+ if __name__ == "__main__":
9
+ # HF space entry point
10
+ # https://discuss.huggingface.co/t/python-gradio-web-pages-suddenly-dont-render-properly-on-ipad-browsers/126669
11
+ # Once this is fixed, remove ssr_mode=False
12
+ app.launch(ssr_mode=False)
tts_service/cli.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import click
2
+ from click_help_colors import HelpColorsGroup
3
+
4
+
5
+ @click.group(
6
+ cls=HelpColorsGroup,
7
+ help_headers_color="yellow",
8
+ help_options_color="green",
9
+ )
10
+ def main() -> None:
11
+ """TTS Service CLI"""
12
+
13
+
14
+ @main.command()
15
+ @click.option("--share", is_flag=True, help="Share the service")
16
+ def serve(share: bool) -> None:
17
+ """Start the TTS Service"""
18
+ from tts_service.app import app
19
+ app.launch(share=share)
20
+
21
+
22
+ if __name__ == "__main__":
23
+ main()