rust-map-parser 0.1.3__tar.gz → 0.2.0__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 (138) hide show
  1. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/MANIFEST.in +2 -2
  2. {rust_map_parser-0.1.3/src/rust_map_parser.egg-info → rust_map_parser-0.2.0}/PKG-INFO +8 -8
  3. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/README.md +7 -7
  4. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/export-config.md +4 -4
  5. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/export-result.md +3 -3
  6. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/example.py +1 -1
  7. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/pyproject.toml +3 -3
  8. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/refresh_all_data.py +9 -9
  9. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0/src/rust_map_parser.egg-info}/PKG-INFO +8 -8
  10. rust_map_parser-0.2.0/src/rust_map_parser.egg-info/SOURCES.txt +134 -0
  11. rust_map_parser-0.2.0/src/rust_map_parser.egg-info/top_level.txt +1 -0
  12. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/__init__.py +1 -1
  13. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/config.py +1 -1
  14. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/exporter.py +2 -2
  15. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/monuments.py +1 -1
  16. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/no_build.py +2 -2
  17. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/tunnels.py +2 -2
  18. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_exporter.py +8 -8
  19. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_map_tiles.py +2 -2
  20. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_monuments.py +1 -1
  21. rust_map_parser-0.2.0/tests/test_namespace.py +21 -0
  22. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_no_build.py +6 -6
  23. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_parser_security.py +1 -1
  24. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_png_metadata.py +1 -1
  25. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_populations.py +2 -2
  26. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_renderer_water.py +3 -3
  27. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_tunnels.py +6 -6
  28. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/tests/test_validation.py +1 -1
  29. rust_map_parser-0.1.3/src/rust_map_parser.egg-info/SOURCES.txt +0 -133
  30. rust_map_parser-0.1.3/src/rust_map_parser.egg-info/top_level.txt +0 -1
  31. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/LICENSE +0 -0
  32. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/images/heatmap-ores.png +0 -0
  33. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/images/map-render.jpg +0 -0
  34. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/images/no-build-zones.png +0 -0
  35. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/images/splat-composite.png +0 -0
  36. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/docs/images/tunnels-layer.png +0 -0
  37. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/setup.cfg +0 -0
  38. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/src/rust_map_parser.egg-info/dependency_links.txt +0 -0
  39. {rust_map_parser-0.1.3 → rust_map_parser-0.2.0}/src/rust_map_parser.egg-info/requires.txt +0 -0
  40. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/__init__.py +0 -0
  41. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/monument_metadata.json +0 -0
  42. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/no_build_zones.json +0 -0
  43. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/prefab_manifest.json +0 -0
  44. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/spawn_rules.json +0 -0
  45. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/__init__.py +0 -0
  46. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_000__curve-nw-0.png +0 -0
  47. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_001__curve-nw-1.png +0 -0
  48. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_002__intersection-bb1-n.png +0 -0
  49. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_003__intersection-bb4-n.png +0 -0
  50. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_004__intersection-b5-n.png +0 -0
  51. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_005__intersection-b3-n.png +0 -0
  52. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_006__intersection-b2-n.png +0 -0
  53. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_007__intersection-bb2-n.png +0 -0
  54. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_008__intersection-b6-n.png +0 -0
  55. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_009__intersection-bb3-n.png +0 -0
  56. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_010__intersection-b4-n.png +0 -0
  57. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_011__intersection-bb6-n.png +0 -0
  58. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_012__intersection-n.png +0 -0
  59. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_013__intersection-b1-n.png +0 -0
  60. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_014__intersection-bb5-n.png +0 -0
  61. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_015__station-sn-0.png +0 -0
  62. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_016__straight-sn-3.png +0 -0
  63. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_017__straight-sn-2.png +0 -0
  64. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_018__station-sn-1.png +0 -0
  65. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_019__straight-sn-0.png +0 -0
  66. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_020__straight-sn-1.png +0 -0
  67. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_021__station-sn-3.png +0 -0
  68. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_022__straight-sn-4.png +0 -0
  69. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_023__station-sn-2.png +0 -0
  70. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_024__straight-sn-5.png +0 -0
  71. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_025__curve-ne-1.png +0 -0
  72. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_026__curve-ne-0.png +0 -0
  73. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_027__intersection.png +0 -0
  74. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_028__intersection-bb2-s.png +0 -0
  75. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_029__intersection-b2-s.png +0 -0
  76. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_030__intersection-b6-s.png +0 -0
  77. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_031__intersection-bb5-s.png +0 -0
  78. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_032__intersection-bb1-s.png +0 -0
  79. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_033__intersection-s.png +0 -0
  80. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_034__intersection-b1-s.png +0 -0
  81. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_035__intersection-bb6-s.png +0 -0
  82. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_036__intersection-b5-s.png +0 -0
  83. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_037__intersection-bb4-s.png +0 -0
  84. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_038__intersection-b3-s.png +0 -0
  85. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_039__intersection-bb3-s.png +0 -0
  86. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_040__intersection-b4-s.png +0 -0
  87. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_041__straight-we-3.png +0 -0
  88. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_042__station-we-1.png +0 -0
  89. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_043__straight-we-5.png +0 -0
  90. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_044__straight-we-4.png +0 -0
  91. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_045__station-we-2.png +0 -0
  92. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_046__station-we-3.png +0 -0
  93. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_047__station-we-0.png +0 -0
  94. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_048__straight-we-2.png +0 -0
  95. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_049__straight-we-1.png +0 -0
  96. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_050__straight-we-0.png +0 -0
  97. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_051__curve-se-0.png +0 -0
  98. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_052__curve-se-1.png +0 -0
  99. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_053__intersection-bb3-w.png +0 -0
  100. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_054__intersection-w.png +0 -0
  101. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_055__intersection-bb5-w.png +0 -0
  102. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_056__intersection-b5-w.png +0 -0
  103. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_057__intersection-b1-w.png +0 -0
  104. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_058__intersection-bb1-w.png +0 -0
  105. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_059__intersection-bb4-w.png +0 -0
  106. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_060__intersection-b4-w.png +0 -0
  107. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_061__intersection-b6-w.png +0 -0
  108. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_062__intersection-bb2-w.png +0 -0
  109. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_063__intersection-b3-w.png +0 -0
  110. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_064__intersection-b2-w.png +0 -0
  111. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_065__intersection-bb6-w.png +0 -0
  112. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_066__curve-sw-0.png +0 -0
  113. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_067__curve-sw-1.png +0 -0
  114. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_068__intersection-bb3-e.png +0 -0
  115. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_069__intersection-bb6-e.png +0 -0
  116. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_070__intersection-b4-e.png +0 -0
  117. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_071__intersection-b6-e.png +0 -0
  118. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_072__intersection-b5-e.png +0 -0
  119. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_073__intersection-b1-e.png +0 -0
  120. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_074__intersection-b3-e.png +0 -0
  121. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_075__intersection-bb2-e.png +0 -0
  122. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_076__intersection-e.png +0 -0
  123. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_077__intersection-bb1-e.png +0 -0
  124. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_078__intersection-bb4-e.png +0 -0
  125. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_079__intersection-b2-e.png +0 -0
  126. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/template_080__intersection-bb5-e.png +0 -0
  127. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/data/tunnel_tiles/tiles.json +0 -0
  128. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/layers.py +0 -0
  129. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/monument_assets.py +0 -0
  130. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/no_build_assets.py +0 -0
  131. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/parser.py +0 -0
  132. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/png.py +0 -0
  133. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/populations.py +0 -0
  134. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/prefabs.py +0 -0
  135. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/renderer.py +0 -0
  136. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/resources.py +0 -0
  137. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/tunnel_assets.py +0 -0
  138. {rust_map_parser-0.1.3/src/rustmap → rust_map_parser-0.2.0/src/rustmap_parser}/validation.py +0 -0
@@ -4,5 +4,5 @@ include example.py
4
4
  include refresh_all_data.py
5
5
  recursive-include docs *.md *.png *.jpg
6
6
  recursive-include tests *.py
7
- recursive-include src/rustmap/data *.json
8
- recursive-include src/rustmap/data/tunnel_tiles *.json *.png
7
+ recursive-include src/rustmap_parser/data *.json
8
+ recursive-include src/rustmap_parser/data/tunnel_tiles *.json *.png
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rust-map-parser
3
- Version: 0.1.3
3
+ Version: 0.2.0
4
4
  Summary: Standalone Python parser, heatmap generator, and renderer for Facepunch Rust map files
5
5
  Author: rust-map-parser contributors
6
6
  License-Expression: MIT
@@ -134,7 +134,7 @@ compose output sections in Python.
134
134
  ```python
135
135
  from pathlib import Path
136
136
 
137
- from rustmap import ExportConfig, ExportOptions, RustMapExporter
137
+ from rustmap_parser import ExportConfig, ExportOptions, RustMapExporter
138
138
 
139
139
 
140
140
  config = ExportConfig(
@@ -185,7 +185,7 @@ config = ExportConfig(
185
185
  ### Mix exactly what you need
186
186
 
187
187
  ```python
188
- from rustmap import (
188
+ from rustmap_parser import (
189
189
  ExportConfig,
190
190
  ExportOptions,
191
191
  NoBuildZoneOptions,
@@ -283,7 +283,7 @@ A `None` resolution uses the map's world size.
283
283
  `DataOptions` can override the bundled version-matched resources:
284
284
 
285
285
  ```python
286
- from rustmap import DataOptions
286
+ from rustmap_parser import DataOptions
287
287
 
288
288
  config = ExportConfig(
289
289
  map_path=map_path,
@@ -441,8 +441,8 @@ rasterization and PNG encoding.
441
441
  Skip the exporter entirely when you only need decoded data:
442
442
 
443
443
  ```python
444
- from rustmap import load_map
445
- from rustmap.layers import biome_grid, splat_grid, topology_grid, world_height_grid
444
+ from rustmap_parser import load_map
445
+ from rustmap_parser.layers import biome_grid, splat_grid, topology_grid, world_height_grid
446
446
 
447
447
  world = load_map("procedural.map")
448
448
  height = world_height_grid(world)
@@ -499,7 +499,7 @@ python refresh_all_data.py
499
499
  [`refresh_all_data.py`](refresh_all_data.py) stages and validates the prefab
500
500
  manifest, spawn rules, monument gameplay metadata, no-build geometry, and 81
501
501
  tunnel tiles. It checks Rust build IDs, bundle identities, counts, and machine
502
- path leaks before replacing `src/rustmap/data`.
502
+ path leaks before replacing `src/rustmap_parser/data`.
503
503
 
504
504
  ## Development
505
505
 
@@ -517,7 +517,7 @@ comparisons.
517
517
 
518
518
  ```text
519
519
  rust-map-parser/
520
- |-- src/rustmap/ # Package and implementation
520
+ |-- src/rustmap_parser/ # Package and implementation
521
521
  | `-- data/ # Versioned sanitized runtime resources
522
522
  |-- tests/ # Unit and regression tests
523
523
  |-- docs/images/ # README showcase outputs
@@ -108,7 +108,7 @@ compose output sections in Python.
108
108
  ```python
109
109
  from pathlib import Path
110
110
 
111
- from rustmap import ExportConfig, ExportOptions, RustMapExporter
111
+ from rustmap_parser import ExportConfig, ExportOptions, RustMapExporter
112
112
 
113
113
 
114
114
  config = ExportConfig(
@@ -159,7 +159,7 @@ config = ExportConfig(
159
159
  ### Mix exactly what you need
160
160
 
161
161
  ```python
162
- from rustmap import (
162
+ from rustmap_parser import (
163
163
  ExportConfig,
164
164
  ExportOptions,
165
165
  NoBuildZoneOptions,
@@ -257,7 +257,7 @@ A `None` resolution uses the map's world size.
257
257
  `DataOptions` can override the bundled version-matched resources:
258
258
 
259
259
  ```python
260
- from rustmap import DataOptions
260
+ from rustmap_parser import DataOptions
261
261
 
262
262
  config = ExportConfig(
263
263
  map_path=map_path,
@@ -415,8 +415,8 @@ rasterization and PNG encoding.
415
415
  Skip the exporter entirely when you only need decoded data:
416
416
 
417
417
  ```python
418
- from rustmap import load_map
419
- from rustmap.layers import biome_grid, splat_grid, topology_grid, world_height_grid
418
+ from rustmap_parser import load_map
419
+ from rustmap_parser.layers import biome_grid, splat_grid, topology_grid, world_height_grid
420
420
 
421
421
  world = load_map("procedural.map")
422
422
  height = world_height_grid(world)
@@ -473,7 +473,7 @@ python refresh_all_data.py
473
473
  [`refresh_all_data.py`](refresh_all_data.py) stages and validates the prefab
474
474
  manifest, spawn rules, monument gameplay metadata, no-build geometry, and 81
475
475
  tunnel tiles. It checks Rust build IDs, bundle identities, counts, and machine
476
- path leaks before replacing `src/rustmap/data`.
476
+ path leaks before replacing `src/rustmap_parser/data`.
477
477
 
478
478
  ## Development
479
479
 
@@ -491,7 +491,7 @@ comparisons.
491
491
 
492
492
  ```text
493
493
  rust-map-parser/
494
- |-- src/rustmap/ # Package and implementation
494
+ |-- src/rustmap_parser/ # Package and implementation
495
495
  | `-- data/ # Versioned sanitized runtime resources
496
496
  |-- tests/ # Unit and regression tests
497
497
  |-- docs/images/ # README showcase outputs
@@ -6,7 +6,7 @@ settings, and packaged-data overrides so applications do not pay for work they
6
6
  did not request.
7
7
 
8
8
  ```python
9
- from rustmap import ExportConfig, RustMapExporter
9
+ from rustmap_parser import ExportConfig, RustMapExporter
10
10
 
11
11
  result = RustMapExporter(ExportConfig(
12
12
  map_path="procedural.map",
@@ -48,10 +48,10 @@ the `exports` argument is omitted.
48
48
 
49
49
  ## Imports
50
50
 
51
- All configuration types are available from the public `rustmap` package:
51
+ All configuration types are available from the public `rustmap_parser` package:
52
52
 
53
53
  ```python
54
- from rustmap import (
54
+ from rustmap_parser import (
55
55
  DataOptions,
56
56
  ExportConfig,
57
57
  ExportOptions,
@@ -518,7 +518,7 @@ DataOptions(
518
518
  )
519
519
  ```
520
520
 
521
- The package normally loads `rustmap.data` resources automatically.
521
+ The package normally loads `rustmap_parser.data` resources automatically.
522
522
 
523
523
  ### `spawn_rules_path`
524
524
 
@@ -4,7 +4,7 @@
4
4
  artifacts produced by the selected export stages.
5
5
 
6
6
  ```python
7
- from rustmap import ExportConfig, ExportOptions, RustMapExporter
7
+ from rustmap_parser import ExportConfig, ExportOptions, RustMapExporter
8
8
 
9
9
  result = RustMapExporter(ExportConfig(
10
10
  map_path="procedural.map",
@@ -481,7 +481,7 @@ assert result.tunnel_render_status == "disabled"
481
481
  ### Tunnel overlay only
482
482
 
483
483
  ```python
484
- from rustmap import TerrainOptions, TunnelOptions
484
+ from rustmap_parser import TerrainOptions, TunnelOptions
485
485
 
486
486
  result = RustMapExporter(ExportConfig(
487
487
  map_path=map_path,
@@ -502,7 +502,7 @@ assert result.tunnels_overlay_image is not None
502
502
  ### No-build JSON only
503
503
 
504
504
  ```python
505
- from rustmap import NoBuildZoneOptions
505
+ from rustmap_parser import NoBuildZoneOptions
506
506
 
507
507
  result = RustMapExporter(ExportConfig(
508
508
  map_path=map_path,
@@ -2,7 +2,7 @@
2
2
 
3
3
  from pathlib import Path
4
4
 
5
- from rustmap import ExportConfig, ExportOptions, RustMapExporter
5
+ from rustmap_parser import ExportConfig, ExportOptions, RustMapExporter
6
6
 
7
7
 
8
8
  # --- User configuration ----------------------------------------------------
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rust-map-parser"
7
- version = "0.1.3"
7
+ version = "0.2.0"
8
8
  description = "Standalone Python parser, heatmap generator, and renderer for Facepunch Rust map files"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -41,8 +41,8 @@ package-dir = {"" = "src"}
41
41
  where = ["src"]
42
42
 
43
43
  [tool.setuptools.package-data]
44
- "rustmap.data" = ["*.json"]
45
- "rustmap.data.tunnel_tiles" = ["*.json", "*.png"]
44
+ "rustmap_parser.data" = ["*.json"]
45
+ "rustmap_parser.data.tunnel_tiles" = ["*.json", "*.png"]
46
46
 
47
47
  [tool.pytest.ini_options]
48
48
  testpaths = ["tests"]
@@ -1,4 +1,4 @@
1
- """Refresh every versioned ``src/rustmap/data`` resource from one Rust install.
1
+ """Refresh every versioned ``src/rustmap_parser/data`` resource from one Rust install.
2
2
 
3
3
  Run this file directly from a source checkout. No command-line arguments are
4
4
  used. Set RUST_INSTALL_PATH below, set the RUST_INSTALL_PATH environment
@@ -22,7 +22,7 @@ PROJECT_DIR = Path(__file__).resolve().parent
22
22
  SRC_DIR = PROJECT_DIR / "src"
23
23
  sys.path.insert(0, str(SRC_DIR))
24
24
 
25
- from rustmap.tunnel_assets import bundle_identity, find_rust_install
25
+ from rustmap_parser.tunnel_assets import bundle_identity, find_rust_install
26
26
 
27
27
 
28
28
  # --- Maintainer configuration ---------------------------------------------
@@ -65,23 +65,23 @@ def _stage_worker(stage: str, install_text: str, staging_text: str,
65
65
  install = Path(install_text)
66
66
  staging = Path(staging_text)
67
67
  if stage == "prefab_manifest":
68
- from rustmap import refresh_prefab_manifest
68
+ from rustmap_parser import refresh_prefab_manifest
69
69
  target = staging / "prefab_manifest.json"
70
70
  refresh_prefab_manifest(install, target)
71
71
  _sanitize_manifest(target)
72
72
  elif stage == "spawn_rules":
73
- from rustmap import refresh_spawn_rules
73
+ from rustmap_parser import refresh_spawn_rules
74
74
  target = staging / "spawn_rules.json"
75
75
  refresh_spawn_rules(install, target)
76
76
  _sanitize_spawn_rules(target)
77
77
  elif stage == "monument_metadata":
78
- from rustmap import refresh_monument_metadata
78
+ from rustmap_parser import refresh_monument_metadata
79
79
  refresh_monument_metadata(install, staging / "monument_metadata.json")
80
80
  elif stage == "no_build_zones":
81
- from rustmap import refresh_no_build_zone_data
81
+ from rustmap_parser import refresh_no_build_zone_data
82
82
  refresh_no_build_zone_data(install, staging / "no_build_zones.json")
83
83
  elif stage == "tunnel_tiles":
84
- from rustmap import install_packaged_tunnel_templates, refresh_tunnel_templates
84
+ from rustmap_parser import install_packaged_tunnel_templates, refresh_tunnel_templates
85
85
  cache = refresh_tunnel_templates(
86
86
  install, Path(tunnel_cache_text) if tunnel_cache_text else None
87
87
  )
@@ -183,7 +183,7 @@ def _validate_staging(staging: Path, install: Path) -> dict:
183
183
 
184
184
 
185
185
  def _replace_packaged_data(staging: Path) -> None:
186
- data_dir = SRC_DIR / "rustmap" / "data"
186
+ data_dir = SRC_DIR / "rustmap_parser" / "data"
187
187
  data_dir.mkdir(parents=True, exist_ok=True)
188
188
  for name in JSON_RESOURCES:
189
189
  destination = data_dir / name
@@ -224,7 +224,7 @@ def main() -> None:
224
224
  stages = ("prefab_manifest", "spawn_rules", "monument_metadata",
225
225
  "no_build_zones", "tunnel_tiles")
226
226
  timings = {}
227
- with tempfile.TemporaryDirectory(prefix="rustmap-data-refresh-") as temporary:
227
+ with tempfile.TemporaryDirectory(prefix="rustmap_parser-data-refresh-") as temporary:
228
228
  staging = Path(temporary)
229
229
  for stage in stages:
230
230
  print(f"Refreshing {stage.replace('_', ' ')}...")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rust-map-parser
3
- Version: 0.1.3
3
+ Version: 0.2.0
4
4
  Summary: Standalone Python parser, heatmap generator, and renderer for Facepunch Rust map files
5
5
  Author: rust-map-parser contributors
6
6
  License-Expression: MIT
@@ -134,7 +134,7 @@ compose output sections in Python.
134
134
  ```python
135
135
  from pathlib import Path
136
136
 
137
- from rustmap import ExportConfig, ExportOptions, RustMapExporter
137
+ from rustmap_parser import ExportConfig, ExportOptions, RustMapExporter
138
138
 
139
139
 
140
140
  config = ExportConfig(
@@ -185,7 +185,7 @@ config = ExportConfig(
185
185
  ### Mix exactly what you need
186
186
 
187
187
  ```python
188
- from rustmap import (
188
+ from rustmap_parser import (
189
189
  ExportConfig,
190
190
  ExportOptions,
191
191
  NoBuildZoneOptions,
@@ -283,7 +283,7 @@ A `None` resolution uses the map's world size.
283
283
  `DataOptions` can override the bundled version-matched resources:
284
284
 
285
285
  ```python
286
- from rustmap import DataOptions
286
+ from rustmap_parser import DataOptions
287
287
 
288
288
  config = ExportConfig(
289
289
  map_path=map_path,
@@ -441,8 +441,8 @@ rasterization and PNG encoding.
441
441
  Skip the exporter entirely when you only need decoded data:
442
442
 
443
443
  ```python
444
- from rustmap import load_map
445
- from rustmap.layers import biome_grid, splat_grid, topology_grid, world_height_grid
444
+ from rustmap_parser import load_map
445
+ from rustmap_parser.layers import biome_grid, splat_grid, topology_grid, world_height_grid
446
446
 
447
447
  world = load_map("procedural.map")
448
448
  height = world_height_grid(world)
@@ -499,7 +499,7 @@ python refresh_all_data.py
499
499
  [`refresh_all_data.py`](refresh_all_data.py) stages and validates the prefab
500
500
  manifest, spawn rules, monument gameplay metadata, no-build geometry, and 81
501
501
  tunnel tiles. It checks Rust build IDs, bundle identities, counts, and machine
502
- path leaks before replacing `src/rustmap/data`.
502
+ path leaks before replacing `src/rustmap_parser/data`.
503
503
 
504
504
  ## Development
505
505
 
@@ -517,7 +517,7 @@ comparisons.
517
517
 
518
518
  ```text
519
519
  rust-map-parser/
520
- |-- src/rustmap/ # Package and implementation
520
+ |-- src/rustmap_parser/ # Package and implementation
521
521
  | `-- data/ # Versioned sanitized runtime resources
522
522
  |-- tests/ # Unit and regression tests
523
523
  |-- docs/images/ # README showcase outputs
@@ -0,0 +1,134 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ example.py
5
+ pyproject.toml
6
+ refresh_all_data.py
7
+ docs/export-config.md
8
+ docs/export-result.md
9
+ docs/images/heatmap-ores.png
10
+ docs/images/map-render.jpg
11
+ docs/images/no-build-zones.png
12
+ docs/images/splat-composite.png
13
+ docs/images/tunnels-layer.png
14
+ src/rust_map_parser.egg-info/PKG-INFO
15
+ src/rust_map_parser.egg-info/SOURCES.txt
16
+ src/rust_map_parser.egg-info/dependency_links.txt
17
+ src/rust_map_parser.egg-info/requires.txt
18
+ src/rust_map_parser.egg-info/top_level.txt
19
+ src/rustmap_parser/__init__.py
20
+ src/rustmap_parser/config.py
21
+ src/rustmap_parser/exporter.py
22
+ src/rustmap_parser/layers.py
23
+ src/rustmap_parser/monument_assets.py
24
+ src/rustmap_parser/monuments.py
25
+ src/rustmap_parser/no_build.py
26
+ src/rustmap_parser/no_build_assets.py
27
+ src/rustmap_parser/parser.py
28
+ src/rustmap_parser/png.py
29
+ src/rustmap_parser/populations.py
30
+ src/rustmap_parser/prefabs.py
31
+ src/rustmap_parser/renderer.py
32
+ src/rustmap_parser/resources.py
33
+ src/rustmap_parser/tunnel_assets.py
34
+ src/rustmap_parser/tunnels.py
35
+ src/rustmap_parser/validation.py
36
+ src/rustmap_parser/data/__init__.py
37
+ src/rustmap_parser/data/monument_metadata.json
38
+ src/rustmap_parser/data/no_build_zones.json
39
+ src/rustmap_parser/data/prefab_manifest.json
40
+ src/rustmap_parser/data/spawn_rules.json
41
+ src/rustmap_parser/data/tunnel_tiles/__init__.py
42
+ src/rustmap_parser/data/tunnel_tiles/template_000__curve-nw-0.png
43
+ src/rustmap_parser/data/tunnel_tiles/template_001__curve-nw-1.png
44
+ src/rustmap_parser/data/tunnel_tiles/template_002__intersection-bb1-n.png
45
+ src/rustmap_parser/data/tunnel_tiles/template_003__intersection-bb4-n.png
46
+ src/rustmap_parser/data/tunnel_tiles/template_004__intersection-b5-n.png
47
+ src/rustmap_parser/data/tunnel_tiles/template_005__intersection-b3-n.png
48
+ src/rustmap_parser/data/tunnel_tiles/template_006__intersection-b2-n.png
49
+ src/rustmap_parser/data/tunnel_tiles/template_007__intersection-bb2-n.png
50
+ src/rustmap_parser/data/tunnel_tiles/template_008__intersection-b6-n.png
51
+ src/rustmap_parser/data/tunnel_tiles/template_009__intersection-bb3-n.png
52
+ src/rustmap_parser/data/tunnel_tiles/template_010__intersection-b4-n.png
53
+ src/rustmap_parser/data/tunnel_tiles/template_011__intersection-bb6-n.png
54
+ src/rustmap_parser/data/tunnel_tiles/template_012__intersection-n.png
55
+ src/rustmap_parser/data/tunnel_tiles/template_013__intersection-b1-n.png
56
+ src/rustmap_parser/data/tunnel_tiles/template_014__intersection-bb5-n.png
57
+ src/rustmap_parser/data/tunnel_tiles/template_015__station-sn-0.png
58
+ src/rustmap_parser/data/tunnel_tiles/template_016__straight-sn-3.png
59
+ src/rustmap_parser/data/tunnel_tiles/template_017__straight-sn-2.png
60
+ src/rustmap_parser/data/tunnel_tiles/template_018__station-sn-1.png
61
+ src/rustmap_parser/data/tunnel_tiles/template_019__straight-sn-0.png
62
+ src/rustmap_parser/data/tunnel_tiles/template_020__straight-sn-1.png
63
+ src/rustmap_parser/data/tunnel_tiles/template_021__station-sn-3.png
64
+ src/rustmap_parser/data/tunnel_tiles/template_022__straight-sn-4.png
65
+ src/rustmap_parser/data/tunnel_tiles/template_023__station-sn-2.png
66
+ src/rustmap_parser/data/tunnel_tiles/template_024__straight-sn-5.png
67
+ src/rustmap_parser/data/tunnel_tiles/template_025__curve-ne-1.png
68
+ src/rustmap_parser/data/tunnel_tiles/template_026__curve-ne-0.png
69
+ src/rustmap_parser/data/tunnel_tiles/template_027__intersection.png
70
+ src/rustmap_parser/data/tunnel_tiles/template_028__intersection-bb2-s.png
71
+ src/rustmap_parser/data/tunnel_tiles/template_029__intersection-b2-s.png
72
+ src/rustmap_parser/data/tunnel_tiles/template_030__intersection-b6-s.png
73
+ src/rustmap_parser/data/tunnel_tiles/template_031__intersection-bb5-s.png
74
+ src/rustmap_parser/data/tunnel_tiles/template_032__intersection-bb1-s.png
75
+ src/rustmap_parser/data/tunnel_tiles/template_033__intersection-s.png
76
+ src/rustmap_parser/data/tunnel_tiles/template_034__intersection-b1-s.png
77
+ src/rustmap_parser/data/tunnel_tiles/template_035__intersection-bb6-s.png
78
+ src/rustmap_parser/data/tunnel_tiles/template_036__intersection-b5-s.png
79
+ src/rustmap_parser/data/tunnel_tiles/template_037__intersection-bb4-s.png
80
+ src/rustmap_parser/data/tunnel_tiles/template_038__intersection-b3-s.png
81
+ src/rustmap_parser/data/tunnel_tiles/template_039__intersection-bb3-s.png
82
+ src/rustmap_parser/data/tunnel_tiles/template_040__intersection-b4-s.png
83
+ src/rustmap_parser/data/tunnel_tiles/template_041__straight-we-3.png
84
+ src/rustmap_parser/data/tunnel_tiles/template_042__station-we-1.png
85
+ src/rustmap_parser/data/tunnel_tiles/template_043__straight-we-5.png
86
+ src/rustmap_parser/data/tunnel_tiles/template_044__straight-we-4.png
87
+ src/rustmap_parser/data/tunnel_tiles/template_045__station-we-2.png
88
+ src/rustmap_parser/data/tunnel_tiles/template_046__station-we-3.png
89
+ src/rustmap_parser/data/tunnel_tiles/template_047__station-we-0.png
90
+ src/rustmap_parser/data/tunnel_tiles/template_048__straight-we-2.png
91
+ src/rustmap_parser/data/tunnel_tiles/template_049__straight-we-1.png
92
+ src/rustmap_parser/data/tunnel_tiles/template_050__straight-we-0.png
93
+ src/rustmap_parser/data/tunnel_tiles/template_051__curve-se-0.png
94
+ src/rustmap_parser/data/tunnel_tiles/template_052__curve-se-1.png
95
+ src/rustmap_parser/data/tunnel_tiles/template_053__intersection-bb3-w.png
96
+ src/rustmap_parser/data/tunnel_tiles/template_054__intersection-w.png
97
+ src/rustmap_parser/data/tunnel_tiles/template_055__intersection-bb5-w.png
98
+ src/rustmap_parser/data/tunnel_tiles/template_056__intersection-b5-w.png
99
+ src/rustmap_parser/data/tunnel_tiles/template_057__intersection-b1-w.png
100
+ src/rustmap_parser/data/tunnel_tiles/template_058__intersection-bb1-w.png
101
+ src/rustmap_parser/data/tunnel_tiles/template_059__intersection-bb4-w.png
102
+ src/rustmap_parser/data/tunnel_tiles/template_060__intersection-b4-w.png
103
+ src/rustmap_parser/data/tunnel_tiles/template_061__intersection-b6-w.png
104
+ src/rustmap_parser/data/tunnel_tiles/template_062__intersection-bb2-w.png
105
+ src/rustmap_parser/data/tunnel_tiles/template_063__intersection-b3-w.png
106
+ src/rustmap_parser/data/tunnel_tiles/template_064__intersection-b2-w.png
107
+ src/rustmap_parser/data/tunnel_tiles/template_065__intersection-bb6-w.png
108
+ src/rustmap_parser/data/tunnel_tiles/template_066__curve-sw-0.png
109
+ src/rustmap_parser/data/tunnel_tiles/template_067__curve-sw-1.png
110
+ src/rustmap_parser/data/tunnel_tiles/template_068__intersection-bb3-e.png
111
+ src/rustmap_parser/data/tunnel_tiles/template_069__intersection-bb6-e.png
112
+ src/rustmap_parser/data/tunnel_tiles/template_070__intersection-b4-e.png
113
+ src/rustmap_parser/data/tunnel_tiles/template_071__intersection-b6-e.png
114
+ src/rustmap_parser/data/tunnel_tiles/template_072__intersection-b5-e.png
115
+ src/rustmap_parser/data/tunnel_tiles/template_073__intersection-b1-e.png
116
+ src/rustmap_parser/data/tunnel_tiles/template_074__intersection-b3-e.png
117
+ src/rustmap_parser/data/tunnel_tiles/template_075__intersection-bb2-e.png
118
+ src/rustmap_parser/data/tunnel_tiles/template_076__intersection-e.png
119
+ src/rustmap_parser/data/tunnel_tiles/template_077__intersection-bb1-e.png
120
+ src/rustmap_parser/data/tunnel_tiles/template_078__intersection-bb4-e.png
121
+ src/rustmap_parser/data/tunnel_tiles/template_079__intersection-b2-e.png
122
+ src/rustmap_parser/data/tunnel_tiles/template_080__intersection-bb5-e.png
123
+ src/rustmap_parser/data/tunnel_tiles/tiles.json
124
+ tests/test_exporter.py
125
+ tests/test_map_tiles.py
126
+ tests/test_monuments.py
127
+ tests/test_namespace.py
128
+ tests/test_no_build.py
129
+ tests/test_parser_security.py
130
+ tests/test_png_metadata.py
131
+ tests/test_populations.py
132
+ tests/test_renderer_water.py
133
+ tests/test_tunnels.py
134
+ tests/test_validation.py
@@ -0,0 +1 @@
1
+ rustmap_parser
@@ -41,4 +41,4 @@ __all__ = (
41
41
  "refresh_monument_metadata",
42
42
  )
43
43
 
44
- __version__ = "0.1.3"
44
+ __version__ = "0.2.0"
@@ -12,7 +12,7 @@ Color = tuple[int, int, int, int]
12
12
 
13
13
  @dataclass(frozen=True, slots=True)
14
14
  class DataOptions:
15
- """Optional overrides for the versioned data bundled with ``rustmap``."""
15
+ """Optional overrides for the versioned data bundled with ``rustmap_parser``."""
16
16
 
17
17
  spawn_rules_path: Path | None = None
18
18
  prefab_manifest_path: Path | None = None
@@ -353,14 +353,14 @@ class RustMapExporter:
353
353
  rules = config.data.spawn_rules_path
354
354
  if rules is None:
355
355
  rules = stack.enter_context(resources.as_file(
356
- resources.files("rustmap.data").joinpath("spawn_rules.json")
356
+ resources.files("rustmap_parser.data").joinpath("spawn_rules.json")
357
357
  ))
358
358
  manifest = None
359
359
  if needs_manifest:
360
360
  manifest = config.data.prefab_manifest_path
361
361
  if manifest is None:
362
362
  manifest = stack.enter_context(resources.as_file(
363
- resources.files("rustmap.data").joinpath("prefab_manifest.json")
363
+ resources.files("rustmap_parser.data").joinpath("prefab_manifest.json")
364
364
  ))
365
365
  metadata = _generate(config, Path(rules) if rules else None,
366
366
  Path(manifest) if manifest else None)
@@ -70,7 +70,7 @@ def _size_class(group: str, name: str) -> str:
70
70
 
71
71
  @lru_cache(maxsize=1)
72
72
  def _gameplay_database() -> dict:
73
- resource = resources.files("rustmap.data").joinpath("monument_metadata.json")
73
+ resource = resources.files("rustmap_parser.data").joinpath("monument_metadata.json")
74
74
  return json.loads(resource.read_text(encoding="utf-8"))
75
75
 
76
76
 
@@ -97,8 +97,8 @@ def _draw_zones(zones: list[dict], resolution: int, fill, outline, width: int,
97
97
 
98
98
 
99
99
  def _load_packaged_data() -> tuple[dict, str]:
100
- item = resources.files("rustmap.data").joinpath("no_build_zones.json")
101
- return json.loads(item.read_text(encoding="utf-8")), "rustmap.data/no_build_zones.json"
100
+ item = resources.files("rustmap_parser.data").joinpath("no_build_zones.json")
101
+ return json.loads(item.read_text(encoding="utf-8")), "rustmap_parser.data/no_build_zones.json"
102
102
 
103
103
 
104
104
  def build_no_build_export(world, manifest: PrefabManifest, data: dict,
@@ -76,11 +76,11 @@ def render_tunnel_map(world, manifest: PrefabManifest, geometry_cache: str | Pat
76
76
  raise ValueError("Tunnel overlay opacity must be between 0 and 1")
77
77
  cache = Path(geometry_cache) if geometry_cache is not None else None
78
78
  if cache is None:
79
- tile_root = resources.files("rustmap.data.tunnel_tiles")
79
+ tile_root = resources.files("rustmap_parser.data.tunnel_tiles")
80
80
  cache_metadata = json.loads(tile_root.joinpath("tiles.json").read_text(encoding="utf-8"))
81
81
  tile_source = "packaged"
82
82
  geometry_path = None
83
- tile_directory = "rustmap.data.tunnel_tiles"
83
+ tile_directory = "rustmap_parser.data.tunnel_tiles"
84
84
  def tile_exists(filename): return tile_root.joinpath(filename).is_file()
85
85
  def load_tile(filename):
86
86
  with tile_root.joinpath(filename).open("rb") as stream, Image.open(stream) as source:
@@ -6,11 +6,11 @@ from unittest.mock import patch
6
6
 
7
7
  import numpy as np
8
8
 
9
- from rustmap.config import (
9
+ from rustmap_parser.config import (
10
10
  DataOptions, ExportConfig, ExportOptions, HeatmapOptions, TerrainOptions,
11
11
  TileOptions,
12
12
  )
13
- from rustmap.exporter import _generate, export_orientation
13
+ from rustmap_parser.exporter import _generate, export_orientation
14
14
 
15
15
 
16
16
  class ExporterTests(unittest.TestCase):
@@ -101,12 +101,12 @@ class ExporterTests(unittest.TestCase):
101
101
  )
102
102
  render_metadata = {"artifacts": {}, "full_size_tiles": None}
103
103
  with (
104
- patch("rustmap.exporter.load_map", return_value=world),
105
- patch("rustmap.exporter.save_map_render", return_value=render_metadata) as render,
106
- patch("rustmap.exporter.generate_diagnostics") as diagnostics,
107
- patch("rustmap.exporter.save_monuments") as monuments,
108
- patch("rustmap.exporter.save_tunnel_render") as tunnels,
109
- patch("rustmap.exporter.save_no_build_zones") as no_build,
104
+ patch("rustmap_parser.exporter.load_map", return_value=world),
105
+ patch("rustmap_parser.exporter.save_map_render", return_value=render_metadata) as render,
106
+ patch("rustmap_parser.exporter.generate_diagnostics") as diagnostics,
107
+ patch("rustmap_parser.exporter.save_monuments") as monuments,
108
+ patch("rustmap_parser.exporter.save_tunnel_render") as tunnels,
109
+ patch("rustmap_parser.exporter.save_no_build_zones") as no_build,
110
110
  ):
111
111
  metadata = _generate(config, None, None)
112
112
  render.assert_called_once()
@@ -7,8 +7,8 @@ from pathlib import Path
7
7
  import numpy as np
8
8
  from PIL import Image
9
9
 
10
- from rustmap.renderer import save_full_map_tiles
11
- from rustmap.png import PNG_SOURCE_KEY, PROJECT_URL
10
+ from rustmap_parser.renderer import save_full_map_tiles
11
+ from rustmap_parser.png import PNG_SOURCE_KEY, PROJECT_URL
12
12
 
13
13
 
14
14
  class MapTileTests(unittest.TestCase):
@@ -1,6 +1,6 @@
1
1
  import unittest
2
2
 
3
- from rustmap.monuments import monument_metadata
3
+ from rustmap_parser.monuments import monument_metadata
4
4
 
5
5
 
6
6
  PREFIX = "assets/bundled/prefabs/autospawn/monument/"
@@ -0,0 +1,21 @@
1
+ import importlib.util
2
+ from importlib import resources
3
+
4
+ import rustmap_parser
5
+
6
+
7
+ def test_new_namespace_exposes_public_api_and_version() -> None:
8
+ assert rustmap_parser.__version__ == "0.2.0"
9
+ for name in ("ExportConfig", "ExportOptions", "RustMapExporter", "load_map"):
10
+ assert hasattr(rustmap_parser, name)
11
+
12
+
13
+ def test_old_namespace_is_not_shipped() -> None:
14
+ assert importlib.util.find_spec("rustmap") is None
15
+
16
+
17
+ def test_new_namespace_owns_packaged_resources() -> None:
18
+ data = resources.files("rustmap_parser.data")
19
+ tiles = resources.files("rustmap_parser.data.tunnel_tiles")
20
+ assert len([item for item in data.iterdir() if item.name.endswith(".json")]) == 4
21
+ assert len([item for item in tiles.iterdir() if item.name.endswith(".png")]) == 81