Eo-learn

Latest version: v1.5.4

Safety actively analyzes 638452 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

1.1.1

- Fixed a bug in `eolearn.io.ImportFromTiffTask` where a bounding box from the image wasn't added to the EOPatch.
- Increased minimal version of `Pillow` dependency in `eolearn.features`.

1.1.0

- Large improvements of parallelization in EOExecutor. Introduced the `eolearn.core.utils.parallelize` module, featuring tools for different parallelization modes.
- Added support for session sharing in `SentinelHubInputTask`, `SentinelHubEvalscriptTask` and `SentinelHubDemTask` by adding a `session_loader` parameter. Session sharing of `sentinelhub-py` is explained [here](https://github.com/sentinel-hub/sentinelhub-py/blob/master/examples/session_sharing.ipynb).
- Added `SpatialResizeTask` to `eolearn.features.feature_manipulation` for spatially resizing EOPatch features.
- Improved how `ImportFromTiffTask` reads from remote filesystems.
- Switched to non-structural hashing of `EONode` class to avoid massive slowdowns in large workflows.
- Improved procedure for building documentation and displaying of type annotations.
- Various minor improvements.

1.0.2

- Added workaround for an issue introduced by `fs==2.4.16`.
- Executor progress bar improved for use-cases with many EOPatches.
- `LoadTask` and `SaveTask` can now handle *empty* queries (by setting `eopatch_folder=None`).
- Minor improvements in code and documentation.

1.0.1

- Fixed an issue where vector features with empty dataframes couldn't be saved to a Geopackage.
- Memory improvement in `EOPatch` merging procedure.
- Added support for `aws_session_token`, contributed by theirix.
- Fixed an issue in `ImportFromTiffTask`.
- Fixed a packaging issue where some new subpackage extensions didn't work in the version `1.0.0` that was released to PyPI.
- `eo-learn` abstract package from now on requires fixed versions of `eo-learn` subpackages.
- Applied `isort` formatting on the entire package.
- Minor improvements in code and documentation.

1.0.0

Core Changes

- `EOPatch` changes:
* IO for vectors and meta-info switched from `pickle` to Geopackage, GeoJSON, and JSON files. Objects saved with `pickle` can be loaded but the format is deprecated.
* Now supports the `in` keyword for checking whether an `EOPatch` contains a given feature.
* Major update to `EOPatch` plotting functionality, which now features a simpler `matplotlib` back-end. See [example notebook](https://github.com/sentinel-hub/eo-learn/blob/develop-v1.0/examples/visualization/EOPatchVisualization.ipynb) for more details.
* Removed some outdated `EOPatch` methods such as `get_feature`, `rename_feature`, etc.
* Representation (`EOPatch.__repr__` method) skips empty features.

- `EOTask` changes:
* `EOTask` method `_parse_features` replaced with `get_feature_parser` and additional helper methods (`parse_feature`, `parse_renamed_feature`, `parse_features`, `parse_renamed_features`).
* Removed `EOTask.__mul__` as task concatenation as it was unsound.

- `EONode` is a newly introduced object for specifying computational graphs. It replaces raw `EOTask` objects when building an `EOWorkflow`.

- `EOWorkflow` changes:
* `LinearWorkflow` is replaced with `linearly_connect_tasks` function that prepares nodes for a linear workflow.
* No longer accepts tuples in execution arguments. In cases where this is required, passing arguments to a task can be done with the new `InputTask`.
* `EONodes` form a tree-like structure of dependencies, hence the end-nodes of a workflow contain all information. An `EOWorkflow` object can be constructed from end-nodes via `from_endnodes` method.

- `EOExecutor` changes:
* Added `RayExecutor` as an extension of `EOExecutor` for working with the `ray` library.
* Execution arguments are now given w.r.t. `EONode` objects instead of `EOTasks`.
* Now always returns results, which by default only contain statistics. Other data (for instance the final EOPatch) can be added to results with the new `OutputTask`.
* Additionally, supports a `filesystem` argument for saving logs and reports.
* Reports now have the option to only link to logs, greatly reducing size in case of large numbers of EOPatches. Logs files are now also more informative.

- `FeatureParser` now supports fewer input formats but handles those better. It now returns lists instead of generators. See documentation for more information.
- `WorkflowResults` are re-done. They now contain execution stats of nodes (start and end times) and the outputs of `OutputTask`s in the workflow.
- `FeatureType` method `is_time_dependant` renamed to `is_temporal`.

Tasks
- Added `LinearFunctionTask` which applies a linear function to features.
- `MorphologicalFilterTask` moved from `ml_tools` to `features` module.
- Sampling tasks moved `geometry` to `ml_tools` module. Sampling tasks have also been greatly upgraded, with the main being:
- `FractionSamplingTask` for sampling random points in a class-balanced way
- `BlockSamplingTask` for randomly sampling larger blocks of data (can also be 1 pixel blocks)
- `GridSamplingTask` for deterministically sampling according to a grid.
- Removed `feature_extractor` module.
- Removed unused submodules of `ml_tools` (`classifier`, `postprocessing`, ...)
- To reduce core dependencies some functionalities have been moved to `extra` modules.
- Removed deprecated and outdated methods and tasks.

Other
- Moved many examples to [new repository](https://github.com/sentinel-hub/eo-learn-examples). The rest were updated.
- Switched to github actions for CI.
- Code was reformatted with `black` and is now checked to be compliant with the standard.
- Abstract base classes are now correctly enforced.
- Added utility functions for working with S3 and AWS.
- Various minor changes.

0.10.1

- Copying EOPatches no longer forces loading of features if the EOPatch was loaded with `lazy_loading=True`
- `SentinelHubInputTask` now requests bands with correct units and should now work with more data collections. The parameter `bands_dtype` is now by default set to `None`, which uses the default units of each band. **Note:** due to changes the task no longer normalizes the output when `bands_dtype=np.uint16` is used.
- Minor fixes and improvements

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.