pysits 2.0.0.dev5__tar.gz → 2.0.0.dev7__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 (211) hide show
  1. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/PKG-INFO +1 -1
  2. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pyproject.toml +1 -1
  3. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/__init__.py +8 -0
  4. pysits-2.0.0.dev7/pysits/backend/rinterface.py +49 -0
  5. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/ml.py +1 -0
  6. pysits-2.0.0.dev7/tests/test_backend.py +42 -0
  7. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_embedding.py +2 -0
  8. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/uv.lock +72 -72
  9. pysits-2.0.0.dev5/.claude/settings.local.json +0 -5
  10. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.gitattributes +0 -0
  11. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.github/actions/setup-pysits/action.yml +0 -0
  12. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.github/workflows/ruff.yaml +0 -0
  13. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.github/workflows/tests.yaml +0 -0
  14. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.gitignore +0 -0
  15. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.pre-commit-config.yaml +0 -0
  16. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/LICENSE +0 -0
  17. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/README.md +0 -0
  18. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/conda/meta.yaml +0 -0
  19. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/__init__.py +0 -0
  20. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/arrow.py +0 -0
  21. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/functions.py +0 -0
  22. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/loaders.py +0 -0
  23. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/pkgs.py +0 -0
  24. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/__init__.py +0 -0
  25. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/clojure.py +0 -0
  26. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/common.py +0 -0
  27. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/decorators.py +0 -0
  28. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/__init__.py +0 -0
  29. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/base.py +0 -0
  30. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/mask.py +0 -0
  31. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/tuning.py +0 -0
  32. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/stac.py +0 -0
  33. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/tibble.py +0 -0
  34. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/vector.py +0 -0
  35. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/xarray.py +0 -0
  36. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/__init__.py +0 -0
  37. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_linear.md +0 -0
  38. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_mean.md +0 -0
  39. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_mean_window.md +0 -0
  40. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_median.md +0 -0
  41. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/plot.md +0 -0
  42. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_accuracy.md +0 -0
  43. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_accuracy_summary.md +0 -0
  44. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_add_base_cube.md +0 -0
  45. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_apply.md +0 -0
  46. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_as_geopandas.md +0 -0
  47. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_bands.md +0 -0
  48. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_barlow_twins.md +0 -0
  49. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_bbox.md +0 -0
  50. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_classify.md +0 -0
  51. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_clean.md +0 -0
  52. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cluster_clean.md +0 -0
  53. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cluster_dendro.md +0 -0
  54. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cluster_frequency.md +0 -0
  55. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors.md +0 -0
  56. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_qgis.md +0 -0
  57. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_reset.md +0 -0
  58. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_set.md +0 -0
  59. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_show.md +0 -0
  60. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_combine_predictions.md +0 -0
  61. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_confidence_sampling.md +0 -0
  62. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_config.md +0 -0
  63. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_config_show.md +0 -0
  64. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_config_user_file.md +0 -0
  65. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_contrastive_learning.md +0 -0
  66. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cube.md +0 -0
  67. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cube_copy.md +0 -0
  68. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_encode.md +0 -0
  69. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_formula_linear.md +0 -0
  70. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_formula_logref.md +0 -0
  71. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_geo_dist.md +0 -0
  72. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_get_class.md +0 -0
  73. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_get_data.md +0 -0
  74. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_get_probs.md +0 -0
  75. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_kfold_validate.md +0 -0
  76. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_label_classification.md +0 -0
  77. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_labels.md +0 -0
  78. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_labels_summary.md +0 -0
  79. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_lightgbm.md +0 -0
  80. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_lighttae.md +0 -0
  81. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_list_collections.md +0 -0
  82. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_lstm_fcn.md +0 -0
  83. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_merge.md +0 -0
  84. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_mixture_model.md +0 -0
  85. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_mlp.md +0 -0
  86. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_model_export.md +0 -0
  87. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_mosaic.md +0 -0
  88. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_parallel.md +0 -0
  89. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_patterns.md +0 -0
  90. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pre_train.md +0 -0
  91. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_features.md +0 -0
  92. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_normalize.md +0 -0
  93. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_references.md +0 -0
  94. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_sample.md +0 -0
  95. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_predictors.md +0 -0
  96. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_random_sampling.md +0 -0
  97. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_reclassify.md +0 -0
  98. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_reduce.md +0 -0
  99. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_reduce_imbalance.md +0 -0
  100. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_regularize.md +0 -0
  101. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_resnet.md +0 -0
  102. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_rfor.md +0 -0
  103. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_roi_to_tiles.md +0 -0
  104. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_sample.md +0 -0
  105. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_sampling_design.md +0 -0
  106. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_sankey.md +0 -0
  107. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_segment.md +0 -0
  108. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_select.md +0 -0
  109. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_show_prediction.md +0 -0
  110. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_slic.md +0 -0
  111. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_smooth.md +0 -0
  112. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_snic.md +0 -0
  113. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_clean_samples.md +0 -0
  114. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_evaluate_cluster.md +0 -0
  115. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_map.md +0 -0
  116. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_remove_samples.md +0 -0
  117. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_ssl_lejepa.md +0 -0
  118. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_ssl_mae.md +0 -0
  119. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_ssl_vicreg.md +0 -0
  120. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_stats.md +0 -0
  121. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_stratified_sampling.md +0 -0
  122. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_svm.md +0 -0
  123. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tae.md +0 -0
  124. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tempcnn.md +0 -0
  125. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_texture.md +0 -0
  126. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tiles_to_roi.md +0 -0
  127. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_timeline.md +0 -0
  128. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_timeseries_to_csv.md +0 -0
  129. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_to_csv.md +0 -0
  130. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_to_xlsx.md +0 -0
  131. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_train.md +0 -0
  132. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tuning.md +0 -0
  133. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tuning_hparams.md +0 -0
  134. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_uncertainty.md +0 -0
  135. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_uncertainty_sampling.md +0 -0
  136. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_validate.md +0 -0
  137. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_variance.md +0 -0
  138. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_view.md +0 -0
  139. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_xgboost.md +0 -0
  140. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/summary.md +0 -0
  141. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/decorators.py +0 -0
  142. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/extras/__init__.py +0 -0
  143. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/extras/earthdatalogin.py +0 -0
  144. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/extras/torch.py +0 -0
  145. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/jinja.py +0 -0
  146. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/__init__.py +0 -0
  147. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/base.py +0 -0
  148. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/__init__.py +0 -0
  149. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/accuracy.py +0 -0
  150. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/base.py +0 -0
  151. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/cube.py +0 -0
  152. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/frame.py +0 -0
  153. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/frame_accessor.py +0 -0
  154. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/matrix.py +0 -0
  155. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/table.py +0 -0
  156. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/ts.py +0 -0
  157. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/tuning.py +0 -0
  158. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/vector.py +0 -0
  159. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/frame.py +0 -0
  160. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/ml.py +0 -0
  161. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/resolver.py +0 -0
  162. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/visual.py +0 -0
  163. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/settings.py +0 -0
  164. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/__init__.py +0 -0
  165. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/colors.py +0 -0
  166. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/config.py +0 -0
  167. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/context.py +0 -0
  168. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/cube.py +0 -0
  169. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/data.py +0 -0
  170. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/__init__.py +0 -0
  171. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/files.py +0 -0
  172. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/sf.py +0 -0
  173. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/xarray.py +0 -0
  174. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/impute.py +0 -0
  175. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/segment.py +0 -0
  176. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/tiles.py +0 -0
  177. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/ts.py +0 -0
  178. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/tuning.py +0 -0
  179. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/utils.py +0 -0
  180. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/visualization.py +0 -0
  181. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/templates/cube.html +0 -0
  182. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/templates/plot.html +0 -0
  183. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/templates/tuning.html +0 -0
  184. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/__init__.py +0 -0
  185. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/base.py +0 -0
  186. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/device.py +0 -0
  187. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/host.py +0 -0
  188. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/leaflet.py +0 -0
  189. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/options.py +0 -0
  190. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/conftest.py +0 -0
  191. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_classification.py +0 -0
  192. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_config.py +0 -0
  193. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_conversions.py +0 -0
  194. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_cube.py +0 -0
  195. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_data.py +0 -0
  196. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_dsl.py +0 -0
  197. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_exporters.py +0 -0
  198. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_exporters_geopandas.py +0 -0
  199. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_exporters_xarray.py +0 -0
  200. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_extras.py +0 -0
  201. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_indexing.py +0 -0
  202. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_ml_models.py +0 -0
  203. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_resolver.py +0 -0
  204. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_rl_models.py +0 -0
  205. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_som.py +0 -0
  206. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_tiles.py +0 -0
  207. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_tuning.py +0 -0
  208. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_utils.py +0 -0
  209. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_validation.py +0 -0
  210. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_visual_models.py +0 -0
  211. {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_visualization.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pysits
3
- Version: 2.0.0.dev5
3
+ Version: 2.0.0.dev7
4
4
  Summary: Python wrapper for the sits R package
5
5
  Project-URL: Homepage, https://github.com/e-sensing/pysits
6
6
  Project-URL: Issue Tracker, https://github.com/e-sensing/pysits/issues
@@ -17,7 +17,7 @@
17
17
 
18
18
  [project]
19
19
  name = "pysits"
20
- version = "2.0.0.dev5"
20
+ version = "2.0.0.dev7"
21
21
  description = "Python wrapper for the sits R package"
22
22
  readme = "README.md"
23
23
  requires-python = ">=3.10,<4"
@@ -21,6 +21,11 @@
21
21
  # happen before anything imports `pyarrow` or loads the R `arrow` package.
22
22
  # Keep this import above the others. See `pysits.backend.arrow`.
23
23
  from .backend import arrow as _arrow # noqa: F401
24
+
25
+ # Importing `backend.rinterface` first silences the notice `rpy2` logs while it
26
+ # is being imported, when it falls back from API to ABI mode. Keep this import
27
+ # above anything that imports `rpy2`
28
+ from .backend.rinterface import r_interface_mode
24
29
  from .conversions.dsl.mask import MaskValue
25
30
  from .conversions.dsl.tuning import hparam
26
31
  from .settings import __version__
@@ -106,6 +111,7 @@ from .sits.ml import (
106
111
  sits_pre_train,
107
112
  sits_resnet,
108
113
  sits_rfor,
114
+ sits_ssl_barlow_twins,
109
115
  sits_ssl_lejepa,
110
116
  sits_ssl_mae,
111
117
  sits_ssl_vicreg,
@@ -164,6 +170,7 @@ __all__ = (
164
170
  "sits_encode",
165
171
  "sits_ssl_mae",
166
172
  "sits_ssl_lejepa",
173
+ "sits_ssl_barlow_twins",
167
174
  "sits_ssl_vicreg",
168
175
  "sits_barlow_twins",
169
176
  "sits_contrastive_learning",
@@ -288,6 +295,7 @@ __all__ = (
288
295
  "read_rds",
289
296
  "r_package_dir",
290
297
  "r_set_seed",
298
+ "r_interface_mode",
291
299
  "load_samples",
292
300
  # Package settings
293
301
  "__version__",
@@ -0,0 +1,49 @@
1
+ #
2
+ # Copyright (C) 2025 sits developers.
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; either version 2 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, see <https://www.gnu.org/licenses/>.
16
+ #
17
+
18
+ """R interface used by ``pysits``."""
19
+
20
+ import logging
21
+
22
+ #
23
+ # Logger `rpy2` uses to report the API to ABI fallback
24
+ #
25
+ RPY2_OPENRLIB_LOGGER = "rpy2.rinterface_lib.openrlib"
26
+
27
+ #
28
+ # Get logger from rpy2
29
+ #
30
+ _logger = logging.getLogger(RPY2_OPENRLIB_LOGGER)
31
+
32
+ # Set on import: the notice is emitted when `rpy2` is first imported
33
+ # If a level is already set on the logger, we do not change it. This
34
+ # allows users to opt back in with:
35
+ # logging.getLogger(RPY2_OPENRLIB_LOGGER).setLevel(logging.DEBUG)
36
+ if _logger.level == logging.NOTSET:
37
+ _logger.setLevel(logging.ERROR)
38
+
39
+
40
+ def r_interface_mode() -> str:
41
+ """Report the ``cffi`` mode ``rpy2`` is using to reach R.
42
+
43
+ Returns:
44
+ str: ``"API"`` when `rpy2` loaded its compiled extension, `"ABI"`
45
+ when it resolves R symbols at run time.
46
+ """
47
+ from rpy2.rinterface_lib.openrlib import cffi_mode
48
+
49
+ return cffi_mode.value
@@ -84,6 +84,7 @@ sits_lightgbm = closure_factory("sits_lightgbm")
84
84
  sits_ssl_mae = closure_factory("sits_ssl_mae", converters=dl_converters)
85
85
  sits_ssl_lejepa = closure_factory("sits_ssl_lejepa", converters=dl_converters)
86
86
  sits_ssl_vicreg = closure_factory("sits_ssl_vicreg", converters=dl_converters)
87
+ sits_ssl_barlow_twins = closure_factory("sits_ssl_barlow_twins", converters=dl_converters)
87
88
 
88
89
  sits_barlow_twins = closure_factory("sits_barlow_twins", converters=dl_converters)
89
90
  sits_contrastive_learning = closure_factory(
@@ -0,0 +1,42 @@
1
+ #
2
+ # Copyright (C) 2025 sits developers.
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; either version 2 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, see <https://www.gnu.org/licenses/>.
16
+ #
17
+
18
+ """Tests for the R interface backend."""
19
+
20
+ import subprocess
21
+ import sys
22
+
23
+ from pysits import r_interface_mode
24
+
25
+
26
+ def test_import_pysits_reports_no_cffi_fallback():
27
+ """Importing `pysits` must not print `rpy2` API/ABI fallback notices."""
28
+ proc = subprocess.run(
29
+ [sys.executable, "-c", "import pysits"],
30
+ capture_output=True,
31
+ text=True,
32
+ check=False,
33
+ )
34
+
35
+ assert proc.returncode == 0, proc.stderr
36
+ assert "Error importing in API mode" not in proc.stderr
37
+ assert "Trying to import in ABI mode" not in proc.stderr
38
+
39
+
40
+ def test_r_interface_mode_reports_a_supported_mode():
41
+ """interface mode must return a valid value."""
42
+ assert r_interface_mode() in {"API", "ABI"}
@@ -41,6 +41,7 @@ from pysits.sits.ml import (
41
41
  sits_rfor,
42
42
  sits_ssl_lejepa,
43
43
  sits_ssl_mae,
44
+ sits_ssl_barlow_twins,
44
45
  sits_ssl_vicreg,
45
46
  sits_train,
46
47
  )
@@ -59,6 +60,7 @@ ALL_ENCODER_METHODS = [
59
60
  sits_ssl_mae,
60
61
  sits_ssl_lejepa,
61
62
  sits_ssl_vicreg,
63
+ sits_ssl_barlow_twins,
62
64
  sits_contrastive_learning,
63
65
  sits_barlow_twins,
64
66
  ]
@@ -296,7 +296,7 @@ name = "click-plugins"
296
296
  version = "1.1.1"
297
297
  source = { registry = "https://pypi.org/simple" }
298
298
  dependencies = [
299
- { name = "click", marker = "python_full_version < '3.12'" },
299
+ { name = "click" },
300
300
  ]
301
301
  sdist = { url = "https://files.pythonhosted.org/packages/5f/1d/45434f64ed749540af821fd7e42b8e4d23ac04b1eda7c26613288d6cd8a8/click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b", size = 8164, upload-time = "2019-04-04T04:27:04.82Z" }
302
302
  wheels = [
@@ -308,7 +308,7 @@ name = "cligj"
308
308
  version = "0.7.2"
309
309
  source = { registry = "https://pypi.org/simple" }
310
310
  dependencies = [
311
- { name = "click", marker = "python_full_version < '3.12'" },
311
+ { name = "click" },
312
312
  ]
313
313
  sdist = { url = "https://files.pythonhosted.org/packages/ea/0d/837dbd5d8430fd0f01ed72c4cfb2f548180f4c68c635df84ce87956cff32/cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27", size = 9803, upload-time = "2021-05-28T21:23:27.935Z" }
314
314
  wheels = [
@@ -350,7 +350,7 @@ resolution-markers = [
350
350
  "python_full_version < '3.11'",
351
351
  ]
352
352
  dependencies = [
353
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
353
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } },
354
354
  ]
355
355
  sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" }
356
356
  wheels = [
@@ -424,7 +424,7 @@ resolution-markers = [
424
424
  "python_full_version == '3.11.*'",
425
425
  ]
426
426
  dependencies = [
427
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and python_full_version < '3.14'" },
427
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
428
428
  { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
429
429
  ]
430
430
  sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" }
@@ -657,7 +657,7 @@ name = "exceptiongroup"
657
657
  version = "1.3.0"
658
658
  source = { registry = "https://pypi.org/simple" }
659
659
  dependencies = [
660
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
660
+ { name = "typing-extensions" },
661
661
  ]
662
662
  sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" }
663
663
  wheels = [
@@ -775,7 +775,7 @@ name = "importlib-metadata"
775
775
  version = "8.7.0"
776
776
  source = { registry = "https://pypi.org/simple" }
777
777
  dependencies = [
778
- { name = "zipp", marker = "python_full_version < '3.12'" },
778
+ { name = "zipp" },
779
779
  ]
780
780
  sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" }
781
781
  wheels = [
@@ -824,17 +824,17 @@ resolution-markers = [
824
824
  "python_full_version < '3.11'",
825
825
  ]
826
826
  dependencies = [
827
- { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" },
828
- { name = "decorator", marker = "python_full_version < '3.11'" },
829
- { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
830
- { name = "jedi", marker = "python_full_version < '3.11'" },
831
- { name = "matplotlib-inline", marker = "python_full_version < '3.11'" },
832
- { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
833
- { name = "prompt-toolkit", marker = "python_full_version < '3.11'" },
834
- { name = "pygments", marker = "python_full_version < '3.11'" },
835
- { name = "stack-data", marker = "python_full_version < '3.11'" },
836
- { name = "traitlets", marker = "python_full_version < '3.11'" },
837
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
827
+ { name = "colorama", marker = "sys_platform == 'win32'" },
828
+ { name = "decorator" },
829
+ { name = "exceptiongroup" },
830
+ { name = "jedi" },
831
+ { name = "matplotlib-inline" },
832
+ { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
833
+ { name = "prompt-toolkit" },
834
+ { name = "pygments" },
835
+ { name = "stack-data" },
836
+ { name = "traitlets" },
837
+ { name = "typing-extensions" },
838
838
  ]
839
839
  sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624", size = 5513971, upload-time = "2026-03-27T10:02:13.94Z" }
840
840
  wheels = [
@@ -853,17 +853,17 @@ resolution-markers = [
853
853
  "python_full_version == '3.11.*'",
854
854
  ]
855
855
  dependencies = [
856
- { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" },
857
- { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" },
858
- { name = "jedi", marker = "python_full_version >= '3.11'" },
859
- { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" },
860
- { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
861
- { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" },
862
- { name = "psutil", marker = "python_full_version >= '3.11' and sys_platform != 'cygwin' and sys_platform != 'emscripten'" },
863
- { name = "pygments", marker = "python_full_version >= '3.11'" },
864
- { name = "stack-data", marker = "python_full_version >= '3.11'" },
865
- { name = "traitlets", marker = "python_full_version >= '3.11'" },
866
- { name = "typing-extensions", marker = "python_full_version == '3.11.*'" },
856
+ { name = "colorama", marker = "sys_platform == 'win32'" },
857
+ { name = "ipython-pygments-lexers" },
858
+ { name = "jedi" },
859
+ { name = "matplotlib-inline" },
860
+ { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
861
+ { name = "prompt-toolkit" },
862
+ { name = "psutil", marker = "sys_platform != 'cygwin' and sys_platform != 'emscripten'" },
863
+ { name = "pygments" },
864
+ { name = "stack-data" },
865
+ { name = "traitlets" },
866
+ { name = "typing-extensions", marker = "python_full_version < '3.12'" },
867
867
  ]
868
868
  sdist = { url = "https://files.pythonhosted.org/packages/06/96/b150fe7e25a5a29ae9ac1374e71488639605d39a1ea4abb74c9ce33af235/ipython-9.16.1.tar.gz", hash = "sha256:5a3d1f9a47ff216d6cf9cf863124f6a2c1a198d1354c546a4d24a370a283b64c", size = 4515302, upload-time = "2026-08-03T08:36:15.571Z" }
869
869
  wheels = [
@@ -875,7 +875,7 @@ name = "ipython-pygments-lexers"
875
875
  version = "1.1.1"
876
876
  source = { registry = "https://pypi.org/simple" }
877
877
  dependencies = [
878
- { name = "pygments", marker = "python_full_version >= '3.11'" },
878
+ { name = "pygments" },
879
879
  ]
880
880
  sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" }
881
881
  wheels = [
@@ -1190,15 +1190,15 @@ resolution-markers = [
1190
1190
  "python_full_version < '3.11'",
1191
1191
  ]
1192
1192
  dependencies = [
1193
- { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
1194
- { name = "cycler", marker = "python_full_version < '3.11'" },
1195
- { name = "fonttools", marker = "python_full_version < '3.11'" },
1196
- { name = "kiwisolver", marker = "python_full_version < '3.11'" },
1197
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
1198
- { name = "packaging", marker = "python_full_version < '3.11'" },
1199
- { name = "pillow", marker = "python_full_version < '3.11'" },
1200
- { name = "pyparsing", marker = "python_full_version < '3.11'" },
1201
- { name = "python-dateutil", marker = "python_full_version < '3.11'" },
1193
+ { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" } },
1194
+ { name = "cycler" },
1195
+ { name = "fonttools" },
1196
+ { name = "kiwisolver" },
1197
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } },
1198
+ { name = "packaging" },
1199
+ { name = "pillow" },
1200
+ { name = "pyparsing" },
1201
+ { name = "python-dateutil" },
1202
1202
  ]
1203
1203
  sdist = { url = "https://files.pythonhosted.org/packages/63/1b/4be5be87d43d327a0cf4de1a56e86f7f84c89312452406cf122efe2839e6/matplotlib-3.10.9.tar.gz", hash = "sha256:fd66508e8c6877d98e586654b608a0456db8d7e8a546eb1e2600efd957302358", size = 34811233, upload-time = "2026-04-24T00:14:13.539Z" }
1204
1204
  wheels = [
@@ -1270,16 +1270,16 @@ resolution-markers = [
1270
1270
  "python_full_version == '3.11.*'",
1271
1271
  ]
1272
1272
  dependencies = [
1273
- { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
1274
- { name = "cycler", marker = "python_full_version >= '3.11'" },
1275
- { name = "fonttools", marker = "python_full_version >= '3.11'" },
1276
- { name = "kiwisolver", marker = "python_full_version >= '3.11'" },
1277
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and python_full_version < '3.14'" },
1273
+ { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" } },
1274
+ { name = "cycler" },
1275
+ { name = "fonttools" },
1276
+ { name = "kiwisolver" },
1277
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
1278
1278
  { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
1279
- { name = "packaging", marker = "python_full_version >= '3.11'" },
1280
- { name = "pillow", marker = "python_full_version >= '3.11'" },
1281
- { name = "pyparsing", marker = "python_full_version >= '3.11'" },
1282
- { name = "python-dateutil", marker = "python_full_version >= '3.11'" },
1279
+ { name = "packaging" },
1280
+ { name = "pillow" },
1281
+ { name = "pyparsing" },
1282
+ { name = "python-dateutil" },
1283
1283
  ]
1284
1284
  sdist = { url = "https://files.pythonhosted.org/packages/49/64/f9a391af28f518b11ad45a8a712353c94a0aefce09d3703200e5c54b610a/matplotlib-3.11.1.tar.gz", hash = "sha256:69647db5746941c793d6e445a4cd349323ffb87d9cc958c2ad84a659b4832d30", size = 32612045, upload-time = "2026-07-18T03:39:46.63Z" }
1285
1285
  wheels = [
@@ -1565,10 +1565,10 @@ resolution-markers = [
1565
1565
  "python_full_version < '3.11'",
1566
1566
  ]
1567
1567
  dependencies = [
1568
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
1569
- { name = "python-dateutil", marker = "python_full_version < '3.14'" },
1570
- { name = "pytz", marker = "python_full_version < '3.14'" },
1571
- { name = "tzdata", marker = "python_full_version < '3.14'" },
1568
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } },
1569
+ { name = "python-dateutil" },
1570
+ { name = "pytz" },
1571
+ { name = "tzdata" },
1572
1572
  ]
1573
1573
  sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" }
1574
1574
  wheels = [
@@ -1618,9 +1618,9 @@ resolution-markers = [
1618
1618
  "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'",
1619
1619
  ]
1620
1620
  dependencies = [
1621
- { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
1622
- { name = "python-dateutil", marker = "python_full_version >= '3.14'" },
1623
- { name = "tzdata", marker = "(python_full_version >= '3.14' and sys_platform == 'emscripten') or (python_full_version >= '3.14' and sys_platform == 'win32')" },
1621
+ { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" } },
1622
+ { name = "python-dateutil" },
1623
+ { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" },
1624
1624
  ]
1625
1625
  sdist = { url = "https://files.pythonhosted.org/packages/be/4f/5f3422a2afec5ffc46308b79e53291365a93748b498ac2e58bead0197916/pandas-3.0.5.tar.gz", hash = "sha256:dca3734d6ab7c906e6730f0788b0a1dbb9f2467731f9711f77995c8e9d62d712", size = 4658219, upload-time = "2026-07-22T22:19:28.819Z" }
1626
1626
  wheels = [
@@ -1694,7 +1694,7 @@ name = "pexpect"
1694
1694
  version = "4.9.0"
1695
1695
  source = { registry = "https://pypi.org/simple" }
1696
1696
  dependencies = [
1697
- { name = "ptyprocess", marker = "(python_full_version < '3.14' and sys_platform == 'emscripten') or (python_full_version < '3.14' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" },
1697
+ { name = "ptyprocess" },
1698
1698
  ]
1699
1699
  sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" }
1700
1700
  wheels = [
@@ -2154,7 +2154,7 @@ resolution-markers = [
2154
2154
  "python_full_version < '3.11'",
2155
2155
  ]
2156
2156
  dependencies = [
2157
- { name = "certifi", marker = "python_full_version < '3.11'" },
2157
+ { name = "certifi" },
2158
2158
  ]
2159
2159
  sdist = { url = "https://files.pythonhosted.org/packages/67/10/a8480ea27ea4bbe896c168808854d00f2a9b49f95c0319ddcbba693c8a90/pyproj-3.7.1.tar.gz", hash = "sha256:60d72facd7b6b79853f19744779abcd3f804c4e0d4fa8815469db20c9f640a47", size = 226339, upload-time = "2025-02-16T04:28:46.621Z" }
2160
2160
  wheels = [
@@ -2204,7 +2204,7 @@ resolution-markers = [
2204
2204
  "python_full_version == '3.11.*'",
2205
2205
  ]
2206
2206
  dependencies = [
2207
- { name = "certifi", marker = "python_full_version >= '3.11'" },
2207
+ { name = "certifi" },
2208
2208
  ]
2209
2209
  sdist = { url = "https://files.pythonhosted.org/packages/04/90/67bd7260b4ea9b8b20b4f58afef6c223ecb3abf368eb4ec5bc2cdef81b49/pyproj-3.7.2.tar.gz", hash = "sha256:39a0cf1ecc7e282d1d30f36594ebd55c9fae1fda8a2622cee5d100430628f88c", size = 226279, upload-time = "2025-08-14T12:05:42.18Z" }
2210
2210
  wheels = [
@@ -2266,7 +2266,7 @@ wheels = [
2266
2266
 
2267
2267
  [[package]]
2268
2268
  name = "pysits"
2269
- version = "2.0.0.dev5"
2269
+ version = "2.0.0.dev7"
2270
2270
  source = { editable = "." }
2271
2271
  dependencies = [
2272
2272
  { name = "geopandas" },
@@ -2887,14 +2887,14 @@ resolution-markers = [
2887
2887
  "python_full_version < '3.11'",
2888
2888
  ]
2889
2889
  dependencies = [
2890
- { name = "affine", marker = "python_full_version < '3.12'" },
2891
- { name = "attrs", marker = "python_full_version < '3.12'" },
2892
- { name = "certifi", marker = "python_full_version < '3.12'" },
2893
- { name = "click", marker = "python_full_version < '3.12'" },
2894
- { name = "click-plugins", marker = "python_full_version < '3.12'" },
2895
- { name = "cligj", marker = "python_full_version < '3.12'" },
2896
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" },
2897
- { name = "pyparsing", marker = "python_full_version < '3.12'" },
2890
+ { name = "affine" },
2891
+ { name = "attrs" },
2892
+ { name = "certifi" },
2893
+ { name = "click" },
2894
+ { name = "click-plugins" },
2895
+ { name = "cligj" },
2896
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } },
2897
+ { name = "pyparsing" },
2898
2898
  ]
2899
2899
  sdist = { url = "https://files.pythonhosted.org/packages/ec/fa/fce8dc9f09e5bc6520b6fc1b4ecfa510af9ca06eb42ad7bdff9c9b8989d0/rasterio-1.4.4.tar.gz", hash = "sha256:c95424e2c7f009b8f7df1095d645c52895cd332c0c2e1b4c2e073ea28b930320", size = 445004, upload-time = "2025-12-12T18:01:08.971Z" }
2900
2900
  wheels = [
@@ -2952,13 +2952,13 @@ resolution-markers = [
2952
2952
  "python_full_version >= '3.12' and python_full_version < '3.14'",
2953
2953
  ]
2954
2954
  dependencies = [
2955
- { name = "affine", marker = "python_full_version >= '3.12'" },
2956
- { name = "attrs", marker = "python_full_version >= '3.12'" },
2957
- { name = "certifi", marker = "python_full_version >= '3.12'" },
2958
- { name = "click", marker = "python_full_version >= '3.12'" },
2959
- { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
2955
+ { name = "affine" },
2956
+ { name = "attrs" },
2957
+ { name = "certifi" },
2958
+ { name = "click" },
2959
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
2960
2960
  { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
2961
- { name = "pyparsing", marker = "python_full_version >= '3.12'" },
2961
+ { name = "pyparsing" },
2962
2962
  ]
2963
2963
  sdist = { url = "https://files.pythonhosted.org/packages/1d/1a/ee73b447f1623a6bb6490af08d4bbed3fb6e38b0adc54553a0d244d4103a/rasterio-1.5.1.tar.gz", hash = "sha256:c1b6ae15f4ccad704f1fe8417da5c2250145c7bcdb91acb53833bf5aefdd9e48", size = 457868, upload-time = "2026-08-08T02:45:15.844Z" }
2964
2964
  wheels = [
@@ -1,5 +0,0 @@
1
- {
2
- "disabledMcpjsonServers": [
3
- "geo-infrastructure"
4
- ]
5
- }
File without changes
File without changes
File without changes
File without changes
File without changes