arcsecond 4.4.0__tar.gz → 4.4.1__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 (136) hide show
  1. {arcsecond-4.4.0 → arcsecond-4.4.1}/PKG-INFO +1 -1
  2. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/network/probe.py +5 -1
  3. {arcsecond-4.4.0 → arcsecond-4.4.1}/pyproject.toml +1 -1
  4. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_network_probe.py +3 -1
  5. {arcsecond-4.4.0 → arcsecond-4.4.1}/uv.lock +1 -1
  6. {arcsecond-4.4.0 → arcsecond-4.4.1}/.docker/Dockerfile_postgres +0 -0
  7. {arcsecond-4.4.0 → arcsecond-4.4.1}/.docker/Dockerfile_redis +0 -0
  8. {arcsecond-4.4.0 → arcsecond-4.4.1}/.flake8 +0 -0
  9. {arcsecond-4.4.0 → arcsecond-4.4.1}/.gitattributes +0 -0
  10. {arcsecond-4.4.0 → arcsecond-4.4.1}/.github/dependabot.yml +0 -0
  11. {arcsecond-4.4.0 → arcsecond-4.4.1}/.github/workflows/pythonpublish.yml +0 -0
  12. {arcsecond-4.4.0 → arcsecond-4.4.1}/.github/workflows/tests.yml +0 -0
  13. {arcsecond-4.4.0 → arcsecond-4.4.1}/.gitignore +0 -0
  14. {arcsecond-4.4.0 → arcsecond-4.4.1}/LICENSE +0 -0
  15. {arcsecond-4.4.0 → arcsecond-4.4.1}/Makefile +0 -0
  16. {arcsecond-4.4.0 → arcsecond-4.4.1}/README.md +0 -0
  17. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/__init__.py +0 -0
  18. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/__version__.py +0 -0
  19. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/alpaca/__init__.py +0 -0
  20. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/alpaca/commands.py +0 -0
  21. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/alpaca/dome_probe.py +0 -0
  22. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/alpaca/probe.py +0 -0
  23. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/alpaca/telescope_probe.py +0 -0
  24. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/api/__init__.py +0 -0
  25. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/api/config.py +0 -0
  26. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/api/constants.py +0 -0
  27. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/api/endpoint.py +0 -0
  28. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/api/main.py +0 -0
  29. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/api/resources.py +0 -0
  30. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cli.py +0 -0
  31. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/__init__.py +0 -0
  32. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/auth.py +0 -0
  33. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/resources.py +0 -0
  34. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/__init__.py +0 -0
  35. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/constants.py +0 -0
  36. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/context.py +0 -0
  37. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/datafiles/__init__.py +0 -0
  38. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/datafiles/context.py +0 -0
  39. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/datafiles/errors.py +0 -0
  40. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/datafiles/uploader.py +0 -0
  41. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/datafiles/utils.py +0 -0
  42. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/errors.py +0 -0
  43. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/logger.py +0 -0
  44. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/uploader.py +0 -0
  45. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/utils.py +0 -0
  46. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploader/walker.py +0 -0
  47. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/cloud/uploads.py +0 -0
  48. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/docgen.py +0 -0
  49. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/errors.py +0 -0
  50. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/__init__.py +0 -0
  51. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/backups.py +0 -0
  52. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/composedoc.py +0 -0
  53. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/database.py +0 -0
  54. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/docker/__init__.py +0 -0
  55. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/docker/docker-compose.yml +0 -0
  56. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/doctor.py +0 -0
  57. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/lifecycle.py +0 -0
  58. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/local.py +0 -0
  59. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/network/__init__.py +0 -0
  60. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/network/guard.py +0 -0
  61. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/network/manifest.toml +0 -0
  62. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/network/outbound.py +0 -0
  63. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/network/sheet.py +0 -0
  64. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/skybrightness.py +0 -0
  65. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/stack.py +0 -0
  66. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/token.py +0 -0
  67. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/hosting/utils.py +0 -0
  68. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/__init__.py +0 -0
  69. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/autostart.py +0 -0
  70. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/commands.py +0 -0
  71. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/detection.py +0 -0
  72. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/proxy.py +0 -0
  73. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/registry.py +0 -0
  74. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/runtime.py +0 -0
  75. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/sources/__init__.py +0 -0
  76. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/sources/base.py +0 -0
  77. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/sources/filewatch.py +0 -0
  78. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/sources/mdns.py +0 -0
  79. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/sources/network.py +0 -0
  80. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/sources/opencv.py +0 -0
  81. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/imagesources/store.py +0 -0
  82. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/options.py +0 -0
  83. {arcsecond-4.4.0 → arcsecond-4.4.1}/arcsecond/targets.py +0 -0
  84. {arcsecond-4.4.0 → arcsecond-4.4.1}/examples/example_upload_files.py +0 -0
  85. {arcsecond-4.4.0 → arcsecond-4.4.1}/requirements.txt +0 -0
  86. {arcsecond-4.4.0 → arcsecond-4.4.1}/setup.cfg +0 -0
  87. {arcsecond-4.4.0 → arcsecond-4.4.1}/setup.py +0 -0
  88. {arcsecond-4.4.0 → arcsecond-4.4.1}/sonar-project.properties +0 -0
  89. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/__init__.py +0 -0
  90. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/api/__init__.py +0 -0
  91. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/api/test_api.py +0 -0
  92. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/api/test_api_endpoint.py +0 -0
  93. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/api/test_config.py +0 -0
  94. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/api/test_config_pointer.py +0 -0
  95. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/api/test_targets.py +0 -0
  96. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/__init__.py +0 -0
  97. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/__init__.py +0 -0
  98. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/datafiles/__init__.py +0 -0
  99. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/datafiles/test_uploader_errors.py +0 -0
  100. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/datafiles/test_uploader_full_process.py +0 -0
  101. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/datafiles/test_uploader_init.py +0 -0
  102. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/datafiles/test_uploader_prepare.py +0 -0
  103. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/cloud/uploader/datafiles/test_uploader_upload.py +0 -0
  104. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/conftest.py +0 -0
  105. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/fixtures/docker-compose-6.2.yml +0 -0
  106. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/fixtures/docker-compose-6.4.yml +0 -0
  107. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/fixtures/file1.fits +0 -0
  108. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_alpaca_probe.py +0 -0
  109. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_cli.py +0 -0
  110. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_cli_api_commands.py +0 -0
  111. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_docgen.py +0 -0
  112. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_backups_install_dir.py +0 -0
  113. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_backups_restore.py +0 -0
  114. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_composedoc.py +0 -0
  115. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_database.py +0 -0
  116. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_doctor.py +0 -0
  117. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_lifecycle.py +0 -0
  118. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_local.py +0 -0
  119. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_network_guard.py +0 -0
  120. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_network_manifest.py +0 -0
  121. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_network_outbound.py +0 -0
  122. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_network_sheet.py +0 -0
  123. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_skybrightness.py +0 -0
  124. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_stack.py +0 -0
  125. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_token.py +0 -0
  126. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_hosting_utils_secret_key.py +0 -0
  127. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_autostart.py +0 -0
  128. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_commands.py +0 -0
  129. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_detection.py +0 -0
  130. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_mdns.py +0 -0
  131. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_network.py +0 -0
  132. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_proxy.py +0 -0
  133. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_store.py +0 -0
  134. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_imagesources_webcam.py +0 -0
  135. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/test_targets_planning.py +0 -0
  136. {arcsecond-4.4.0 → arcsecond-4.4.1}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: arcsecond
3
- Version: 4.4.0
3
+ Version: 4.4.1
4
4
  Summary: CLI for arcsecond.io
5
5
  Project-URL: Homepage, https://github.com/arcsecond-io/cli
6
6
  Project-URL: Issues, https://github.com/arcsecond-io/cli/issues
@@ -87,7 +87,11 @@ def _issuer_of(der: bytes) -> str:
87
87
  Python only decodes certificates it has verified, except through this one
88
88
  helper; when it is not there, the issuer is simply not reported."""
89
89
  try:
90
- with tempfile.NamedTemporaryFile("w", suffix=".pem") as handle:
90
+ # Reopened by name while still open: Windows refuses that unless the
91
+ # file is kept past close. It still goes when the block ends.
92
+ with tempfile.NamedTemporaryFile(
93
+ "w", suffix=".pem", delete_on_close=False
94
+ ) as handle:
91
95
  handle.write(ssl.DER_cert_to_PEM_cert(der))
92
96
  handle.flush()
93
97
  decoded = ssl._ssl._test_decode_cert(handle.name) # type: ignore[attr-defined]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "arcsecond"
7
- version = "4.4.0"
7
+ version = "4.4.1"
8
8
  authors = [
9
9
  { name = "Cedric Foellmi", email = "cedric@arcsecond.io" },
10
10
  ]
@@ -85,7 +85,9 @@ def self_signed(tmp_path_factory):
85
85
 
86
86
 
87
87
  def test_a_port_nothing_listens_on_is_refused_not_timed_out():
88
- result = probing.probe("localhost", _free_port(), timeout=2)
88
+ # The probe's own timeout, not a shorter one: Windows retries a refused
89
+ # connection for about two seconds per address before saying so.
90
+ result = probing.probe("localhost", _free_port(), timeout=probing.TIMEOUT)
89
91
  assert not result.ok and result.failure == probing.REFUSED
90
92
 
91
93
 
@@ -155,7 +155,7 @@ wheels = [
155
155
 
156
156
  [[package]]
157
157
  name = "arcsecond"
158
- version = "4.4.0"
158
+ version = "4.4.1"
159
159
  source = { editable = "." }
160
160
  dependencies = [
161
161
  { name = "alpyca" },
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