polytope-python 2.1.8__tar.gz → 2.1.10__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.
- {polytope_python-2.1.8/polytope_python.egg-info → polytope_python-2.1.10}/PKG-INFO +1 -1
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/_version.py +1 -1
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/quadtree_slicer.py +15 -2
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/options.py +9 -5
- {polytope_python-2.1.8 → polytope_python-2.1.10/polytope_python.egg-info}/PKG-INFO +1 -1
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/ci-config.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/ci-hpc-config.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/workflows/cd.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/workflows/ci.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/workflows/downstream-ci.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/workflows/label-public-pr.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.github/workflows/test-pypi.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.gitignore +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.pre-commit-config.yaml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/.readthedocs.yaml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/ACKNOWLEDGEMENTS.rst +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/CONTRIBUTING.rst +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/LICENSE +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/Makefile +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/README.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/codecov.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/API.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/Axis_types.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/Datacube.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/Slicer.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/images/Polytope_APIs_3.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/images/polytope_components_5.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/images/slicing_process.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/shapes.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Overview/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Overview/Polytope_at_ECMWF.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Overview/images_overview/ecmwf_datacube.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Overview/images_overview/ecmwf_polytope.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/Building_Features.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/Example.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/Getting_started.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/images_users/shipping_route.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Client/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Server/Design.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Server/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Data_Portfolio.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Design_doc.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_boundingbox_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_circle_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_country_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_polygon_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_position_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_timeseries_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_trajectory_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/OpenData/od_vertical_profile_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/boundingbox_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/circle_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/climate_dt_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/country_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/examples.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/extremes_dt_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/on-demand_dt_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/opendata_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/operational_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/polygon_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/position_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/timeseries_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/trajectory_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/vertical_profile_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/boundingbox.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/circle.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/feature.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/polygon.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/position.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/timeseries.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/trajectory.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Features/vertical_profile.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Full_fields.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Installation.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Quick_Start.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/extra.css +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/flight_path.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/greece.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/logo.gif +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/polytope_feature.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/polytope_logo_new_animated_AdobeExpress_3.gif +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/timeseries.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/timeseries_example.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/images/timeseries_qs.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/index.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/docs/requirements.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/3D_shipping_route.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/3D_shipping_route_wave_model.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/4D_flight_path.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/country_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/cyclic_route_around_earth.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shp +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shx +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/Shipping-Lanes-v1.shp +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/Shipping-Lanes-v1.shx +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/World_Countries__Generalized_.shp +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/World_Countries__Generalized_.shx +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/earth_image.jpg +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/map_earth_4k.jpg +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/mars_req_9km_wind.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/mars_req_levels.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/mars_req_timeseries.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/output4.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/output4.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/output8.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/output8.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/temp_model_levels.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/timeseries_t2m.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/winds.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/healpix_grid_box_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/octahedral_grid_box_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/octahedral_grid_country_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/plotting_country_data.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/read_me_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/requirements_examples.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/slicing_all_ecmwf_countries.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/timeseries_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/examples/wind_farms.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/mkdocs.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/fdb_performance.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/fdb_performance_3D.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/fdb_scalability_plot.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/fdb_slice_many_numbers_timeseries.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/performance_many_num_steps.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/plotting_scalability.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/scalability_test.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance/scalability_test_2.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance_unstructured/octahedral_vs_unstructured_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/performance_unstructured/plot_structured_vs_unstructured_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/catalogue_helper.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/datacube.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/mock.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/xarray.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/datacube_axis.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/index_tree.proto +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/index_tree_pb2.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/quadtree/quad_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/quadtree/quadtree_additional_operations.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/switching_grid_helper.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/tensor_index_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_cyclic/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_cyclic/datacube_cyclic.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/datacube_mappers.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix_nested.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/icon.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/lambert_conformal.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/unstructured.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/local_regular.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/octahedral.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_gaussian.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_ll.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/regular.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_merger/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_merger/datacube_merger.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_reverse/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_reverse/datacube_reverse.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_transformations.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_type_change/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/transformations/datacube_type_change/datacube_type_change.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/tree_encoding.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/engine.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/hullslicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/optimised_point_in_polygon_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/optimised_quadtree_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/point_in_polygon_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/slicing_tools.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/polytope.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/shapes.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/combinatorics.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/engine_tools.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/exceptions.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/geometry.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/list_tools.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/utility/profiling.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_python.egg-info/SOURCES.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_python.egg-info/dependency_links.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_python.egg-info/requires.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_python.egg-info/top_level.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/pyproject.toml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/Cargo.toml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/distance.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/healpix_nested.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/lambert_conformal.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/lib.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/list_tools.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/octahedral.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/point_in_polygon.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/quadtree_mod.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/rust/src/slicing_tools.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/setup.cfg +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/setup.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/conftest.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/fdb_data/schema +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/helper_functions.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/profiled_quadtree.profile +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/quadtree_slicer_profiler.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_axis_mappers.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_bad_request_error.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_combinatorics.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_cyclic_axis_over_negative_vals.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_cyclic_axis_slicer_not_0.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_cyclic_axis_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_cyclic_nearest.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_cyclic_simple.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_cyclic_snapping.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_datacube_axes_init.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_datacube_mock.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_datacube_xarray.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_date_time_unmerged.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_ecmwf_oper_data_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_engine_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_fdb_datacube.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_fdb_unmap_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_float_type.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_healpix_mapper.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_healpix_nested_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_hull_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_hullslicer_engine.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_icon_grid_unstructured.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_icon_grid_unstructured_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_incomplete_tree_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_lambert_lam_grid_unstructured_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_lambert_lam_grid_unstructured_fdb_optimised_quadtree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_local_grid_cyclic.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_local_regular_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_local_swiss_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_mappers.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_merge_cyclic_octahedral.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_merge_octahedral_one_axis.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_merge_transformation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_multiple_param_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_octahedral_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_orca_irregular_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_orca_irregular_grid_optimised_point_in_polygon.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_orca_irregular_grid_point_in_polygon.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_override_md5_hash_options.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_point_nearest.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_point_shape.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_point_union.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_polytope_extract.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_polytope_extract_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_profiling_requesttree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_quad_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_quadtree_edge_cases.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_quadtree_indices.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_quadtree_optimisation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_reduced_ll_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_regular_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_regular_reduced_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_request_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_request_trees_after_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_reverse_transformation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_shapes.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_shapes_volume.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slice_date_range_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slice_date_range_fdb_v2.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slice_fdb_box.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slicer_engine.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slicer_era5.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slicer_xarray.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slicing_unsliceable_axis.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slicing_xarray_3D.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_slicing_xarray_4D.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_snapping.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_snapping_real_data.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_tree_protobuf.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_tree_protobuf_encoding.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_tree_protobuf_encoding_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_type_change_transformation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_union_gj.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_union_point_box.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tests/test_wave_spectra_data.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.10}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polytope-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.10
|
|
4
4
|
Summary: Polytope datacube feature extraction library
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
Maintainer-email: James Hawkes <James.Hawkes@ecmwf.int>, Mathilde Leuridan <Mathilde.Leuridan@ecmwf.int>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Do not change! Do not track in version control!
|
|
2
|
-
__version__ = "2.1.
|
|
2
|
+
__version__ = "2.1.10"
|
|
@@ -19,6 +19,7 @@ class QuadTreeSlicer(Engine):
|
|
|
19
19
|
# TODO: maybe we create the quadtree as soon as we have an unstructured slicer type and return it
|
|
20
20
|
# to the slicer somehow?
|
|
21
21
|
quad_tree = QuadTree()
|
|
22
|
+
# NOTE: the points here are assumed to be lat/lon implicitly
|
|
22
23
|
points = [tuple(point) for point in points]
|
|
23
24
|
quad_tree.build_point_tree(points)
|
|
24
25
|
self.points = points
|
|
@@ -27,17 +28,29 @@ class QuadTreeSlicer(Engine):
|
|
|
27
28
|
def extract_single(self, datacube, polytope):
|
|
28
29
|
# extract a single polygon
|
|
29
30
|
# if need to find nearest points, then take alternative slicing method using quadtree to find nearest point
|
|
31
|
+
axes = polytope.axes()
|
|
32
|
+
assert len(axes) == 2
|
|
33
|
+
assert "latitude" in axes and "longitude" in axes
|
|
34
|
+
revert_axes = not (list(axes) == ["latitude", "longitude"])
|
|
30
35
|
if use_rust:
|
|
31
36
|
if len(datacube.nearest_search) == 0:
|
|
32
|
-
|
|
37
|
+
if revert_axes:
|
|
38
|
+
polytope_points = [tuple(reversed(point)) for point in polytope.points]
|
|
39
|
+
else:
|
|
40
|
+
polytope_points = [tuple(point) for point in polytope.points]
|
|
33
41
|
polygon_points = self.quad_tree.query_polygon(self.points, 0, polytope_points)
|
|
34
42
|
else:
|
|
35
43
|
k = datacube.nearest_search[tuple(polytope.axes())][1]
|
|
36
|
-
|
|
44
|
+
if revert_axes:
|
|
45
|
+
nn_points = [tuple(reversed(pt)) for pt in datacube.nearest_search[tuple(polytope.axes())][0]]
|
|
46
|
+
else:
|
|
47
|
+
nn_points = [tuple(pt) for pt in datacube.nearest_search[tuple(polytope.axes())][0]]
|
|
37
48
|
polygon_points = []
|
|
38
49
|
for nn_pt in nn_points:
|
|
39
50
|
polygon_points.extend(self.quad_tree.k_nearest_neighbor(nn_pt, k, self.points))
|
|
40
51
|
else:
|
|
52
|
+
if revert_axes:
|
|
53
|
+
polytope.points = [tuple(reversed(point)) for point in polytope.points]
|
|
41
54
|
polygon_points = self.quad_tree.query_polygon(polytope)
|
|
42
55
|
return polygon_points
|
|
43
56
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import argparse
|
|
2
|
+
import logging
|
|
2
3
|
from abc import ABC
|
|
3
4
|
from typing import Dict, List, Literal, Optional, Tuple, Union
|
|
4
5
|
|
|
5
6
|
from conflator import ConfigModel, Conflator
|
|
6
7
|
from pydantic import ConfigDict
|
|
7
8
|
|
|
8
|
-
from polytope_feature.datacube.switching_grid_helper import lookup_grid_config
|
|
9
|
-
|
|
10
9
|
|
|
11
10
|
class TransformationConfig(ConfigModel):
|
|
12
11
|
model_config = ConfigDict(extra="forbid")
|
|
@@ -111,9 +110,12 @@ class PolytopeOptions(ABC):
|
|
|
111
110
|
replaced = replace_grid_config_in_options(config_options, pre_path)
|
|
112
111
|
if replaced:
|
|
113
112
|
axis_config = config_options.axis_config
|
|
114
|
-
except Exception:
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
except Exception as e:
|
|
114
|
+
logging.warning(
|
|
115
|
+
"Dynamic grid replacement failed for georef '%s': %s. Using static grid config.",
|
|
116
|
+
pre_path.get("georef", "unknown"),
|
|
117
|
+
e,
|
|
118
|
+
)
|
|
117
119
|
return (
|
|
118
120
|
axis_config,
|
|
119
121
|
compressed_axes_config,
|
|
@@ -151,6 +153,8 @@ def gridspec_to_grid_config(gridspec, md5hash):
|
|
|
151
153
|
|
|
152
154
|
|
|
153
155
|
def replace_grid_config_in_options(options, req):
|
|
156
|
+
from polytope_feature.datacube.switching_grid_helper import lookup_grid_config
|
|
157
|
+
|
|
154
158
|
gridspec, md5hash = lookup_grid_config(req)
|
|
155
159
|
grid_config = gridspec_to_grid_config(gridspec, md5hash)
|
|
156
160
|
if grid_config is not None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polytope-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.10
|
|
4
4
|
Summary: Polytope datacube feature extraction library
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
Maintainer-email: James Hawkes <James.Hawkes@ecmwf.int>, Mathilde Leuridan <Mathilde.Leuridan@ecmwf.int>
|
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Developer_Guide/Axis_types.md
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/Overview/Polytope_at_ECMWF.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/Building_Features.md
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Algorithm/User_Guide/Getting_started.md
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/boundingbox_example.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/climate_dt_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/country_example.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/extremes_dt_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/on-demand_dt_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/opendata_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/operational_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/polygon_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/position_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/timeseries_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/docs/Service/Examples/trajectory_example.ipynb
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shp
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/World_Countries__Generalized_.shp
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/examples/data/World_Countries__Generalized_.shx
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/examples/octahedral_grid_country_example.py
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/performance/fdb_slice_many_numbers_timeseries.py
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/datacube.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/backends/xarray.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/index_tree_pb2.py
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/quadtree/quad_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/switching_grid_helper.py
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/datacube/tensor_index_tree.py
RENAMED
|
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
|
{polytope_python-2.1.8 → polytope_python-2.1.10}/polytope_feature/engine/point_in_polygon_slicer.py
RENAMED
|
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
|