Repository: aboutcode-org/univers (language: python)

Issue:
Migrate repository to aboutcode-org
Procedures:

- [x] Follow the following procedures instruction for the org migration process
  - [x] 1. Transfer the nexB repo to the aboutcode-org organization from Settings -> Danger Zone -> Transfer ownership
  - [x] 2. Set up CI for that repo on Azure Devops
    * Log into the nexB organization on Azure Devops
    * Go to the project that was moved
    * On the left hand menu, click on Pipelines, and then delete the existing pipeline
    * On the same page, click New pipeline, and then click Github, then select the repo that was transferred to aboutcode-org
    * Complete adding the pipeline
- [x] Announce on Gitter/Element, in a specific channel if available, to notify the completion of the org migration.
- [x] Update org-level permissions: Check org-level permissions for the source repo and update the repo-level permissions on the migrated repo
- [x] Check if there are any old references with the previous org (documentation, reference links) that need to be updated.
- [x] Push a new release about the org change with the updated references 


Discussion / hints:

Fix patch:
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index b6632502..b495b28b 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,6 +1,11 @@
 Changelog
 =========
 
+Version v30.12.1
+----------------
+
+- Update link references of ownership from nexB to aboutcode-org. https://github.com/aboutcode-org/univers/issues/140
+
 
 Version v30.12.0
 ----------------
@@ -37,7 +42,7 @@ Version v30.10.0
 Version v30.9.2
 ----------------
 
-- Fix unhashable error in GemVersion.  
+- Fix unhashable error in GemVersion.
 
 
 Version v30.9.1
@@ -89,7 +94,7 @@ Version v30.5.0
 Version v30.4.0
 ----------------
 
-- Add support for forming VersionRange from a list of versions.Thank you 
+- Add support for forming VersionRange from a list of versions.Thank you
   to Keshav Priyadarshi @keshav-space for this.
 
 
@@ -146,7 +151,7 @@ Version v30.0.0
 Version v21.4.9
 -----------------
 
-- Add support Gentoo style versions. 
+- Add support Gentoo style versions.
 
 
 Version v21.4.8
diff --git a/Makefile b/Makefile
index cc36c355..94451b33 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 
@@ -35,7 +35,7 @@ check:
 	@echo "-> Run pycodestyle (PEP8) validation"
 	@${ACTIVATE} pycodestyle --max-line-length=100 --exclude=.eggs,venv,lib,thirdparty,docs,migrations,settings.py,.cache .
 	@echo "-> Run isort imports ordering validation"
-	@${ACTIVATE} isort --sl --check-only -l 100 setup.py src tests . 
+	@${ACTIVATE} isort --sl --check-only -l 100 setup.py src tests .
 	@echo "-> Run black validation"
 	@${ACTIVATE} black --check --check -l 100 src tests setup.py
 
diff --git a/NOTICE b/NOTICE
index 365b33d7..1a7384d7 100644
--- a/NOTICE
+++ b/NOTICE
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/vulnerablecode
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/vulnerablecode
 # for support and download.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/README.rst b/README.rst
index 90159655..82531791 100644
--- a/README.rst
+++ b/README.rst
@@ -16,7 +16,7 @@ ranges and to compare two software package versions in VulnerableCode.
 Package version ranges and version constraints are useful and essential:
 
 - When relating a known vulnerability or bug to a range of affected package
-  versions. For instance a statement such as "vulnerability 123 affects 
+  versions. For instance a statement such as "vulnerability 123 affects
   package bar, version 3.1 and version 4.2 but not version 5" defines a
   range of bar versions affected by a vulnerability.
 
@@ -78,7 +78,7 @@ include:
   This is supported in part by the `semantic_version
   <https://github.com/rbarrois/python-semanticversion>`_ library.
 
-- pypi: handled by Python's packaging library and the standard 
+- pypi: handled by Python's packaging library and the standard
   ``packaging.version`` module.
 
 - Rubygems which use a semver-like but not-quite-semver scheme and there can be
@@ -89,26 +89,26 @@ include:
   "OR" between constraints (that it call requirements).
   Gem are handled by Python port of the Rubygems requirements and version
   handling code from the `puppeteer tool
-  <https://github.com/nexB/univers/blob/main/src/univers/debian.py.ABOUT>`_
+  <https://github.com/aboutcode-org/univers/blob/main/src/univers/debian.py.ABOUT>`_
 
 - debian: handled by the  `debian-inspector library
-  <https://github.com/nexB/univers/blob/main/src/univers/debian.py.ABOUT>`_.
+  <https://github.com/aboutcode-org/univers/blob/main/src/univers/debian.py.ABOUT>`_.
 
 - maven: handled by the embedded `pymaven library
-  <https://github.com/nexB/univers/blob/main/src/univers/pymaven.py.ABOUT>`_.
+  <https://github.com/aboutcode-org/univers/blob/main/src/univers/pymaven.py.ABOUT>`_.
 
 - rpm: handled by the embedded `rpm_vercmp library
-  <https://github.com/nexB/univers/blob/main/src/univers/rpm.py.ABOUT>`_.
+  <https://github.com/aboutcode-org/univers/blob/main/src/univers/rpm.py.ABOUT>`_.
 
 - golang (using semver)
 
 - PHP composer
 
 - ebuild/gentoo: handled by the embedded `gentoo_vercmp module
-  <https://github.com/nexB/univers/blob/main/src/univers/gentoo.py.ABOUT>`_.
+  <https://github.com/aboutcode-org/univers/blob/main/src/univers/gentoo.py.ABOUT>`_.
 
 - arch linux: handled by the embedded `arch utility module borrowed from msys2
-  <https://github.com/nexB/univers/blob/main/src/univers/arch.py.ABOUT>`_.
+  <https://github.com/aboutcode-org/univers/blob/main/src/univers/arch.py.ABOUT>`_.
 
 - Alpine linux: handled using the base Gentoo version support and extras
   specific to Alpine.
@@ -172,7 +172,7 @@ Test if a version is within or outside a version range:
 Development
 ============
 
-Run these commands, starting from a git clone of https://github.com/nexB/univers ::
+Run these commands, starting from a git clone of https://github.com/aboutcode-org/univers ::
 
     $ ./configure --dev
     $ source venv/bin/active
@@ -181,7 +181,7 @@ Run these commands, starting from a git clone of https://github.com/nexB/univers
 
 We use the same development process as other AboutCode projects.
 
-Visit https://github.com/nexB/univers and
+Visit https://github.com/aboutcode-org/univers and
 https://gitter.im/aboutcode-org/vulnerablecode and
 https://gitter.im/aboutcode-org/aboutcode for support and chat.
 
diff --git a/configure b/configure
index 926a894e..22d92885 100755
--- a/configure
+++ b/configure
@@ -3,7 +3,7 @@
 # Copyright (c) nexB Inc. and others. All rights reserved.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/ for support or download.
+# See https://github.com/aboutcode-org/ for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 
diff --git a/configure.bat b/configure.bat
index 5e95b311..5b9a9d68 100644
--- a/configure.bat
+++ b/configure.bat
@@ -4,7 +4,7 @@
 @rem Copyright (c) nexB Inc. and others. All rights reserved.
 @rem SPDX-License-Identifier: Apache-2.0
 @rem See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-@rem See https://github.com/nexB/ for support or download.
+@rem See https://github.com/aboutcode-org/ for support or download.
 @rem See https://aboutcode.org for more information about nexB OSS projects.
 
 
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 7771ff09..8c88fa2c 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -43,7 +43,7 @@
 
 # This points to aboutcode.readthedocs.io
 # In case of "undefined label" ERRORS check docs on intersphinx to troubleshoot
-# Link was created at commit - https://github.com/nexB/aboutcode/commit/faea9fcf3248f8f198844fe34d43833224ac4a83
+# Link was created at commit - https://github.com/aboutcode-org/aboutcode/commit/faea9fcf3248f8f198844fe34d43833224ac4a83
 
 intersphinx_mapping = {
     "aboutcode": ("https://aboutcode.readthedocs.io/en/latest/", None),
diff --git a/docs/source/contribute/contrib_doc.rst b/docs/source/contribute/contrib_doc.rst
index 13882e10..5640db26 100644
--- a/docs/source/contribute/contrib_doc.rst
+++ b/docs/source/contribute/contrib_doc.rst
@@ -12,7 +12,7 @@ To get started, create or identify a working directory on your local machine.
 
 Open that directory and execute the following command in a terminal session::
 
-    git clone https://github.com/nexB/skeleton.git
+    git clone https://github.com/aboutcode-org/skeleton.git
 
 That will create an ``/skeleton`` directory in your working directory.
 Now you can install the dependencies in a virtualenv::
diff --git a/docs/source/skeleton-usage.rst b/docs/source/skeleton-usage.rst
index cde23dcd..6cb4cc5f 100644
--- a/docs/source/skeleton-usage.rst
+++ b/docs/source/skeleton-usage.rst
@@ -118,7 +118,7 @@ corrected. You can check to see if your corrections are valid by running:
 Once the wheels are collected and the ABOUT files are generated and correct,
 upload them to thirdparty.aboutcode.org/pypi by placing the wheels and ABOUT
 files from the thirdparty directory to the pypi directory at
-https://github.com/nexB/thirdparty-packages
+https://github.com/aboutcode-org/thirdparty-packages
 
 
 Usage after project initialization
diff --git a/etc/scripts/check_thirdparty.py b/etc/scripts/check_thirdparty.py
index b052f25b..2daded94 100644
--- a/etc/scripts/check_thirdparty.py
+++ b/etc/scripts/check_thirdparty.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 import click
@@ -17,7 +17,8 @@
 @click.option(
     "-d",
     "--dest",
-    type=click.Path(exists=True, readable=True, path_type=str, file_okay=False),
+    type=click.Path(exists=True, readable=True,
+                    path_type=str, file_okay=False),
     required=True,
     help="Path to the thirdparty directory to check.",
 )
diff --git a/etc/scripts/fetch_thirdparty.py b/etc/scripts/fetch_thirdparty.py
index eedf05c6..3f9ff527 100644
--- a/etc/scripts/fetch_thirdparty.py
+++ b/etc/scripts/fetch_thirdparty.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 
@@ -55,7 +55,8 @@
     "-d",
     "--dest",
     "dest_dir",
-    type=click.Path(exists=True, readable=True, path_type=str, file_okay=False),
+    type=click.Path(exists=True, readable=True,
+                    path_type=str, file_okay=False),
     metavar="DIR",
     default=utils_thirdparty.THIRDPARTY_DIR,
     show_default=True,
@@ -224,7 +225,8 @@ def fetch_thirdparty(
     environments = None
     if wheels:
         evts = itertools.product(python_versions, operating_systems)
-        environments = [utils_thirdparty.Environment.from_pyver_and_os(pyv, os) for pyv, os in evts]
+        environments = [utils_thirdparty.Environment.from_pyver_and_os(
+            pyv, os) for pyv, os in evts]
 
     # Collect PyPI repos
     repos = []
@@ -260,13 +262,14 @@ def fetch_thirdparty(
                     repos=repos,
                 )
                 if not fetched:
-                    wheels_or_sdist_not_found[f"{name}=={version}"].append(environment)
+                    wheels_or_sdist_not_found[f"{name}=={version}"].append(
+                        environment)
                     if TRACE:
                         print(f"      NOT FOUND")
 
         if (sdists or
             (f"{name}=={version}" in wheels_or_sdist_not_found and name in sdist_only)
-         ):
+            ):
             if TRACE:
                 print(f"  ==> Fetching sdist: {name}=={version}")
 
@@ -289,7 +292,8 @@ def fetch_thirdparty(
         sdist_missing = sdists and "sdist" in dists and not name in wheel_only
         if sdist_missing:
             mia.append(f"SDist missing: {nv} {dists}")
-        wheels_missing = wheels and any(d for d in dists if d != "sdist") and not name in sdist_only
+        wheels_missing = wheels and any(
+            d for d in dists if d != "sdist") and not name in sdist_only
         if wheels_missing:
             mia.append(f"Wheels missing: {nv} {dists}")
 
@@ -299,7 +303,8 @@ def fetch_thirdparty(
         raise Exception(mia)
 
     print(f"==> FETCHING OR CREATING ABOUT AND LICENSE FILES")
-    utils_thirdparty.fetch_abouts_and_licenses(dest_dir=dest_dir, use_cached_index=use_cached_index)
+    utils_thirdparty.fetch_abouts_and_licenses(
+        dest_dir=dest_dir, use_cached_index=use_cached_index)
     utils_thirdparty.clean_about_files(dest_dir=dest_dir)
 
     # check for problems
diff --git a/etc/scripts/gen_requirements.py b/etc/scripts/gen_requirements.py
index 07e26f77..2b65ae80 100644
--- a/etc/scripts/gen_requirements.py
+++ b/etc/scripts/gen_requirements.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 import argparse
diff --git a/etc/scripts/gen_requirements_dev.py b/etc/scripts/gen_requirements_dev.py
index 12cc06d3..5db1c48e 100644
--- a/etc/scripts/gen_requirements_dev.py
+++ b/etc/scripts/gen_requirements_dev.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 import argparse
diff --git a/etc/scripts/utils_dejacode.py b/etc/scripts/utils_dejacode.py
index f6e91a91..e189dd07 100644
--- a/etc/scripts/utils_dejacode.py
+++ b/etc/scripts/utils_dejacode.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 import io
@@ -33,7 +33,8 @@
 
 def can_do_api_calls():
     if not DEJACODE_API_KEY and DEJACODE_API_URL:
-        print("DejaCode DEJACODE_API_KEY and DEJACODE_API_URL not configured. Doing nothing")
+        print(
+            "DejaCode DEJACODE_API_KEY and DEJACODE_API_URL not configured. Doing nothing")
         return False
     else:
         return True
@@ -68,7 +69,8 @@ def get_package_data(distribution):
         return results[0]
 
     elif len_results > 1:
-        print(f"More than 1 entry exists, review at: {DEJACODE_API_URL_PACKAGES}")
+        print(
+            f"More than 1 entry exists, review at: {DEJACODE_API_URL_PACKAGES}")
     else:
         print("Could not find package:", distribution.download_url)
 
@@ -149,7 +151,8 @@ def find_latest_dejacode_package(distribution):
     # there was no exact match, find the latest version
     # TODO: consider the closest version rather than the latest
     # or the version that has the best data
-    with_versions = [(packaging_version.parse(p["version"]), p) for p in packages]
+    with_versions = [(packaging_version.parse(p["version"]), p)
+                     for p in packages]
     with_versions = sorted(with_versions)
     latest_version, latest_package_version = sorted(with_versions)[-1]
     print(
diff --git a/etc/scripts/utils_requirements.py b/etc/scripts/utils_requirements.py
index 0fc25a35..1c502390 100644
--- a/etc/scripts/utils_requirements.py
+++ b/etc/scripts/utils_requirements.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 
@@ -102,7 +102,8 @@ def lock_dev_requirements(
     all_req_nvs = get_required_name_versions(all_req_lines)
     dev_only_req_nvs = {n: v for n, v in all_req_nvs if n not in main_names}
 
-    new_reqs = "\n".join(f"{n}=={v}" for n, v in sorted(dev_only_req_nvs.items()))
+    new_reqs = "\n".join(
+        f"{n}=={v}" for n, v in sorted(dev_only_req_nvs.items()))
     with open(dev_requirements_file, "w") as fo:
         fo.write(new_reqs)
 
@@ -113,10 +114,12 @@ def get_installed_reqs(site_packages_dir):
     as a text.
     """
     if not os.path.exists(site_packages_dir):
-        raise Exception(f"site_packages directory: {site_packages_dir!r} does not exists")
+        raise Exception(
+            f"site_packages directory: {site_packages_dir!r} does not exists")
     # Also include these packages in the output with --all: wheel, distribute,
     # setuptools, pip
-    args = ["pip", "freeze", "--exclude-editable", "--all", "--path", site_packages_dir]
+    args = ["pip", "freeze", "--exclude-editable",
+            "--all", "--path", site_packages_dir]
     return subprocess.check_output(args, encoding="utf-8")
 
 
diff --git a/etc/scripts/utils_thirdparty.py b/etc/scripts/utils_thirdparty.py
index addf8e5e..46dc7289 100644
--- a/etc/scripts/utils_thirdparty.py
+++ b/etc/scripts/utils_thirdparty.py
@@ -5,7 +5,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 import email
@@ -245,9 +245,11 @@ def download_wheel(name, version, environment, dest_dir=THIRDPARTY_DIR, repos=tu
         package = repo.get_package_version(name=name, version=version)
         if not package:
             if TRACE_DEEP:
-                print(f"    download_wheel: No package in {repo.index_url} for {name}=={version}")
+                print(
+                    f"    download_wheel: No package in {repo.index_url} for {name}=={version}")
             continue
-        supported_wheels = list(package.get_supported_wheels(environment=environment))
+        supported_wheels = list(
+            package.get_supported_wheels(environment=environment))
         if not supported_wheels:
             if TRACE_DEEP:
                 print(
@@ -291,7 +293,8 @@ def download_sdist(name, version, dest_dir=THIRDPARTY_DIR, repos=tuple()):
 
         if not package:
             if TRACE_DEEP:
-                print(f"    download_sdist: No package in {repo.index_url} for {name}=={version}")
+                print(
+                    f"    download_sdist: No package in {repo.index_url} for {name}=={version}")
             continue
         sdist = package.sdist
         if not sdist:
@@ -300,7 +303,8 @@ def download_sdist(name, version, dest_dir=THIRDPARTY_DIR, repos=tuple()):
             continue
 
         if TRACE_DEEP:
-            print(f"    download_sdist: Getting sdist from index (or cache): {sdist.download_url}")
+            print(
+                f"    download_sdist: Getting sdist from index (or cache): {sdist.download_url}")
         fetched_sdist_filename = package.sdist.download(dest_dir=dest_dir)
 
         if fetched_sdist_filename:
@@ -533,7 +537,8 @@ def get_best_download_url(self, repos=tuple()):
             repos = DEFAULT_PYPI_REPOS
 
         for repo in repos:
-            package = repo.get_package_version(name=self.name, version=self.version)
+            package = repo.get_package_version(
+                name=self.name, version=self.version)
             if not package:
                 if TRACE:
                     print(
@@ -772,7 +777,8 @@ def load_remote_about_data(self):
                 if notice_text:
                     about_data["notice_text"] = notice_text
             except RemoteNotFetchedException:
-                print(f"Failed to fetch NOTICE file: {self.notice_download_url}")
+                print(
+                    f"Failed to fetch NOTICE file: {self.notice_download_url}")
         return self.load_about_data(about_data)
 
     def get_checksums(self, dest_dir=THIRDPARTY_DIR):
@@ -821,9 +827,11 @@ def fetch_license_files(self, dest_dir=THIRDPARTY_DIR, use_cached_index=False):
         Fetch license files if missing in `dest_dir`.
         Return True if license files were fetched.
         """
-        urls = LinksRepository.from_url(use_cached_index=use_cached_index).links
+        urls = LinksRepository.from_url(
+            use_cached_index=use_cached_index).links
         errors = []
-        extra_lic_names = [l.get("file") for l in self.extra_data.get("licenses", {})]
+        extra_lic_names = [l.get("file")
+                           for l in self.extra_data.get("licenses", {})]
         extra_lic_names += [self.extra_data.get("license_file")]
         extra_lic_names = [ln for ln in extra_lic_names if ln]
         lic_names = [f"{key}.LICENSE" for key in self.get_license_keys()]
@@ -834,7 +842,8 @@ def fetch_license_files(self, dest_dir=THIRDPARTY_DIR, use_cached_index=False):
 
             try:
                 # try remotely first
-                lic_url = get_license_link_for_filename(filename=filename, urls=urls)
+                lic_url = get_license_link_for_filename(
+                    filename=filename, urls=urls)
 
                 fetch_and_save(
                     path_or_url=lic_url,
@@ -911,7 +920,8 @@ def load_pkginfo_data(self, dest_dir=THIRDPARTY_DIR):
             c for c in classifiers if c.startswith("License")
         ]
         license_expression = get_license_expression(declared_license)
-        other_classifiers = [c for c in classifiers if not c.startswith("License")]
+        other_classifiers = [
+            c for c in classifiers if not c.startswith("License")]
 
         holder = raw_data["Author"]
         holder_contact = raw_data["Author-email"]
@@ -953,7 +963,8 @@ def update(self, data, overwrite=False, keep_extra=True):
         package_url = data.get("package_url")
         if package_url:
             purl_from_data = packageurl.PackageURL.from_string(package_url)
-            purl_from_self = packageurl.PackageURL.from_string(self.package_url)
+            purl_from_self = packageurl.PackageURL.from_string(
+                self.package_url)
             if purl_from_data != purl_from_self:
                 print(
                     f"Invalid dist update attempt, no same same purl with dist: "
@@ -1003,7 +1014,8 @@ def get_license_link_for_filename(filename, urls):
     if not path_or_url:
         raise Exception(f"Missing link to file: {filename}")
     if not len(path_or_url) == 1:
-        raise Exception(f"Multiple links to file: {filename}: \n" + "\n".join(path_or_url))
+        raise Exception(
+            f"Multiple links to file: {filename}: \n" + "\n".join(path_or_url))
     return path_or_url[0]
 
 
@@ -1397,7 +1409,8 @@ def packages_from_dir(cls, directory):
         """
         base = os.path.abspath(directory)
 
-        paths = [os.path.join(base, f) for f in os.listdir(base) if f.endswith(EXTENSIONS)]
+        paths = [os.path.join(base, f)
+                 for f in os.listdir(base) if f.endswith(EXTENSIONS)]
 
         if TRACE_ULTRA_DEEP:
             print("packages_from_dir: paths:", paths)
@@ -1458,7 +1471,8 @@ def dists_from_paths_or_urls(cls, paths_or_urls):
         dists = []
         if TRACE_ULTRA_DEEP:
             print("     ###paths_or_urls:", paths_or_urls)
-        installable = [f for f in paths_or_urls if f.endswith(EXTENSIONS_INSTALLABLE)]
+        installable = [f for f in paths_or_urls if f.endswith(
+            EXTENSIONS_INSTALLABLE)]
         for path_or_url in installable:
             try:
                 dist = Distribution.from_path_or_url(path_or_url)
@@ -1476,7 +1490,8 @@ def dists_from_paths_or_urls(cls, paths_or_urls):
                     )
             except InvalidDistributionFilename:
                 if TRACE_DEEP:
-                    print(f"     Skipping invalid distribution from: {path_or_url}")
+                    print(
+                        f"     Skipping invalid distribution from: {path_or_url}")
                 continue
         return dists
 
@@ -1525,7 +1540,8 @@ class Environment:
     implementation = attr.ib(
         type=str,
         default="cp",
-        metadata=dict(help="Python implementation supported by this environment."),
+        metadata=dict(
+            help="Python implementation supported by this environment."),
         repr=False,
     )
 
@@ -1539,7 +1555,8 @@ class Environment:
     platforms = attr.ib(
         type=list,
         default=attr.Factory(list),
-        metadata=dict(help="List of platform tags supported by this environment."),
+        metadata=dict(
+            help="List of platform tags supported by this environment."),
         repr=False,
     )
 
@@ -1623,7 +1640,8 @@ class PypiSimpleRepository:
     fetched_package_normalized_names = attr.ib(
         type=set,
         default=attr.Factory(set),
-        metadata=dict(help="A set of already fetched package normalized names."),
+        metadata=dict(
+            help="A set of already fetched package normalized names."),
     )
 
     use_cached_index = attr.ib(
@@ -1654,10 +1672,12 @@ def _get_package_versions_map(self, name):
                 self.packages[normalized_name] = versions
             except RemoteNotFetchedException as e:
                 if TRACE:
-                    print(f"failed to fetch package name: {name} from: {self.index_url}:\n{e}")
+                    print(
+                        f"failed to fetch package name: {name} from: {self.index_url}:\n{e}")
 
         if not versions and TRACE:
-            print(f"WARNING: package {name} not found in repo: {self.index_url}")
+            print(
+                f"WARNING: package {name} not found in repo: {self.index_url}")
 
         return versions
 
@@ -1842,7 +1862,8 @@ def get(self, path_or_url, as_text=True, force=False):
         if force or not os.path.exists(cached):
             if TRACE_DEEP:
                 print(f"        FILE CACHE MISS: {path_or_url}")
-            content = get_file_content(path_or_url=path_or_url, as_text=as_text)
+            content = get_file_content(
+                path_or_url=path_or_url, as_text=as_text)
             wmode = "w" if as_text else "wb"
             with open(cached, wmode) as fo:
                 fo.write(content)
@@ -1864,7 +1885,8 @@ def get_file_content(path_or_url, as_text=True):
     if path_or_url.startswith("https://"):
         if TRACE_DEEP:
             print(f"Fetching: {path_or_url}")
-        _headers, content = get_remote_file_content(url=path_or_url, as_text=as_text)
+        _headers, content = get_remote_file_content(
+            url=path_or_url, as_text=as_text)
         return content
 
     elif path_or_url.startswith("file://") or (
@@ -1930,7 +1952,8 @@ def get_remote_file_content(
                 )
 
             else:
-                raise RemoteNotFetchedException(f"Failed HTTP request from {url} with {status}")
+                raise RemoteNotFetchedException(
+                    f"Failed HTTP request from {url} with {status}")
 
         if headers_only:
             return response.headers, None
@@ -2021,7 +2044,8 @@ def get_other_dists(_package, _dist):
             # if has key data we may look to improve later, but we can move on
             if local_dist.has_key_metadata():
                 local_dist.save_about_and_notice_files(dest_dir=dest_dir)
-                local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index)
+                local_dist.fetch_license_files(
+                    dest_dir=dest_dir, use_cached_index=use_cached_index)
                 continue
 
             # lets try to get from another dist of the same local package
@@ -2033,7 +2057,8 @@ def get_other_dists(_package, _dist):
             # if has key data we may look to improve later, but we can move on
             if local_dist.has_key_metadata():
                 local_dist.save_about_and_notice_files(dest_dir=dest_dir)
-                local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index)
+                local_dist.fetch_license_files(
+                    dest_dir=dest_dir, use_cached_index=use_cached_index)
                 continue
 
             # try to get another version of the same package that is not our version
@@ -2044,7 +2069,8 @@ def get_other_dists(_package, _dist):
             ]
             other_local_version = other_local_packages and other_local_packages[-1]
             if other_local_version:
-                latest_local_dists = list(other_local_version.get_distributions())
+                latest_local_dists = list(
+                    other_local_version.get_distributions())
                 for latest_local_dist in latest_local_dists:
                     latest_local_dist.load_about_data(dest_dir=dest_dir)
                     if not latest_local_dist.has_key_metadata():
@@ -2070,7 +2096,8 @@ def get_other_dists(_package, _dist):
             # if has key data we may look to improve later, but we can move on
             if local_dist.has_key_metadata():
                 local_dist.save_about_and_notice_files(dest_dir=dest_dir)
-                local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index)
+                local_dist.fetch_license_files(
+                    dest_dir=dest_dir, use_cached_index=use_cached_index)
                 continue
 
             # try to get a latest version of the same package that is not our version
@@ -2111,7 +2138,8 @@ def get_other_dists(_package, _dist):
             # if local_dist.has_key_metadata() or not local_dist.has_key_metadata():
             local_dist.save_about_and_notice_files(dest_dir)
 
-            lic_errs = local_dist.fetch_license_files(dest_dir, use_cached_index=use_cached_index)
+            lic_errs = local_dist.fetch_license_files(
+                dest_dir, use_cached_index=use_cached_index)
 
             if not local_dist.has_key_metadata():
                 print(f"Unable to add essential ABOUT data for: {local_dist}")
@@ -2259,7 +2287,8 @@ def find_problems(
 
         for dist in package.get_distributions():
             dist.load_about_data(dest_dir=dest_dir)
-            abpth = os.path.abspath(os.path.join(dest_dir, dist.about_filename))
+            abpth = os.path.abspath(os.path.join(
+                dest_dir, dist.about_filename))
             if not dist.has_key_metadata():
                 print(f"   Missing key ABOUT data in file://{abpth}")
             if "classifiers" in dist.extra_data:
diff --git a/overlay.nix b/overlay.nix
index 22e223a5..fc1596a8 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -31,7 +31,7 @@ final: prev: rec {
 
             meta = with lib; {
               description = "Library for parsing version ranges and expressions";
-              homepage = "https://github.com/nexB/univers";
+              homepage = "https://github.com/aboutcode-org/univers";
               license = with licenses; [ asl20 bsd3 mit ];
             };
           })
diff --git a/setup.cfg b/setup.cfg
index 614979dd..a40267a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -6,7 +6,7 @@ license = Apache-2.0 AND BSD-3-Clause AND MIT
 description = A mostly universal library to parse and compare software package versions and version ranges. A companion to Package URLs.
 long_description = file:README.rst
 long_description_content_type = text/x-rst
-url = https://github.com/nexB/univers
+url = https://github.com/aboutcode-org/univers
 
 author =  Shivam Sandbhor, nexB. Inc. and others
 author_email = info@aboutcode.org
@@ -18,7 +18,7 @@ classifiers =
     Programming Language :: Python :: 3 :: Only
     Topic :: Software Development
     Topic :: Utilities
-keywords = 
+keywords =
     semver
     utilities
     version
diff --git a/src/univers/arch.py b/src/univers/arch.py
index 898987d2..3eae6c9f 100644
--- a/src/univers/arch.py
+++ b/src/univers/arch.py
@@ -4,7 +4,7 @@
 # Version utility extracted from msys2 https://github.com/msys2/msys2-web/
 # and further stripped down.
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import re
 from itertools import zip_longest
diff --git a/src/univers/conan/errors.py b/src/univers/conan/errors.py
index bd965c13..40d1e886 100644
--- a/src/univers/conan/errors.py
+++ b/src/univers/conan/errors.py
@@ -2,7 +2,7 @@
 # Copyright (c) 2019 JFrog LTD
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 """
     Exceptions raised and handled in Conan
diff --git a/src/univers/conan/version.py b/src/univers/conan/version.py
index 9bd853b9..7cac8635 100644
--- a/src/univers/conan/version.py
+++ b/src/univers/conan/version.py
@@ -2,7 +2,7 @@
 # Copyright (c) 2019 JFrog LTD
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from functools import total_ordering
 
diff --git a/src/univers/conan/version_range.py b/src/univers/conan/version_range.py
index 7add0a8c..f64980fa 100644
--- a/src/univers/conan/version_range.py
+++ b/src/univers/conan/version_range.py
@@ -2,7 +2,7 @@
 # Copyright (c) 2019 JFrog LTD
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from collections import namedtuple
 
diff --git a/src/univers/debian.py b/src/univers/debian.py
index e7ab6ba4..463c2e72 100644
--- a/src/univers/debian.py
+++ b/src/univers/debian.py
@@ -1,12 +1,12 @@
 #
 # Copyright (c) nexB Inc. and others.
-# Extracted from http://nexb.com and https://github.com/nexB/debian_inspector/
+# Extracted from http://nexb.com and https://github.com/aboutcode-org/debian_inspector/
 # Copyright (c) Peter Odding
 # Author: Peter Odding <peter@peterodding.com>
 # URL: https://github.com/xolox/python-deb-pkg-tools
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import logging
 import operator as operator_module
@@ -27,7 +27,7 @@
 described at
 https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version
 
-This has been substantially modified and enhanced from the original 
+This has been substantially modified and enhanced from the original
 python-deb-pkg-tools by Peter Odding to extract only the subset that
 does the version parsing, comparison and version constraints evaluation.
 
diff --git a/src/univers/gem.py b/src/univers/gem.py
index cb0d77d9..2b7259e5 100644
--- a/src/univers/gem.py
+++ b/src/univers/gem.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: Apache-2.0 AND MIT
 # This has been significantly modified from the original
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 # notes: This has been substantially modified and enhanced from the original
 # puppeteer code to extract the Ruby version handling code.
diff --git a/src/univers/gentoo.py b/src/univers/gentoo.py
index 892a7ceb..543f8548 100644
--- a/src/univers/gentoo.py
+++ b/src/univers/gentoo.py
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Version comparison utility extracted from pkgcore and further stripped down.
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import re
 
diff --git a/src/univers/maven.py b/src/univers/maven.py
index 072058d4..368437a4 100644
--- a/src/univers/maven.py
+++ b/src/univers/maven.py
@@ -4,7 +4,7 @@
 # Version comparison utility extracted from pymaven and further stripped down
 # and significantly modified from the original at pymaven
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import functools
 from itertools import zip_longest
diff --git a/src/univers/nuget.py b/src/univers/nuget.py
index ff9ab0ce..a5cd8678 100644
--- a/src/univers/nuget.py
+++ b/src/univers/nuget.py
@@ -4,7 +4,7 @@
 # Copyright 2022 Google LLC
 # modified by nexB and others for integration in the Univers library
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import functools
 import re
diff --git a/src/univers/rpm.py b/src/univers/rpm.py
index 1c35dc52..f597aca8 100644
--- a/src/univers/rpm.py
+++ b/src/univers/rpm.py
@@ -7,7 +7,7 @@
 # stripped down and significantly modified from the original at python-rpm-vercmp
 # Also includes updates from Facebook antlir merged in.
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import re
 from typing import NamedTuple
diff --git a/src/univers/univers_semver.py b/src/univers/univers_semver.py
index 5b7469db..d617b4aa 100644
--- a/src/univers/univers_semver.py
+++ b/src/univers/univers_semver.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from univers.utils import remove_spaces
 from univers.version_constraint import VersionConstraint
diff --git a/src/univers/utils.py b/src/univers/utils.py
index b283d983..63952ce4 100644
--- a/src/univers/utils.py
+++ b/src/univers/utils.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 
 def remove_spaces(string):
diff --git a/src/univers/version_constraint.py b/src/univers/version_constraint.py
index a96e667a..36ec6d81 100644
--- a/src/univers/version_constraint.py
+++ b/src/univers/version_constraint.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import operator
 from functools import total_ordering
diff --git a/src/univers/version_range.py b/src/univers/version_range.py
index 422d2196..69f84f24 100644
--- a/src/univers/version_range.py
+++ b/src/univers/version_range.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from typing import List
 from typing import Union
@@ -460,7 +460,7 @@ class GemVersionRange(VersionRange):
     A version range implementation for Rubygems.
 
     gem need its own versioning scheme as this is not semver.
-    See https//github.com/nexB/univers/issues/5
+    See https//github.com/aboutcode-org/univers/issues/5
     See https://github.com/ruby/ruby/blob/415671a28273e5bfbe9aa00a0e386f025720ac23/lib/rubygems/requirement.rb
     See https//semver.org/spec/v2.0.0.html#spec-item-11
     See https//snyk.io/blog/differences-in-version-handling-gems-and-npm/
@@ -842,7 +842,7 @@ class NugetVersionRange(MavenVersionRange):
 
 
 class ComposerVersionRange(VersionRange):
-    # TODO composer may need its own scheme see https//github.com/nexB/univers/issues/5
+    # TODO composer may need its own scheme see https//github.com/aboutcode-org/univers/issues/5
     # and https//getcomposer.org/doc/articles/versions.md
     scheme = "composer"
     version_class = versions.ComposerVersion
diff --git a/src/univers/versions.py b/src/univers/versions.py
index 768a2c86..14b3e007 100644
--- a/src/univers/versions.py
+++ b/src/univers/versions.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import attr
 import semantic_version


Test patch:
diff --git a/conftest.py b/conftest.py
index 57496c7a..f694f251 100644
--- a/conftest.py
+++ b/conftest.py
@@ -2,6 +2,6 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 collect_ignore = ["setup.py"]
diff --git a/tests/test_alpine.py b/tests/test_alpine.py
index 681ed0ed..fa9598fc 100644
--- a/tests/test_alpine.py
+++ b/tests/test_alpine.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import operator
 from typing import NamedTuple
diff --git a/tests/test_codestyle.py b/tests/test_codestyle.py
index c0fbd5e0..610acbd0 100644
--- a/tests/test_codestyle.py
+++ b/tests/test_codestyle.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import subprocess
 import sys
diff --git a/tests/test_conan_version_bump.py b/tests/test_conan_version_bump.py
index 892cb1f5..51c7fc7e 100644
--- a/tests/test_conan_version_bump.py
+++ b/tests/test_conan_version_bump.py
@@ -2,7 +2,7 @@
 # Copyright (c) 2019 JFrog LTD
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import pytest
 
diff --git a/tests/test_conan_version_comparison.py b/tests/test_conan_version_comparison.py
index 7e4da43d..d7cec4d2 100644
--- a/tests/test_conan_version_comparison.py
+++ b/tests/test_conan_version_comparison.py
@@ -2,7 +2,7 @@
 # Copyright (c) 2019 JFrog LTD
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import pytest
 
diff --git a/tests/test_conan_version_range.py b/tests/test_conan_version_range.py
index 1bf7e69f..d2f75d41 100644
--- a/tests/test_conan_version_range.py
+++ b/tests/test_conan_version_range.py
@@ -2,7 +2,7 @@
 # Copyright (c) 2019 JFrog LTD
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import pytest
 
diff --git a/tests/test_debian_version.py b/tests/test_debian_version.py
index c9507f5b..87ad95f7 100644
--- a/tests/test_debian_version.py
+++ b/tests/test_debian_version.py
@@ -4,12 +4,12 @@
 # original author: Nathan J. Meh
 
 # Copyright (c) nexB Inc. and others.
-# http://nexb.com and https://github.com/nexB/debian_inspector/
+# http://nexb.com and https://github.com/aboutcode-org/debian_inspector/
 
 # SPDX-License-Identifier: Apache-2.0
 # this has been significantly modified from the original
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from unittest import TestCase
 
diff --git a/tests/test_debian_version.py.ABOUT b/tests/test_debian_version.py.ABOUT
index 891ec3af..3171974b 100644
--- a/tests/test_debian_version.py.ABOUT
+++ b/tests/test_debian_version.py.ABOUT
@@ -4,5 +4,5 @@ download_url: https://raw.githubusercontent.com/nexB/debian-inspector/b8f413de99
 copyright: Copyright (c) nexB Inc. and others.
 package_url: pkg:pypi/debian-inspector@0.9.10#tests/test_version.py
 notes: this subset of tests has been modified to tests version comparison and parsing
-homepage_url: https://github.com/nexB/debian-inspector
-notice_file: test_debian_version.py.NOTICE
\ No newline at end of file
+homepage_url: https://github.com/aboutcode-org/debian-inspector
+notice_file: test_debian_version.py.NOTICE
diff --git a/tests/test_debian_version_python_deb_pkg_tools.py b/tests/test_debian_version_python_deb_pkg_tools.py
index ca0c4657..05fb0cc5 100644
--- a/tests/test_debian_version_python_deb_pkg_tools.py
+++ b/tests/test_debian_version_python_deb_pkg_tools.py
@@ -3,7 +3,7 @@
 # URL: https://github.com/xolox/python-deb-pkg-tools
 # SPDX-License-Identifier: MIT
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 
 from unittest import TestCase
diff --git a/tests/test_gem.py b/tests/test_gem.py
index 2a675bed..2cde6e51 100644
--- a/tests/test_gem.py
+++ b/tests/test_gem.py
@@ -2,7 +2,7 @@
 # SPDX-License-Identifier: Apache-2.0
 # this has been significantly modified from the original
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 # notes: This has been substantially modified and enhanced from the original
 # puppeteer code to extract the Ruby version handling code.
diff --git a/tests/test_gentoo.py b/tests/test_gentoo.py
index eeabacbc..da1682ef 100644
--- a/tests/test_gentoo.py
+++ b/tests/test_gentoo.py
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 # this has been significantly modified from the original
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 
 from unittest import TestCase
diff --git a/tests/test_gentoo_pkgcore.py b/tests/test_gentoo_pkgcore.py
index bb417c1c..cbd7eaa8 100644
--- a/tests/test_gentoo_pkgcore.py
+++ b/tests/test_gentoo_pkgcore.py
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Version comparison utility extracted from pkgcore and further stripped down.
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from random import shuffle
 
diff --git a/tests/test_maven_version.py b/tests/test_maven_version.py
index 97d25585..c485867e 100644
--- a/tests/test_maven_version.py
+++ b/tests/test_maven_version.py
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: Apache-2.0
 # this has been significantly modified from the original#
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 
 import unittest
diff --git a/tests/test_maven_version_range.py b/tests/test_maven_version_range.py
index 2f487a04..0905d75a 100644
--- a/tests/test_maven_version_range.py
+++ b/tests/test_maven_version_range.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from univers.version_constraint import VersionConstraint
 from univers.version_range import MavenVersionRange
diff --git a/tests/test_openssl_vercmp.py b/tests/test_openssl_vercmp.py
index 7f5a622c..0efb195f 100644
--- a/tests/test_openssl_vercmp.py
+++ b/tests/test_openssl_vercmp.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import operator
 
diff --git a/tests/test_openssl_versort.py b/tests/test_openssl_versort.py
index 08627e60..443c6f37 100644
--- a/tests/test_openssl_versort.py
+++ b/tests/test_openssl_versort.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from pathlib import Path
 
diff --git a/tests/test_pacman_vercmp.py b/tests/test_pacman_vercmp.py
index 278947a2..e6f2cdf4 100644
--- a/tests/test_pacman_vercmp.py
+++ b/tests/test_pacman_vercmp.py
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: Apache-2.0
 # this has been significantly modified from the original
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from univers.versions import ArchLinuxVersion
 
diff --git a/tests/test_pypi_version.py b/tests/test_pypi_version.py
index d4ade6da..7b6325d7 100644
--- a/tests/test_pypi_version.py
+++ b/tests/test_pypi_version.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from unittest import TestCase
 
diff --git a/tests/test_python_semver.py b/tests/test_python_semver.py
index 9ca1807f..5111bc00 100644
--- a/tests/test_python_semver.py
+++ b/tests/test_python_semver.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from unittest import TestCase
 
diff --git a/tests/test_rpm_vercmp.py b/tests/test_rpm_vercmp.py
index 785ff37a..3f2b1f36 100644
--- a/tests/test_rpm_vercmp.py
+++ b/tests/test_rpm_vercmp.py
@@ -4,7 +4,7 @@
 # SPDX-License-Identifier: Apache-2.0
 # this has been significantly modified from the original
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import io
 import os
diff --git a/tests/test_skeleton_codestyle.py b/tests/test_skeleton_codestyle.py
index 3304806a..328f0c8b 100644
--- a/tests/test_skeleton_codestyle.py
+++ b/tests/test_skeleton_codestyle.py
@@ -3,7 +3,7 @@
 # ScanCode is a trademark of nexB Inc.
 # SPDX-License-Identifier: Apache-2.0
 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
-# See https://github.com/nexB/skeleton for support or download.
+# See https://github.com/aboutcode-org/skeleton for support or download.
 # See https://aboutcode.org for more information about nexB OSS projects.
 #
 
diff --git a/tests/test_vers.py b/tests/test_vers.py
index e4258499..3b322858 100644
--- a/tests/test_vers.py
+++ b/tests/test_vers.py
@@ -3,7 +3,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import json
 import os
diff --git a/tests/test_version_comparison.py b/tests/test_version_comparison.py
index b77843db..6efaeeba 100644
--- a/tests/test_version_comparison.py
+++ b/tests/test_version_comparison.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import pytest
 
diff --git a/tests/test_version_constraint.py b/tests/test_version_constraint.py
index b4b5df9b..b58828ec 100644
--- a/tests/test_version_constraint.py
+++ b/tests/test_version_constraint.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import pytest
 
diff --git a/tests/test_version_range.py b/tests/test_version_range.py
index 8361467c..2d3c4112 100644
--- a/tests/test_version_range.py
+++ b/tests/test_version_range.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import json
 from unittest import TestCase
diff --git a/tests/test_versions.py b/tests/test_versions.py
index ab5e414e..57ded4c0 100644
--- a/tests/test_versions.py
+++ b/tests/test_versions.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 from univers.version_constraint import VersionConstraint
 from univers.versions import AlpineLinuxVersion
diff --git a/tests/util_tests.py b/tests/util_tests.py
index 023678c0..c949e88d 100644
--- a/tests/util_tests.py
+++ b/tests/util_tests.py
@@ -2,7 +2,7 @@
 # Copyright (c) nexB Inc. and others.
 # SPDX-License-Identifier: Apache-2.0
 #
-# Visit https://aboutcode.org and https://github.com/nexB/univers for support and download.
+# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
 
 import json
 import os