From ccfee03108060cd37a4c34c949999110208e11a0 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sat, 21 Dec 2024 12:32:38 +0100 Subject: [PATCH 1/3] Remove `__future__` imports --- examples/setup_antarctic_basins.py | 4 ---- examples/setup_extended_antarctic_basins.py | 4 ---- examples/setup_ice_shelves.py | 4 ---- examples/setup_ocean_critical_passages.py | 4 ---- examples/setup_ocean_land_coverage.py | 4 ---- examples/setup_ocean_region_groups.py | 4 ---- examples/setup_ocean_standard_transport_sections.py | 4 ---- geometric_features/__init__.py | 3 --- geometric_features/__main__.py | 3 --- geometric_features/download.py | 3 --- geometric_features/feature_collection.py | 3 --- geometric_features/geometric_features.py | 3 --- geometric_features/plot.py | 3 --- geometric_features/utils.py | 3 --- 14 files changed, 49 deletions(-) diff --git a/examples/setup_antarctic_basins.py b/examples/setup_antarctic_basins.py index 391239f1..ac6f1476 100755 --- a/examples/setup_antarctic_basins.py +++ b/examples/setup_antarctic_basins.py @@ -3,10 +3,6 @@ This script combines Antarctic basins into a single feature file. """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.pyplot as plt from geometric_features import GeometricFeatures diff --git a/examples/setup_extended_antarctic_basins.py b/examples/setup_extended_antarctic_basins.py index 9a6a30ed..ab3bf281 100755 --- a/examples/setup_extended_antarctic_basins.py +++ b/examples/setup_extended_antarctic_basins.py @@ -4,10 +4,6 @@ into a single feature file. """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.pyplot as plt from geometric_features import FeatureCollection, GeometricFeatures diff --git a/examples/setup_ice_shelves.py b/examples/setup_ice_shelves.py index 607a90cf..e4465b62 100755 --- a/examples/setup_ice_shelves.py +++ b/examples/setup_ice_shelves.py @@ -3,10 +3,6 @@ This script creates region groups for ice shelves """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.pyplot as plt from geometric_features import FeatureCollection, GeometricFeatures diff --git a/examples/setup_ocean_critical_passages.py b/examples/setup_ocean_critical_passages.py index 22a794a1..485b8d28 100755 --- a/examples/setup_ocean_critical_passages.py +++ b/examples/setup_ocean_critical_passages.py @@ -3,10 +3,6 @@ This script combines transects defining cricial passages. """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from geometric_features import GeometricFeatures # create a GeometricFeatures object that points to a local cache of geometric diff --git a/examples/setup_ocean_land_coverage.py b/examples/setup_ocean_land_coverage.py index 621fc042..3142eec0 100755 --- a/examples/setup_ocean_land_coverage.py +++ b/examples/setup_ocean_land_coverage.py @@ -7,10 +7,6 @@ up sub-ice-shelf cavities in the ocean around Antarctica. """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.pyplot as plt from geometric_features import GeometricFeatures diff --git a/examples/setup_ocean_region_groups.py b/examples/setup_ocean_region_groups.py index 9a36dd97..07e84414 100755 --- a/examples/setup_ocean_region_groups.py +++ b/examples/setup_ocean_region_groups.py @@ -11,10 +11,6 @@ regions. """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import copy import matplotlib.pyplot as plt diff --git a/examples/setup_ocean_standard_transport_sections.py b/examples/setup_ocean_standard_transport_sections.py index 0f507ce9..e40de932 100755 --- a/examples/setup_ocean_standard_transport_sections.py +++ b/examples/setup_ocean_standard_transport_sections.py @@ -4,10 +4,6 @@ all of which have the "standard_transport_sections" tag. """ -# stuff to make scipts work for python 2 and python 3 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from geometric_features import GeometricFeatures # create a GeometricFeatures object that points to a local cache of geometric diff --git a/geometric_features/__init__.py b/geometric_features/__init__.py index 0f670ca4..2b8564b4 100644 --- a/geometric_features/__init__.py +++ b/geometric_features/__init__.py @@ -1,6 +1,3 @@ -from __future__ import absolute_import, division, print_function, \ - unicode_literals - from geometric_features.geometric_features import GeometricFeatures from geometric_features.feature_collection import FeatureCollection, \ diff --git a/geometric_features/__main__.py b/geometric_features/__main__.py index b90e0d8f..3eb88187 100644 --- a/geometric_features/__main__.py +++ b/geometric_features/__main__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import argparse import os diff --git a/geometric_features/download.py b/geometric_features/download.py index 52285664..d6bb6566 100644 --- a/geometric_features/download.py +++ b/geometric_features/download.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import os from urllib.request import pathname2url diff --git a/geometric_features/feature_collection.py b/geometric_features/feature_collection.py index 24483bbb..bac08c02 100644 --- a/geometric_features/feature_collection.py +++ b/geometric_features/feature_collection.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import json try: diff --git a/geometric_features/geometric_features.py b/geometric_features/geometric_features.py index 4b9dfeaa..03e70132 100644 --- a/geometric_features/geometric_features.py +++ b/geometric_features/geometric_features.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import json import os from importlib.resources import files as imp_res_files diff --git a/geometric_features/plot.py b/geometric_features/plot.py index 6b095cc5..d1734c0d 100644 --- a/geometric_features/plot.py +++ b/geometric_features/plot.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import cartopy.crs import cartopy.feature import matplotlib.pyplot as plt diff --git a/geometric_features/utils.py b/geometric_features/utils.py index 170a089e..37c78e5a 100644 --- a/geometric_features/utils.py +++ b/geometric_features/utils.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import datetime import glob import json From 234fe9e89a21085fb6ff2700d6aa7b11af4bc17b Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sat, 21 Dec 2024 16:54:57 +0100 Subject: [PATCH 2/3] Add geometric_features/__init__.py back to pre-commit To support sorted imports, version info must be moved to its own separate file and a few imports must no longer use the short-cut version. --- .pre-commit-config.yaml | 1 - geometric_features/__init__.py | 19 +++++++------------ geometric_features/__main__.py | 25 +++++++++++++------------ geometric_features/version.py | 2 ++ setup.py | 4 ++-- 5 files changed, 24 insertions(+), 27 deletions(-) create mode 100644 geometric_features/version.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 116ef6b8..5f511166 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,6 @@ repos: rev: 5.13.2 hooks: - id: isort - exclude: "geometric_features/__init__.py" # Can run individually with `flynt [file]` or `flynt [source]` - repo: https://github.com/ikamensh/flynt diff --git a/geometric_features/__init__.py b/geometric_features/__init__.py index 2b8564b4..5e2bceb1 100644 --- a/geometric_features/__init__.py +++ b/geometric_features/__init__.py @@ -1,14 +1,9 @@ +from geometric_features.__main__ import (combine_features, difference_features, + fix_features_at_antimeridian, + merge_features, plot_features, + set_group_name, simplify_features, + split_features, tag_features) +from geometric_features.feature_collection import (FeatureCollection, + read_feature_collection) from geometric_features.geometric_features import GeometricFeatures - -from geometric_features.feature_collection import FeatureCollection, \ - read_feature_collection - -from geometric_features.__main__ import combine_features, difference_features, \ - fix_features_at_antimeridian, merge_features, plot_features, \ - set_group_name, split_features, simplify_features, tag_features - from geometric_features.utils import write_feature_names_and_tags - - -__version_info__ = (1, 6, 0) -__version__ = '.'.join(str(vi) for vi in __version_info__) diff --git a/geometric_features/__main__.py b/geometric_features/__main__.py index 3eb88187..90649705 100644 --- a/geometric_features/__main__.py +++ b/geometric_features/__main__.py @@ -1,10 +1,10 @@ import argparse import os -import geometric_features -from geometric_features import GeometricFeatures from geometric_features.feature_collection import (FeatureCollection, read_feature_collection) +from geometric_features.geometric_features import GeometricFeatures +from geometric_features.version import __version__ def combine_features(): @@ -25,7 +25,7 @@ def combine_features(): metavar="PATH", default="features.geojson") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -54,7 +54,7 @@ def difference_features(): metavar="PATH", default="features.geojson") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -79,7 +79,7 @@ def fix_features_at_antimeridian(): metavar="PATH", default="features.geojson") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -121,7 +121,7 @@ def merge_features(): metavar="PATH") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -166,7 +166,7 @@ def plot_features(): " (0.0 indicates skip subdivision)") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -188,7 +188,8 @@ def plot_features(): figsize = (12, 9) fig = fc.plot(mapType, args.max_length, figsize) - plotFileName = f'{os.path.splitext(args.feature_file)[0]}_{mapType}.png' + plotFileName = \ + f'{os.path.splitext(args.feature_file)[0]}_{mapType}.png' fig.savefig(plotFileName) @@ -208,7 +209,7 @@ def set_group_name(): required=True) parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -237,7 +238,7 @@ def simplify_features(): metavar="PATH", default="features.geojson") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -262,7 +263,7 @@ def split_features(): metavar="PATH", default="./geometric_data") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() @@ -291,7 +292,7 @@ def tag_features(): metavar="PATH", default="features.geojson") parser.add_argument('-v', '--version', action='version', - version=f'geometric_features {geometric_features.__version__}', + version=f'geometric_features {__version__}', help="Show version number and exit") args = parser.parse_args() diff --git a/geometric_features/version.py b/geometric_features/version.py new file mode 100644 index 00000000..f0c86403 --- /dev/null +++ b/geometric_features/version.py @@ -0,0 +1,2 @@ +__version_info__ = (1, 6, 0) +__version__ = '.'.join(str(vi) for vi in __version_info__) diff --git a/setup.py b/setup.py index ec922a49..eb63a890 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ from setuptools import find_packages, setup here = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(here, 'geometric_features', '__init__.py')) as f: +with open(os.path.join(here, 'geometric_features', 'version.py')) as f: init_file = f.read() version = re.search(r'{}\s*=\s*[(]([^)]*)[)]'.format('__version_info__'), @@ -49,7 +49,7 @@ 'difference_features = ' 'geometric_features.__main__:difference_features', 'fix_features_at_antimeridian = ' - 'geometric_features.__main__:fix_features_at_antimeridian', + 'geometric_features.__main__:fix_features_at_antimeridian', # noqa: E501 'merge_features = ' 'geometric_features.__main__:merge_features', 'plot_features = ' From d6fdd75ce91f5ea9f20b6162328154952e68b1a4 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sat, 21 Dec 2024 17:18:16 +0100 Subject: [PATCH 3/3] Update version info in docs and geometric_features --- docs/conf.py | 7 +++---- geometric_features/geometric_features.py | 7 ++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 04d3f3ee..7e7c2970 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,11 +12,10 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import os from datetime import date -import geometric_features from geometric_features.docs.parse_quick_start import build_quick_start +from geometric_features.version import __version__ # -- General configuration ------------------------------------------------ @@ -72,9 +71,9 @@ # built documents. # # The short X.Y version. -version = geometric_features.__version__ +version = __version__ # The full version, including alpha/beta/rc tags. -release = geometric_features.__version__ +release = __version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/geometric_features/geometric_features.py b/geometric_features/geometric_features.py index 03e70132..bfbf6ecd 100644 --- a/geometric_features/geometric_features.py +++ b/geometric_features/geometric_features.py @@ -2,10 +2,10 @@ import os from importlib.resources import files as imp_res_files -import geometric_features from geometric_features.download import download_files from geometric_features.feature_collection import (FeatureCollection, read_feature_collection) +from geometric_features.version import __version__ class GeometricFeatures(object): @@ -54,7 +54,7 @@ def __init__(self, cacheLocation=None, remoteBranchOrTag=None): else: self.cacheLocation = cacheLocation if remoteBranchOrTag is None: - self.remoteBranch = geometric_features.__version__ + self.remoteBranch = __version__ else: self.remoteBranch = remoteBranchOrTag @@ -259,7 +259,8 @@ def _get_feature_names(self, componentName, objectType, featureNames, component = self.allFeaturesAndTags[componentName] if objectType not in component: - raise KeyError(f'invalid object {objectType} in component {componentName}') + raise KeyError( + f'invalid object {objectType} in component {componentName}') availableFeaturesAndTags = component[objectType]