Skip to content

Commit 3680158

Browse files
authored
v0.8.0 (#204)
Adjustments: * added `--force` flag to makefile dev commands * updated changelog * added test for `get_model_path` Signed-off-by: Alexander Piskun <[email protected]>
1 parent fd228e7 commit 3680158

File tree

10 files changed

+48
-52
lines changed

10 files changed

+48
-52
lines changed

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ All notable changes to this project will be documented in this file.
77
### Added
88

99
- `download_log` method to download `nextcloud.log`. #199
10-
- NextcloudApp: API for registering Speech to Text providers(*avalaible from Nextcloud 29*). #196
11-
- NextcloudApp: API for registering Text Processing providers(*avalaible from Nextcloud 29*). #198
10+
- NextcloudApp: API for registering `Speech to Text` providers(*avalaible from Nextcloud 29*). #196
11+
- NextcloudApp: API for registering `Text Processing` providers(*avalaible from Nextcloud 29*). #198
12+
- NextcloudApp: added `get_model_path` wrapper around huggingface_hub:snapshot_download. #202
1213

1314
### Fixed
1415

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ Python library that provides a robust and well-documented API that allows develo
3535
| User & Weather status |||||
3636
| Other APIs*** |||||
3737
| Talk Bot API* | N/A ||||
38-
| TextProcessing* | N/A | N/A | N/A ||
39-
| SpeechToText* | N/A | N/A | N/A ||
38+
| AI Providers API** | N/A | N/A | N/A ||
4039

4140
&ast;_available only for **NextcloudApp**_<br>
41+
&ast;&ast;_available only for **NextcloudApp**: SpeechToText, TextProcessing_<br>
4242
&ast;&ast;&ast;_Activity, Notes_
4343

4444
### Differences between the Nextcloud and NextcloudApp classes

examples/as_app/skeleton/Makefile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,57 +31,57 @@ build-push:
3131

3232
.PHONY: deploy27
3333
deploy27:
34-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
34+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
3535
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:deploy skeleton docker_dev \
3636
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
3737

3838
.PHONY: deploy28
3939
deploy28:
40-
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
40+
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
4141
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:deploy skeleton docker_dev \
4242
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
4343

4444
.PHONY: deploy
4545
deploy:
46-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
46+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
4747
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:deploy skeleton docker_dev \
4848
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
4949

5050
.PHONY: run27
5151
run27:
52-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
52+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
5353
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register skeleton docker_dev --force-scopes \
5454
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
5555

5656
.PHONY: run28
5757
run28:
58-
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
58+
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
5959
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:register skeleton docker_dev --force-scopes \
6060
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
6161

6262
.PHONY: run
6363
run:
64-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
64+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
6565
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register skeleton docker_dev --force-scopes \
6666
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
6767

6868
.PHONY: register27
6969
register27:
70-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
70+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
7171
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register skeleton manual_install --json-info \
7272
"{\"appid\":\"skeleton\",\"name\":\"App Skeleton\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9030,\"scopes\":{\"required\":[],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
7373
--force-scopes --wait-finish
7474

7575
.PHONY: register28
7676
register28:
77-
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
77+
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
7878
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:register skeleton manual_install --json-info \
7979
"{\"appid\":\"skeleton\",\"name\":\"App Skeleton\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9030,\"scopes\":{\"required\":[],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
8080
--force-scopes --wait-finish
8181

8282
.PHONY: register
8383
register:
84-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent || true
84+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister skeleton --silent --force || true
8585
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register skeleton manual_install --json-info \
8686
"{\"appid\":\"skeleton\",\"name\":\"App Skeleton\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9030,\"scopes\":{\"required\":[],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
8787
--force-scopes --wait-finish

examples/as_app/talk_bot/Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,38 @@ build-push:
2828

2929
.PHONY: deploy
3030
deploy:
31-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent || true
31+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent --force || true
3232
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:deploy talk_bot docker_dev \
3333
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot/appinfo/info.xml
3434

3535
.PHONY: deploy27
3636
deploy27:
37-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent || true
37+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent --force || true
3838
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:deploy talk_bot docker_dev \
3939
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot/appinfo/info.xml
4040

4141
.PHONY: run
4242
run:
43-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent || true
43+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent --force || true
4444
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register talk_bot docker_dev --force-scopes \
4545
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot/appinfo/info.xml
4646

4747
.PHONY: run27
4848
run27:
49-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent || true
49+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent --force || true
5050
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register talk_bot docker_dev --force-scopes \
5151
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot/appinfo/info.xml
5252

5353
.PHONY: register
5454
register:
55-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent || true
55+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent --force || true
5656
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register talk_bot manual_install --json-info \
5757
"{\"appid\":\"talk_bot\",\"name\":\"TalkBot\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9032,\"scopes\":{\"required\":[\"TALK\", \"TALK_BOT\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
5858
--force-scopes --wait-finish
5959

6060
.PHONY: register27
6161
register27:
62-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent || true
62+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot --silent --force || true
6363
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register talk_bot manual_install --json-info \
6464
"{\"appid\":\"talk_bot\",\"name\":\"TalkBot\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9032,\"scopes\":{\"required\":[\"TALK\", \"TALK_BOT\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
6565
--force-scopes --wait-finish

examples/as_app/talk_bot_ai/Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,38 @@ build-push:
2828

2929
.PHONY: deploy
3030
deploy:
31-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent || true
31+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent --force || true
3232
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:deploy talk_bot_ai docker_dev \
3333
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot_ai/appinfo/info.xml
3434

3535
.PHONY: deploy27
3636
deploy27:
37-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent || true
37+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent --force || true
3838
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:deploy talk_bot_ai docker_dev \
3939
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot_ai/appinfo/info.xml
4040

4141
.PHONY: run
4242
run:
43-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent || true
43+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent --force || true
4444
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register talk_bot_ai docker_dev --force-scopes \
4545
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot_ai/appinfo/info.xml
4646

4747
.PHONY: run27
4848
run27:
49-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent || true
49+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent --force || true
5050
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register talk_bot_ai docker_dev --force-scopes \
5151
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/talk_bot_ai/appinfo/info.xml
5252

5353
.PHONY: register
5454
register:
55-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent || true
55+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent --force || true
5656
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register talk_bot_ai manual_install --json-info \
5757
"{\"appid\":\"talk_bot_ai\",\"name\":\"TalkBotAI\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9034,\"scopes\":{\"required\":[\"TALK\", \"TALK_BOT\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
5858
--force-scopes --wait-finish
5959

6060
.PHONY: register27
6161
register27:
62-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent || true
62+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister talk_bot_ai --silent --force || true
6363
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register talk_bot_ai manual_install --json-info \
6464
"{\"appid\":\"talk_bot_ai\",\"name\":\"TalkBotAI\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9034,\"scopes\":{\"required\":[\"TALK\", \"TALK_BOT\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
6565
--force-scopes --wait-finish

examples/as_app/talk_bot_ai/lib/main.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66

77
import requests
88
from fastapi import BackgroundTasks, Depends, FastAPI
9-
from huggingface_hub import snapshot_download
109
from transformers import pipeline
1110

1211
from nc_py_api import NextcloudApp, talk_bot
13-
from nc_py_api.ex_app import persistent_storage, run_app, set_handlers, talk_bot_app
12+
from nc_py_api.ex_app import get_model_path, run_app, set_handlers, talk_bot_app
1413

1514

1615
@asynccontextmanager
@@ -28,10 +27,7 @@ def ai_talk_bot_process_request(message: talk_bot.TalkBotMessage):
2827
r = re.search(r"@assistant\s(.*)", message.object_content["message"], re.IGNORECASE)
2928
if r is None:
3029
return
31-
model = pipeline(
32-
"text2text-generation",
33-
model=snapshot_download(MODEL_NAME, local_files_only=True, cache_dir=persistent_storage()),
34-
)
30+
model = pipeline("text2text-generation", model=get_model_path(MODEL_NAME))
3531
response_text = model(r.group(1), max_length=64, do_sample=True)[0]["generated_text"]
3632
AI_BOT.send_message(response_text, message)
3733

examples/as_app/to_gif/Makefile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,57 +31,57 @@ build-push:
3131

3232
.PHONY: deploy27
3333
deploy27:
34-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
34+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
3535
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:deploy to_gif docker_dev \
3636
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/to_gif/appinfo/info.xml
3737

3838
.PHONY: deploy28
3939
deploy28:
40-
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
40+
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
4141
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:deploy to_gif docker_dev \
4242
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/to_gif/appinfo/info.xml
4343

4444
.PHONY: deploy
4545
deploy:
46-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
46+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
4747
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:deploy to_gif docker_dev \
4848
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/to_gif/appinfo/info.xml
4949

5050
.PHONY: run27
5151
run27:
52-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
52+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
5353
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register to_gif docker_dev --force-scopes \
5454
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/to_gif/appinfo/info.xml
5555

5656
.PHONY: run28
5757
run28:
58-
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
58+
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
5959
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:register to_gif docker_dev --force-scopes \
6060
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/to_gif/appinfo/info.xml
6161

6262
.PHONY: run
6363
run:
64-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
64+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
6565
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register to_gif docker_dev --force-scopes \
6666
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/to_gif/appinfo/info.xml
6767

6868
.PHONY: register27
6969
register27:
70-
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
70+
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
7171
docker exec master-stable27-1 sudo -u www-data php occ app_api:app:register to_gif manual_install --json-info \
7272
"{\"appid\":\"to_gif\",\"name\":\"to_gif\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9031,\"scopes\":{\"required\":[\"FILES\", \"NOTIFICATIONS\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
7373
--force-scopes --wait-finish
7474

7575
.PHONY: register28
7676
register28:
77-
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
77+
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
7878
docker exec master-stable28-1 sudo -u www-data php occ app_api:app:register to_gif manual_install --json-info \
7979
"{\"appid\":\"to_gif\",\"name\":\"to_gif\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9031,\"scopes\":{\"required\":[\"FILES\", \"NOTIFICATIONS\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
8080
--force-scopes --wait-finish
8181

8282
.PHONY: register
8383
register:
84-
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent || true
84+
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister to_gif --silent --force || true
8585
docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register to_gif manual_install --json-info \
8686
"{\"appid\":\"to_gif\",\"name\":\"to_gif\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9031,\"scopes\":{\"required\":[\"FILES\", \"NOTIFICATIONS\"],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
8787
--force-scopes --wait-finish

0 commit comments

Comments
 (0)