cy-yologic 1.0.0__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.
- cy_yologic-1.0.0/PKG-INFO +60 -0
- cy_yologic-1.0.0/README.md +36 -0
- cy_yologic-1.0.0/autopublish/__init__.py +0 -0
- cy_yologic-1.0.0/autopublish/publisher.py +65 -0
- cy_yologic-1.0.0/cy_yologic/__init__.py +6 -0
- cy_yologic-1.0.0/cy_yologic/logic_yolo.c +11403 -0
- cy_yologic-1.0.0/cy_yologic.egg-info/PKG-INFO +60 -0
- cy_yologic-1.0.0/cy_yologic.egg-info/SOURCES.txt +18 -0
- cy_yologic-1.0.0/cy_yologic.egg-info/dependency_links.txt +1 -0
- cy_yologic-1.0.0/cy_yologic.egg-info/not-zip-safe +1 -0
- cy_yologic-1.0.0/cy_yologic.egg-info/requires.txt +4 -0
- cy_yologic-1.0.0/cy_yologic.egg-info/top_level.txt +5 -0
- cy_yologic-1.0.0/fasthardware/__init__.py +2 -0
- cy_yologic-1.0.0/fasthardware/fasthardware.py +171 -0
- cy_yologic-1.0.0/hython/__init__.py +1 -0
- cy_yologic-1.0.0/hython/hython.py +41 -0
- cy_yologic-1.0.0/package_guardian/__init__.py +0 -0
- cy_yologic-1.0.0/package_guardian/guardian1.py +69 -0
- cy_yologic-1.0.0/setup.cfg +4 -0
- cy_yologic-1.0.0/setup.py +44 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cy-yologic
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Extreme Speed YOLO Pose Pipeline with Cythonized Logic
|
|
5
|
+
Author: choiungyo
|
|
6
|
+
Author-email: choiungyo@example.com
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.8
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
Requires-Dist: ultralytics>=8.0.0
|
|
13
|
+
Requires-Dist: numpy>=1.20.0
|
|
14
|
+
Requires-Dist: opencv-python>=4.5.0
|
|
15
|
+
Requires-Dist: Cython>=0.29.0
|
|
16
|
+
Dynamic: author
|
|
17
|
+
Dynamic: author-email
|
|
18
|
+
Dynamic: classifier
|
|
19
|
+
Dynamic: description
|
|
20
|
+
Dynamic: description-content-type
|
|
21
|
+
Dynamic: requires-dist
|
|
22
|
+
Dynamic: requires-python
|
|
23
|
+
Dynamic: summary
|
|
24
|
+
|
|
25
|
+
Markdown
|
|
26
|
+
# π yologic (v1.0.0)
|
|
27
|
+
|
|
28
|
+
**Extreme Speed Real-Time YOLO Pose Pipeline with Cythonized C-Logic**
|
|
29
|
+
|
|
30
|
+
`yologic` is a high-performance wrapper for `ultralytics` YOLOv8-Pose, specifically engineered to eliminate Python's runtime overhead in real-time vision applications. Developed by **choiungyo**.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## π₯ Key Features
|
|
35
|
+
|
|
36
|
+
1. **β‘ Cythonized Core (`logic_yolo`)**: All heavy mathematical computations (Spine angle calculation, movement delta analysis) are pre-compiled into native C code, reducing latency to near zero.
|
|
37
|
+
2. **πΈ FastVideoStream**: A specialized non-blocking camera buffer that prevents frame-drop and synchronization lag common in standard OpenCV `read()` loops.
|
|
38
|
+
3. **π οΈ Hardware Agnostic**: Optimized to work seamlessly with both NVIDIA CUDA and OpenVINO (Intel iGPU) environments.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## π¦ Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install cy_yologic
|
|
46
|
+
```
|
|
47
|
+
π» Quick Start
|
|
48
|
+
|
|
49
|
+
```Python
|
|
50
|
+
from ultralytics import YOLO
|
|
51
|
+
import cy_yologic
|
|
52
|
+
|
|
53
|
+
# 1. Load your YOLO model
|
|
54
|
+
model = YOLO('yolov8n-pose.pt')
|
|
55
|
+
|
|
56
|
+
# 2. Run the extreme-speed pipeline
|
|
57
|
+
cy_yologic.run_yolo_pipeline(model_instance=model, cam_src=0)
|
|
58
|
+
```
|
|
59
|
+
π License
|
|
60
|
+
MIT License. Developed with passion for extreme performance by choiungyo.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Markdown
|
|
2
|
+
# π yologic (v1.0.0)
|
|
3
|
+
|
|
4
|
+
**Extreme Speed Real-Time YOLO Pose Pipeline with Cythonized C-Logic**
|
|
5
|
+
|
|
6
|
+
`yologic` is a high-performance wrapper for `ultralytics` YOLOv8-Pose, specifically engineered to eliminate Python's runtime overhead in real-time vision applications. Developed by **choiungyo**.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## π₯ Key Features
|
|
11
|
+
|
|
12
|
+
1. **β‘ Cythonized Core (`logic_yolo`)**: All heavy mathematical computations (Spine angle calculation, movement delta analysis) are pre-compiled into native C code, reducing latency to near zero.
|
|
13
|
+
2. **πΈ FastVideoStream**: A specialized non-blocking camera buffer that prevents frame-drop and synchronization lag common in standard OpenCV `read()` loops.
|
|
14
|
+
3. **π οΈ Hardware Agnostic**: Optimized to work seamlessly with both NVIDIA CUDA and OpenVINO (Intel iGPU) environments.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## π¦ Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install cy_yologic
|
|
22
|
+
```
|
|
23
|
+
π» Quick Start
|
|
24
|
+
|
|
25
|
+
```Python
|
|
26
|
+
from ultralytics import YOLO
|
|
27
|
+
import cy_yologic
|
|
28
|
+
|
|
29
|
+
# 1. Load your YOLO model
|
|
30
|
+
model = YOLO('yolov8n-pose.pt')
|
|
31
|
+
|
|
32
|
+
# 2. Run the extreme-speed pipeline
|
|
33
|
+
cy_yologic.run_yolo_pipeline(model_instance=model, cam_src=0)
|
|
34
|
+
```
|
|
35
|
+
π License
|
|
36
|
+
MIT License. Developed with passion for extreme performance by choiungyo.
|
|
File without changes
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import subprocess
|
|
3
|
+
import sys
|
|
4
|
+
import glob
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def deploy():
|
|
8
|
+
"""
|
|
9
|
+
Automatically builds setup.py and deploys the package to PyPI using token authentication.
|
|
10
|
+
"""
|
|
11
|
+
print("\nπ [PyPI Auto-Publisher] Starting global deployment pipeline...")
|
|
12
|
+
|
|
13
|
+
# 1. Check for setup.py
|
|
14
|
+
if not os.path.exists("setup.py"):
|
|
15
|
+
print("β ERROR: 'setup.py' not found in the current directory.")
|
|
16
|
+
print("π‘ Action: Please navigate to the root directory of your project.")
|
|
17
|
+
return
|
|
18
|
+
|
|
19
|
+
# 2. Retrieve PyPI Token from Environment Variables
|
|
20
|
+
pypi_token = os.environ.get("PYPI_TOKEN")
|
|
21
|
+
if not pypi_token:
|
|
22
|
+
print("β ERROR: Environment variable 'PYPI_TOKEN' is missing.")
|
|
23
|
+
print("π‘ Action: Set your token in the terminal first:")
|
|
24
|
+
pypi_token = input()
|
|
25
|
+
print(" Windows (PowerShell): $env:PYPI_TOKEN='pypi-your-token-here'")
|
|
26
|
+
return
|
|
27
|
+
|
|
28
|
+
try:
|
|
29
|
+
# 3. Clean up previous build artifacts
|
|
30
|
+
print("\nπ§Ή [1/3] Cleaning up old build artifacts (dist/build)...")
|
|
31
|
+
if os.path.exists("dist"):
|
|
32
|
+
subprocess.run("rmdir /s /q dist" if os.name == "nt" else "rm -rf dist", shell=True)
|
|
33
|
+
if os.path.exists("build"):
|
|
34
|
+
subprocess.run("rmdir /s /q build" if os.name == "nt" else "rm -rf build", shell=True)
|
|
35
|
+
|
|
36
|
+
# 4. Build source distribution and wheel
|
|
37
|
+
print("\nπ¦ [2/3] Building source distribution and wheel archives...")
|
|
38
|
+
subprocess.run([sys.executable, "setup.py", "sdist", "bdist_wheel"], check=True)
|
|
39
|
+
|
|
40
|
+
# 5. Find actual built files (Fixing Windows dist/* wildcard 400 bug)
|
|
41
|
+
built_files = glob.glob(os.path.join("dist", "*"))
|
|
42
|
+
if not built_files:
|
|
43
|
+
print("β ERROR: No built files found in 'dist' folder.")
|
|
44
|
+
return
|
|
45
|
+
|
|
46
|
+
print("\nπ₯ [3/3] Uploading packages to PyPI warehouse via Twine...")
|
|
47
|
+
|
|
48
|
+
# Inject API token into environment for secure non-interactive authentication
|
|
49
|
+
env_copy = os.environ.copy()
|
|
50
|
+
env_copy["TWINE_USERNAME"] = "__token__"
|
|
51
|
+
env_copy["TWINE_PASSWORD"] = pypi_token
|
|
52
|
+
|
|
53
|
+
# Execute twine upload with explicit file list instead of dist/*
|
|
54
|
+
cmd = ["twine", "upload"] + built_files
|
|
55
|
+
subprocess.run(cmd, check=True, env=env_copy, shell=True)
|
|
56
|
+
|
|
57
|
+
print("\nπ [SUCCESS] Deployment completed successfully!")
|
|
58
|
+
print("π Your library has been published to the global Python ecosystem.")
|
|
59
|
+
|
|
60
|
+
except subprocess.CalledProcessError as e:
|
|
61
|
+
print(f"\nβ ERROR: Command execution failed during build/upload process.")
|
|
62
|
+
print(f"Details: {e}")
|
|
63
|
+
except Exception as e:
|
|
64
|
+
print(f"\nβ ERROR: Unexpected system error occurred.")
|
|
65
|
+
print(f"Details: {e}")
|