pytrain-ogr-api 2.6.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.
Files changed (43) hide show
  1. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/PKG-INFO +3 -3
  2. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/pyproject.toml +2 -2
  3. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/requirements.txt +2 -2
  4. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/_version.py +3 -3
  5. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/make_api_service.py +10 -0
  6. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/pytrain_api.py +2 -0
  7. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/pytrain_api.bash.template +2 -2
  8. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/PKG-INFO +3 -3
  9. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/requires.txt +2 -2
  10. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/tests/requirements.txt +1 -1
  11. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/.github/workflows/pypi-release.yml +0 -0
  12. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/.github/workflows/python-package.yml +0 -0
  13. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/.gitignore +0 -0
  14. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/AUTHORS +0 -0
  15. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/LICENSE +0 -0
  16. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/README.md +0 -0
  17. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/cli/__init__.py +0 -0
  18. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/cli/make_api_service.py +0 -0
  19. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/cli/pytrain_api.py +0 -0
  20. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/dev.env +0 -0
  21. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/pytest.ini +0 -0
  22. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/pytrain-api-docs/index.html +0 -0
  23. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/pytrain-api-docs/openapi.json +0 -0
  24. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/ruff.toml +0 -0
  25. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/setup.cfg +0 -0
  26. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/__init__.py +0 -0
  27. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/__init__.py +0 -0
  28. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/endpoints.py +0 -0
  29. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/pytrain_component.py +0 -0
  30. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/pytrain_info.py +0 -0
  31. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/response_models.py +0 -0
  32. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/apple-touch-icon.png +0 -0
  33. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/favicon.ico +0 -0
  34. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_api/static/pytrain_api.service.template +0 -0
  35. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/SOURCES.txt +0 -0
  36. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/dependency_links.txt +0 -0
  37. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/entry_points.txt +0 -0
  38. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/src/pytrain_ogr_api.egg-info/top_level.txt +0 -0
  39. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/tests/__init__.py +0 -0
  40. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/tests/pytrain_api/__init__.py +0 -0
  41. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/tests/pytrain_api/test_pytrain_api.py +0 -0
  42. {pytrain_ogr_api-2.6.0 → pytrain_ogr_api-2.6.2}/tests/pytrain_api/test_pytrain_component.py +0 -0
  43. {pytrain_ogr_api-2.6.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.6.0
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,7 +189,7 @@ 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.6.0
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
@@ -200,7 +200,7 @@ 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
202
  Requires-Dist: uvicorn>=0.47.0
203
- Requires-Dist: zeroconf>=0.149.11
203
+ Requires-Dist: zeroconf>=0.149.16
204
204
  Dynamic: license-file
205
205
 
206
206
  # PyTrain API
@@ -28,7 +28,7 @@ classifiers = [
28
28
  license = { file = "LICENSE" }
29
29
 
30
30
  dependencies = [
31
- "pytrain-ogr >= 2.6.0",
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",
@@ -39,7 +39,7 @@ dependencies = [
39
39
  "setuptools_scm >= 10.0.5",
40
40
  "typing-inspect >= 0.9.0",
41
41
  "uvicorn >= 0.47.0",
42
- "zeroconf >= 0.149.11",
42
+ "zeroconf >= 0.149.16",
43
43
  ]
44
44
 
45
45
  keywords = [
@@ -1,4 +1,4 @@
1
- pytrain-ogr>=2.6.0
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
@@ -9,4 +9,4 @@ setuptools>=80.9.0
9
9
  setuptools_scm>=10.0.5
10
10
  typing-inspect>=0.9.0
11
11
  uvicorn>=0.47.0
12
- zeroconf>=0.149.11
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.6.0'
22
- __version_tuple__ = version_tuple = (2, 6, 0)
21
+ __version__ = version = '2.6.2'
22
+ __version_tuple__ = version_tuple = (2, 6, 2)
23
23
 
24
- __commit_id__ = commit_id = 'ga1dea33a3'
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
@@ -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___ ___LIONELBASE______LCSSER2___
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.6.0
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,7 +189,7 @@ 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.6.0
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
@@ -200,7 +200,7 @@ 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
202
  Requires-Dist: uvicorn>=0.47.0
203
- Requires-Dist: zeroconf>=0.149.11
203
+ Requires-Dist: zeroconf>=0.149.16
204
204
  Dynamic: license-file
205
205
 
206
206
  # PyTrain API
@@ -1,4 +1,4 @@
1
- pytrain-ogr>=2.6.0
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
@@ -9,4 +9,4 @@ setuptools>=80.9.0
9
9
  setuptools_scm>=10.0.5
10
10
  typing-inspect>=0.9.0
11
11
  uvicorn>=0.47.0
12
- zeroconf>=0.149.11
12
+ zeroconf>=0.149.16
@@ -1,7 +1,7 @@
1
1
  build>=1.4.4
2
2
  fastapi-cli>=0.0.24
3
3
  pytest>=9.0.3
4
- ruff>=0.15.13
4
+ ruff>=0.15.14
5
5
  tox>=4.54.0
6
6
  twine>=6.1.0
7
7
  ipython>=9.10.0; python_version>="3.11"
File without changes
File without changes
File without changes
File without changes