spacenav-ws 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
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.
- spacenav_ws/certs/ip.cnf +16 -0
- spacenav_ws/certs/ip.crt +18 -0
- spacenav_ws/certs/ip.csr +16 -0
- spacenav_ws/certs/ip.key +28 -0
- spacenav_ws/main.py +15 -3
- {spacenav_ws-0.1.0.dist-info → spacenav_ws-0.1.1.dist-info}/METADATA +7 -2
- spacenav_ws-0.1.1.dist-info/RECORD +14 -0
- spacenav_ws-0.1.0.dist-info/RECORD +0 -10
- {spacenav_ws-0.1.0.dist-info → spacenav_ws-0.1.1.dist-info}/WHEEL +0 -0
- {spacenav_ws-0.1.0.dist-info → spacenav_ws-0.1.1.dist-info}/entry_points.txt +0 -0
- {spacenav_ws-0.1.0.dist-info → spacenav_ws-0.1.1.dist-info}/licenses/LICENSE +0 -0
spacenav_ws/certs/ip.cnf
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
[ req ]
|
2
|
+
default_bits = 2048
|
3
|
+
distinguished_name = dn
|
4
|
+
req_extensions = req_ext
|
5
|
+
prompt = no
|
6
|
+
|
7
|
+
[ dn ]
|
8
|
+
# Use the IP as the “common name”
|
9
|
+
CN = 127.51.68.120
|
10
|
+
|
11
|
+
[ req_ext ]
|
12
|
+
subjectAltName = @alt_names
|
13
|
+
|
14
|
+
[ alt_names ]
|
15
|
+
# Tell OpenSSL this cert is valid for this IP
|
16
|
+
IP.1 = 127.51.68.120
|
spacenav_ws/certs/ip.crt
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIC8DCCAdigAwIBAgIUNsNCA02p2ELrmS+rvcI/otubVFwwDQYJKoZIhvcNAQEL
|
3
|
+
BQAwGDEWMBQGA1UEAwwNMTI3LjUxLjY4LjEyMDAeFw0yNTA0MjAxMTA1MDNaFw0z
|
4
|
+
NTA0MTgxMTA1MDNaMBgxFjAUBgNVBAMMDTEyNy41MS42OC4xMjAwggEiMA0GCSqG
|
5
|
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJ5STIxYG9rrvueEvSx0iC3PxJR2uygu0v
|
6
|
+
BC7BziExnUleqO4RobAFgjuwN/rqiuGruuh5ptoZjfQRMRkNMXI2ZBnnoJXmP0oK
|
7
|
+
Ppqdr+8/t9YgqnClT+AUCRJ2DlTW7qA+ZBzDERWR6iAXhPMi6Cbcz9zAK/Tdqh2O
|
8
|
+
HbuDNqOB156fr8inx8FMgVWPfW0zkMvJ9og/pmV+BlMWJveXCgHcmpBCOJrknk67
|
9
|
+
1/0gtO58T9AygSeg9yQzd5Mwh3ZIPYxR4Qx30KVG5br3zisqcD+Af+z5wcrPqXLJ
|
10
|
+
nDkTjO1y5r6Vft0vLN1SIW6xA6uqwLJ7vxdbjpsvQaF6Om4nU57NAgMBAAGjMjAw
|
11
|
+
MA8GA1UdEQQIMAaHBH8zRHgwHQYDVR0OBBYEFFwJpwEPR1TnqW86nrGyHYGhsTu0
|
12
|
+
MA0GCSqGSIb3DQEBCwUAA4IBAQC3bRa7pjwDtWsWpQJMAHXFABeuyWlUZPOpYFCv
|
13
|
+
t1W3vkjUtp921iQEkv5DCeZxYn41deSAgT1GIgKOslLlGwfZlzTOdqoZ8CnJqFZr
|
14
|
+
Ce5FZwgA7Mwm6osieppLVObWchD2HKu7vEejxgB0QnSXBTR4MM1TMO7IX180q4C/
|
15
|
+
2KH7amqvfqAIIi+JuyueAhqPAiEdZpwzZv6CZLk1CFW1UmkZab7Ry8d+J06IFqmb
|
16
|
+
KxkIGLtSbEPgIofIYhuSGU2ItVhIO4cOjAO4aOyxuPy1gjgIXkmq0EZjtJdCXRi/
|
17
|
+
PJuq8suX/69PB3fFmjCay7Q63FEDrALyDQpFWJ5C1D+6+02G
|
18
|
+
-----END CERTIFICATE-----
|
spacenav_ws/certs/ip.csr
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
2
|
+
MIICfzCCAWcCAQAwGDEWMBQGA1UEAwwNMTI3LjUxLjY4LjEyMDCCASIwDQYJKoZI
|
3
|
+
hvcNAQEBBQADggEPADCCAQoCggEBAMnlJMjFgb2uu+54S9LHSILc/ElHa7KC7S8E
|
4
|
+
LsHOITGdSV6o7hGhsAWCO7A3+uqK4au66Hmm2hmN9BExGQ0xcjZkGeegleY/Sgo+
|
5
|
+
mp2v7z+31iCqcKVP4BQJEnYOVNbuoD5kHMMRFZHqIBeE8yLoJtzP3MAr9N2qHY4d
|
6
|
+
u4M2o4HXnp+vyKfHwUyBVY99bTOQy8n2iD+mZX4GUxYm95cKAdyakEI4muSeTrvX
|
7
|
+
/SC07nxP0DKBJ6D3JDN3kzCHdkg9jFHhDHfQpUbluvfOKypwP4B/7PnBys+pcsmc
|
8
|
+
OROM7XLmvpV+3S8s3VIhbrEDq6rAsnu/F1uOmy9BoXo6bidTns0CAwEAAaAiMCAG
|
9
|
+
CSqGSIb3DQEJDjETMBEwDwYDVR0RBAgwBocEfzNEeDANBgkqhkiG9w0BAQsFAAOC
|
10
|
+
AQEAlGZa1JHp9z8leCWU1tUGreQOkOy0O+wviMH3rud/6fwnCrf5//zePeU+W84c
|
11
|
+
+b2yh1nCBPY13q1yqlFOHi2oSt5fkIr1gTUMcchvKWkrKeSZr8RXYngBCPbqA281
|
12
|
+
vqZ9uqAD3pOYsL993rYJP/k6zu6KVE3NGwqoY+6zciy+F5b6pdy4zsgRkft46lvJ
|
13
|
+
e+N2A/CGyEx2KAF7+uMcr4VB8ZVZNWFl6M2okEgnQrHzPGArS5Txjiwivm0oGl67
|
14
|
+
aMqiPe4eU62hYcDSJo5YgxzBTbMTTX8XReoolkWGMrY8DDdH0XIm55Z0rAe1Iw/A
|
15
|
+
DBOYonshUw88zO6jGXGvhWlcDw==
|
16
|
+
-----END CERTIFICATE REQUEST-----
|
spacenav_ws/certs/ip.key
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDJ5STIxYG9rrvu
|
3
|
+
eEvSx0iC3PxJR2uygu0vBC7BziExnUleqO4RobAFgjuwN/rqiuGruuh5ptoZjfQR
|
4
|
+
MRkNMXI2ZBnnoJXmP0oKPpqdr+8/t9YgqnClT+AUCRJ2DlTW7qA+ZBzDERWR6iAX
|
5
|
+
hPMi6Cbcz9zAK/Tdqh2OHbuDNqOB156fr8inx8FMgVWPfW0zkMvJ9og/pmV+BlMW
|
6
|
+
JveXCgHcmpBCOJrknk671/0gtO58T9AygSeg9yQzd5Mwh3ZIPYxR4Qx30KVG5br3
|
7
|
+
zisqcD+Af+z5wcrPqXLJnDkTjO1y5r6Vft0vLN1SIW6xA6uqwLJ7vxdbjpsvQaF6
|
8
|
+
Om4nU57NAgMBAAECggEAEUlCjUMl4OMDWb9ohI9GBNhdbHvGO5ZMrwQdacAXpPsZ
|
9
|
+
01ZE7fMJUmtsZ2HfpLHH8S9zZKkVzu7RySAKTFAhvojzE9sywnBES1zBWcN8yViY
|
10
|
+
55qYQvs0DRsavstq1a1AQJ9LPCNsFJ52aXUbaS911l2gwb5xvIHqfmbKzYkB1mXE
|
11
|
+
EXuRu4YOdT+EZRHbQwG2mfKXCN4H5/gp89hH8id3jCZuFZ2eCeMaEUIq4Wtoa3r4
|
12
|
+
S2kUwQxjDwv/QJQb3Ym9NfzxWsNFtnqt6Np4wdtlt75IOgcqqjhTBUUOsDKwKZRv
|
13
|
+
Q+/GgAunmigCWes/KJ4OPFY3OlyJlDf+yHksIyolAQKBgQDoDy9FW5JiXhwnXXwY
|
14
|
+
ndMbH8V6rC2aHf0NF9MW4PuzAr0SVrm6Er7W0+gMlahfY2NmHhA+IdTwT7q4voCX
|
15
|
+
pGU4KmQk9+h+lmD+FmLvDU5Rox5oCknlVcb69bSS6Y2sBGeV0f9MR/aLiu+4K/mz
|
16
|
+
MhFRAiWDJ9rG8WG86XC5kx+DAQKBgQDeuU4f0DRShPZkCZhKv4J3jKF9pmb6TEoy
|
17
|
+
ruwVnRHv7YSnZnNokdujXjEa7xvw7cT+ytK+CP+vLSdEDvDZET5LnMnAW4Fu0Z9l
|
18
|
+
3YMc+/JIyMVauGgdEozEMhyv8yoRQNjKvcVTb1H7mwbCSD4IrHT9kPvV8M683B0B
|
19
|
+
F7IxenK3zQKBgDnVVvWVHcVQKPoSjVPhOXSAFYo+ENtg7+jscBo6leAGJbLFVGIw
|
20
|
+
O8l0ZFeGkMC9F0+i3G9vpQ8C/8j9CTVBrkwyHGUuN44c0i1gzOVAzqz/1xscvU/f
|
21
|
+
ccinpYoblMgzDNHE1ThgkuwyAw5GP2PObYxf2ZN3QknkbHRVRVeqd+cBAoGBAJML
|
22
|
+
PGz8hM7GQfWh8A3JilVrX2MZbXtqysHTgsJyRNlmsuHiXed4BM5C7aCepI/YKusc
|
23
|
+
9S3JuyToZrgkNRbar4o0JW79+uIzO02BhYKpRDiRdNqETRiEmrMdcpsnq2pgqcCQ
|
24
|
+
sap4IGRA4aF7GJmZYlPWWK3SomtF11BVWKwZ74sxAoGAEKRY2TEK6TD0/IV7pKqG
|
25
|
+
z8Qq2UaCtOh9HT5GJw+tqWmeJi6VNHppLasHkIeoZtbouLvaFnzNz0TRMT8E85uv
|
26
|
+
iyqnsyRe8lc/kUTERRRI2y6fvZ78sASN3c89koszEqIQ4RUO1StvGGK+NOkhTUs8
|
27
|
+
GyIe849AyjalPUqs6chYWks=
|
28
|
+
-----END PRIVATE KEY-----
|
spacenav_ws/main.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import asyncio
|
2
2
|
import logging
|
3
3
|
import struct
|
4
|
+
from pathlib import Path
|
4
5
|
|
5
6
|
import typer
|
6
7
|
import uvicorn
|
@@ -21,9 +22,20 @@ ORIGINS = [
|
|
21
22
|
"https://3dconnexion.com",
|
22
23
|
"https://cad.onshape.com",
|
23
24
|
]
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
# from importlib.resources import files, as_file
|
26
|
+
|
27
|
+
# # Build a Traversable pointing to spacenav_ws/certs/ip.crt
|
28
|
+
# resource = files(__package__).joinpath("certs", "ip.crt")
|
29
|
+
# # as_file() ensures we have a real filesystem path even if inside a zip/wheel
|
30
|
+
# with as_file(resource) as cert_path:
|
31
|
+
# CERT_FILE = str(cert_path)
|
32
|
+
|
33
|
+
# # Same for the key
|
34
|
+
# key_res = files(__package__).joinpath("certs", "ip.key")
|
35
|
+
# with as_file(key_res) as key_path:
|
36
|
+
# KEY_FILE = str(key_path)
|
37
|
+
CERT_FILE = Path(__file__).parent / "certs" / "ip.crt"
|
38
|
+
KEY_FILE = Path(__file__).parent / "certs" / "ip.key"
|
27
39
|
|
28
40
|
cli = typer.Typer()
|
29
41
|
app = FastAPI()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: spacenav-ws
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.1
|
4
4
|
Summary: SpaceNav WebSocket Bridge for using a 3dConnexion spacemouse with onshape
|
5
5
|
Author-email: RmStorm <roaldstorm@gmail.com>
|
6
6
|
License-File: LICENSE
|
@@ -28,4 +28,9 @@ Simply run `uvx spacenav-ws`
|
|
28
28
|
todo
|
29
29
|
|
30
30
|
# Deploying to pypi
|
31
|
-
|
31
|
+
Just run
|
32
|
+
|
33
|
+
```bash
|
34
|
+
uv build
|
35
|
+
uv publish
|
36
|
+
```
|
@@ -0,0 +1,14 @@
|
|
1
|
+
spacenav_ws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
+
spacenav_ws/controller.py,sha256=2_xZF_WvYHO7EKEafyQcheLipUGBMABiSgZTAwnMAX4,6614
|
3
|
+
spacenav_ws/main.py,sha256=06JeuhCGdUe_U8qLLhNCDh2VxUSHSbQyKOXVjO1CxwA,4263
|
4
|
+
spacenav_ws/spacenav.py,sha256=2Y8Gbxo__Xcc2dQeUzF2Shgrm-n35tUbK3KrrDmV4AY,1373
|
5
|
+
spacenav_ws/wamp.py,sha256=900OpbQCHluoiH4ThhDQTVf6UhWl898bA2WKHTEq55w,7812
|
6
|
+
spacenav_ws/certs/ip.cnf,sha256=0iqBE5mEYouB9vB3EiEF4JCJV-Code6ByGdTvQo9m_4,299
|
7
|
+
spacenav_ws/certs/ip.crt,sha256=BsvZSE5dovQwTqC3SzhjUdHKT5LWb12HrgR3qe-x0dU,1078
|
8
|
+
spacenav_ws/certs/ip.csr,sha256=JdBTVIBq_IIo05MU_sGXZvlJX7VLUCPvSLPQgfHBUNU,944
|
9
|
+
spacenav_ws/certs/ip.key,sha256=8V78lQyBt7HRu7glxm-9RhiG4CoakYiCEDXhv-0x1jc,1704
|
10
|
+
spacenav_ws-0.1.1.dist-info/METADATA,sha256=2Eo7W0--ttQc-wpZyvV2qhT4lwlqVi7V5vyfOOqgNtA,816
|
11
|
+
spacenav_ws-0.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
12
|
+
spacenav_ws-0.1.1.dist-info/entry_points.txt,sha256=3V0mY2nK5u51q0YI8jKqR8hF6KKR3ev7bGJbEayc250,53
|
13
|
+
spacenav_ws-0.1.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
14
|
+
spacenav_ws-0.1.1.dist-info/RECORD,,
|
@@ -1,10 +0,0 @@
|
|
1
|
-
spacenav_ws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
spacenav_ws/controller.py,sha256=2_xZF_WvYHO7EKEafyQcheLipUGBMABiSgZTAwnMAX4,6614
|
3
|
-
spacenav_ws/main.py,sha256=OvUeznzw6pS1ff2qHD4H_fMjXAjzAEegskN_FPCQZGI,3711
|
4
|
-
spacenav_ws/spacenav.py,sha256=2Y8Gbxo__Xcc2dQeUzF2Shgrm-n35tUbK3KrrDmV4AY,1373
|
5
|
-
spacenav_ws/wamp.py,sha256=900OpbQCHluoiH4ThhDQTVf6UhWl898bA2WKHTEq55w,7812
|
6
|
-
spacenav_ws-0.1.0.dist-info/METADATA,sha256=VzpfugdgfRhaaeSFhRjOy-swobsYZXJ-nZsX4H01bDM,779
|
7
|
-
spacenav_ws-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
8
|
-
spacenav_ws-0.1.0.dist-info/entry_points.txt,sha256=3V0mY2nK5u51q0YI8jKqR8hF6KKR3ev7bGJbEayc250,53
|
9
|
-
spacenav_ws-0.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
10
|
-
spacenav_ws-0.1.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|