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.
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/PKG-INFO +1 -1
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pyproject.toml +1 -1
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/__init__.py +8 -0
- pysits-2.0.0.dev7/pysits/backend/rinterface.py +49 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/ml.py +1 -0
- pysits-2.0.0.dev7/tests/test_backend.py +42 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_embedding.py +2 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/uv.lock +72 -72
- pysits-2.0.0.dev5/.claude/settings.local.json +0 -5
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.gitattributes +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.github/actions/setup-pysits/action.yml +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.github/workflows/ruff.yaml +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.github/workflows/tests.yaml +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.gitignore +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/.pre-commit-config.yaml +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/LICENSE +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/README.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/conda/meta.yaml +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/arrow.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/functions.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/loaders.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/backend/pkgs.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/clojure.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/common.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/decorators.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/base.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/mask.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/dsl/tuning.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/stac.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/tibble.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/vector.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/conversions/xarray.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_linear.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_mean.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_mean_window.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/impute_median.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/plot.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_accuracy.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_accuracy_summary.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_add_base_cube.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_apply.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_as_geopandas.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_bands.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_barlow_twins.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_bbox.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_classify.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_clean.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cluster_clean.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cluster_dendro.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cluster_frequency.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_qgis.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_reset.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_set.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_colors_show.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_combine_predictions.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_confidence_sampling.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_config.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_config_show.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_config_user_file.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_contrastive_learning.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cube.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_cube_copy.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_encode.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_formula_linear.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_formula_logref.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_geo_dist.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_get_class.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_get_data.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_get_probs.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_kfold_validate.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_label_classification.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_labels.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_labels_summary.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_lightgbm.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_lighttae.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_list_collections.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_lstm_fcn.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_merge.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_mixture_model.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_mlp.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_model_export.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_mosaic.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_parallel.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_patterns.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pre_train.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_features.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_normalize.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_references.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_pred_sample.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_predictors.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_random_sampling.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_reclassify.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_reduce.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_reduce_imbalance.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_regularize.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_resnet.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_rfor.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_roi_to_tiles.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_sample.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_sampling_design.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_sankey.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_segment.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_select.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_show_prediction.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_slic.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_smooth.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_snic.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_clean_samples.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_evaluate_cluster.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_map.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_som_remove_samples.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_ssl_lejepa.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_ssl_mae.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_ssl_vicreg.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_stats.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_stratified_sampling.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_svm.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tae.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tempcnn.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_texture.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tiles_to_roi.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_timeline.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_timeseries_to_csv.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_to_csv.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_to_xlsx.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_train.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tuning.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_tuning_hparams.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_uncertainty.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_uncertainty_sampling.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_validate.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_variance.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_view.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/sits_xgboost.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/content/summary.md +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/docs/decorators.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/extras/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/extras/earthdatalogin.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/extras/torch.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/jinja.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/base.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/accuracy.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/base.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/cube.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/frame.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/frame_accessor.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/matrix.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/table.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/ts.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/tuning.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/data/vector.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/frame.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/ml.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/resolver.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/models/visual.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/settings.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/colors.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/config.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/context.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/cube.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/data.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/files.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/sf.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/exporters/xarray.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/impute.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/segment.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/tiles.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/ts.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/tuning.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/utils.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/sits/visualization.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/templates/cube.html +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/templates/plot.html +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/templates/tuning.html +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/__init__.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/base.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/device.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/host.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/leaflet.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/pysits/visualization/options.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/conftest.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_classification.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_config.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_conversions.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_cube.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_data.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_dsl.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_exporters.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_exporters_geopandas.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_exporters_xarray.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_extras.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_indexing.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_ml_models.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_resolver.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_rl_models.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_som.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_tiles.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_tuning.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_utils.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_validation.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_visual_models.py +0 -0
- {pysits-2.0.0.dev5 → pysits-2.0.0.dev7}/tests/test_visualization.py +0 -0
|
@@ -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"
|
|
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"
|
|
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" }
|
|
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
|
|
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"
|
|
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"
|
|
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 = "
|
|
828
|
-
{ name = "decorator"
|
|
829
|
-
{ name = "exceptiongroup"
|
|
830
|
-
{ name = "jedi"
|
|
831
|
-
{ name = "matplotlib-inline"
|
|
832
|
-
{ name = "pexpect", marker = "
|
|
833
|
-
{ name = "prompt-toolkit"
|
|
834
|
-
{ name = "pygments"
|
|
835
|
-
{ name = "stack-data"
|
|
836
|
-
{ name = "traitlets"
|
|
837
|
-
{ name = "typing-extensions"
|
|
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 = "
|
|
857
|
-
{ name = "ipython-pygments-lexers"
|
|
858
|
-
{ name = "jedi"
|
|
859
|
-
{ name = "matplotlib-inline"
|
|
860
|
-
{ name = "pexpect", marker = "
|
|
861
|
-
{ name = "prompt-toolkit"
|
|
862
|
-
{ name = "psutil", marker = "
|
|
863
|
-
{ name = "pygments"
|
|
864
|
-
{ name = "stack-data"
|
|
865
|
-
{ name = "traitlets"
|
|
866
|
-
{ name = "typing-extensions", marker = "python_full_version
|
|
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"
|
|
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" }
|
|
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"
|
|
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" }
|
|
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
|
|
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"
|
|
1280
|
-
{ name = "pillow"
|
|
1281
|
-
{ name = "pyparsing"
|
|
1282
|
-
{ name = "python-dateutil"
|
|
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" }
|
|
1569
|
-
{ name = "python-dateutil"
|
|
1570
|
-
{ name = "pytz"
|
|
1571
|
-
{ name = "tzdata"
|
|
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" }
|
|
1622
|
-
{ name = "python-dateutil"
|
|
1623
|
-
{ name = "tzdata", marker = "
|
|
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"
|
|
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"
|
|
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"
|
|
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.
|
|
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"
|
|
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"
|
|
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"
|
|
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
|
|
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"
|
|
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 = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|