lockbot 2.1.2__tar.gz → 2.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lockbot-2.1.2/python/lockbot.egg-info → lockbot-2.1.3}/PKG-INFO +6 -3
- {lockbot-2.1.2 → lockbot-2.1.3}/README.md +5 -2
- {lockbot-2.1.2 → lockbot-2.1.3}/pyproject.toml +1 -1
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/config.py +3 -1
- {lockbot-2.1.2 → lockbot-2.1.3/python/lockbot.egg-info}/PKG-INFO +6 -3
- {lockbot-2.1.2 → lockbot-2.1.3}/LICENSE +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/MANIFEST.in +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/admin/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/admin/router.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/auth/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/auth/dependencies.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/auth/models.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/auth/router.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/auth/schemas.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/encryption.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/manager.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/models.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/router.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/schemas.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/bots/webhook_handler.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/database.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/logs/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/main.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/settings/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/settings/models.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/backend/app/settings/router.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/base_bot.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/bot_instance.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/config.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/device_bot.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/device_usage_alert.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/device_usage_utils.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/entry.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/env.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/handler.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/i18n/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/i18n/en.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/i18n/zh.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/io.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/message_adapter.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/msg_utils.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/node_bot.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/platforms/__init__.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/platforms/infoflow.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/queue_bot.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/request.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot/core/utils.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot.egg-info/SOURCES.txt +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot.egg-info/dependency_links.txt +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot.egg-info/requires.txt +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/python/lockbot.egg-info/top_level.txt +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/setup.cfg +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/tools/create_super_admin.py +0 -0
- {lockbot-2.1.2 → lockbot-2.1.3}/tools/gen_keys.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lockbot
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3
|
|
4
4
|
Summary: Cluster resource management bot for IM platforms
|
|
5
5
|
Author-email: Jianbang Yang <yangjianbang112@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -47,6 +47,9 @@ Supports both standalone Flask deployment and a full platform mode with FastAPI
|
|
|
47
47
|
|
|
48
48
|
[中文文档](README_CN.md) | [Live Demo](https://dynamicheart.github.io/lockbot/)
|
|
49
49
|
|
|
50
|
+
[](https://pypi.org/project/lockbot/)
|
|
51
|
+
[](https://github.com/DynamicHeart/lockbot/pkgs/container/lockbot)
|
|
52
|
+
|
|
50
53
|
## Features
|
|
51
54
|
|
|
52
55
|
- **Device Lock Bot** — Lock/unlock individual GPUs or devices on a cluster
|
|
@@ -100,14 +103,14 @@ docker pull ghcr.io/dynamicheart/lockbot:latest
|
|
|
100
103
|
docker run -d --name lockbot -p 8000:8000 \
|
|
101
104
|
-e JWT_SECRET=your-secret \
|
|
102
105
|
-e ENCRYPTION_KEY=your-fernet-key \
|
|
103
|
-
-v lockbot-data:/
|
|
106
|
+
-v lockbot-data:/data \
|
|
104
107
|
ghcr.io/dynamicheart/lockbot:latest
|
|
105
108
|
|
|
106
109
|
# 4. Create super_admin (password auto-generated and printed)
|
|
107
110
|
docker exec -it lockbot python tools/create_super_admin.py --username admin --email admin@example.com
|
|
108
111
|
```
|
|
109
112
|
|
|
110
|
-
> **
|
|
113
|
+
> **Data persistence**: All data (SQLite DB, bot state files) stored under `/data`. Override with `DATA_DIR` env var.
|
|
111
114
|
|
|
112
115
|
## Bot Configuration
|
|
113
116
|
|
|
@@ -7,6 +7,9 @@ Supports both standalone Flask deployment and a full platform mode with FastAPI
|
|
|
7
7
|
|
|
8
8
|
[中文文档](README_CN.md) | [Live Demo](https://dynamicheart.github.io/lockbot/)
|
|
9
9
|
|
|
10
|
+
[](https://pypi.org/project/lockbot/)
|
|
11
|
+
[](https://github.com/DynamicHeart/lockbot/pkgs/container/lockbot)
|
|
12
|
+
|
|
10
13
|
## Features
|
|
11
14
|
|
|
12
15
|
- **Device Lock Bot** — Lock/unlock individual GPUs or devices on a cluster
|
|
@@ -60,14 +63,14 @@ docker pull ghcr.io/dynamicheart/lockbot:latest
|
|
|
60
63
|
docker run -d --name lockbot -p 8000:8000 \
|
|
61
64
|
-e JWT_SECRET=your-secret \
|
|
62
65
|
-e ENCRYPTION_KEY=your-fernet-key \
|
|
63
|
-
-v lockbot-data:/
|
|
66
|
+
-v lockbot-data:/data \
|
|
64
67
|
ghcr.io/dynamicheart/lockbot:latest
|
|
65
68
|
|
|
66
69
|
# 4. Create super_admin (password auto-generated and printed)
|
|
67
70
|
docker exec -it lockbot python tools/create_super_admin.py --username admin --email admin@example.com
|
|
68
71
|
```
|
|
69
72
|
|
|
70
|
-
> **
|
|
73
|
+
> **Data persistence**: All data (SQLite DB, bot state files) stored under `/data`. Override with `DATA_DIR` env var.
|
|
71
74
|
|
|
72
75
|
## Bot Configuration
|
|
73
76
|
|
|
@@ -8,10 +8,12 @@ from pathlib import Path
|
|
|
8
8
|
# Project root directory (lockbot/)
|
|
9
9
|
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
|
10
10
|
|
|
11
|
+
DATA_DIR = os.environ.get("DATA_DIR", "/data")
|
|
12
|
+
|
|
11
13
|
# Database
|
|
12
14
|
DATABASE_URL = os.environ.get(
|
|
13
15
|
"DATABASE_URL",
|
|
14
|
-
f"sqlite:///{
|
|
16
|
+
f"sqlite:///{os.path.join(DATA_DIR, 'lockbot.db')}",
|
|
15
17
|
)
|
|
16
18
|
|
|
17
19
|
# JWT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lockbot
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3
|
|
4
4
|
Summary: Cluster resource management bot for IM platforms
|
|
5
5
|
Author-email: Jianbang Yang <yangjianbang112@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -47,6 +47,9 @@ Supports both standalone Flask deployment and a full platform mode with FastAPI
|
|
|
47
47
|
|
|
48
48
|
[中文文档](README_CN.md) | [Live Demo](https://dynamicheart.github.io/lockbot/)
|
|
49
49
|
|
|
50
|
+
[](https://pypi.org/project/lockbot/)
|
|
51
|
+
[](https://github.com/DynamicHeart/lockbot/pkgs/container/lockbot)
|
|
52
|
+
|
|
50
53
|
## Features
|
|
51
54
|
|
|
52
55
|
- **Device Lock Bot** — Lock/unlock individual GPUs or devices on a cluster
|
|
@@ -100,14 +103,14 @@ docker pull ghcr.io/dynamicheart/lockbot:latest
|
|
|
100
103
|
docker run -d --name lockbot -p 8000:8000 \
|
|
101
104
|
-e JWT_SECRET=your-secret \
|
|
102
105
|
-e ENCRYPTION_KEY=your-fernet-key \
|
|
103
|
-
-v lockbot-data:/
|
|
106
|
+
-v lockbot-data:/data \
|
|
104
107
|
ghcr.io/dynamicheart/lockbot:latest
|
|
105
108
|
|
|
106
109
|
# 4. Create super_admin (password auto-generated and printed)
|
|
107
110
|
docker exec -it lockbot python tools/create_super_admin.py --username admin --email admin@example.com
|
|
108
111
|
```
|
|
109
112
|
|
|
110
|
-
> **
|
|
113
|
+
> **Data persistence**: All data (SQLite DB, bot state files) stored under `/data`. Override with `DATA_DIR` env var.
|
|
111
114
|
|
|
112
115
|
## Bot Configuration
|
|
113
116
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|