Eo-learn

Latest version: v1.5.7

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

Scan your dependencies

Page 4 of 6

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

0.10.0

- `EOWorkflow` now automatically makes a shallow copy of each `EOPatch` before passing it to any `EOTask` in the workflow.
- Streamlined naming conventions of EOTasks - every name now ends with `Task`. Old names have been deprecated.
- Improved functionality of merging EOPatches, particularly of merging time-dependent features.
- Removed support for Python 3.6 and added official support for Python 3.9.
- Implemented `EOPatch.copy` and `EOPatch.__delitem__` methods.
- Added `eolearn.io.MeteoblueRasterTask` and `eolearn.io.MeteoblueVectorTask` for obtaining weather data. Joint effort with Meteoblue.
- `VectorToRasterTask` now supports rasterization of time-dependant vector features. Contributed by asylve.
- Fixes in `SentinelHubInputTask`. Both `SentinelHubInputTask` and `SentinelHubEvalscriptTask` now return EOPatches with timestamps that don't have timezone information anymore.
- Changed `rasterio` dependency to `rasterio>=1.2.7`
- All but `eolearn.core` tests ported to `pytest` framework.
- Switched from Travis CI to GitHub actions.
- Minor fixes and improvements.

0.9.2

- Minor fixes and improvements:
* `SaveTask` and `LoadTask` don't automatically store a filesystem object anymore,
* fix in `ImportFromTiff` about file extensions, contributed by rpitonak,
* fix in `SentinelHubInputTask` about data collection bands handling,
* fix in `GeoDBVectorImportTask`,
* `NormalizedDifferenceIndexTask` doesn't show division warnings anymore,
* improvement in `PointSamplingTask`
* improvements in LULC documentation notebook.

0.9.1

- Added new tasks `VectorImportTask`, `GeopediaVectorImportTask`, and `GeoDBVectorImportTask` to `eo-learn-io`.
- Code improvements in LULC classification documentation notebook.
- Minor improvements and fixes.

Page 4 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.