code: def get_github_info(packages=packages):
      """
      Get information about subpackage releases that have been tagged on github
      """
      no_release = []
      release = {}
  
      for package in packages:
          url = f"https://api.github.com/repos/pysal/{package}/releases/latest"
          print(url)
          d = json.loads(gh_session.get(url).text)
          if "message" in d:
              if d["message"] == "Not Found":
                  print(f"{package} has no latest release")
                  no_release.append(package)
              else:
                  print("Something else happened")
                  print(d)
          else:
              tag_name = d["tag_name"]
              tarball_url = d["tarball_url"]
              # release_date = datetime.datetime.strptime(d['published_at'], '%Y-%m-%dT%H:%M:%SZ')
              release[package] = {
                  "version": tag_name,
                  "url": tarball_url,
                  "release_date": d["published_at"],
              }
  
      with open("tarballs.json", "w") as fp:
          json.dump(release, fp)
  
      for package in release:
          dt = release[package]["release_date"]
          release[package]["release_date"] = datetime.strptime(
              dt, "%Y-%m-%dT%H:%M:%SZ"
          )
  
      return release
  
imports: import os
  import json
  import urllib
  import re
  import yaml
  from urllib.request import urlopen
  from datetime import datetime, timedelta
  import requests
label_desc: Use image node_id 1 for calling a global function with example usage: get_github_info(packages) and returns: release