shakemap-modules 1.2.0__tar.gz → 1.2.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 (160) hide show
  1. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/.gitignore +2 -0
  2. shakemap_modules-1.2.2/.gitlab-ci.yml +76 -0
  3. shakemap_modules-1.2.2/CHANGELOG.md +598 -0
  4. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/PKG-INFO +6 -6
  5. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/code.json +36 -0
  6. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/pyproject.toml +5 -5
  7. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/base/base.py +40 -28
  8. shakemap_modules-1.2.2/src/shakemap_modules/base/cli.py +299 -0
  9. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/base/transfer_base.py +103 -72
  10. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/assemble.py +264 -166
  11. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/associate.py +20 -10
  12. shakemap_modules-1.2.2/src/shakemap_modules/coremods/augment.py +349 -0
  13. shakemap_modules-1.2.2/src/shakemap_modules/coremods/contour.py +299 -0
  14. shakemap_modules-1.2.2/src/shakemap_modules/coremods/coverage.py +298 -0
  15. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/dyfi.py +88 -75
  16. shakemap_modules-1.2.2/src/shakemap_modules/coremods/gridxml.py +315 -0
  17. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/history.py +1 -1
  18. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/info.py +27 -24
  19. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/kml.py +142 -163
  20. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/makecsv.py +150 -78
  21. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/mapping.py +345 -123
  22. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/model.py +125 -42
  23. shakemap_modules-1.2.2/src/shakemap_modules/coremods/plotregr.py +420 -0
  24. shakemap_modules-1.2.2/src/shakemap_modules/coremods/raster.py +208 -0
  25. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/rupture.py +21 -21
  26. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/save.py +1 -10
  27. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/shape.py +73 -90
  28. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/sleep.py +22 -14
  29. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/sm_select.py +62 -44
  30. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/stations.py +26 -23
  31. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/transfer_email.py +65 -38
  32. shakemap_modules-1.2.2/src/shakemap_modules/coremods/transfer_pdl.py +175 -0
  33. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/transfer_scp.py +40 -25
  34. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/uncertaintymaps.py +284 -34
  35. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/xtestimage.py +1 -1
  36. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/xtestplot.py +1 -1
  37. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/xtestplot_multi.py +1 -1
  38. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/xtestplot_spectra.py +1 -1
  39. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/model.conf +33 -12
  40. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/modelspec.conf +2 -0
  41. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/mapping/mapmaker.py +624 -408
  42. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/mapping/mercatormap.py +180 -70
  43. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/mapping/scalebar.py +42 -30
  44. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/config.py +12 -4
  45. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/context.py +10 -3
  46. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/gmpe_setup.py +56 -8
  47. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/griddict.py +54 -45
  48. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/imt_utils.py +2 -1
  49. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/origin_setup.py +15 -0
  50. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/output_grid.py +6 -4
  51. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/station_data.py +78 -43
  52. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/amps.py +124 -176
  53. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/comcat.py +6 -13
  54. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/config.py +117 -100
  55. shakemap_modules-1.2.2/src/shakemap_modules/utils/dataframe.py +135 -0
  56. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/generic_amp.py +55 -47
  57. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/layers.py +54 -34
  58. shakemap_modules-1.2.0/src/shakemap_modules/utils/logging.py → shakemap_modules-1.2.2/src/shakemap_modules/utils/logging_utils.py +95 -71
  59. shakemap_modules-1.2.2/src/shakemap_modules/utils/macros.py +50 -0
  60. shakemap_modules-1.2.2/src/shakemap_modules/utils/points_to_station.py +146 -0
  61. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/probs.py +91 -81
  62. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/smclone.py +172 -169
  63. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/utils/utils.py +53 -40
  64. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/PKG-INFO +6 -6
  65. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/SOURCES.txt +1 -1
  66. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/requires.txt +5 -5
  67. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/scm_file_list.json +12 -2
  68. shakemap_modules-1.2.2/src/shakemap_modules.egg-info/scm_version.json +8 -0
  69. shakemap_modules-1.2.0/.gitlab-ci.yml +0 -87
  70. shakemap_modules-1.2.0/CHANGELOG.md +0 -263
  71. shakemap_modules-1.2.0/src/shakemap_modules/base/cli.py +0 -343
  72. shakemap_modules-1.2.0/src/shakemap_modules/coremods/augment.py +0 -333
  73. shakemap_modules-1.2.0/src/shakemap_modules/coremods/contour.py +0 -344
  74. shakemap_modules-1.2.0/src/shakemap_modules/coremods/coverage.py +0 -251
  75. shakemap_modules-1.2.0/src/shakemap_modules/coremods/gridxml.py +0 -286
  76. shakemap_modules-1.2.0/src/shakemap_modules/coremods/plotregr.py +0 -382
  77. shakemap_modules-1.2.0/src/shakemap_modules/coremods/raster.py +0 -146
  78. shakemap_modules-1.2.0/src/shakemap_modules/coremods/transfer_pdl.py +0 -147
  79. shakemap_modules-1.2.0/src/shakemap_modules/utils/dataframe.py +0 -164
  80. shakemap_modules-1.2.0/src/shakemap_modules/utils/macros.py +0 -54
  81. shakemap_modules-1.2.0/src/shakemap_modules/utils/points_to_station.py +0 -117
  82. shakemap_modules-1.2.0/src/shakemap_modules.egg-info/scm_version.json +0 -8
  83. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/DISCLAIMER.md +0 -0
  84. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/LICENSE.md +0 -0
  85. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/MANIFEST.in +0 -0
  86. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/README.md +0 -0
  87. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/install.sh +0 -0
  88. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/pytest.ini +0 -0
  89. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/setup.cfg +0 -0
  90. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/setup.py +0 -0
  91. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/coremods/exception.py +0 -0
  92. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/fdsn_networks.json +0 -0
  93. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/WGS1984.prj +0 -0
  94. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/mi.lyr +0 -0
  95. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/mi.shp.xml +0 -0
  96. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/pga.lyr +0 -0
  97. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/pga.shp.xml +0 -0
  98. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/pgv.lyr +0 -0
  99. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/pgv.shp.xml +0 -0
  100. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/psa0p3.lyr +0 -0
  101. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/psa0p3.shp.xml +0 -0
  102. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/psa1p0.lyr +0 -0
  103. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/psa1p0.shp.xml +0 -0
  104. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/psa3p0.lyr +0 -0
  105. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gis/psa3p0.shp.xml +0 -0
  106. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/gmpe_sets.conf +0 -0
  107. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/alaska.wkt +0 -0
  108. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/australia.wkt +0 -0
  109. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/california.wkt +0 -0
  110. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/cascadia.wkt +0 -0
  111. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/chile.wkt +0 -0
  112. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/china.wkt +0 -0
  113. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/europe_share.wkt +0 -0
  114. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/hawaii.wkt +0 -0
  115. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/induced.wkt +0 -0
  116. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/japan.wkt +0 -0
  117. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/new_zealand.wkt +0 -0
  118. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/south_africa.wkt +0 -0
  119. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/layers/taiwan.wkt +0 -0
  120. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/logging.conf +0 -0
  121. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/loggingspec.conf +0 -0
  122. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/circle.png +0 -0
  123. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/intensity_legend.png +0 -0
  124. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.cn +0 -0
  125. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.en +0 -0
  126. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.en-AU +0 -0
  127. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.en-CA +0 -0
  128. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.es +0 -0
  129. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.fr-CA +0 -0
  130. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.it +0 -0
  131. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/map_strings.tw +0 -0
  132. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/mapping/triangle.png +0 -0
  133. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/migrate.conf +0 -0
  134. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/migratespec.conf +0 -0
  135. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/modules.conf +0 -0
  136. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/modulesspec.conf +0 -0
  137. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/products.conf +0 -0
  138. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/productsspec.conf +0 -0
  139. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/queue.conf +0 -0
  140. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/queuespec.conf +0 -0
  141. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/select.conf +0 -0
  142. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/selectspec.conf +0 -0
  143. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/shake.conf +0 -0
  144. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/shakespec.conf +0 -0
  145. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/simulationspec.conf +0 -0
  146. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/transfer.conf +0 -0
  147. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/transfer_reviewed_origin.conf +0 -0
  148. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/data/transferspec.conf +0 -0
  149. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/__init__.py +0 -0
  150. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/bias.py +0 -0
  151. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/distance_utils.py +0 -0
  152. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/formatting.py +0 -0
  153. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/info_builder.py +0 -0
  154. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/masking.py +0 -0
  155. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/mvn.py +0 -0
  156. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/station_json.py +0 -0
  157. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules/modeling/storage.py +0 -0
  158. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/dependency_links.txt +0 -0
  159. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/entry_points.txt +0 -0
  160. {shakemap_modules-1.2.0 → shakemap_modules-1.2.2}/src/shakemap_modules.egg-info/top_level.txt +0 -0
@@ -28,8 +28,10 @@ tests/data/install/data/dependencies.db-wal
28
28
  tests/data/install/data/event_queue.db
29
29
  tests/data/install/data/event_queue.db-shm
30
30
  tests/data/install/data/event_queue.db-wal
31
+ tests/data/eventdata/integration_test_0001/current/*.log
31
32
  *.pytest*
32
33
  strec_results.json
33
34
  test-output.xml
34
35
  **/default.profraw
35
36
  .vscode/
37
+ dist
@@ -0,0 +1,76 @@
1
+ include:
2
+ - project: "ghsc/esi/esi-templates"
3
+ ref: main
4
+ file:
5
+ - ".setup_conda.yml"
6
+ - ".default_rules.yml"
7
+ - ".deploy_rules.yml"
8
+
9
+ default:
10
+ image: code.usgs.gov:5001/devops/images/usgs/python:3.12-build
11
+ tags:
12
+ - build
13
+ before_script:
14
+ - !reference [.conda, before_script]
15
+
16
+ stages:
17
+ - test
18
+ - build
19
+ - deploy
20
+
21
+ Run Tests & Coverage:
22
+ rules:
23
+ - !reference [.default, rules]
24
+ - if: $CI_COMMIT_TAG
25
+ script:
26
+ - pip install -e .[dev,test,all]
27
+ - apt-get install -y unzip
28
+ - mkdir -p "$HOME"/.strec/data/slabs
29
+ - strec_cfg update --datafolder "$HOME"/.strec/data --gcmt
30
+ - >
31
+ curl -o "$HOME"/.strec/data/slabs/slab2.zip
32
+ https://earthquake.usgs.gov/s3/earthquake-slab2/slab2.zip
33
+ - >
34
+ unzip "$HOME"/.strec/data/slabs/slab2.zip
35
+ -d "$HOME"/.strec/data/slabs
36
+ - rm -f "$HOME"/.strec/data/slabs/slab2.zip
37
+ - >
38
+ pytest
39
+ --cov=shakemap_modules
40
+ --cov-report term
41
+ --cov-report xml:coverage.xml
42
+ --junitxml junit.xml
43
+ coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
44
+ artifacts:
45
+ reports:
46
+ coverage_report:
47
+ coverage_format: cobertura
48
+ path: coverage.xml
49
+ junit: junit.xml
50
+ stage: test
51
+
52
+ Build Distribution:
53
+ rules:
54
+ - !reference [.deploy, rules]
55
+ needs:
56
+ - job: Run Tests & Coverage
57
+ script:
58
+ - pip install build twine
59
+ - python -m build
60
+ - python -m twine check dist/*
61
+ artifacts:
62
+ paths:
63
+ - dist/
64
+ expire_in: 1 week
65
+ stage: build
66
+
67
+ Deploy to PyPI:
68
+ rules:
69
+ - !reference [.deploy, rules]
70
+ needs:
71
+ - job: Build Distribution
72
+ artifacts: true
73
+ script:
74
+ - pip install twine
75
+ - python -m twine upload --verbose dist/*
76
+ stage: deploy