From 626fc5c8a9a9aed4fb0498e0b41dc5d62dc9b631 Mon Sep 17 00:00:00 2001 From: Chris Navarro Date: Mon, 2 Dec 2024 14:36:55 -0600 Subject: [PATCH 1/7] Fixes #636 Updated rasterio dependency to the latest to fetch correct GDAL version (#637) --- CHANGELOG.md | 6 ++++++ environment.yml | 2 +- recipes/meta.yaml | 2 +- requirements.min | 2 +- setup.py | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 031bafae..dc19653b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [Unreleased] + +### Fixed +- Updated rasterio dependency to the latest to fetch correct GDAL version [#636](https://github.com/IN-CORE/pyincore/issues/636) + + ## [1.20.1] - 2024-11-01 ### Fixed diff --git a/environment.yml b/environment.yml index 8b124882..0a6f14d6 100644 --- a/environment.yml +++ b/environment.yml @@ -15,7 +15,7 @@ dependencies: - pyproj>=3.6.1 - pytest>=3.9.0 - python-jose>=3.0 - - rasterio>=1.3.9 + - rasterio>=1.4.2 - requests>=2.31.0 - rtree>=1.1.0 - scipy>=1.11.3 diff --git a/recipes/meta.yaml b/recipes/meta.yaml index 8b893bc0..0c27bc11 100644 --- a/recipes/meta.yaml +++ b/recipes/meta.yaml @@ -49,7 +49,7 @@ requirements: - pandas>=2.1.2 - pyomo>=6.0.0,<=6.6.2 - pyproj>=3.6.1 - - rasterio>=1.3.9 + - rasterio>=1.4.2 - requests>=2.31.0 - rtree>=1.1.0 - scipy>=1.11.3 diff --git a/requirements.min b/requirements.min index c392a68b..613cbe81 100644 --- a/requirements.min +++ b/requirements.min @@ -11,7 +11,7 @@ pyomo>=6.0.0,<=6.6.2 pyproj>=3.6.1 pytest>=3.9.0 python-jose>=3.0 -rasterio>=1.3.9 +rasterio>=1.4.2 requests>=2.31.0 rtree>=1.1.0 scipy>=1.11.3 diff --git a/setup.py b/setup.py index 705de3dc..25b38c49 100644 --- a/setup.py +++ b/setup.py @@ -56,7 +56,7 @@ "pandas>=2.1.2", "pyomo>=6.0.0,<=6.6.2", "pyproj>=3.6.1", - "rasterio>=1.3.9", + "rasterio>=1.4.2", "rtree>=1.1.0", "scipy>=1.11.3", "shapely>=2.0.2", From 3ca707224226aaf56358233612d043555f6136a0 Mon Sep 17 00:00:00 2001 From: YONG WOOK KIM Date: Mon, 2 Dec 2024 14:40:55 -0600 Subject: [PATCH 2/7] Fix GitHub action error in posting the container when merged to main (#633) * Fixed github action error on publishing the container when merging to main branch * finished the test and put the code back to work with main branch --------- Co-authored-by: Chen Wang --- .github/workflows/doc.yaml | 6 ++++++ CHANGELOG.md | 1 + 2 files changed, 7 insertions(+) diff --git a/.github/workflows/doc.yaml b/.github/workflows/doc.yaml index 1af6592f..284944e1 100644 --- a/.github/workflows/doc.yaml +++ b/.github/workflows/doc.yaml @@ -51,6 +51,8 @@ jobs: tags="${tags},${version}" version=${version%.*} done + # Remove any unwanted double quotes from tags + tags=$(echo $tags | sed 's/"//g') echo "VERSION=${version}" >> $GITHUB_ENV echo "TAGS=${tags}" >> $GITHUB_ENV elif [ "$BRANCH" == "develop" ]; then @@ -61,6 +63,10 @@ jobs: echo "TAGS=${BRANCH}" >> $GITHUB_ENV fi + # debug TAGS + - name: Debug TAGS + run: echo "TAGS=${{ env.TAGS }}" + # build image - name: Build image uses: elgohr/Publish-Docker-Github-Action@3.04 diff --git a/CHANGELOG.md b/CHANGELOG.md index dc19653b..2e920d48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Fixed +- Documentation container tagging error by github action [#631](https://github.com/IN-CORE/pyincore/issues/631) - Updated rasterio dependency to the latest to fetch correct GDAL version [#636](https://github.com/IN-CORE/pyincore/issues/636) From 9a324b2d727ab7e5009079702eed1626bff9fcab Mon Sep 17 00:00:00 2001 From: Chris Navarro Date: Tue, 11 Feb 2025 11:03:26 -0600 Subject: [PATCH 3/7] Fixes #634 Update production URL references to tools.in-core.org and dev to dev.in-core.org (#635) * Fixes #634 Update production URL references to tools.in-core.org and dev to dev.in-core.org --- CHANGELOG.md | 3 +++ README.rst | 8 ++++---- docs/source/refs.rst | 8 ++++---- pyincore/globals.py | 4 ++-- recipes/meta.yaml | 4 ++-- setup.py | 2 +- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e920d48..36614ec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Documentation container tagging error by github action [#631](https://github.com/IN-CORE/pyincore/issues/631) - Updated rasterio dependency to the latest to fetch correct GDAL version [#636](https://github.com/IN-CORE/pyincore/issues/636) +### Changed +- Update production URL references to tools.in-core.org and dev to dev.in-core.org [#634](https://github.com/IN-CORE/pyincore/issues/634) + ## [1.20.1] - 2024-11-01 diff --git a/README.rst b/README.rst index 078f3d44..b84d1f23 100644 --- a/README.rst +++ b/README.rst @@ -33,7 +33,7 @@ To update **pyIncore**, run conda update -c in-core pyincore You can find detail information at the -`Installation `__ +`Installation `__ section at IN-CORE manual. Installation with pip @@ -61,17 +61,17 @@ Testing and Running ------------------- Please read the `Testing and -Running `__ +Running `__ section at IN-CORE manual. Documentation ------------- **pyIncore** documentation can be found at -https://incore.ncsa.illinois.edu/doc/incore/pyincore.html +https://tools.in-core.org/doc/incore/pyincore.html **pyIncore** technical reference (API) can be found at -https://incore.ncsa.illinois.edu/doc/pyincore/. +https://tools.in-core.org/doc/pyincore/. Acknowledgement --------------- diff --git a/docs/source/refs.rst b/docs/source/refs.rst index 259c3822..44e8bb71 100644 --- a/docs/source/refs.rst +++ b/docs/source/refs.rst @@ -5,9 +5,9 @@ References \ No newline at end of file diff --git a/pyincore/globals.py b/pyincore/globals.py index 426618f1..ac7ad716 100644 --- a/pyincore/globals.py +++ b/pyincore/globals.py @@ -12,8 +12,8 @@ PACKAGE_VERSION = "1.20.1" -INCORE_API_PROD_URL = "https://incore.ncsa.illinois.edu" -INCORE_API_DEV_URL = "https://incore-dev.ncsa.illinois.edu" +INCORE_API_PROD_URL = "https://tools.in-core.org" +INCORE_API_DEV_URL = "https://dev.in-core.org" INCORE_INTERNAL_API_URL = "http://localhost:8080" diff --git a/recipes/meta.yaml b/recipes/meta.yaml index 0c27bc11..182bd587 100644 --- a/recipes/meta.yaml +++ b/recipes/meta.yaml @@ -9,7 +9,7 @@ source: path: .. about: - home: https://incore.ncsa.illinois.edu + home: https://tools.in-core.org license: MPL-2.0 summary: 'Python library for IN-CORE (Interdependent Networked Community Resilience Modeling Environment)' description: 'pyIncore is a component of IN-CORE. It is a python package consisting of two primary components: @@ -17,7 +17,7 @@ about: package allows users to apply various hazards to infrastructure in selected areas, propagating the effect of physical infrastructure damage and loss of functionality to social and economic impacts.' dev_url: https://github.com/IN-CORE/pyincore - doc_url: https://incore.ncsa.illinois.edu/doc/incore + doc_url: https://tools.in-core.org/doc/incore build: # If this is a new build for the same version, increment the build diff --git a/setup.py b/setup.py index 25b38c49..009329f6 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ description="IN-CORE analysis tool python package", long_description=readme, long_description_content_type="text/x-rst", - url="https://incore.ncsa.illinois.edu", + url="https://tools.in-core.org", license="Mozilla Public License v2.0", classifiers=[ "Development Status :: 4 - Beta", From c092469edb71b10127f992d691ff707391718378 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 12 Feb 2025 10:26:58 -0600 Subject: [PATCH 4/7] Add default internal networks for each service (#639) * add default internal networks for each service * add local option --- CHANGELOG.md | 3 ++ pyincore/client.py | 22 ++++++++-- pyincore/dataservice.py | 27 +++++++++--- pyincore/dfr3service.py | 7 ++- pyincore/fragilityservice.py | 12 ++++-- pyincore/globals.py | 8 +++- pyincore/hazardservice.py | 43 ++++++++++++++----- pyincore/repairservice.py | 12 ++++-- pyincore/restorationservice.py | 8 +++- pyincore/semanticservice.py | 7 ++- pyincore/spaceservice.py | 7 ++- ...nternal_client.py => test_local_client.py} | 2 +- 12 files changed, 127 insertions(+), 31 deletions(-) rename tests/pyincore/{test_internal_client.py => test_local_client.py} (98%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36614ec4..f194ce6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Changed +- Enable internal network names for each service [#638](https://github.com/IN-CORE/pyincore/issues/638) + ### Fixed - Documentation container tagging error by github action [#631](https://github.com/IN-CORE/pyincore/issues/631) - Updated rasterio dependency to the latest to fetch correct GDAL version [#636](https://github.com/IN-CORE/pyincore/issues/636) diff --git a/pyincore/client.py b/pyincore/client.py index 458d29bd..ed21a4ec 100644 --- a/pyincore/client.py +++ b/pyincore/client.py @@ -171,6 +171,7 @@ def __init__( username: str = None, usergroups: list = None, internal: bool = False, + local: bool = False, offline: bool = False, ): """ @@ -183,12 +184,13 @@ def __init__( super().__init__() self.offline = offline self.internal = internal + self.local = local if not offline: if service_url is None or len(service_url.strip()) == 0: service_url = pyglobals.INCORE_API_PROD_URL - if internal: - service_url = pyglobals.INCORE_INTERNAL_API_URL + if local: + service_url = pyglobals.INCORE_LOCAL_API_URL self.service_url = service_url self.token_url = urllib.parse.urljoin( @@ -211,7 +213,7 @@ def __init__( if not os.path.exists(self.hashed_svc_data_dir): os.makedirs(self.hashed_svc_data_dir) - if internal: + if internal or local: # Constructing the headers self.session.headers["x-auth-userinfo"] = json.dumps( {"preferred_username": username} @@ -262,6 +264,9 @@ def login(self): if self.internal is True: logger.warning("Internal mode does not have login method.") return False + if self.local is True: + logger.warning("Local mode does not have login method.") + return False for attempt in range(pyglobals.MAX_LOGIN_ATTEMPTS): try: @@ -312,6 +317,11 @@ def store_authorization_in_file(self, authorization: str): "Internal mode does not have store_authorization_in_file method." ) return + if self.local is True: + logger.warning( + "Local mode does not have store_authorization_in_file method." + ) + return try: with open(self.token_file, "w") as f: f.write(authorization) @@ -330,6 +340,9 @@ def is_token_expired(self, token): if self.internal is True: logger.warning("Internal mode does not have is_token_expired method.") return + if self.local is True: + logger.warning("Local mode does not have is_token_expired method.") + return # Split the token to get payload _, payload_encoded, _ = token.split(".") @@ -361,6 +374,9 @@ def retrieve_token_from_file(self): "Internal mode does not have retrieve_token_from_file method." ) return + if self.local is True: + logger.warning("Local mode does not have retrieve_token_from_file method.") + return if not os.path.isfile(self.token_file): return None diff --git a/pyincore/dataservice.py b/pyincore/dataservice.py index ac9d55ff..c2587508 100644 --- a/pyincore/dataservice.py +++ b/pyincore/dataservice.py @@ -31,12 +31,27 @@ class DataService: def __init__(self, client: IncoreClient): self.client = client - self.base_url = urljoin(client.service_url, "data/api/datasets/") - self.files_url = urljoin(client.service_url, "data/api/files/") - self.base_earthquake_url = urljoin( - client.service_url, "hazard/api/earthquakes/" - ) - self.base_tornado_url = urljoin(client.service_url, "hazard/api/tornadoes/") + + if self.client.internal: + self.base_url = urljoin( + pyglobals.INCORE_INTERNAL_DATA_API_URL, "data/api/datasets/" + ) + self.base_earthquake_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/earthquakes/" + ) + self.base_tornado_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/tornadoes/" + ) + self.files_url = urljoin( + pyglobals.INCORE_INTERNAL_DATA_API_URL, "data/api/files/" + ) + else: + self.base_url = urljoin(client.service_url, "data/api/datasets/") + self.base_earthquake_url = urljoin( + client.service_url, "hazard/api/earthquakes/" + ) + self.base_tornado_url = urljoin(client.service_url, "hazard/api/tornadoes/") + self.files_url = urljoin(client.service_url, "data/api/files/") @forbid_offline def get_dataset_metadata(self, dataset_id: str, timeout=(30, 600), **kwargs): diff --git a/pyincore/dfr3service.py b/pyincore/dfr3service.py index 2916c0e5..e02fb63e 100644 --- a/pyincore/dfr3service.py +++ b/pyincore/dfr3service.py @@ -66,7 +66,12 @@ class Dfr3Service: def __init__(self, client: IncoreClient): self.client = client - self.base_mapping_url = urljoin(client.service_url, "dfr3/api/mappings/") + if self.client.internal: + self.base_mapping_url = urljoin( + pyglobals.INCORE_INTERNAL_DFR3_API_URL, "dfr3/api/mappings/" + ) + else: + self.base_mapping_url = urljoin(client.service_url, "dfr3/api/mappings/") @forbid_offline def get_dfr3_set(self, dfr3_id: str, timeout=(30, 600), **kwargs): diff --git a/pyincore/fragilityservice.py b/pyincore/fragilityservice.py index e2c862c9..73220cb5 100644 --- a/pyincore/fragilityservice.py +++ b/pyincore/fragilityservice.py @@ -11,6 +11,7 @@ from pyincore.decorators import forbid_offline from pyincore.dfr3service import Dfr3Service from pyincore.utils import return_http_response +import pyincore.globals as pyglobals class FragilityService(Dfr3Service): @@ -23,9 +24,14 @@ class FragilityService(Dfr3Service): def __init__(self, client: IncoreClient): self.client = client - self.base_dfr3_url = urllib.parse.urljoin( - client.service_url, "dfr3/api/fragilities/" - ) + if self.client.internal: + self.base_dfr3_url = urllib.parse.urljoin( + pyglobals.INCORE_INTERNAL_DFR3_API_URL, "dfr3/api/fragilities/" + ) + else: + self.base_dfr3_url = urllib.parse.urljoin( + client.service_url, "dfr3/api/fragilities/" + ) super(FragilityService, self).__init__(client) diff --git a/pyincore/globals.py b/pyincore/globals.py index ac7ad716..c5967202 100644 --- a/pyincore/globals.py +++ b/pyincore/globals.py @@ -15,7 +15,13 @@ INCORE_API_PROD_URL = "https://tools.in-core.org" INCORE_API_DEV_URL = "https://dev.in-core.org" -INCORE_INTERNAL_API_URL = "http://localhost:8080" +INCORE_LOCAL_API_URL = "http://localhost:8080" +INCORE_INTERNAL_DFR3_API_URL = "http://incore-svc-dfr3:8888" +INCORE_INTERNAL_DATA_API_URL = "http://incore-svc-data:8888" +INCORE_INTERNAL_HAZARD_API_URL = "http://incore-svc-hazard:8888" +INCORE_INTERNAL_SEMANTIC_API_URL = "http://incore-svc-sema:8888" +INCORE_INTERNAL_SPACE_API_URL = "http://incore-svc-space:8888" +INCORE_INTERNAL_PROJECT_API_URL = "http://incore-svc-project:8888" KEYCLOAK_AUTH_PATH = "/auth/realms/In-core/protocol/openid-connect/token" KEYCLOAK_USERINFO_PATH = "/auth/realms/In-core/protocol/openid-connect/userinfo" diff --git a/pyincore/hazardservice.py b/pyincore/hazardservice.py index 3687c670..b6ed1688 100644 --- a/pyincore/hazardservice.py +++ b/pyincore/hazardservice.py @@ -29,16 +29,39 @@ class HazardService: def __init__(self, client: IncoreClient): self.client = client - self.base_earthquake_url = urljoin( - client.service_url, "hazard/api/earthquakes/" - ) - self.base_tornado_url = urljoin(client.service_url, "hazard/api/tornadoes/") - self.base_tsunami_url = urljoin(client.service_url, "hazard/api/tsunamis/") - self.base_hurricane_url = urljoin(client.service_url, "hazard/api/hurricanes/") - self.base_hurricanewf_url = urljoin( - client.service_url, "hazard/api/hurricaneWindfields/" - ) - self.base_flood_url = urljoin(client.service_url, "hazard/api/floods/") + if self.client.internal: + self.base_earthquake_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/earthquakes/" + ) + self.base_tornado_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/tornadoes/" + ) + self.base_tsunami_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/tsunamis/" + ) + self.base_hurricane_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/hurricanes/" + ) + self.base_hurricanewf_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, + "hazard/api/hurricaneWindfields/", + ) + self.base_flood_url = urljoin( + pyglobals.INCORE_INTERNAL_HAZARD_API_URL, "hazard/api/floods/" + ) + else: + self.base_earthquake_url = urljoin( + client.service_url, "hazard/api/earthquakes/" + ) + self.base_tornado_url = urljoin(client.service_url, "hazard/api/tornadoes/") + self.base_tsunami_url = urljoin(client.service_url, "hazard/api/tsunamis/") + self.base_hurricane_url = urljoin( + client.service_url, "hazard/api/hurricanes/" + ) + self.base_hurricanewf_url = urljoin( + client.service_url, "hazard/api/hurricaneWindfields/" + ) + self.base_flood_url = urljoin(client.service_url, "hazard/api/floods/") @forbid_offline def get_earthquake_hazard_metadata_list( diff --git a/pyincore/repairservice.py b/pyincore/repairservice.py index 375dd75f..622fd742 100644 --- a/pyincore/repairservice.py +++ b/pyincore/repairservice.py @@ -10,6 +10,7 @@ from pyincore import IncoreClient from pyincore.decorators import forbid_offline from pyincore.dfr3service import Dfr3Service +import pyincore.globals as pyglobals class RepairService(Dfr3Service): @@ -22,9 +23,14 @@ class RepairService(Dfr3Service): def __init__(self, client: IncoreClient): self.client = client - self.base_dfr3_url = urllib.parse.urljoin( - client.service_url, "dfr3/api/repairs/" - ) + if self.client.internal: + self.base_dfr3_url = urllib.parse.urljoin( + pyglobals.INCORE_INTERNAL_DFR3_API_URL, "dfr3/api/repairs/" + ) + else: + self.base_dfr3_url = urllib.parse.urljoin( + client.service_url, "dfr3/api/repairs/" + ) super(RepairService, self).__init__(client) diff --git a/pyincore/restorationservice.py b/pyincore/restorationservice.py index 24a205a0..bf959a07 100644 --- a/pyincore/restorationservice.py +++ b/pyincore/restorationservice.py @@ -9,6 +9,7 @@ from pyincore.decorators import forbid_offline from pyincore.dfr3service import Dfr3Service from pyincore.utils import return_http_response +import pyincore.globals as pyglobals class RestorationService(Dfr3Service): @@ -21,7 +22,12 @@ class RestorationService(Dfr3Service): def __init__(self, client: IncoreClient): self.client = client - self.base_dfr3_url = urljoin(client.service_url, "dfr3/api/restorations/") + if self.client.internal: + self.base_dfr3_url = urljoin( + pyglobals.INCORE_INTERNAL_DFR3_API_URL, "dfr3/api/restorations/" + ) + else: + self.base_dfr3_url = urljoin(client.service_url, "dfr3/api/restorations/") super(RestorationService, self).__init__(client) diff --git a/pyincore/semanticservice.py b/pyincore/semanticservice.py index bcd72b0f..40edac7a 100644 --- a/pyincore/semanticservice.py +++ b/pyincore/semanticservice.py @@ -29,7 +29,12 @@ class SemanticService: def __init__(self, client: IncoreClient): self.client = client - self.base_url = urljoin(client.service_url, "semantics/api/types") + if self.client.internal: + self.base_url = urljoin( + pyglobals.INCORE_INTERNAL_SEMANTIC_API_URL, "semantics/api/types" + ) + else: + self.base_url = urljoin(client.service_url, "semantics/api/types") @forbid_offline def get_all_semantic_types( diff --git a/pyincore/spaceservice.py b/pyincore/spaceservice.py index 7be0dd5a..b3fd1eb1 100644 --- a/pyincore/spaceservice.py +++ b/pyincore/spaceservice.py @@ -22,7 +22,12 @@ class SpaceService: def __init__(self, client: IncoreClient): self.client = client - self.base_space_url = urljoin(client.service_url, "space/api/spaces/") + if self.client.internal: + self.base_space_url = urljoin( + pyglobals.INCORE_INTERNAL_SPACE_API_URL, "space/api/spaces/" + ) + else: + self.base_space_url = urljoin(client.service_url, "space/api/spaces/") @forbid_offline def create_space(self, space_json, timeout=(30, 600), **kwargs): diff --git a/tests/pyincore/test_internal_client.py b/tests/pyincore/test_local_client.py similarity index 98% rename from tests/pyincore/test_internal_client.py rename to tests/pyincore/test_local_client.py index 3923a777..bbb0b9aa 100644 --- a/tests/pyincore/test_internal_client.py +++ b/tests/pyincore/test_local_client.py @@ -12,7 +12,7 @@ user = { "service_url": "http://localhost:8080", - "internal": True, + "local": True, "username": "incrtest", "usergroups": ["incore_ncsa"], } From 6928a7584944a82463c5dbd4727fc7fd53d21d42 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 12 Feb 2025 10:33:31 -0600 Subject: [PATCH 5/7] release 1.21.0 --- CHANGELOG.md | 2 +- docs/source/conf.py | 4 ++-- pyincore/globals.py | 2 +- setup.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f194ce6d..461748cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## [Unreleased] +## [1.21.0] - 2025-02-12 ### Changed - Enable internal network names for each service [#638](https://github.com/IN-CORE/pyincore/issues/638) diff --git a/docs/source/conf.py b/docs/source/conf.py index 50ae0762..1d85f679 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -33,9 +33,9 @@ author = "" # The short X.Y version -version = "1.20" +version = "1.21" # The full version, including alpha/beta/rc tags -release = "1.20.1" +release = "1.21.0" # -- General configuration --------------------------------------------------- diff --git a/pyincore/globals.py b/pyincore/globals.py index c5967202..726641f4 100644 --- a/pyincore/globals.py +++ b/pyincore/globals.py @@ -10,7 +10,7 @@ import os import shutil -PACKAGE_VERSION = "1.20.1" +PACKAGE_VERSION = "1.21.0" INCORE_API_PROD_URL = "https://tools.in-core.org" INCORE_API_DEV_URL = "https://dev.in-core.org" diff --git a/setup.py b/setup.py index 009329f6..28fdd031 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ from setuptools import setup, find_packages # version number of pyincore -version = "1.20.1" +version = "1.21.0" with open("README.rst", encoding="utf-8") as f: readme = f.read() From 84d825d05df8452c42c916547ac3fdfaf8a430db Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 12 Feb 2025 10:34:23 -0600 Subject: [PATCH 6/7] clean up changelog --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 461748cb..a6263e6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,14 +9,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed - Enable internal network names for each service [#638](https://github.com/IN-CORE/pyincore/issues/638) +- Update production URL references to tools.in-core.org and dev to dev.in-core.org [#634](https://github.com/IN-CORE/pyincore/issues/634) ### Fixed - Documentation container tagging error by github action [#631](https://github.com/IN-CORE/pyincore/issues/631) - Updated rasterio dependency to the latest to fetch correct GDAL version [#636](https://github.com/IN-CORE/pyincore/issues/636) -### Changed -- Update production URL references to tools.in-core.org and dev to dev.in-core.org [#634](https://github.com/IN-CORE/pyincore/issues/634) - ## [1.20.1] - 2024-11-01 From d03cda6f075d52bf6190c13addf95d2412718977 Mon Sep 17 00:00:00 2001 From: Christopher Navarro Date: Wed, 12 Feb 2025 14:41:00 -0600 Subject: [PATCH 7/7] added package-format option for conda build --- .github/workflows/conda.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/conda.yaml b/.github/workflows/conda.yaml index 5c907e45..2847ac88 100644 --- a/.github/workflows/conda.yaml +++ b/.github/workflows/conda.yaml @@ -62,7 +62,8 @@ jobs: run: | conda install conda-build mkdir dist - conda build --output-folder dist \ + conda build --package-format=tar.bz2 \ + --output-folder dist \ --label ${{ env.LABEL }} \ recipes