jupyterlite-simple-cors-proxy 0.1.3__tar.gz → 0.1.5__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.
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/PKG-INFO +18 -7
- jupyterlite_simple_cors_proxy-0.1.5/README.md +43 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/jupyterlite_simple_cors_proxy/proxy.py +21 -7
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/jupyterlite_simple_cors_proxy.egg-info/PKG-INFO +18 -7
- jupyterlite_simple_cors_proxy-0.1.5/jupyterlite_simple_cors_proxy.egg-info/requires.txt +1 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/setup.py +3 -3
- jupyterlite_simple_cors_proxy-0.1.3/README.md +0 -32
- jupyterlite_simple_cors_proxy-0.1.3/jupyterlite_simple_cors_proxy.egg-info/requires.txt +0 -1
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/LICENSE +0 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/jupyterlite_simple_cors_proxy/__init__.py +0 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/jupyterlite_simple_cors_proxy.egg-info/SOURCES.txt +0 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/jupyterlite_simple_cors_proxy.egg-info/dependency_links.txt +0 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/jupyterlite_simple_cors_proxy.egg-info/top_level.txt +0 -0
- {jupyterlite_simple_cors_proxy-0.1.3 → jupyterlite_simple_cors_proxy-0.1.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: jupyterlite-simple-cors-proxy
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.5
|
4
4
|
Summary: A simple CORS proxy utility with requests-like response
|
5
5
|
Home-page: https://github.com/innovationOUtside/jupyterlite-simple-cors-proxy
|
6
6
|
Author: Tony Hirst
|
@@ -8,10 +8,10 @@ Author-email: tony.hirst@gmail.com
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
10
10
|
Classifier: Operating System :: OS Independent
|
11
|
-
Requires-Python: >=3.
|
11
|
+
Requires-Python: >=3.8
|
12
12
|
Description-Content-Type: text/markdown
|
13
13
|
License-File: LICENSE
|
14
|
-
Requires-Dist: requests
|
14
|
+
Requires-Dist: requests
|
15
15
|
Dynamic: author
|
16
16
|
Dynamic: author-email
|
17
17
|
Dynamic: classifier
|
@@ -34,12 +34,23 @@ pip install jupyterlite-simple-cors-proxy
|
|
34
34
|
## Usage
|
35
35
|
|
36
36
|
```python
|
37
|
-
from
|
37
|
+
from jupyterlite_simple_cors_proxy.proxy import cors_proxy_get, robust_get_request, furl, xurl
|
38
38
|
|
39
|
-
#
|
39
|
+
# Set up
|
40
40
|
url = "https://api.example.com/data"
|
41
|
+
# Optional params
|
41
42
|
params = {"key": "value"}
|
42
|
-
|
43
|
+
|
44
|
+
# Get a cross-origin proxied url
|
45
|
+
cross_origin_url = xurl(url) # xurl(url, params)
|
46
|
+
|
47
|
+
# Get a file like object
|
48
|
+
# (Make the request, then create a file like object
|
49
|
+
# from the response)
|
50
|
+
file_ob = furl(url) # furl(url, params)
|
51
|
+
|
52
|
+
# Make a request
|
53
|
+
response = cors_proxy_get(url, params)
|
43
54
|
|
44
55
|
# Use like requests
|
45
56
|
print(response.text)
|
@@ -47,7 +58,7 @@ data = response.json()
|
|
47
58
|
raw = response.content
|
48
59
|
```
|
49
60
|
|
50
|
-
The `robust_get_request()` will first try a simple
|
61
|
+
The `robust_get_request()` will first try a simple request, then a proxied request: `robust_get_request(url, params)`
|
51
62
|
|
52
63
|
## Features
|
53
64
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# jupyterlite-simple-cors-proxy
|
2
|
+
Simple CORS proxy for making http requests from JupyterLite
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
|
6
|
+
```bash
|
7
|
+
pip install jupyterlite-simple-cors-proxy
|
8
|
+
```
|
9
|
+
|
10
|
+
## Usage
|
11
|
+
|
12
|
+
```python
|
13
|
+
from jupyterlite_simple_cors_proxy.proxy import cors_proxy_get, robust_get_request, furl, xurl
|
14
|
+
|
15
|
+
# Set up
|
16
|
+
url = "https://api.example.com/data"
|
17
|
+
# Optional params
|
18
|
+
params = {"key": "value"}
|
19
|
+
|
20
|
+
# Get a cross-origin proxied url
|
21
|
+
cross_origin_url = xurl(url) # xurl(url, params)
|
22
|
+
|
23
|
+
# Get a file like object
|
24
|
+
# (Make the request, then create a file like object
|
25
|
+
# from the response)
|
26
|
+
file_ob = furl(url) # furl(url, params)
|
27
|
+
|
28
|
+
# Make a request
|
29
|
+
response = cors_proxy_get(url, params)
|
30
|
+
|
31
|
+
# Use like requests
|
32
|
+
print(response.text)
|
33
|
+
data = response.json()
|
34
|
+
raw = response.content
|
35
|
+
```
|
36
|
+
|
37
|
+
The `robust_get_request()` will first try a simple request, then a proxied request: `robust_get_request(url, params)`
|
38
|
+
|
39
|
+
## Features
|
40
|
+
|
41
|
+
- Simple CORS proxy wrapper
|
42
|
+
- Requests response object
|
43
|
+
- Support for URL parameters
|
@@ -1,6 +1,25 @@
|
|
1
1
|
# File: simple_cors_proxy/proxy.py
|
2
2
|
from urllib.parse import urlencode, quote
|
3
3
|
import requests
|
4
|
+
import io
|
5
|
+
|
6
|
+
import platform
|
7
|
+
PLATFORM = platform.system().lower()
|
8
|
+
|
9
|
+
def xurl(url, params=None):
|
10
|
+
if PLATFORM=="emscripten":
|
11
|
+
if params:
|
12
|
+
url = f"{url}?{urlencode(params)}"
|
13
|
+
url = f"https://corsproxy.io/{quote(url)}"
|
14
|
+
|
15
|
+
return url
|
16
|
+
|
17
|
+
def furl(url, params=None):
|
18
|
+
"""Return file like object."""
|
19
|
+
r = cors_proxy_get(url, params)
|
20
|
+
|
21
|
+
# Return a file-like object from the JSON string
|
22
|
+
return io.BytesIO(r.content)
|
4
23
|
|
5
24
|
|
6
25
|
def cors_proxy_get(url, params=None):
|
@@ -14,12 +33,7 @@ def cors_proxy_get(url, params=None):
|
|
14
33
|
Returns:
|
15
34
|
A requests response object.
|
16
35
|
"""
|
17
|
-
|
18
|
-
full_url = f"{url}?{urlencode(params)}"
|
19
|
-
else:
|
20
|
-
full_url = url
|
21
|
-
|
22
|
-
proxy_url = f"https://corsproxy.io/{quote(full_url)}"
|
36
|
+
proxy_url = xurl(url, params)
|
23
37
|
|
24
38
|
# Do a simple requests get and
|
25
39
|
# just pass through the entire response object
|
@@ -33,4 +47,4 @@ def robust_get_request(url, params=None):
|
|
33
47
|
r = requests.get(url, params=params)
|
34
48
|
except:
|
35
49
|
r = cors_proxy_get(url, params=params)
|
36
|
-
return r
|
50
|
+
return r
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: jupyterlite-simple-cors-proxy
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.5
|
4
4
|
Summary: A simple CORS proxy utility with requests-like response
|
5
5
|
Home-page: https://github.com/innovationOUtside/jupyterlite-simple-cors-proxy
|
6
6
|
Author: Tony Hirst
|
@@ -8,10 +8,10 @@ Author-email: tony.hirst@gmail.com
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
10
10
|
Classifier: Operating System :: OS Independent
|
11
|
-
Requires-Python: >=3.
|
11
|
+
Requires-Python: >=3.8
|
12
12
|
Description-Content-Type: text/markdown
|
13
13
|
License-File: LICENSE
|
14
|
-
Requires-Dist: requests
|
14
|
+
Requires-Dist: requests
|
15
15
|
Dynamic: author
|
16
16
|
Dynamic: author-email
|
17
17
|
Dynamic: classifier
|
@@ -34,12 +34,23 @@ pip install jupyterlite-simple-cors-proxy
|
|
34
34
|
## Usage
|
35
35
|
|
36
36
|
```python
|
37
|
-
from
|
37
|
+
from jupyterlite_simple_cors_proxy.proxy import cors_proxy_get, robust_get_request, furl, xurl
|
38
38
|
|
39
|
-
#
|
39
|
+
# Set up
|
40
40
|
url = "https://api.example.com/data"
|
41
|
+
# Optional params
|
41
42
|
params = {"key": "value"}
|
42
|
-
|
43
|
+
|
44
|
+
# Get a cross-origin proxied url
|
45
|
+
cross_origin_url = xurl(url) # xurl(url, params)
|
46
|
+
|
47
|
+
# Get a file like object
|
48
|
+
# (Make the request, then create a file like object
|
49
|
+
# from the response)
|
50
|
+
file_ob = furl(url) # furl(url, params)
|
51
|
+
|
52
|
+
# Make a request
|
53
|
+
response = cors_proxy_get(url, params)
|
43
54
|
|
44
55
|
# Use like requests
|
45
56
|
print(response.text)
|
@@ -47,7 +58,7 @@ data = response.json()
|
|
47
58
|
raw = response.content
|
48
59
|
```
|
49
60
|
|
50
|
-
The `robust_get_request()` will first try a simple
|
61
|
+
The `robust_get_request()` will first try a simple request, then a proxied request: `robust_get_request(url, params)`
|
51
62
|
|
52
63
|
## Features
|
53
64
|
|
@@ -0,0 +1 @@
|
|
1
|
+
requests
|
@@ -3,10 +3,10 @@ from setuptools import setup, find_packages
|
|
3
3
|
|
4
4
|
setup(
|
5
5
|
name="jupyterlite-simple-cors-proxy",
|
6
|
-
version="0.1.
|
6
|
+
version="0.1.5",
|
7
7
|
packages=find_packages(),
|
8
8
|
install_requires=[
|
9
|
-
"requests
|
9
|
+
"requests",
|
10
10
|
],
|
11
11
|
author="Tony Hirst",
|
12
12
|
author_email="tony.hirst@gmail.com",
|
@@ -19,5 +19,5 @@ setup(
|
|
19
19
|
"License :: OSI Approved :: MIT License",
|
20
20
|
"Operating System :: OS Independent",
|
21
21
|
],
|
22
|
-
python_requires=">=3.
|
22
|
+
python_requires=">=3.8",
|
23
23
|
)
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# jupyterlite-simple-cors-proxy
|
2
|
-
Simple CORS proxy for making http requests from JupyterLite
|
3
|
-
|
4
|
-
## Installation
|
5
|
-
|
6
|
-
```bash
|
7
|
-
pip install jupyterlite-simple-cors-proxy
|
8
|
-
```
|
9
|
-
|
10
|
-
## Usage
|
11
|
-
|
12
|
-
```python
|
13
|
-
from simple_cors_proxy import cors_proxy_get, robust_get_request
|
14
|
-
|
15
|
-
# Make a request
|
16
|
-
url = "https://api.example.com/data"
|
17
|
-
params = {"key": "value"}
|
18
|
-
response = cors_proxy(url, params)
|
19
|
-
|
20
|
-
# Use like requests
|
21
|
-
print(response.text)
|
22
|
-
data = response.json()
|
23
|
-
raw = response.content
|
24
|
-
```
|
25
|
-
|
26
|
-
The `robust_get_request()` will first try a simple reuqst, then a proxied request: `robust_get_request(url, params)`
|
27
|
-
|
28
|
-
## Features
|
29
|
-
|
30
|
-
- Simple CORS proxy wrapper
|
31
|
-
- Requests response object
|
32
|
-
- Support for URL parameters
|
@@ -1 +0,0 @@
|
|
1
|
-
requests>=2.32.0
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|