rfcli 0.1.0__tar.gz → 0.1.2__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.
- {rfcli-0.1.0 → rfcli-0.1.2}/PKG-INFO +7 -4
- rfcli-0.1.2/rfcli/config.py +15 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/train_local.py +2 -3
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/upload.py +3 -3
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/version.py +2 -2
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli.egg-info/PKG-INFO +7 -4
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli.egg-info/requires.txt +4 -1
- {rfcli-0.1.0 → rfcli-0.1.2}/setup.py +13 -4
- rfcli-0.1.0/rfcli/config.py +0 -9
- {rfcli-0.1.0 → rfcli-0.1.2}/README.md +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/__init__.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/convert.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/infer.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/main.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/predict.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/train.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli/utils.py +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli.egg-info/SOURCES.txt +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli.egg-info/dependency_links.txt +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli.egg-info/entry_points.txt +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/rfcli.egg-info/top_level.txt +0 -0
- {rfcli-0.1.0 → rfcli-0.1.2}/setup.cfg +0 -0
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rfcli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Dataset-to-Deployment CLI for Object Detection
|
|
5
|
-
Author:
|
|
5
|
+
Author: Saahiti K S
|
|
6
6
|
Requires-Python: >=3.8
|
|
7
7
|
Requires-Dist: click
|
|
8
8
|
Requires-Dist: rich
|
|
9
9
|
Requires-Dist: roboflow
|
|
10
|
-
Requires-Dist: ultralytics
|
|
11
10
|
Requires-Dist: fastapi
|
|
12
11
|
Requires-Dist: uvicorn
|
|
13
12
|
Requires-Dist: python-multipart
|
|
14
|
-
|
|
13
|
+
Provides-Extra: ml
|
|
14
|
+
Requires-Dist: ultralytics; extra == "ml"
|
|
15
|
+
Requires-Dist: torch; extra == "ml"
|
|
16
|
+
Requires-Dist: opencv-python; extra == "ml"
|
|
15
17
|
Dynamic: author
|
|
18
|
+
Dynamic: provides-extra
|
|
16
19
|
Dynamic: requires-dist
|
|
17
20
|
Dynamic: requires-python
|
|
18
21
|
Dynamic: summary
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def get_api_key():
|
|
5
|
+
api_key = os.getenv("ROBOFLOW_API_KEY")
|
|
6
|
+
|
|
7
|
+
if not api_key:
|
|
8
|
+
raise ValueError(
|
|
9
|
+
"\n❌ ROBOFLOW_API_KEY not set\n\n"
|
|
10
|
+
"👉 Set it using:\n"
|
|
11
|
+
"Windows (PowerShell): setx ROBOFLOW_API_KEY your_key\n"
|
|
12
|
+
"Mac/Linux: export ROBOFLOW_API_KEY=your_key\n"
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
return api_key
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
from roboflow import Roboflow
|
|
2
2
|
from ultralytics import YOLO
|
|
3
|
-
from rfcli.config import
|
|
4
|
-
|
|
3
|
+
from rfcli.config import get_api_key
|
|
5
4
|
|
|
6
5
|
def train_local(workspace, project, version):
|
|
7
6
|
|
|
8
7
|
print("🚀 Downloading dataset from Roboflow...")
|
|
9
8
|
|
|
10
|
-
rf = Roboflow(api_key=
|
|
9
|
+
rf = Roboflow(api_key=get_api_key())
|
|
11
10
|
dataset = rf.workspace(workspace).project(project).version(version).download("yolov8")
|
|
12
11
|
|
|
13
12
|
print("✅ Dataset downloaded!")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os
|
|
2
2
|
from rich import print
|
|
3
3
|
from roboflow import Roboflow
|
|
4
|
-
from rfcli.config import
|
|
4
|
+
from rfcli.config import get_api_key
|
|
5
5
|
from rfcli.convert import coco_to_yolo
|
|
6
6
|
|
|
7
7
|
|
|
@@ -10,7 +10,7 @@ from rfcli.convert import coco_to_yolo
|
|
|
10
10
|
# -----------------------------
|
|
11
11
|
def upload_images(workspace, project_name, folder_path):
|
|
12
12
|
|
|
13
|
-
rf = Roboflow(api_key=
|
|
13
|
+
rf = Roboflow(api_key=get_api_key())
|
|
14
14
|
project = rf.workspace(workspace).project(project_name)
|
|
15
15
|
|
|
16
16
|
images = [f for f in os.listdir(folder_path) if f.lower().endswith((".jpg", ".jpeg", ".png"))]
|
|
@@ -33,7 +33,7 @@ def upload_dataset(workspace, project_name, dataset_path):
|
|
|
33
33
|
|
|
34
34
|
print("[blue]🚀 Initializing Roboflow SDK...[/blue]")
|
|
35
35
|
|
|
36
|
-
rf = Roboflow(api_key=
|
|
36
|
+
rf = Roboflow(api_key=get_api_key())
|
|
37
37
|
project = rf.workspace(workspace).project(project_name)
|
|
38
38
|
|
|
39
39
|
if not os.path.exists(dataset_path):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from rich import print
|
|
2
2
|
from roboflow import Roboflow
|
|
3
|
-
from rfcli.config import
|
|
3
|
+
from rfcli.config import get_api_key
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
def create_version(workspace, project_name, version_name):
|
|
@@ -8,7 +8,7 @@ def create_version(workspace, project_name, version_name):
|
|
|
8
8
|
print("[blue]🚀 Creating dataset version with split...[/blue]")
|
|
9
9
|
|
|
10
10
|
try:
|
|
11
|
-
rf = Roboflow(api_key=
|
|
11
|
+
rf = Roboflow(api_key=get_api_key())
|
|
12
12
|
project = rf.workspace(workspace).project(project_name)
|
|
13
13
|
|
|
14
14
|
# 🔥 Create version with splits
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rfcli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Dataset-to-Deployment CLI for Object Detection
|
|
5
|
-
Author:
|
|
5
|
+
Author: Saahiti K S
|
|
6
6
|
Requires-Python: >=3.8
|
|
7
7
|
Requires-Dist: click
|
|
8
8
|
Requires-Dist: rich
|
|
9
9
|
Requires-Dist: roboflow
|
|
10
|
-
Requires-Dist: ultralytics
|
|
11
10
|
Requires-Dist: fastapi
|
|
12
11
|
Requires-Dist: uvicorn
|
|
13
12
|
Requires-Dist: python-multipart
|
|
14
|
-
|
|
13
|
+
Provides-Extra: ml
|
|
14
|
+
Requires-Dist: ultralytics; extra == "ml"
|
|
15
|
+
Requires-Dist: torch; extra == "ml"
|
|
16
|
+
Requires-Dist: opencv-python; extra == "ml"
|
|
15
17
|
Dynamic: author
|
|
18
|
+
Dynamic: provides-extra
|
|
16
19
|
Dynamic: requires-dist
|
|
17
20
|
Dynamic: requires-python
|
|
18
21
|
Dynamic: summary
|
|
@@ -2,24 +2,33 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="rfcli",
|
|
5
|
-
version="0.1.
|
|
5
|
+
version="0.1.2", # 🔥 bump version
|
|
6
6
|
packages=find_packages(),
|
|
7
|
+
|
|
7
8
|
install_requires=[
|
|
8
9
|
"click",
|
|
9
10
|
"rich",
|
|
10
11
|
"roboflow",
|
|
11
|
-
"ultralytics",
|
|
12
12
|
"fastapi",
|
|
13
13
|
"uvicorn",
|
|
14
14
|
"python-multipart",
|
|
15
|
-
"opencv-python"
|
|
16
15
|
],
|
|
16
|
+
|
|
17
|
+
extras_require={
|
|
18
|
+
"ml": [
|
|
19
|
+
"ultralytics",
|
|
20
|
+
"torch",
|
|
21
|
+
"opencv-python"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
|
|
17
25
|
entry_points={
|
|
18
26
|
"console_scripts": [
|
|
19
27
|
"rfcli=rfcli.main:cli"
|
|
20
28
|
]
|
|
21
29
|
},
|
|
22
|
-
|
|
30
|
+
|
|
31
|
+
author="Saahiti K S",
|
|
23
32
|
description="Dataset-to-Deployment CLI for Object Detection",
|
|
24
33
|
python_requires=">=3.8",
|
|
25
34
|
)
|
rfcli-0.1.0/rfcli/config.py
DELETED
|
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
|