pytrain-ogr-api 2.5.0__tar.gz → 2.6.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.
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/PKG-INFO +5 -5
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/pyproject.toml +4 -4
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/requirements.txt +4 -4
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/_version.py +3 -3
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/make_api_service.py +10 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/pytrain_api.py +2 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/pytrain_api.bash.template +2 -2
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/PKG-INFO +5 -5
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/requires.txt +4 -4
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/tests/requirements.txt +2 -2
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/.github/workflows/pypi-release.yml +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/.github/workflows/python-package.yml +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/.gitignore +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/AUTHORS +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/LICENSE +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/README.md +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/cli/__init__.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/cli/make_api_service.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/cli/pytrain_api.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/dev.env +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/pytest.ini +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/pytrain-api-docs/index.html +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/pytrain-api-docs/openapi.json +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/ruff.toml +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/setup.cfg +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/__init__.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/__init__.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/endpoints.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/pytrain_component.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/pytrain_info.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/response_models.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/apple-touch-icon.png +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/favicon.ico +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/pytrain_api.service.template +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/SOURCES.txt +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/dependency_links.txt +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/entry_points.txt +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/top_level.txt +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/tests/__init__.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/tests/pytrain_api/__init__.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/tests/pytrain_api/test_pytrain_api.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/tests/pytrain_api/test_pytrain_component.py +0 -0
- {pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pytrain-ogr-api
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.2
|
|
4
4
|
Summary: Restful API to control Lionel TMCC/Legacy engines, switches, and accesseries from a Raspberry Pi
|
|
5
5
|
Author-email: Dave Swindell <pytraininfo@gmail.com>
|
|
6
6
|
License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
@@ -189,18 +189,18 @@ Requires-Python: >=3.11
|
|
|
189
189
|
Description-Content-Type: text/markdown
|
|
190
190
|
License-File: LICENSE
|
|
191
191
|
License-File: AUTHORS
|
|
192
|
-
Requires-Dist: pytrain-ogr>=2.
|
|
192
|
+
Requires-Dist: pytrain-ogr>=2.6.2
|
|
193
193
|
Requires-Dist: fastapi>=0.136.1
|
|
194
194
|
Requires-Dist: fastapi-utils>=0.8.0
|
|
195
195
|
Requires-Dist: pyjwt>=2.12.1
|
|
196
196
|
Requires-Dist: python-dotenv>=1.2.2
|
|
197
|
-
Requires-Dist: python_multipart>=0.0.
|
|
197
|
+
Requires-Dist: python_multipart>=0.0.29
|
|
198
198
|
Requires-Dist: range-key-dict>=1.1.0
|
|
199
199
|
Requires-Dist: setuptools>=80.9.0
|
|
200
200
|
Requires-Dist: setuptools_scm>=10.0.5
|
|
201
201
|
Requires-Dist: typing-inspect>=0.9.0
|
|
202
|
-
Requires-Dist: uvicorn>=0.
|
|
203
|
-
Requires-Dist: zeroconf>=0.
|
|
202
|
+
Requires-Dist: uvicorn>=0.47.0
|
|
203
|
+
Requires-Dist: zeroconf>=0.149.16
|
|
204
204
|
Dynamic: license-file
|
|
205
205
|
|
|
206
206
|
# PyTrain API
|
|
@@ -28,18 +28,18 @@ classifiers = [
|
|
|
28
28
|
license = { file = "LICENSE" }
|
|
29
29
|
|
|
30
30
|
dependencies = [
|
|
31
|
-
"pytrain-ogr >= 2.
|
|
31
|
+
"pytrain-ogr >= 2.6.2",
|
|
32
32
|
"fastapi >= 0.136.1",
|
|
33
33
|
"fastapi-utils >= 0.8.0",
|
|
34
34
|
"pyjwt >= 2.12.1",
|
|
35
35
|
"python-dotenv >= 1.2.2",
|
|
36
|
-
"python_multipart >= 0.0.
|
|
36
|
+
"python_multipart >= 0.0.29",
|
|
37
37
|
"range-key-dict >= 1.1.0",
|
|
38
38
|
"setuptools >= 80.9.0",
|
|
39
39
|
"setuptools_scm >= 10.0.5",
|
|
40
40
|
"typing-inspect >= 0.9.0",
|
|
41
|
-
"uvicorn >= 0.
|
|
42
|
-
"zeroconf >= 0.
|
|
41
|
+
"uvicorn >= 0.47.0",
|
|
42
|
+
"zeroconf >= 0.149.16",
|
|
43
43
|
]
|
|
44
44
|
|
|
45
45
|
keywords = [
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
pytrain-ogr>=2.
|
|
1
|
+
pytrain-ogr>=2.6.2
|
|
2
2
|
fastapi-utils>=0.8.0
|
|
3
3
|
fastapi>=0.136.1
|
|
4
4
|
pyjwt>=2.12.1
|
|
5
5
|
python-dotenv>=1.2.2
|
|
6
|
-
python_multipart>=0.0.
|
|
6
|
+
python_multipart>=0.0.29
|
|
7
7
|
range-key-dict>=1.1.0
|
|
8
8
|
setuptools>=80.9.0
|
|
9
9
|
setuptools_scm>=10.0.5
|
|
10
10
|
typing-inspect>=0.9.0
|
|
11
|
-
uvicorn>=0.
|
|
12
|
-
zeroconf>=0.
|
|
11
|
+
uvicorn>=0.47.0
|
|
12
|
+
zeroconf>=0.149.16
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '2.
|
|
22
|
-
__version_tuple__ = version_tuple = (2,
|
|
21
|
+
__version__ = version = '2.6.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 6, 2)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gd0ebdc902'
|
|
@@ -97,9 +97,11 @@ class MakeApiService:
|
|
|
97
97
|
print("\nAn LCS Ser2 is not required when configuring as a client. Continuing")
|
|
98
98
|
|
|
99
99
|
self._exe = "pytrain_api" if is_package() else "cli/pytrain_api.py"
|
|
100
|
+
self._no_cache_sync = args.no_cache_sync is True
|
|
100
101
|
self._cmd_line = self.command_line
|
|
101
102
|
self._config = {
|
|
102
103
|
"___ACTIVATE___": str(self._activate_cmd),
|
|
104
|
+
"___CACHE_SYNC___": " -no_cache_sync" if self._no_cache_sync is True else "",
|
|
103
105
|
"___CLIENT___": "-client" if self.is_client else "",
|
|
104
106
|
"___HOME___": str(self._home),
|
|
105
107
|
"___LCSSER2___": " -ser2" if self._ser2 is True else "",
|
|
@@ -253,6 +255,8 @@ class MakeApiService:
|
|
|
253
255
|
cmd_line += f" -base{ip}"
|
|
254
256
|
if self._args.ser2 is True:
|
|
255
257
|
cmd_line += " -ser2"
|
|
258
|
+
if self._no_cache_sync is True:
|
|
259
|
+
cmd_line += " -no_cache_sync"
|
|
256
260
|
return cmd_line
|
|
257
261
|
|
|
258
262
|
def confirm_environment(self) -> bool:
|
|
@@ -261,6 +265,7 @@ class MakeApiService:
|
|
|
261
265
|
if self._args.mode == "server":
|
|
262
266
|
print(f" Lionel Base IP addresses: {self._base_ip}")
|
|
263
267
|
print(f" Use Ser2: {'Yes' if self._args.ser2 is True else 'No'}")
|
|
268
|
+
print(f" Cache file synchronization: {'Disabled' if self._no_cache_sync is True else 'Enabled'}")
|
|
264
269
|
print(f" Run as user: {self._user}")
|
|
265
270
|
print(f" User '{self._user} Home: {self._home}")
|
|
266
271
|
print(f" System type: {platform.system()}")
|
|
@@ -324,6 +329,11 @@ class MakeApiService:
|
|
|
324
329
|
help="Send or receive TMCC commands from an LCS Ser2",
|
|
325
330
|
)
|
|
326
331
|
misc_opts = parser.add_argument_group("Miscellaneous options")
|
|
332
|
+
misc_opts.add_argument(
|
|
333
|
+
"-no_cache_sync",
|
|
334
|
+
action="store_true",
|
|
335
|
+
help="Disable cache file synchronization",
|
|
336
|
+
)
|
|
327
337
|
misc_opts.add_argument(
|
|
328
338
|
"-start",
|
|
329
339
|
action="store_true",
|
|
@@ -133,6 +133,8 @@ class PyTrainApi:
|
|
|
133
133
|
pytrain_args += f" -server_port {args.server_port}"
|
|
134
134
|
if args.echo is True:
|
|
135
135
|
pytrain_args += " -echo"
|
|
136
|
+
if args.no_cache_sync is True:
|
|
137
|
+
pytrain_args += " -no_cache_sync"
|
|
136
138
|
if args.buttons_file:
|
|
137
139
|
pytrain_args += f" -buttons_file {args.buttons_file}"
|
|
138
140
|
self._pytrain_cmd_line = pytrain_args
|
{pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/pytrain_api.bash.template
RENAMED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
PYTRAIN_API_HOME="___PYTRAINAPIHOME___"
|
|
13
13
|
LIONEL_BASE="___LIONELBASE___"
|
|
14
14
|
LCS_SER_2="___LCSSER2___"
|
|
15
|
+
CACHE_SYNC="___CACHE_SYNC___"
|
|
15
16
|
|
|
16
17
|
# change direction to PYTRAIN_HOME
|
|
17
18
|
cd $PYTRAIN_API_HOME
|
|
@@ -20,5 +21,4 @@ cd $PYTRAIN_API_HOME
|
|
|
20
21
|
source ___ACTIVATE___; export PYTHONPATH=.
|
|
21
22
|
|
|
22
23
|
# run the program with appropriate arguments
|
|
23
|
-
___PYTRAINAPI___
|
|
24
|
-
|
|
24
|
+
___PYTRAINAPI___ ___LIONELBASE______LCSSER2______CACHE_SYNC___
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pytrain-ogr-api
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.2
|
|
4
4
|
Summary: Restful API to control Lionel TMCC/Legacy engines, switches, and accesseries from a Raspberry Pi
|
|
5
5
|
Author-email: Dave Swindell <pytraininfo@gmail.com>
|
|
6
6
|
License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
@@ -189,18 +189,18 @@ Requires-Python: >=3.11
|
|
|
189
189
|
Description-Content-Type: text/markdown
|
|
190
190
|
License-File: LICENSE
|
|
191
191
|
License-File: AUTHORS
|
|
192
|
-
Requires-Dist: pytrain-ogr>=2.
|
|
192
|
+
Requires-Dist: pytrain-ogr>=2.6.2
|
|
193
193
|
Requires-Dist: fastapi>=0.136.1
|
|
194
194
|
Requires-Dist: fastapi-utils>=0.8.0
|
|
195
195
|
Requires-Dist: pyjwt>=2.12.1
|
|
196
196
|
Requires-Dist: python-dotenv>=1.2.2
|
|
197
|
-
Requires-Dist: python_multipart>=0.0.
|
|
197
|
+
Requires-Dist: python_multipart>=0.0.29
|
|
198
198
|
Requires-Dist: range-key-dict>=1.1.0
|
|
199
199
|
Requires-Dist: setuptools>=80.9.0
|
|
200
200
|
Requires-Dist: setuptools_scm>=10.0.5
|
|
201
201
|
Requires-Dist: typing-inspect>=0.9.0
|
|
202
|
-
Requires-Dist: uvicorn>=0.
|
|
203
|
-
Requires-Dist: zeroconf>=0.
|
|
202
|
+
Requires-Dist: uvicorn>=0.47.0
|
|
203
|
+
Requires-Dist: zeroconf>=0.149.16
|
|
204
204
|
Dynamic: license-file
|
|
205
205
|
|
|
206
206
|
# PyTrain API
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
pytrain-ogr>=2.
|
|
1
|
+
pytrain-ogr>=2.6.2
|
|
2
2
|
fastapi>=0.136.1
|
|
3
3
|
fastapi-utils>=0.8.0
|
|
4
4
|
pyjwt>=2.12.1
|
|
5
5
|
python-dotenv>=1.2.2
|
|
6
|
-
python_multipart>=0.0.
|
|
6
|
+
python_multipart>=0.0.29
|
|
7
7
|
range-key-dict>=1.1.0
|
|
8
8
|
setuptools>=80.9.0
|
|
9
9
|
setuptools_scm>=10.0.5
|
|
10
10
|
typing-inspect>=0.9.0
|
|
11
|
-
uvicorn>=0.
|
|
12
|
-
zeroconf>=0.
|
|
11
|
+
uvicorn>=0.47.0
|
|
12
|
+
zeroconf>=0.149.16
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/pytrain_api.service.template
RENAMED
|
File without changes
|
|
File without changes
|
{pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{pytrain_ogr_api-2.5.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|