mountaineer 0.5.2.dev1__tar.gz → 0.5.2.dev3__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 (299) hide show
  1. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/Cargo.lock +1 -1
  2. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/Cargo.toml +1 -1
  3. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/Makefile +2 -2
  4. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/PKG-INFO +8 -8
  5. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/README.md +7 -7
  6. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/__tests__/test_builder.py +2 -2
  7. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/controllers/detail.py +2 -2
  8. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/controllers/home.py +4 -4
  9. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/database_migrations.md +1 -1
  10. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/quickstart.md +6 -6
  11. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/structure.md +1 -1
  12. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/views.md +3 -3
  13. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/actions/test_passthrough_dec.py +44 -29
  14. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/actions/test_sideeffect_dec.py +26 -2
  15. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/conftest.py +7 -4
  16. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_actions.py +76 -76
  17. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_db_serializer.py +2 -1
  18. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/actions/fields.py +70 -1
  19. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/actions/passthrough_dec.py +21 -7
  20. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/actions/sideeffect_dec.py +25 -10
  21. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/dependencies/core.py +4 -1
  22. mountaineer-0.5.2.dev3/mountaineer/database/session.py +87 -0
  23. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/actions.py +2 -2
  24. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/cli.py +1 -1
  25. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/db_serializer.py +16 -13
  26. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/migrator.py +7 -8
  27. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/test_utilities.py +0 -1
  28. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/pyproject.toml +1 -1
  29. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.git-blame-ignore-revs +0 -0
  30. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.gitattributes +0 -0
  31. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/README_SCRIPTS.md +0 -0
  32. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/poetry.lock +0 -0
  33. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/pyproject.toml +0 -0
  34. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/scripts/__init__.py +0 -0
  35. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/scripts/__tests__/test_update_version.py +0 -0
  36. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/scripts/check_dependencies.py +0 -0
  37. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/scripts/update_version.py +0 -0
  38. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/workflows/publish_docs.yml +0 -0
  39. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/workflows/test.yml +0 -0
  40. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.github/workflows/validate.yml +0 -0
  41. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/.gitignore +0 -0
  42. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/Dockerfile +0 -0
  43. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/LICENSE +0 -0
  44. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/benchmarking/README.md +0 -0
  45. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/benchmarking/benchmarking/__init__.py +0 -0
  46. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/benchmarking/benchmarking/simple_render.py +0 -0
  47. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/benchmarking/poetry.lock +0 -0
  48. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/benchmarking/pyproject.toml +0 -0
  49. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/README.md +0 -0
  50. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/__init__.py +0 -0
  51. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/__tests__/__init__.py +0 -0
  52. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/__tests__/common.py +0 -0
  53. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/__tests__/test_cli.py +0 -0
  54. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/__tests__/test_generation.py +0 -0
  55. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/builder.py +0 -0
  56. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/cli.py +0 -0
  57. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/environments/__init__.py +0 -0
  58. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/environments/base.py +0 -0
  59. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/environments/poetry.py +0 -0
  60. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/environments/venv.py +0 -0
  61. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/external.py +0 -0
  62. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/generation.py +0 -0
  63. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/io.py +0 -0
  64. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/.zed/settings.json +0 -0
  65. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/__init__.py +0 -0
  66. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/editor_configs/vim/.vimrc +0 -0
  67. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/editor_configs/vscode/.vscode/settings.json +0 -0
  68. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/editor_configs/zed/pyrightconfig.json +0 -0
  69. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/.env +0 -0
  70. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/.gitignore +0 -0
  71. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/README.md +0 -0
  72. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/__init__.py +0 -0
  73. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/app.py +0 -0
  74. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/cli.py +0 -0
  75. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/config.py +0 -0
  76. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/controllers/__init__.py +0 -0
  77. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/main.py +0 -0
  78. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/models/__init__.py +0 -0
  79. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/models/detail.py +0 -0
  80. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/__init__.py +0 -0
  81. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/app/detail/page.tsx +0 -0
  82. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/app/home/page.tsx +0 -0
  83. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/app/main.css +0 -0
  84. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/package.json +0 -0
  85. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/postcss.config.js +0 -0
  86. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/[project_name]/views/tailwind.config.js +0 -0
  87. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/docker-compose.yml +0 -0
  88. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/create_mountaineer_app/templates/project/pyproject.toml +0 -0
  89. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/poetry.lock +0 -0
  90. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/create_mountaineer_app/pyproject.toml +0 -0
  91. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docker-compose.test.yml +0 -0
  92. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/.zed/settings.json +0 -0
  93. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/README.md +0 -0
  94. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/CNAME +0 -0
  95. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/actions.md +0 -0
  96. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/api_exception.md +0 -0
  97. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/app-controller.md +0 -0
  98. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/build_plugins/base.md +0 -0
  99. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/build_plugins/javascript.md +0 -0
  100. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/build_plugins/postcss.md +0 -0
  101. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/cli.md +0 -0
  102. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/config.md +0 -0
  103. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/controller.md +0 -0
  104. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/core_dependencies.md +0 -0
  105. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/database/config.md +0 -0
  106. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/database/dependencies.md +0 -0
  107. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/database/migrations.md +0 -0
  108. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/logging.md +0 -0
  109. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/render.md +0 -0
  110. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/ssr.md +0 -0
  111. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/api/watch_server.md +0 -0
  112. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/client_actions.md +0 -0
  113. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/cma.md +0 -0
  114. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/database.md +0 -0
  115. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/deploy.md +0 -0
  116. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/error_handling.md +0 -0
  117. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/index.md +0 -0
  118. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/internal/core_library.md +0 -0
  119. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/links.md +0 -0
  120. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/media/final_todo_list.png +0 -0
  121. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/media/ide_typehints.png +0 -0
  122. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/media/network_debug.png +0 -0
  123. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/media/server_side_rendering.png +0 -0
  124. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/metadata.md +0 -0
  125. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/postcss.md +0 -0
  126. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/static_analysis.md +0 -0
  127. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/docs/stylesheets/extra.css +0 -0
  128. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/mkdocs.yml +0 -0
  129. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/overrides/partials/footer.html +0 -0
  130. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/poetry.lock +0 -0
  131. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/docs_website/pyproject.toml +0 -0
  132. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/media/header.png +0 -0
  133. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__init__.py +0 -0
  134. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/__init__.py +0 -0
  135. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/actions/__init__.py +0 -0
  136. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/actions/test_fields.py +0 -0
  137. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/__init__.py +0 -0
  138. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/conf_models.py +0 -0
  139. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/test_build_actions.py +0 -0
  140. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/test_build_links.py +0 -0
  141. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/test_build_schemas.py +0 -0
  142. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/test_builder.py +0 -0
  143. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/test_openapi.py +0 -0
  144. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/client_builder/test_typescript.py +0 -0
  145. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/common.py +0 -0
  146. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/conftest.py +0 -0
  147. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/database/__init__.py +0 -0
  148. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/database/dependencies/__init__.py +0 -0
  149. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/database/dependencies/conftest.py +0 -0
  150. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/database/dependencies/test_core.py +0 -0
  151. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/database/test_config.py +0 -0
  152. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/database/test_sqlmodel.py +0 -0
  153. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/dependencies/__init__.py +0 -0
  154. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/dependencies/test_base.py +0 -0
  155. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/__init__.py +0 -0
  156. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/README.md +0 -0
  157. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/__init__.py +0 -0
  158. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/app.py +0 -0
  159. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/cli.py +0 -0
  160. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/config.py +0 -0
  161. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/controllers/__init__.py +0 -0
  162. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/controllers/complex.py +0 -0
  163. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/controllers/detail.py +0 -0
  164. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/controllers/home.py +0 -0
  165. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/controllers/root_layout.py +0 -0
  166. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/controllers/stream.py +0 -0
  167. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/main.py +0 -0
  168. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/__init__.py +0 -0
  169. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/app/complex/page.tsx +0 -0
  170. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/app/detail/page.tsx +0 -0
  171. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/app/home/page.tsx +0 -0
  172. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/app/layout.tsx +0 -0
  173. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/app/main.css +0 -0
  174. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/app/stream/page.tsx +0 -0
  175. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/package-lock.json +0 -0
  176. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/package.json +0 -0
  177. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/postcss.config.js +0 -0
  178. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/ci_webapp/views/tailwind.config.js +0 -0
  179. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/poetry.lock +0 -0
  180. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/ci_webapp/pyproject.toml +0 -0
  181. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/complex_controller_ssr_with_react.js +0 -0
  182. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/home_controller_source_map.js.map +0 -0
  183. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/fixtures/home_controller_ssr_with_react.js +0 -0
  184. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/js_compiler/__init__.py +0 -0
  185. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/js_compiler/test_javascript.py +0 -0
  186. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/js_compiler/test_postcss.py +0 -0
  187. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/js_compiler/test_source_maps.py +0 -0
  188. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/__init__.py +0 -0
  189. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_db_memory_serializer.py +0 -0
  190. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_db_stubs.py +0 -0
  191. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_generator.py +0 -0
  192. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_generics.py +0 -0
  193. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/migrations/test_handlers.py +0 -0
  194. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_annotation_helpers.py +0 -0
  195. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_app.py +0 -0
  196. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_cache.py +0 -0
  197. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_cli.py +0 -0
  198. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_compat.py +0 -0
  199. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_config.py +0 -0
  200. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_controller.py +0 -0
  201. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_controller_layout.py +0 -0
  202. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_cropper.py +0 -0
  203. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_exceptions.py +0 -0
  204. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_generics.py +0 -0
  205. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_io.py +0 -0
  206. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_logging.py +0 -0
  207. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_paths.py +0 -0
  208. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_ssr.py +0 -0
  209. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/__tests__/test_watch.py +0 -0
  210. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/actions/__init__.py +0 -0
  211. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/annotation_helpers.py +0 -0
  212. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/app.py +0 -0
  213. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/cache.py +0 -0
  214. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/cli.py +0 -0
  215. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/client_builder/build_actions.py +0 -0
  216. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/client_builder/build_links.py +0 -0
  217. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/client_builder/build_schemas.py +0 -0
  218. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/client_builder/builder.py +0 -0
  219. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/client_builder/openapi.py +0 -0
  220. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/client_builder/typescript.py +0 -0
  221. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/compat.py +0 -0
  222. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/config.py +0 -0
  223. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/console.py +0 -0
  224. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/constants.py +0 -0
  225. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/controller.py +0 -0
  226. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/controller_layout.py +0 -0
  227. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/controllers/__init__.py +0 -0
  228. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/controllers/exception_controller.py +0 -0
  229. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/cropper.py +0 -0
  230. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/__init__.py +0 -0
  231. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/cli.py +0 -0
  232. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/config.py +0 -0
  233. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/dependencies/__init__.py +0 -0
  234. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/sqlmodel.py +0 -0
  235. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/database/validator.py +0 -0
  236. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/dependencies/__init__.py +0 -0
  237. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/dependencies/base.py +0 -0
  238. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/dependencies/core/__init__.py +0 -0
  239. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/dependencies/core/core.py +0 -0
  240. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/exceptions.py +0 -0
  241. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/generics.py +0 -0
  242. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/io.py +0 -0
  243. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/js_compiler/__init__.py +0 -0
  244. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/js_compiler/base.py +0 -0
  245. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/js_compiler/exceptions.py +0 -0
  246. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/js_compiler/javascript.py +0 -0
  247. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/js_compiler/postcss.py +0 -0
  248. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/js_compiler/source_maps.py +0 -0
  249. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/logging.py +0 -0
  250. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/__init__.py +0 -0
  251. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/client_io.py +0 -0
  252. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/db_memory_serializer.py +0 -0
  253. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/db_stubs.py +0 -0
  254. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/dependency/__init__.py +0 -0
  255. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/dependency/core/__init__.py +0 -0
  256. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/dependency/core/core.py +0 -0
  257. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/generator.py +0 -0
  258. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/generics.py +0 -0
  259. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/handlers.py +0 -0
  260. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/migrations/migration.py +0 -0
  261. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/paths.py +0 -0
  262. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/py.typed +0 -0
  263. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/render.py +0 -0
  264. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/ssr.py +0 -0
  265. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/static/__init__.py +0 -0
  266. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/static/api.ts +0 -0
  267. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/static/live_reload.ts +0 -0
  268. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/static/ssr_polyfills.js +0 -0
  269. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/__init__.py +0 -0
  270. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/core/exception/page.tsx +0 -0
  271. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/core/layout.tsx +0 -0
  272. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/core/main.css +0 -0
  273. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/package-lock.json +0 -0
  274. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/package.json +0 -0
  275. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/postcss.config.js +0 -0
  276. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/views/tailwind.config.js +0 -0
  277. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/watch.py +0 -0
  278. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/watch_server.py +0 -0
  279. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/mountaineer/webservice.py +0 -0
  280. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/poetry.lock +0 -0
  281. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/benches/fixtures/complex_sourcemap_mapping.txt +0 -0
  282. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/benches/fixtures/home_controller_ssr_with_react.js +0 -0
  283. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/benches/fixtures/ssr_polyfill_archive.js +0 -0
  284. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/benches/lexers_benchmark.rs +0 -0
  285. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/benches/source_map_benchmark.rs +0 -0
  286. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/benches/ssr_benchmark.rs +0 -0
  287. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/errors.rs +0 -0
  288. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/lexers.rs +0 -0
  289. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/lib.rs +0 -0
  290. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/logging.rs +0 -0
  291. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/source_map.rs +0 -0
  292. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/ssr.rs +0 -0
  293. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src/timeout.rs +0 -0
  294. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src_go/Cargo.toml +0 -0
  295. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src_go/build.rs +0 -0
  296. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src_go/go/js_build.go +0 -0
  297. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src_go/go.mod +0 -0
  298. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src_go/go.sum +0 -0
  299. {mountaineer-0.5.2.dev1 → mountaineer-0.5.2.dev3}/src_go/src/lib.rs +0 -0
@@ -535,7 +535,7 @@ dependencies = [
535
535
 
536
536
  [[package]]
537
537
  name = "mountaineer"
538
- version = "0.5.2-dev1"
538
+ version = "0.5.2-dev3"
539
539
  dependencies = [
540
540
  "criterion",
541
541
  "deno_core_icudata",
@@ -15,7 +15,7 @@ harness = false
15
15
 
16
16
  [package]
17
17
  name = "mountaineer"
18
- version = "0.5.2-dev1"
18
+ version = "0.5.2-dev3"
19
19
  edition = "2021"
20
20
 
21
21
  [dependencies]
@@ -83,11 +83,11 @@ lint-validation-scripts:
83
83
 
84
84
  # Tests
85
85
  test-lib:
86
- (cd $(LIB_DIR) && docker-compose -f docker-compose.test.yml up -d)
86
+ (cd $(LIB_DIR) && docker compose -f docker-compose.test.yml up -d)
87
87
  @$(call wait-for-postgres,30,5438)
88
88
  @set -e; \
89
89
  $(call test-common,$(LIB_DIR),$(LIB_NAME))
90
- (cd $(LIB_DIR) && docker-compose -f docker-compose.test.yml down)
90
+ (cd $(LIB_DIR) && docker compose -f docker-compose.test.yml down)
91
91
  $(call test-rust-common,$(LIB_DIR),$(LIB_NAME))
92
92
  test-lib-integrations:
93
93
  $(call test-common-integrations,$(LIB_DIR),$(LIB_NAME))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mountaineer
3
- Version: 0.5.2.dev1
3
+ Version: 0.5.2.dev3
4
4
  Requires-Dist: pydantic
5
5
  Requires-Dist: fastapi
6
6
  Requires-Dist: inflection
@@ -80,10 +80,10 @@ Every service file is nested under the `my_webapp` root package. Views are defin
80
80
 
81
81
  ### Development
82
82
 
83
- If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker-compose file for convenience with `create-mountaineer-app`.
83
+ If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker compose file for convenience with `create-mountaineer-app`.
84
84
 
85
85
  ```bash
86
- docker-compose up -d
86
+ docker compose up -d
87
87
  poetry run createdb
88
88
  ```
89
89
 
@@ -141,10 +141,10 @@ Update the index file as well:
141
141
  from .todo import TodoItem # noqa: F401
142
142
  ```
143
143
 
144
- Make sure you have a Postgres database running. We bundle a docker-compose file for convenience with `create-mountaineer-app`. Launch it in the background and create the new database tables from these code definitions:
144
+ Make sure you have a Postgres database running. We bundle a docker compose file for convenience with `create-mountaineer-app`. Launch it in the background and create the new database tables from these code definitions:
145
145
 
146
146
  ```bash
147
- docker-compose up -d
147
+ docker compose up -d
148
148
  poetry run createdb
149
149
  poetry run runserver
150
150
  ```
@@ -158,7 +158,7 @@ from mountaineer import sideeffect, ControllerBase, RenderBase
158
158
  from mountaineer.database import DatabaseDependencies
159
159
 
160
160
  from fastapi import Request, Depends
161
- from sqlalchemy.ext.asyncio import AsyncSession
161
+ from mountaineer.database.session import AsyncSession
162
162
  from sqlmodel import select
163
163
 
164
164
  from my_webapp.models.todo import TodoItem
@@ -176,7 +176,7 @@ class HomeController(ControllerBase):
176
176
  request: Request,
177
177
  session: AsyncSession = Depends(DatabaseDependencies.get_db_session)
178
178
  ) -> HomeRender:
179
- todos = await session.execute(select(TodoItem))
179
+ todos = (await session.exec(select(TodoItem))).all()
180
180
 
181
181
  return HomeRender(
182
182
  client_ip=(
@@ -184,7 +184,7 @@ class HomeController(ControllerBase):
184
184
  if request.client
185
185
  else "unknown"
186
186
  ),
187
- todos=todos.scalars().all()
187
+ todos=todos
188
188
  )
189
189
  ```
190
190
 
@@ -62,10 +62,10 @@ Every service file is nested under the `my_webapp` root package. Views are defin
62
62
 
63
63
  ### Development
64
64
 
65
- If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker-compose file for convenience with `create-mountaineer-app`.
65
+ If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker compose file for convenience with `create-mountaineer-app`.
66
66
 
67
67
  ```bash
68
- docker-compose up -d
68
+ docker compose up -d
69
69
  poetry run createdb
70
70
  ```
71
71
 
@@ -123,10 +123,10 @@ Update the index file as well:
123
123
  from .todo import TodoItem # noqa: F401
124
124
  ```
125
125
 
126
- Make sure you have a Postgres database running. We bundle a docker-compose file for convenience with `create-mountaineer-app`. Launch it in the background and create the new database tables from these code definitions:
126
+ Make sure you have a Postgres database running. We bundle a docker compose file for convenience with `create-mountaineer-app`. Launch it in the background and create the new database tables from these code definitions:
127
127
 
128
128
  ```bash
129
- docker-compose up -d
129
+ docker compose up -d
130
130
  poetry run createdb
131
131
  poetry run runserver
132
132
  ```
@@ -140,7 +140,7 @@ from mountaineer import sideeffect, ControllerBase, RenderBase
140
140
  from mountaineer.database import DatabaseDependencies
141
141
 
142
142
  from fastapi import Request, Depends
143
- from sqlalchemy.ext.asyncio import AsyncSession
143
+ from mountaineer.database.session import AsyncSession
144
144
  from sqlmodel import select
145
145
 
146
146
  from my_webapp.models.todo import TodoItem
@@ -158,7 +158,7 @@ class HomeController(ControllerBase):
158
158
  request: Request,
159
159
  session: AsyncSession = Depends(DatabaseDependencies.get_db_session)
160
160
  ) -> HomeRender:
161
- todos = await session.execute(select(TodoItem))
161
+ todos = (await session.exec(select(TodoItem))).all()
162
162
 
163
163
  return HomeRender(
164
164
  client_ip=(
@@ -166,7 +166,7 @@ class HomeController(ControllerBase):
166
166
  if request.client
167
167
  else "unknown"
168
168
  ),
169
- todos=todos.scalars().all()
169
+ todos=todos
170
170
  )
171
171
  ```
172
172
 
@@ -129,7 +129,7 @@ def test_valid_permutations(
129
129
  "COMPOSE_PROJECT_NAME": f"test_project-{uuid4()}",
130
130
  }
131
131
  subprocess.run(
132
- ["docker-compose", "up", "-d"],
132
+ ["docker", "compose", "up", "-d"],
133
133
  cwd=metadata.project_path,
134
134
  check=True,
135
135
  env=docker_compose_env,
@@ -202,7 +202,7 @@ def test_valid_permutations(
202
202
 
203
203
  secho("Shutting down docker...")
204
204
  subprocess.run(
205
- ["docker-compose", "down"],
205
+ ["docker", "compose", "down"],
206
206
  cwd=metadata.project_path,
207
207
  check=True,
208
208
  env=docker_compose_env,
@@ -5,7 +5,7 @@ from mountaineer import Metadata, RenderBase, ControllerBase, APIException, side
5
5
  from mountaineer.database import DatabaseDependencies
6
6
 
7
7
  from fastapi import Request, Depends
8
- from sqlalchemy.ext.asyncio import AsyncSession
8
+ from mountaineer.database.session import AsyncSession
9
9
  from fastapi.exceptions import HTTPException
10
10
  from pydantic import BaseModel
11
11
 
@@ -60,4 +60,4 @@ class DetailController(ControllerBase):
60
60
 
61
61
  detail_item.description = payload.description
62
62
  await session.commit()
63
- {% endif %}
63
+ {% endif %}
@@ -7,7 +7,7 @@ from mountaineer.database import DatabaseDependencies
7
7
  from fastapi import Request, Depends
8
8
  from pydantic import BaseModel
9
9
  from sqlmodel import select
10
- from sqlalchemy.ext.asyncio import AsyncSession
10
+ from mountaineer.database.session import AsyncSession
11
11
 
12
12
  from {{project_name}} import models
13
13
 
@@ -24,9 +24,9 @@ class HomeController(ControllerBase):
24
24
  self,
25
25
  session: AsyncSession = Depends(DatabaseDependencies.get_db_session)
26
26
  ) -> HomeRender:
27
- items = await session.execute(select(models.DetailItem))
27
+ items = (await session.exec(select(models.DetailItem))).all()
28
28
  return HomeRender(
29
- items=items.scalars().all(),
29
+ items=items,
30
30
  metadata=Metadata(title="Home"),
31
31
  )
32
32
 
@@ -38,4 +38,4 @@ class HomeController(ControllerBase):
38
38
  obj = models.DetailItem(description="Untitled Item")
39
39
  session.add(obj)
40
40
  await session.commit()
41
- {% endif %}
41
+ {% endif %}
@@ -143,7 +143,7 @@ async def up(
143
143
  self,
144
144
  migrator: Migrator = Depends(MigrationDependencies.get_migrator),
145
145
  ):
146
- result = await migrator.db_session.execute("SELECT * FROM article")
146
+ result = await migrator.db_session.exec("SELECT * FROM article")
147
147
  ```
148
148
 
149
149
  We recommend using the actor object whenever possible, as it provides a more consistent and safe way to run migrations. If you are using the raw database session object, be aware that we require migrations to be run in a single transaction. This ensures that if a migration fails, the database will be rolled back to its previous state. We therefore disable calling `db_session.commit()` explicitly from within user code.
@@ -21,10 +21,10 @@ Mountaineer projects all follow a similar structure. For more on this, see our d
21
21
 
22
22
  ### Development
23
23
 
24
- If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker-compose file for convenience with `create-mountaineer-app`.
24
+ If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker compose file for convenience with `create-mountaineer-app`.
25
25
 
26
26
  ```bash
27
- docker-compose up -d
27
+ docker compose up -d
28
28
  poetry run createdb
29
29
  ```
30
30
 
@@ -78,10 +78,10 @@ Update the index file as well:
78
78
  from .todo import TodoItem # noqa: F401
79
79
  ```
80
80
 
81
- Make sure you have a Postgres database running. We bundle a docker-compose file for convenience with `create-mountaineer-app`. Launch it in the background and create the new database tables from these code definitions:
81
+ Make sure you have a Postgres database running. We bundle a docker compose file for convenience with `create-mountaineer-app`. Launch it in the background and create the new database tables from these code definitions:
82
82
 
83
83
  ```bash
84
- docker-compose up -d
84
+ docker compose up -d
85
85
  poetry run createdb
86
86
  poetry run runserver
87
87
  ```
@@ -111,7 +111,7 @@ class HomeController(ControllerBase):
111
111
  request: Request,
112
112
  session: AsyncSession = Depends(DatabaseDependencies.get_db_session)
113
113
  ) -> HomeRender:
114
- todos = await session.execute(select(TodoItem))
114
+ todos = (await session.exec(select(TodoItem))).all()
115
115
 
116
116
  return HomeRender(
117
117
  client_ip=(
@@ -119,7 +119,7 @@ class HomeController(ControllerBase):
119
119
  if request.client
120
120
  else "unknown"
121
121
  ),
122
- todos=todos.scalars().all()
122
+ todos=todos
123
123
  )
124
124
  ```
125
125
 
@@ -6,7 +6,7 @@ For a project called `my_webapp`, you should have something like the following:
6
6
  ```
7
7
  my_webapp/
8
8
  ├── README.md
9
- ├── docker-compose.yml
9
+ ├── docker compose.yml
10
10
  ├── my_webapp
11
11
  │   ├── __init__.py
12
12
  │   ├── app.py
@@ -51,7 +51,7 @@ A controller backs a view in a 1:1 relationship. It provides the backend plumbin
51
51
  from mountaineer import sideeffect, ControllerBase, RenderBase
52
52
  from mountaineer.database import DatabaseDependencies
53
53
 
54
- from sqlalchemy.ext.asyncio import AsyncSession
54
+ from mountaineer.database.session import AsyncSession
55
55
  from sqlmodel import select
56
56
 
57
57
  from myapp.models import TodoItem
@@ -67,10 +67,10 @@ class HomeController(ControllerBase):
67
67
  self,
68
68
  session: AsyncSession = Depends(DatabaseDependencies.get_db_session)
69
69
  ) -> HomeRender:
70
- todos = await session.execute(select(TodoItem))
70
+ todos = (await session.execute(select(TodoItem))).all()
71
71
 
72
72
  return HomeRender(
73
- todos=todos.scalars().all()
73
+ todos=todos
74
74
  )
75
75
  ```
76
76
 
@@ -54,40 +54,39 @@ class ExamplePassthroughModel(BaseModel):
54
54
  status: str
55
55
 
56
56
 
57
- @pytest.mark.asyncio
58
- async def test_can_call_passthrough():
59
- class TestController(ControllerBase):
60
- url: str = "/test/{query_id}/"
61
-
62
- def __init__(self):
63
- super().__init__()
64
- self.counter = 0
65
- self.render_counts = 0
57
+ class ExampleController(ControllerBase):
58
+ url: str = "/test/{query_id}/"
59
+
60
+ def __init__(self):
61
+ super().__init__()
62
+ self.counter = 0
63
+ self.render_counts = 0
64
+
65
+ def render(
66
+ self,
67
+ query_id: int,
68
+ ) -> ExampleRenderModel:
69
+ self.render_counts += 1
70
+ return ExampleRenderModel(
71
+ value_a="Hello",
72
+ value_b="World",
73
+ )
66
74
 
67
- def render(
68
- self,
69
- query_id: int,
70
- ) -> ExampleRenderModel:
71
- self.render_counts += 1
72
- return ExampleRenderModel(
73
- value_a="Hello",
74
- value_b="World",
75
- )
75
+ @passthrough
76
+ def call_passthrough(self, payload: dict) -> ExamplePassthroughModel:
77
+ self.counter += 1
78
+ return ExamplePassthroughModel(status="success")
76
79
 
77
- @passthrough
78
- def call_passthrough(self, payload: dict) -> ExamplePassthroughModel:
79
- self.counter += 1
80
- return ExamplePassthroughModel(status="success")
80
+ @passthrough
81
+ async def call_passthrough_async(self, payload: dict) -> ExamplePassthroughModel:
82
+ self.counter += 1
83
+ return ExamplePassthroughModel(status="success")
81
84
 
82
- @passthrough
83
- async def call_passthrough_async(
84
- self, payload: dict
85
- ) -> ExamplePassthroughModel:
86
- self.counter += 1
87
- return ExamplePassthroughModel(status="success")
88
85
 
86
+ @pytest.mark.asyncio
87
+ async def test_can_call_passthrough():
89
88
  app = AppController(view_root=Path())
90
- controller = TestController()
89
+ controller = ExampleController()
91
90
  app.register(controller)
92
91
 
93
92
  return_value_sync = await controller.call_passthrough(
@@ -114,6 +113,22 @@ async def test_can_call_passthrough():
114
113
  assert controller.render_counts == 0
115
114
 
116
115
 
116
+ @pytest.mark.asyncio
117
+ async def test_can_call_passthrough_original():
118
+ """
119
+ Ensure that we can access the raw underlying function that was
120
+ wrapped by the decorator.
121
+
122
+ """
123
+ controller = ExampleController()
124
+ assert await ExampleController.call_passthrough.original(
125
+ controller, dict()
126
+ ) == ExamplePassthroughModel(status="success")
127
+ assert await ExampleController.call_passthrough_async.original(
128
+ controller, dict()
129
+ ) == ExamplePassthroughModel(status="success")
130
+
131
+
117
132
  class ExampleModel(BaseModel):
118
133
  value: str
119
134
 
@@ -90,12 +90,12 @@ async def call_sideeffect_common(controller: ControllerCommon):
90
90
 
91
91
  # Even if the "request" is not required by our sideeffects, it's required
92
92
  # by the function injected by the sideeffect decorator.
93
- return_value_sync = await controller.call_sideeffect(
93
+ return_value_sync = await controller.call_sideeffect( # type: ignore
94
94
  {},
95
95
  request=Request({"type": "http"}), # type: ignore
96
96
  )
97
97
 
98
- return_value_async = await controller.call_sideeffect_async(
98
+ return_value_async = await controller.call_sideeffect_async( # type: ignore
99
99
  {},
100
100
  request=Request({"type": "http"}), # type: ignore
101
101
  )
@@ -157,6 +157,30 @@ async def test_can_call_sideeffect_async_render():
157
157
  await call_sideeffect_common(ExampleController())
158
158
 
159
159
 
160
+ @pytest.mark.asyncio
161
+ async def test_can_call_sideeffect_original():
162
+ """
163
+ Ensure that we can access the raw underlying function that was
164
+ wrapped by the decorator.
165
+
166
+ """
167
+
168
+ class ExampleController(ControllerCommon):
169
+ def render(
170
+ self,
171
+ query_id: int,
172
+ ) -> ExampleRenderModel:
173
+ self.render_counts += 1
174
+ return ExampleRenderModel(
175
+ value_a="Hello",
176
+ value_b="World",
177
+ )
178
+
179
+ controller = ExampleController()
180
+ await ExampleController.call_sideeffect.original(controller, dict())
181
+ await ExampleController.call_sideeffect_async.original(controller, dict())
182
+
183
+
160
184
  @pytest.mark.asyncio
161
185
  @pytest.mark.parametrize(
162
186
  "referer, expected_resolved",
@@ -6,12 +6,13 @@ import pytest
6
6
  import pytest_asyncio
7
7
  from fastapi import Depends
8
8
  from sqlalchemy import exc as sa_exc
9
- from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession, async_sessionmaker
9
+ from sqlalchemy.ext.asyncio import AsyncEngine, async_sessionmaker
10
10
  from sqlmodel import SQLModel, text
11
11
 
12
12
  from mountaineer.config import ConfigBase, unregister_config
13
13
  from mountaineer.database import DatabaseDependencies
14
14
  from mountaineer.database.config import DatabaseConfig
15
+ from mountaineer.database.session import AsyncSession
15
16
  from mountaineer.dependencies.base import get_function_dependencies
16
17
  from mountaineer.test_utilities import bootstrap_database
17
18
 
@@ -44,7 +45,7 @@ async def clear_all_database_objects(db_session: AsyncSession):
44
45
 
45
46
  """
46
47
  # Step 1: Drop all tables in the public schema
47
- await db_session.execute(
48
+ await db_session.exec(
48
49
  text(
49
50
  """
50
51
  DO $$ DECLARE
@@ -59,7 +60,7 @@ async def clear_all_database_objects(db_session: AsyncSession):
59
60
  )
60
61
 
61
62
  # Step 2: Drop all custom types in the public schema
62
- await db_session.execute(
63
+ await db_session.exec(
63
64
  text(
64
65
  """
65
66
  DO $$ DECLARE
@@ -130,6 +131,8 @@ async def db_engine(config: MigrationAppConfig):
130
131
 
131
132
  @pytest_asyncio.fixture
132
133
  async def db_session(db_engine: AsyncEngine):
133
- session_maker = async_sessionmaker(db_engine, expire_on_commit=False)
134
+ session_maker = async_sessionmaker(
135
+ db_engine, class_=AsyncSession, expire_on_commit=False
136
+ )
134
137
  async with session_maker() as session:
135
138
  yield session