ihub-phoenix 4.2.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.
- ihub_phoenix-4.2.0/PKG-INFO +154 -0
- ihub_phoenix-4.2.0/README.md +105 -0
- ihub_phoenix-4.2.0/ihub_phoenix/__init__.py +60 -0
- ihub_phoenix-4.2.0/ihub_phoenix/cli.py +47 -0
- ihub_phoenix-4.2.0/ihub_phoenix/entry.py +30 -0
- ihub_phoenix-4.2.0/ihub_phoenix/gateway.py +18 -0
- ihub_phoenix-4.2.0/ihub_phoenix/server.py +42 -0
- ihub_phoenix-4.2.0/ihub_phoenix.egg-info/PKG-INFO +154 -0
- ihub_phoenix-4.2.0/ihub_phoenix.egg-info/SOURCES.txt +13 -0
- ihub_phoenix-4.2.0/ihub_phoenix.egg-info/dependency_links.txt +1 -0
- ihub_phoenix-4.2.0/ihub_phoenix.egg-info/entry_points.txt +2 -0
- ihub_phoenix-4.2.0/ihub_phoenix.egg-info/requires.txt +33 -0
- ihub_phoenix-4.2.0/ihub_phoenix.egg-info/top_level.txt +1 -0
- ihub_phoenix-4.2.0/pyproject.toml +106 -0
- ihub_phoenix-4.2.0/setup.cfg +4 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ihub-phoenix
|
|
3
|
+
Version: 4.2.0
|
|
4
|
+
Summary: iHub Phoenix Native Server - Production-grade HTTP server with AI capabilities
|
|
5
|
+
Author-email: "iHub Intelligence Ltd." <contact@ihub-global.com>
|
|
6
|
+
License: Proprietary - iHub Intelligence Ltd.
|
|
7
|
+
Project-URL: Homepage, https://ihub-global.com
|
|
8
|
+
Project-URL: Documentation, https://docs.ihub-global.com
|
|
9
|
+
Project-URL: Repository, https://github.com/ihub/phoenix
|
|
10
|
+
Project-URL: Bug Reports, https://github.com/ihub/phoenix/issues
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: Other/Proprietary License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
22
|
+
Requires-Dist: requests>=2.34.0
|
|
23
|
+
Requires-Dist: PyJWT>=2.8.0
|
|
24
|
+
Requires-Dist: python-multipart>=0.0.9
|
|
25
|
+
Requires-Dist: email-validator>=2.3.0
|
|
26
|
+
Requires-Dist: bcrypt>=5.0.0
|
|
27
|
+
Requires-Dist: cryptography>=42.0.0
|
|
28
|
+
Requires-Dist: sqlite3
|
|
29
|
+
Requires-Dist: stripe>=15.0.0
|
|
30
|
+
Requires-Dist: aiohttp>=3.8.0
|
|
31
|
+
Requires-Dist: websockets>=12.0
|
|
32
|
+
Requires-Dist: psutil>=5.9.0
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
35
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
37
|
+
Requires-Dist: isort>=5.12.0; extra == "dev"
|
|
38
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
39
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
40
|
+
Provides-Extra: monitoring
|
|
41
|
+
Requires-Dist: prometheus-client>=0.17.0; extra == "monitoring"
|
|
42
|
+
Requires-Dist: psutil>=5.9.0; extra == "monitoring"
|
|
43
|
+
Provides-Extra: redis
|
|
44
|
+
Requires-Dist: redis>=5.0.0; extra == "redis"
|
|
45
|
+
Provides-Extra: postgres
|
|
46
|
+
Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
|
|
47
|
+
Provides-Extra: all
|
|
48
|
+
Requires-Dist: ihub-phoenix[dev,monitoring,postgres,redis]; extra == "all"
|
|
49
|
+
|
|
50
|
+
# iHub API Platform
|
|
51
|
+
|
|
52
|
+
<div align="center">
|
|
53
|
+
|
|
54
|
+
**Version 3.0.0** | [Terms of Service](#) | [Privacy Policy](#) | [Support](mailto:support@ihub-global.com)
|
|
55
|
+
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 📋 Table of Contents
|
|
61
|
+
|
|
62
|
+
- [Overview](#overview)
|
|
63
|
+
- [Pricing](#pricing)
|
|
64
|
+
- [Quick Start](#quick-start)
|
|
65
|
+
- [Authentication](#authentication)
|
|
66
|
+
- [API Endpoints](#api-endpoints)
|
|
67
|
+
- [Code Examples](#code-examples)
|
|
68
|
+
- [Error Handling](#error-handling)
|
|
69
|
+
- [Rate Limits](#rate-limits)
|
|
70
|
+
- [SDKs & Libraries](#sdks--libraries)
|
|
71
|
+
- [Deployment](#deployment)
|
|
72
|
+
- [FAQ](#faq)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Overview
|
|
77
|
+
|
|
78
|
+
The iHub API allows developers to programmatically integrate iHub services into their applications. Create unlimited API keys, manage users, and build on top of the iHub platform.
|
|
79
|
+
|
|
80
|
+
### Base URLs
|
|
81
|
+
|
|
82
|
+
| Environment | URL |
|
|
83
|
+
|-------------|-----|
|
|
84
|
+
| **Production** | `https://www.ihub-global.com/api` |
|
|
85
|
+
| **Local Development** | `http://localhost:5000/api` |
|
|
86
|
+
|
|
87
|
+
### Features
|
|
88
|
+
|
|
89
|
+
- ✅ Unlimited API keys per project
|
|
90
|
+
- ✅ Unlimited projects per account
|
|
91
|
+
- ✅ Real-time user management
|
|
92
|
+
- ✅ Enterprise-grade security
|
|
93
|
+
- ✅ 99.9% uptime SLA
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 💰 Pricing
|
|
98
|
+
|
|
99
|
+
### Free Tier (Always Free)
|
|
100
|
+
| Feature | Limit |
|
|
101
|
+
|---------|-------|
|
|
102
|
+
| API Requests | 1,000 per day |
|
|
103
|
+
| API Keys | Unlimited |
|
|
104
|
+
| Projects | Up to 3 |
|
|
105
|
+
| Support | Community |
|
|
106
|
+
| **Cost** | **$0 / month** |
|
|
107
|
+
|
|
108
|
+
### Pro Tier - $29/month
|
|
109
|
+
| Feature | Limit |
|
|
110
|
+
|---------|-------|
|
|
111
|
+
| API Requests | 50,000 per day |
|
|
112
|
+
| API Keys | Unlimited |
|
|
113
|
+
| Projects | Unlimited |
|
|
114
|
+
| Support | Email within 24h |
|
|
115
|
+
| Analytics Dashboard | ✅ Included |
|
|
116
|
+
| Webhooks | ✅ Included |
|
|
117
|
+
|
|
118
|
+
### Enterprise - Custom Pricing
|
|
119
|
+
| Feature | Limit |
|
|
120
|
+
|---------|-------|
|
|
121
|
+
| API Requests | Unlimited |
|
|
122
|
+
| API Keys | Unlimited |
|
|
123
|
+
| Projects | Unlimited |
|
|
124
|
+
| Support | 24/7 Phone & Email |
|
|
125
|
+
| Analytics Dashboard | ✅ Included |
|
|
126
|
+
| Webhooks | ✅ Included |
|
|
127
|
+
| Dedicated Server | ✅ Included |
|
|
128
|
+
| Custom SLA | ✅ Included |
|
|
129
|
+
| On-premise Deployment | ✅ Available |
|
|
130
|
+
|
|
131
|
+
### How to Upgrade
|
|
132
|
+
|
|
133
|
+
1. Register for a free account via `/api/register`
|
|
134
|
+
2. Log into your dashboard at `https://www.ihub-global.com/dashboard`
|
|
135
|
+
3. Click "Upgrade Plan" and enter payment details
|
|
136
|
+
4. Your API key will automatically have higher limits
|
|
137
|
+
|
|
138
|
+
> **Note:** All plans include SSL encryption, DDoS protection, and automatic backups.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 🚀 Quick Start
|
|
143
|
+
|
|
144
|
+
### 1. Register a Developer Account
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
curl -X POST https://www.ihub-global.com/api/register \
|
|
148
|
+
-H "Content-Type: application/json" \
|
|
149
|
+
-d '{
|
|
150
|
+
"email": "developer@mycompany.com",
|
|
151
|
+
"password": "SecurePass123!",
|
|
152
|
+
"name": "John Developer",
|
|
153
|
+
"company": "My Company LLC"
|
|
154
|
+
}'
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# iHub API Platform
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**Version 3.0.0** | [Terms of Service](#) | [Privacy Policy](#) | [Support](mailto:support@ihub-global.com)
|
|
6
|
+
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 📋 Table of Contents
|
|
12
|
+
|
|
13
|
+
- [Overview](#overview)
|
|
14
|
+
- [Pricing](#pricing)
|
|
15
|
+
- [Quick Start](#quick-start)
|
|
16
|
+
- [Authentication](#authentication)
|
|
17
|
+
- [API Endpoints](#api-endpoints)
|
|
18
|
+
- [Code Examples](#code-examples)
|
|
19
|
+
- [Error Handling](#error-handling)
|
|
20
|
+
- [Rate Limits](#rate-limits)
|
|
21
|
+
- [SDKs & Libraries](#sdks--libraries)
|
|
22
|
+
- [Deployment](#deployment)
|
|
23
|
+
- [FAQ](#faq)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
The iHub API allows developers to programmatically integrate iHub services into their applications. Create unlimited API keys, manage users, and build on top of the iHub platform.
|
|
30
|
+
|
|
31
|
+
### Base URLs
|
|
32
|
+
|
|
33
|
+
| Environment | URL |
|
|
34
|
+
|-------------|-----|
|
|
35
|
+
| **Production** | `https://www.ihub-global.com/api` |
|
|
36
|
+
| **Local Development** | `http://localhost:5000/api` |
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
- ✅ Unlimited API keys per project
|
|
41
|
+
- ✅ Unlimited projects per account
|
|
42
|
+
- ✅ Real-time user management
|
|
43
|
+
- ✅ Enterprise-grade security
|
|
44
|
+
- ✅ 99.9% uptime SLA
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 💰 Pricing
|
|
49
|
+
|
|
50
|
+
### Free Tier (Always Free)
|
|
51
|
+
| Feature | Limit |
|
|
52
|
+
|---------|-------|
|
|
53
|
+
| API Requests | 1,000 per day |
|
|
54
|
+
| API Keys | Unlimited |
|
|
55
|
+
| Projects | Up to 3 |
|
|
56
|
+
| Support | Community |
|
|
57
|
+
| **Cost** | **$0 / month** |
|
|
58
|
+
|
|
59
|
+
### Pro Tier - $29/month
|
|
60
|
+
| Feature | Limit |
|
|
61
|
+
|---------|-------|
|
|
62
|
+
| API Requests | 50,000 per day |
|
|
63
|
+
| API Keys | Unlimited |
|
|
64
|
+
| Projects | Unlimited |
|
|
65
|
+
| Support | Email within 24h |
|
|
66
|
+
| Analytics Dashboard | ✅ Included |
|
|
67
|
+
| Webhooks | ✅ Included |
|
|
68
|
+
|
|
69
|
+
### Enterprise - Custom Pricing
|
|
70
|
+
| Feature | Limit |
|
|
71
|
+
|---------|-------|
|
|
72
|
+
| API Requests | Unlimited |
|
|
73
|
+
| API Keys | Unlimited |
|
|
74
|
+
| Projects | Unlimited |
|
|
75
|
+
| Support | 24/7 Phone & Email |
|
|
76
|
+
| Analytics Dashboard | ✅ Included |
|
|
77
|
+
| Webhooks | ✅ Included |
|
|
78
|
+
| Dedicated Server | ✅ Included |
|
|
79
|
+
| Custom SLA | ✅ Included |
|
|
80
|
+
| On-premise Deployment | ✅ Available |
|
|
81
|
+
|
|
82
|
+
### How to Upgrade
|
|
83
|
+
|
|
84
|
+
1. Register for a free account via `/api/register`
|
|
85
|
+
2. Log into your dashboard at `https://www.ihub-global.com/dashboard`
|
|
86
|
+
3. Click "Upgrade Plan" and enter payment details
|
|
87
|
+
4. Your API key will automatically have higher limits
|
|
88
|
+
|
|
89
|
+
> **Note:** All plans include SSL encryption, DDoS protection, and automatic backups.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 🚀 Quick Start
|
|
94
|
+
|
|
95
|
+
### 1. Register a Developer Account
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
curl -X POST https://www.ihub-global.com/api/register \
|
|
99
|
+
-H "Content-Type: application/json" \
|
|
100
|
+
-d '{
|
|
101
|
+
"email": "developer@mycompany.com",
|
|
102
|
+
"password": "SecurePass123!",
|
|
103
|
+
"name": "John Developer",
|
|
104
|
+
"company": "My Company LLC"
|
|
105
|
+
}'
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# ihub_phoenix/__init__.py
|
|
2
|
+
# iHub Phoenix Native Server - Standalone Package
|
|
3
|
+
|
|
4
|
+
__version__ = "4.2.0"
|
|
5
|
+
__author__ = "iHub Intelligence Ltd."
|
|
6
|
+
__license__ = "Proprietary - iHub Intelligence Ltd."
|
|
7
|
+
|
|
8
|
+
# Import from your existing files
|
|
9
|
+
from .server import cli_serve as main
|
|
10
|
+
from .gateway import gateway, get_gateway, init_runtime_objects, init_db
|
|
11
|
+
|
|
12
|
+
# Try to import PhoenixServer from your existing phoenix_server.py
|
|
13
|
+
try:
|
|
14
|
+
from phoenix_server import PhoenixNativeServer as PhoenixServer
|
|
15
|
+
except ImportError:
|
|
16
|
+
# Fallback: create minimal PhoenixServer if not found
|
|
17
|
+
class PhoenixServer:
|
|
18
|
+
def __init__(self, gateway):
|
|
19
|
+
self.gateway = gateway
|
|
20
|
+
self.host = "0.0.0.0"
|
|
21
|
+
self.port = 5000
|
|
22
|
+
self._running = False
|
|
23
|
+
|
|
24
|
+
def start(self, host=None, port=None):
|
|
25
|
+
self.host = host or self.host
|
|
26
|
+
self.port = port or self.port
|
|
27
|
+
self._running = True
|
|
28
|
+
print(f"[Phoenix] Listening on {self.host}:{self.port}")
|
|
29
|
+
import socket
|
|
30
|
+
from threading import Thread
|
|
31
|
+
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
32
|
+
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|
33
|
+
server.bind((self.host, self.port))
|
|
34
|
+
server.listen(128)
|
|
35
|
+
while self._running:
|
|
36
|
+
try:
|
|
37
|
+
client, addr = server.accept()
|
|
38
|
+
data = client.recv(8192)
|
|
39
|
+
if data:
|
|
40
|
+
resp = self.gateway.handle_raw_http(data, addr)
|
|
41
|
+
client.sendall(resp)
|
|
42
|
+
client.close()
|
|
43
|
+
except:
|
|
44
|
+
pass
|
|
45
|
+
server.close()
|
|
46
|
+
|
|
47
|
+
def stop(self):
|
|
48
|
+
self._running = False
|
|
49
|
+
|
|
50
|
+
__all__ = [
|
|
51
|
+
"PhoenixServer",
|
|
52
|
+
"main",
|
|
53
|
+
"gateway",
|
|
54
|
+
"get_gateway",
|
|
55
|
+
"init_runtime_objects",
|
|
56
|
+
"init_db",
|
|
57
|
+
"__version__",
|
|
58
|
+
"__author__",
|
|
59
|
+
"__license__",
|
|
60
|
+
]
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# ihub_phoenix/cli.py
|
|
2
|
+
import sys
|
|
3
|
+
import os
|
|
4
|
+
import argparse
|
|
5
|
+
|
|
6
|
+
def main():
|
|
7
|
+
"""CLI entry point for ihub-phoenix"""
|
|
8
|
+
parser = argparse.ArgumentParser(
|
|
9
|
+
prog="ihub-phoenix",
|
|
10
|
+
description="iHub Phoenix Native Server"
|
|
11
|
+
)
|
|
12
|
+
parser.add_argument("--version", "-v", action="store_true", help="Show version")
|
|
13
|
+
parser.add_argument("--host", default="0.0.0.0", help="Host to bind (default: 0.0.0.0)")
|
|
14
|
+
parser.add_argument("--port", "-p", type=int, default=11434, help="Port to bind (default: 11434)")
|
|
15
|
+
parser.add_argument("--threads", "-w", type=int, default=16, help="Number of threads (default: 16)")
|
|
16
|
+
parser.add_argument("--dev", action="store_true", help="Development mode")
|
|
17
|
+
|
|
18
|
+
args = parser.parse_args()
|
|
19
|
+
|
|
20
|
+
if args.version:
|
|
21
|
+
from . import __version__
|
|
22
|
+
print(f"ihub-phoenix v{__version__}")
|
|
23
|
+
return 0
|
|
24
|
+
|
|
25
|
+
# Set environment for dev mode
|
|
26
|
+
if args.dev:
|
|
27
|
+
os.environ["RUN_ENV"] = "development"
|
|
28
|
+
print("🔧 Development mode enabled")
|
|
29
|
+
|
|
30
|
+
# Import and run server
|
|
31
|
+
from .server import cli_serve
|
|
32
|
+
|
|
33
|
+
# Pass args to server via sys.argv
|
|
34
|
+
sys.argv = [sys.argv[0]]
|
|
35
|
+
if args.host:
|
|
36
|
+
sys.argv.extend(["--host", args.host])
|
|
37
|
+
if args.port:
|
|
38
|
+
sys.argv.extend(["--port", str(args.port)])
|
|
39
|
+
if args.threads:
|
|
40
|
+
sys.argv.extend(["--threads", str(args.threads)])
|
|
41
|
+
if args.dev:
|
|
42
|
+
sys.argv.append("--dev")
|
|
43
|
+
|
|
44
|
+
cli_serve()
|
|
45
|
+
|
|
46
|
+
if __name__ == "__main__":
|
|
47
|
+
main()
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
def _inject_project_root():
|
|
5
|
+
current_file_path = os.path.abspath(__file__)
|
|
6
|
+
current_dir = os.path.dirname(current_file_path)
|
|
7
|
+
project_root = os.path.abspath(os.path.join(current_dir, ".."))
|
|
8
|
+
if project_root not in sys.path:
|
|
9
|
+
sys.path.insert(0, project_root)
|
|
10
|
+
|
|
11
|
+
_inject_project_root()
|
|
12
|
+
|
|
13
|
+
# Only valid existing top-level imports
|
|
14
|
+
from app import init_db, gateway
|
|
15
|
+
|
|
16
|
+
GREEN_TEXT = "\033[92m"
|
|
17
|
+
RESET_COLOR = "\033[0m"
|
|
18
|
+
|
|
19
|
+
def main_cli():
|
|
20
|
+
init_db()
|
|
21
|
+
cli_args = sys.argv[1:]
|
|
22
|
+
# Call the newly added .serve() method on gateway
|
|
23
|
+
gateway.serve(
|
|
24
|
+
host="0.0.0.0",
|
|
25
|
+
port=5000,
|
|
26
|
+
threads=16
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
if __name__ == "__main__":
|
|
30
|
+
main_cli()
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# ihub_phoenix/gateway.py
|
|
2
|
+
import sys
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
sys.path.insert(0, os.getcwd())
|
|
6
|
+
|
|
7
|
+
try:
|
|
8
|
+
from app import gateway
|
|
9
|
+
from app import init_runtime_objects, init_db
|
|
10
|
+
except ImportError:
|
|
11
|
+
gateway = None
|
|
12
|
+
def init_runtime_objects():
|
|
13
|
+
pass
|
|
14
|
+
def init_db():
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
def get_gateway():
|
|
18
|
+
return gateway
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# ihub_phoenix/server.py
|
|
2
|
+
import sys
|
|
3
|
+
from ihub_phoenix.gateway import gateway, init_runtime_objects, init_db
|
|
4
|
+
from phoenix_server import PhoenixNativeServer
|
|
5
|
+
import time
|
|
6
|
+
|
|
7
|
+
def cli_serve():
|
|
8
|
+
"""Global CLI command: ihub-phoenix (replaces gunicorn)"""
|
|
9
|
+
init_db()
|
|
10
|
+
init_runtime_objects()
|
|
11
|
+
|
|
12
|
+
cli_args = sys.argv[1:]
|
|
13
|
+
if "install-service" in cli_args:
|
|
14
|
+
from app import install_as_windows_service
|
|
15
|
+
install_as_windows_service()
|
|
16
|
+
return
|
|
17
|
+
if "refresh-models" in cli_args:
|
|
18
|
+
from app import model_discovery
|
|
19
|
+
fresh_models = model_discovery.discover_models()
|
|
20
|
+
print(f"Discovered {len(fresh_models)} AI models")
|
|
21
|
+
return
|
|
22
|
+
|
|
23
|
+
host = "0.0.0.0"
|
|
24
|
+
port = 5000
|
|
25
|
+
|
|
26
|
+
print(f"[Phoenix] Starting server on {host}:{port}")
|
|
27
|
+
|
|
28
|
+
server = PhoenixNativeServer(gateway)
|
|
29
|
+
server.start(host=host, port=port)
|
|
30
|
+
|
|
31
|
+
print(f"\n✅ ihub-phoenix running on http://{host}:{port}")
|
|
32
|
+
print("Press Ctrl+C to stop\n")
|
|
33
|
+
|
|
34
|
+
try:
|
|
35
|
+
while True:
|
|
36
|
+
time.sleep(1)
|
|
37
|
+
except KeyboardInterrupt:
|
|
38
|
+
print("\n⏹️ Shutting down...")
|
|
39
|
+
server.stop()
|
|
40
|
+
|
|
41
|
+
if __name__ == "__main__":
|
|
42
|
+
cli_serve()
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ihub-phoenix
|
|
3
|
+
Version: 4.2.0
|
|
4
|
+
Summary: iHub Phoenix Native Server - Production-grade HTTP server with AI capabilities
|
|
5
|
+
Author-email: "iHub Intelligence Ltd." <contact@ihub-global.com>
|
|
6
|
+
License: Proprietary - iHub Intelligence Ltd.
|
|
7
|
+
Project-URL: Homepage, https://ihub-global.com
|
|
8
|
+
Project-URL: Documentation, https://docs.ihub-global.com
|
|
9
|
+
Project-URL: Repository, https://github.com/ihub/phoenix
|
|
10
|
+
Project-URL: Bug Reports, https://github.com/ihub/phoenix/issues
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: Other/Proprietary License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
22
|
+
Requires-Dist: requests>=2.34.0
|
|
23
|
+
Requires-Dist: PyJWT>=2.8.0
|
|
24
|
+
Requires-Dist: python-multipart>=0.0.9
|
|
25
|
+
Requires-Dist: email-validator>=2.3.0
|
|
26
|
+
Requires-Dist: bcrypt>=5.0.0
|
|
27
|
+
Requires-Dist: cryptography>=42.0.0
|
|
28
|
+
Requires-Dist: sqlite3
|
|
29
|
+
Requires-Dist: stripe>=15.0.0
|
|
30
|
+
Requires-Dist: aiohttp>=3.8.0
|
|
31
|
+
Requires-Dist: websockets>=12.0
|
|
32
|
+
Requires-Dist: psutil>=5.9.0
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
35
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
37
|
+
Requires-Dist: isort>=5.12.0; extra == "dev"
|
|
38
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
39
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
40
|
+
Provides-Extra: monitoring
|
|
41
|
+
Requires-Dist: prometheus-client>=0.17.0; extra == "monitoring"
|
|
42
|
+
Requires-Dist: psutil>=5.9.0; extra == "monitoring"
|
|
43
|
+
Provides-Extra: redis
|
|
44
|
+
Requires-Dist: redis>=5.0.0; extra == "redis"
|
|
45
|
+
Provides-Extra: postgres
|
|
46
|
+
Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
|
|
47
|
+
Provides-Extra: all
|
|
48
|
+
Requires-Dist: ihub-phoenix[dev,monitoring,postgres,redis]; extra == "all"
|
|
49
|
+
|
|
50
|
+
# iHub API Platform
|
|
51
|
+
|
|
52
|
+
<div align="center">
|
|
53
|
+
|
|
54
|
+
**Version 3.0.0** | [Terms of Service](#) | [Privacy Policy](#) | [Support](mailto:support@ihub-global.com)
|
|
55
|
+
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 📋 Table of Contents
|
|
61
|
+
|
|
62
|
+
- [Overview](#overview)
|
|
63
|
+
- [Pricing](#pricing)
|
|
64
|
+
- [Quick Start](#quick-start)
|
|
65
|
+
- [Authentication](#authentication)
|
|
66
|
+
- [API Endpoints](#api-endpoints)
|
|
67
|
+
- [Code Examples](#code-examples)
|
|
68
|
+
- [Error Handling](#error-handling)
|
|
69
|
+
- [Rate Limits](#rate-limits)
|
|
70
|
+
- [SDKs & Libraries](#sdks--libraries)
|
|
71
|
+
- [Deployment](#deployment)
|
|
72
|
+
- [FAQ](#faq)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Overview
|
|
77
|
+
|
|
78
|
+
The iHub API allows developers to programmatically integrate iHub services into their applications. Create unlimited API keys, manage users, and build on top of the iHub platform.
|
|
79
|
+
|
|
80
|
+
### Base URLs
|
|
81
|
+
|
|
82
|
+
| Environment | URL |
|
|
83
|
+
|-------------|-----|
|
|
84
|
+
| **Production** | `https://www.ihub-global.com/api` |
|
|
85
|
+
| **Local Development** | `http://localhost:5000/api` |
|
|
86
|
+
|
|
87
|
+
### Features
|
|
88
|
+
|
|
89
|
+
- ✅ Unlimited API keys per project
|
|
90
|
+
- ✅ Unlimited projects per account
|
|
91
|
+
- ✅ Real-time user management
|
|
92
|
+
- ✅ Enterprise-grade security
|
|
93
|
+
- ✅ 99.9% uptime SLA
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 💰 Pricing
|
|
98
|
+
|
|
99
|
+
### Free Tier (Always Free)
|
|
100
|
+
| Feature | Limit |
|
|
101
|
+
|---------|-------|
|
|
102
|
+
| API Requests | 1,000 per day |
|
|
103
|
+
| API Keys | Unlimited |
|
|
104
|
+
| Projects | Up to 3 |
|
|
105
|
+
| Support | Community |
|
|
106
|
+
| **Cost** | **$0 / month** |
|
|
107
|
+
|
|
108
|
+
### Pro Tier - $29/month
|
|
109
|
+
| Feature | Limit |
|
|
110
|
+
|---------|-------|
|
|
111
|
+
| API Requests | 50,000 per day |
|
|
112
|
+
| API Keys | Unlimited |
|
|
113
|
+
| Projects | Unlimited |
|
|
114
|
+
| Support | Email within 24h |
|
|
115
|
+
| Analytics Dashboard | ✅ Included |
|
|
116
|
+
| Webhooks | ✅ Included |
|
|
117
|
+
|
|
118
|
+
### Enterprise - Custom Pricing
|
|
119
|
+
| Feature | Limit |
|
|
120
|
+
|---------|-------|
|
|
121
|
+
| API Requests | Unlimited |
|
|
122
|
+
| API Keys | Unlimited |
|
|
123
|
+
| Projects | Unlimited |
|
|
124
|
+
| Support | 24/7 Phone & Email |
|
|
125
|
+
| Analytics Dashboard | ✅ Included |
|
|
126
|
+
| Webhooks | ✅ Included |
|
|
127
|
+
| Dedicated Server | ✅ Included |
|
|
128
|
+
| Custom SLA | ✅ Included |
|
|
129
|
+
| On-premise Deployment | ✅ Available |
|
|
130
|
+
|
|
131
|
+
### How to Upgrade
|
|
132
|
+
|
|
133
|
+
1. Register for a free account via `/api/register`
|
|
134
|
+
2. Log into your dashboard at `https://www.ihub-global.com/dashboard`
|
|
135
|
+
3. Click "Upgrade Plan" and enter payment details
|
|
136
|
+
4. Your API key will automatically have higher limits
|
|
137
|
+
|
|
138
|
+
> **Note:** All plans include SSL encryption, DDoS protection, and automatic backups.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 🚀 Quick Start
|
|
143
|
+
|
|
144
|
+
### 1. Register a Developer Account
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
curl -X POST https://www.ihub-global.com/api/register \
|
|
148
|
+
-H "Content-Type: application/json" \
|
|
149
|
+
-d '{
|
|
150
|
+
"email": "developer@mycompany.com",
|
|
151
|
+
"password": "SecurePass123!",
|
|
152
|
+
"name": "John Developer",
|
|
153
|
+
"company": "My Company LLC"
|
|
154
|
+
}'
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
ihub_phoenix/__init__.py
|
|
4
|
+
ihub_phoenix/cli.py
|
|
5
|
+
ihub_phoenix/entry.py
|
|
6
|
+
ihub_phoenix/gateway.py
|
|
7
|
+
ihub_phoenix/server.py
|
|
8
|
+
ihub_phoenix.egg-info/PKG-INFO
|
|
9
|
+
ihub_phoenix.egg-info/SOURCES.txt
|
|
10
|
+
ihub_phoenix.egg-info/dependency_links.txt
|
|
11
|
+
ihub_phoenix.egg-info/entry_points.txt
|
|
12
|
+
ihub_phoenix.egg-info/requires.txt
|
|
13
|
+
ihub_phoenix.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
python-dotenv>=1.0.0
|
|
2
|
+
requests>=2.34.0
|
|
3
|
+
PyJWT>=2.8.0
|
|
4
|
+
python-multipart>=0.0.9
|
|
5
|
+
email-validator>=2.3.0
|
|
6
|
+
bcrypt>=5.0.0
|
|
7
|
+
cryptography>=42.0.0
|
|
8
|
+
sqlite3
|
|
9
|
+
stripe>=15.0.0
|
|
10
|
+
aiohttp>=3.8.0
|
|
11
|
+
websockets>=12.0
|
|
12
|
+
psutil>=5.9.0
|
|
13
|
+
|
|
14
|
+
[all]
|
|
15
|
+
ihub-phoenix[dev,monitoring,postgres,redis]
|
|
16
|
+
|
|
17
|
+
[dev]
|
|
18
|
+
pytest>=7.0.0
|
|
19
|
+
pytest-cov>=4.0.0
|
|
20
|
+
black>=23.0.0
|
|
21
|
+
isort>=5.12.0
|
|
22
|
+
flake8>=6.0.0
|
|
23
|
+
mypy>=1.0.0
|
|
24
|
+
|
|
25
|
+
[monitoring]
|
|
26
|
+
prometheus-client>=0.17.0
|
|
27
|
+
psutil>=5.9.0
|
|
28
|
+
|
|
29
|
+
[postgres]
|
|
30
|
+
psycopg2-binary>=2.9.0
|
|
31
|
+
|
|
32
|
+
[redis]
|
|
33
|
+
redis>=5.0.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ihub_phoenix
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "ihub-phoenix"
|
|
7
|
+
version = "4.2.0"
|
|
8
|
+
description = "iHub Phoenix Native Server - Production-grade HTTP server with AI capabilities"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = {text = "Proprietary - iHub Intelligence Ltd."}
|
|
11
|
+
authors = [
|
|
12
|
+
{name = "iHub Intelligence Ltd.", email = "contact@ihub-global.com"}
|
|
13
|
+
]
|
|
14
|
+
requires-python = ">=3.10"
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 5 - Production/Stable",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"License :: Other/Proprietary License",
|
|
19
|
+
"Programming Language :: Python :: 3.10",
|
|
20
|
+
"Programming Language :: Python :: 3.11",
|
|
21
|
+
"Programming Language :: Python :: 3.12",
|
|
22
|
+
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
|
|
23
|
+
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
24
|
+
]
|
|
25
|
+
dependencies = [
|
|
26
|
+
# Core dependencies
|
|
27
|
+
"python-dotenv>=1.0.0",
|
|
28
|
+
"requests>=2.34.0",
|
|
29
|
+
"PyJWT>=2.8.0",
|
|
30
|
+
"python-multipart>=0.0.9",
|
|
31
|
+
"email-validator>=2.3.0",
|
|
32
|
+
|
|
33
|
+
# Security
|
|
34
|
+
"bcrypt>=5.0.0",
|
|
35
|
+
"cryptography>=42.0.0",
|
|
36
|
+
|
|
37
|
+
# Database
|
|
38
|
+
"sqlite3",
|
|
39
|
+
|
|
40
|
+
# ============================================================
|
|
41
|
+
# PAYMENT SYSTEMS
|
|
42
|
+
# ============================================================
|
|
43
|
+
# Stripe - External payment processor
|
|
44
|
+
"stripe>=15.0.0",
|
|
45
|
+
|
|
46
|
+
# iHubPay - Native payment system (BUILT-IN)
|
|
47
|
+
# No external dependency needed - part of the core gateway
|
|
48
|
+
# ============================================================
|
|
49
|
+
|
|
50
|
+
# Optional but recommended
|
|
51
|
+
"aiohttp>=3.8.0",
|
|
52
|
+
"websockets>=12.0",
|
|
53
|
+
"psutil>=5.9.0",
|
|
54
|
+
]
|
|
55
|
+
|
|
56
|
+
[project.optional-dependencies]
|
|
57
|
+
dev = [
|
|
58
|
+
"pytest>=7.0.0",
|
|
59
|
+
"pytest-cov>=4.0.0",
|
|
60
|
+
"black>=23.0.0",
|
|
61
|
+
"isort>=5.12.0",
|
|
62
|
+
"flake8>=6.0.0",
|
|
63
|
+
"mypy>=1.0.0",
|
|
64
|
+
]
|
|
65
|
+
monitoring = [
|
|
66
|
+
"prometheus-client>=0.17.0",
|
|
67
|
+
"psutil>=5.9.0",
|
|
68
|
+
]
|
|
69
|
+
redis = [
|
|
70
|
+
"redis>=5.0.0",
|
|
71
|
+
]
|
|
72
|
+
postgres = [
|
|
73
|
+
"psycopg2-binary>=2.9.0",
|
|
74
|
+
]
|
|
75
|
+
all = [
|
|
76
|
+
"ihub-phoenix[dev,monitoring,redis,postgres]",
|
|
77
|
+
]
|
|
78
|
+
|
|
79
|
+
[project.urls]
|
|
80
|
+
"Homepage" = "https://ihub-global.com"
|
|
81
|
+
"Documentation" = "https://docs.ihub-global.com"
|
|
82
|
+
"Repository" = "https://github.com/ihub/phoenix"
|
|
83
|
+
"Bug Reports" = "https://github.com/ihub/phoenix/issues"
|
|
84
|
+
|
|
85
|
+
[project.scripts]
|
|
86
|
+
ihub-phoenix = "ihub_phoenix.cli:main"
|
|
87
|
+
|
|
88
|
+
[tool.setuptools.packages.find]
|
|
89
|
+
include = ["ihub_phoenix*"]
|
|
90
|
+
|
|
91
|
+
[tool.setuptools.package-data]
|
|
92
|
+
ihub_phoenix = ["py.typed", "*.pyi"]
|
|
93
|
+
|
|
94
|
+
[tool.black]
|
|
95
|
+
line-length = 120
|
|
96
|
+
target-version = ['py310', 'py311', 'py312']
|
|
97
|
+
|
|
98
|
+
[tool.isort]
|
|
99
|
+
profile = "black"
|
|
100
|
+
line_length = 120
|
|
101
|
+
|
|
102
|
+
[tool.mypy]
|
|
103
|
+
python_version = "3.10"
|
|
104
|
+
warn_return_any = true
|
|
105
|
+
warn_unused_configs = true
|
|
106
|
+
ignore_missing_imports = true
|