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.
@@ -1,18 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rfcli
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Dataset-to-Deployment CLI for Object Detection
5
- Author: Your Name
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
- Requires-Dist: opencv-python
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 ROBOFLOW_API_KEY
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=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 ROBOFLOW_API_KEY
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=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=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 ROBOFLOW_API_KEY
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=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.0
3
+ Version: 0.1.2
4
4
  Summary: Dataset-to-Deployment CLI for Object Detection
5
- Author: Your Name
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
- Requires-Dist: opencv-python
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
@@ -1,8 +1,11 @@
1
1
  click
2
2
  rich
3
3
  roboflow
4
- ultralytics
5
4
  fastapi
6
5
  uvicorn
7
6
  python-multipart
7
+
8
+ [ml]
9
+ ultralytics
10
+ torch
8
11
  opencv-python
@@ -2,24 +2,33 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="rfcli",
5
- version="0.1.0",
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
- author="Your Name",
30
+
31
+ author="Saahiti K S",
23
32
  description="Dataset-to-Deployment CLI for Object Detection",
24
33
  python_requires=">=3.8",
25
34
  )
@@ -1,9 +0,0 @@
1
- import os
2
- from dotenv import load_dotenv
3
-
4
- load_dotenv()
5
-
6
- ROBOFLOW_API_KEY = os.getenv("ROBOFLOW_API_KEY")
7
-
8
- if not ROBOFLOW_API_KEY:
9
- raise ValueError("❌ ROBOFLOW_API_KEY not found in .env")
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