Skip to content

Instantly share code, notes, and snippets.

@futursolo
Last active December 2, 2020 02:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save futursolo/0ddb0dd7091393dc03527202e15ff475 to your computer and use it in GitHub Desktop.
Save futursolo/0ddb0dd7091393dc03527202e15ff475 to your computer and use it in GitHub Desktop.
Pip output sample
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2019 Kaede Hoshikawa
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""
The output of Python's current Package Installer(pip) is quite messy and
Pythonistas deserve a better output.
If you don't believe me, just type `pip install pyobjc` and watch the terminal
go nuts.
So I made this sample script to showcase two potential designs that can be
used to improve the output of pip.
1. `next_pip.py`
This one mimics Red Hat's dnf package manager. Dnf has a very nice table
based design and it makes the output looks tidy and consistent even with
a large quantity of packages.
2. `next_pip.py -s`
This one is inspired by Rust's Cargo package manager. Pip's current output
has too much useless information which makes the output look very messy.
Cargo has a very minimal output design and it looks very clean.
Also, you need Python 3.6 to run this script as I used f-string.
If you have any suggestions on how this can be improved, please comment below.
Related Issue: https://github.com/pypa/pip/issues/4649
"""
import shutil
import time
import secrets
import sys
import random
update_every = .1
packages = [
("pyobjc", "5.1.2", True),
("pyobjc-core", "5.1.2"),
("pyobjc-framework-AVFoundation", "5.1.2"),
("pyobjc-framework-AVKit", "5.1.2"),
("pyobjc-framework-Accounts", "5.1.2"),
("pyobjc-framework-AdSupport", "5.1.2"),
("pyobjc-framework-AddressBook", "5.1.2"),
("pyobjc-framework-AppleScriptKit", "5.1.2"),
("pyobjc-framework-AppleScriptObjC", "5.1.2"),
("pyobjc-framework-ApplicationServices", "5.1.2"),
("pyobjc-framework-Automator", "5.1.2"),
("pyobjc-framework-BusinessChat", "5.1.2"),
("pyobjc-framework-CFNetwork", "5.1.2"),
("pyobjc-framework-CalendarStore", "5.1.2"),
("pyobjc-framework-CloudKit", "5.1.2"),
("pyobjc-framework-Cocoa", "5.1.2"),
("pyobjc-framework-Collaboration", "5.1.2"),
("pyobjc-framework-ColorSync", "5.1.2"),
("pyobjc-framework-Contacts", "5.1.2"),
("pyobjc-framework-ContactsUI", "5.1.2"),
("pyobjc-framework-CoreAudio", "5.1.2"),
("pyobjc-framework-CoreAudioKit", "5.1.2"),
("pyobjc-framework-CoreBluetooth", "5.1.2"),
("pyobjc-framework-CoreData", "5.1.2"),
("pyobjc-framework-CoreLocation", "5.1.2"),
("pyobjc-framework-CoreML", "5.1.2"),
("pyobjc-framework-CoreMedia", "5.1.2"),
("pyobjc-framework-CoreMediaIO", "5.1.2"),
("pyobjc-framework-CoreServices", "5.1.2"),
("pyobjc-framework-CoreSpotlight", "5.1.2"),
("pyobjc-framework-CoreText", "5.1.2"),
("pyobjc-framework-CoreWLAN", "5.1.2"),
("pyobjc-framework-CryptoTokenKit", "5.1.2"),
("pyobjc-framework-DVDPlayback", "5.1.2"),
("pyobjc-framework-DictionaryServices", "5.1.2"),
("pyobjc-framework-DiscRecording", "5.1.2"),
("pyobjc-framework-DiscRecordingUI", "5.1.2"),
("pyobjc-framework-DiskArbitration", "5.1.2"),
("pyobjc-framework-EventKit", "5.1.2"),
("pyobjc-framework-ExceptionHandling", "5.1.2"),
("pyobjc-framework-ExternalAccessory", "5.1.2"),
("pyobjc-framework-FSEvents", "5.1.2"),
("pyobjc-framework-FinderSync", "5.1.2"),
("pyobjc-framework-GameCenter", "5.1.2"),
("pyobjc-framework-GameController", "5.1.2"),
("pyobjc-framework-GameKit", "5.1.2"),
("pyobjc-framework-GameplayKit", "5.1.2"),
("pyobjc-framework-IMServicePlugIn", "5.1.2"),
("pyobjc-framework-IOSurface", "5.1.2"),
("pyobjc-framework-ImageCaptureCore", "5.1.2"),
("pyobjc-framework-InputMethodKit", "5.1.2"),
("pyobjc-framework-InstallerPlugins", "5.1.2"),
("pyobjc-framework-InstantMessage", "5.1.2"),
("pyobjc-framework-Intents", "5.1.2"),
("pyobjc-framework-LatentSemanticMapping", "5.1.2"),
("pyobjc-framework-LaunchServices", "5.1.2"),
("pyobjc-framework-LocalAuthentication", "5.1.2"),
("pyobjc-framework-MapKit", "5.1.2"),
("pyobjc-framework-MediaAccessibility", "5.1.2"),
("pyobjc-framework-MediaLibrary", "5.1.2"),
("pyobjc-framework-MediaPlayer", "5.1.2"),
("pyobjc-framework-MediaToolbox", "5.1.2"),
("pyobjc-framework-ModelIO", "5.1.2"),
("pyobjc-framework-MultipeerConnectivity", "5.1.2"),
("pyobjc-framework-NaturalLanguage", "5.1.2"),
("pyobjc-framework-NetFS", "5.1.2"),
("pyobjc-framework-Network", "5.1.2"),
("pyobjc-framework-NetworkExtension", "5.1.2"),
("pyobjc-framework-NotificationCenter", "5.1.2"),
("pyobjc-framework-OSAKit", "5.1.2"),
("pyobjc-framework-OpenDirectory", "5.1.2"),
("pyobjc-framework-Photos", "5.1.2"),
("pyobjc-framework-PhotosUI", "5.1.2"),
("pyobjc-framework-PreferencePanes", "5.1.2"),
("pyobjc-framework-PubSub", "5.1.2"),
("pyobjc-framework-QTKit", "5.1.2"),
("pyobjc-framework-Quartz", "5.1.2"),
("pyobjc-framework-SafariServices", "5.1.2"),
("pyobjc-framework-SceneKit", "5.1.2"),
("pyobjc-framework-ScreenSaver", "5.1.2"),
("pyobjc-framework-ScriptingBridge", "5.1.2"),
("pyobjc-framework-SearchKit", "5.1.2"),
("pyobjc-framework-Security", "5.1.2"),
("pyobjc-framework-SecurityFoundation", "5.1.2"),
("pyobjc-framework-SecurityInterface", "5.1.2"),
("pyobjc-framework-ServiceManagement", "5.1.2"),
("pyobjc-framework-Social", "5.1.2"),
("pyobjc-framework-SpriteKit", "5.1.2"),
("pyobjc-framework-StoreKit", "5.1.2"),
("pyobjc-framework-SyncServices", "5.1.2"),
("pyobjc-framework-SystemConfiguration", "5.1.2"),
("pyobjc-framework-UserNotifications", "5.1.2"),
("pyobjc-framework-VideoSubscriberAccount", "5.1.2"),
("pyobjc-framework-VideoToolbox", "5.1.2"),
("pyobjc-framework-Vision", "5.1.2"),
("pyobjc-framework-WebKit", "5.1.2"),
("pyobjc-framework-iTunesLibrary", "5.1.2"),
("pyobjc-framework-libdispatch", "5.1.2"),
]
mean_speed = secrets.choice(range(200, 3000))
class Stdout:
def __init__(self):
self.active_lines = 0
@staticmethod
def get_twidth():
return shutil.get_terminal_size().columns
@staticmethod
def print_fill_line(s):
print(s + " " * (Stdout.get_twidth() - len(s)))
def moveback(self):
for _ in range(0, self.active_lines):
sys.stdout.write("\033[F")
sys.stdout.flush()
def update_active_lines(self, lines):
if len(lines) < self.active_lines:
raise ValueError
self.moveback()
for line in lines:
self.print_fill_line(line)
self.active_lines = len(lines)
sys.stdout.flush()
def print_permanent_line(self, s):
self.moveback()
sys.stdout.write("\033[K")
print(s.rstrip())
self.active_lines = 0
sys.stdout.flush()
stdout = Stdout()
initial_twidth = stdout.get_twidth()
class ProgressBar:
def __init__(self, hashtag=True, max_length=None):
self.progress = 0
self.hashtag = hashtag
self.max_length = max_length
def get_bar(self, length, new_progress=None):
if new_progress is not None:
self.progress = new_progress
if self.max_length is None:
max_length = stdout.get_twidth()
else:
max_length = self.max_length
if not length:
length = max_length
length = min((length, max_length)) - 2
hlength = length * self.progress // 100
hlength = min((hlength, length))
if self.hashtag:
return f"[{'#' * hlength}{' ' * (length - hlength)}]"
else:
if hlength > 0 and hlength < length:
fhlength = hlength - 1
cur = ">"
else:
cur = ""
fhlength = hlength
return f"[{'=' * fhlength}{cur}{' ' * (length - hlength)}]"
def convert_to_size_text(size):
if size < 1024:
return f"{size}KB"
else:
size_f = size / 1024
return f"{size_f:.1f}MB"
class Package:
def __init__(self, name, ver, non_any=False, hashtag=False):
self.name = name
self.ver = ver
self.progress = None
self.prefix = f"{self.name} v{self.ver} "
self.full_info_len = len(self.prefix) + 8
self._speed_cache = None
self._speed_guard = None
if self.is_sdist():
self.platform = "sdist"
else:
self.platform = "wheel(non-any)" if non_any else "wheel(macOS)"
self.bar = ProgressBar(hashtag=hashtag, max_length=40)
def get_size(self):
rand = random.Random(self.prefix.encode())
return rand.choice(range(100, 2500))
def get_size_text(self):
return convert_to_size_text(self.get_size())
def get_rand_speed(self):
if self._speed_cache is not None and \
self._speed_guard == int(time.time() * 5):
return self._speed_cache
self._speed_guard = int(time.time() * 2)
variance = secrets.choice(range(0, 200))
if secrets.choice((0, 1)):
speed = mean_speed + variance
else:
speed = mean_speed - variance
if speed < 1024:
self._speed_cache = f"{speed}KB/s"
else:
speed_f = speed / 1024
self._speed_cache = f"{speed_f:.1f}MB/s"
return self._speed_cache
def is_sdist(self):
rand = random.Random(self.prefix.encode())
return rand.random() < 0.05
def get_progress_bar(self, info_len=None):
if not info_len:
info_len = self.full_info_len
if self.bar.hashtag:
length = get_field_len()[-1] - 10
else:
length = stdout.get_twidth() - info_len - 10
return self.bar.get_bar(length, new_progress=self.progress)
def get_seq_prefix(self, seq):
if not self.download_finished():
return " " * 7
base = f" {seq}."
if len(base) < 7:
return base + " " * (7 - len(base))
else:
return base
def get_cargo_download_line(self, info_len=None):
speed_s = self.get_rand_speed()
if self.progress is None:
self.progress = 0
else:
self.progress += secrets.choice(range(5, 60))
suffix = speed_s
bar = self.get_progress_bar(info_len=info_len)
seq_prefix = self.get_seq_prefix(0)
full_prefix = f"{seq_prefix}{self.prefix}"
if info_len and self.full_info_len < info_len:
full_prefix += " " * (info_len - self.full_info_len)
space = " " * (
stdout.get_twidth() - (
info_len or self.full_info_len) - len(bar) - 8)
return f"{full_prefix}{space}{bar} {suffix}"
def get_cargo_download_finished_line(self, seq):
seq_prefix = self.get_seq_prefix(seq)
return f"{seq_prefix}{self.prefix}"
def get_dnf_download_line(self):
if self.progress is None:
self.progress = 0
else:
self.progress += secrets.choice(range(5, 60))
return format_dnf_download_line(
self.name, self.ver, self.platform, self.get_size_text(),
self.get_rand_speed() + self.get_progress_bar())
def get_dnf_download_finished_line(self):
return format_dnf_download_line(
self.name, self.ver, self.platform, self.get_size_text(),
self.get_rand_speed())
def download_finished(self):
return self.progress >= 100
def get_cargo_install_line(self, seq):
seq_prefix = self.get_seq_prefix(seq)
return f"{seq_prefix}{self.prefix}"
min_pkg_len = 15
min_ver_len = 8
min_dist_len = 15
min_size_len = 6
min_speed_len = 15
min_speed_first_len = 21
min_to_show = \
min_pkg_len + min_ver_len + min_dist_len + min_size_len + min_speed_len
min_to_distribute_space = \
min_pkg_len + min_ver_len + min_dist_len + min_size_len + \
min_speed_first_len
def get_field_len():
twidth = max((stdout.get_twidth(), min_to_show))
twidth = min((twidth, initial_twidth)) - 4
if twidth <= min_to_distribute_space:
speed_len = twidth - min_to_show + min_speed_len
pkg_len = min_pkg_len
ver_len = min_ver_len
dist_len = min_dist_len
size_len = min_size_len
else:
space_all = (twidth - min_to_distribute_space) // 5
pkg_len = min_pkg_len + space_all
ver_len = min_ver_len + space_all
dist_len = min_dist_len + space_all
size_len = min_size_len + space_all
speed_len = twidth - pkg_len - ver_len - dist_len - size_len
return pkg_len, ver_len, dist_len, size_len, speed_len
def format_dnf_download_line(*items):
def fmt_field(s, f_len):
if len(s) <= f_len:
return s + " " * (f_len - len(s))
else:
return s[:f_len]
def fmt_rfield(s, f_len):
if len(s) <= f_len:
return " " * (f_len - len(s)) + s
else:
return s[:f_len]
parts = []
for index, l in enumerate(get_field_len()):
if index <= 3:
parts.append(fmt_field(items[index], l))
else:
parts.append(fmt_rfield(items[index], l))
return " ".join(parts)
def print_table_line():
stdout.print_permanent_line("=" * initial_twidth)
def print_dnf_download_table():
if initial_twidth < min_to_show:
raise RuntimeError("Resize window and try again.")
print_table_line()
stdout.print_permanent_line(format_dnf_download_line(
"Package(s)", "Version", "Distribution", "Size", "Speed"))
print_table_line()
building_pre = " Building : "
installl_pre = " Installing : "
def show_dnf():
stdout.print_permanent_line("Fetching Package(s):")
print_dnf_download_table()
pkg_lists = iter(packages)
full_pkg_lists = []
p = Package(*next(pkg_lists), hashtag=True)
while True:
stdout.update_active_lines([p.get_dnf_download_line()])
if p.download_finished():
stdout.print_permanent_line(p.get_dnf_download_finished_line())
break
time.sleep(update_every)
full_pkg_lists.append(p)
current_pkgs = []
while True:
while len(current_pkgs) < 3:
try:
current_pkgs.append(Package(*next(pkg_lists), hashtag=True))
except StopIteration:
break
if not current_pkgs:
break
time.sleep(update_every)
stdout.update_active_lines(
[pkg.get_dnf_download_line() for pkg in current_pkgs])
for pkg in list(current_pkgs):
if pkg.download_finished():
stdout.print_permanent_line(
pkg.get_dnf_download_finished_line())
current_pkgs.remove(pkg)
full_pkg_lists.append(pkg)
total_size = sum([pkg.get_size() for pkg in full_pkg_lists])
total_size_text = convert_to_size_text(total_size)
print_table_line()
stdout.print_permanent_line(
format_dnf_download_line(
"Total:", "", "", total_size_text,
f"{len(full_pkg_lists)} Package(s)"))
stdout.print_permanent_line("")
stdout.print_permanent_line("Installing Package(s):")
total_wheels = len([pkg for pkg in full_pkg_lists if pkg.is_sdist()])
all_jobs = total_wheels + len(full_pkg_lists)
total_bar = ProgressBar(hashtag=True)
longest_name_length = max(
[len(pkg.prefix.strip()) for pkg in full_pkg_lists]) - 2
overhead_len = 10 + longest_name_length + \
len(str(total_wheels)) * 2 + len(building_pre)
ctr = 1
for pkg in full_pkg_lists:
if not pkg.is_sdist():
continue
wheel_building_time = secrets.choice(range(1, 3))
start_time = time.time()
wheel_prefix = f"{pkg.name}-{pkg.ver}"
wheel_prefix = building_pre + wheel_prefix
while True:
if time.time() - start_time > wheel_building_time:
break
bar = total_bar.get_bar(
stdout.get_twidth() - overhead_len, 100 * ctr // all_jobs)
counter = f"({ctr}/{all_jobs})"
counter = " " * (
(len(str(all_jobs)) * 2 + 3) - len(counter)) + counter
space = " " * (
stdout.get_twidth() - len(bar) - len(counter)
- len(wheel_prefix))
stdout.update_active_lines(
[f"{wheel_prefix}{space}{bar}{counter}"])
time.sleep(update_every)
space = " " * (
stdout.get_twidth() - len(wheel_prefix) - len(counter))
stdout.print_permanent_line(f"{wheel_prefix}{space}{counter} ")
ctr += 1
for pkg in full_pkg_lists:
inst_time = secrets.choice(range(1, 5))
start_time = time.time()
inst_prefix = f"{pkg.name}-{pkg.ver}"
inst_prefix = installl_pre + inst_prefix
while True:
if time.time() - start_time > inst_time / 10:
break
bar = total_bar.get_bar(
stdout.get_twidth() - overhead_len, 100 * ctr // all_jobs)
counter = f"({ctr}/{all_jobs})"
counter = " " * (
(len(str(all_jobs)) * 2 + 3) - len(counter)) + counter
space = " " * (
stdout.get_twidth() - len(bar) - len(counter)
- len(inst_prefix))
stdout.update_active_lines(
[f"{inst_prefix}{space}{bar}{counter}"])
time.sleep(update_every)
space = " " * (
stdout.get_twidth() - len(inst_prefix) - len(counter))
stdout.print_permanent_line(f"{inst_prefix}{space}{counter} ")
ctr += 1
stdout.print_permanent_line("")
stdout.print_permanent_line("Installed Package(s):")
columns = stdout.get_twidth() // (longest_name_length + 3)
column_len = stdout.get_twidth() // columns
pkg_names = [f"{pkg.name}-{pkg.ver}" for pkg in full_pkg_lists]
while True:
parts = [" "]
for _ in range(0, columns):
try:
n = pkg_names.pop(0)
parts.append(n + " " * (column_len - len(n)))
except IndexError:
break
stdout.print_permanent_line("".join(parts))
if not pkg_names:
break
stdout.print_permanent_line("")
stdout.print_permanent_line(
f"Successfully Installed {len(full_pkg_lists)} package(s).")
stdout.print_permanent_line("")
stdout.print_permanent_line("Done!")
def show_cargo():
stdout.print_permanent_line("Fetching Package(s):")
pkg_lists = iter(packages)
full_pkg_lists = []
p = Package(*next(pkg_lists))
while True:
stdout.update_active_lines([p.get_cargo_download_line()])
if p.download_finished():
stdout.print_permanent_line(p.get_cargo_download_finished_line(1))
break
time.sleep(update_every)
full_pkg_lists.append(p)
ctr = 2
current_pkgs = []
while True:
while len(current_pkgs) < 3:
try:
current_pkgs.append(Package(*next(pkg_lists)))
except StopIteration:
break
if not current_pkgs:
break
time.sleep(update_every)
info_len = max([pkg.full_info_len for pkg in current_pkgs])
stdout.update_active_lines(
[pkg.get_cargo_download_line(info_len=info_len)
for pkg in current_pkgs])
for pkg in list(current_pkgs):
if pkg.download_finished():
stdout.print_permanent_line(
pkg.get_cargo_download_finished_line(ctr))
ctr += 1
current_pkgs.remove(pkg)
full_pkg_lists.append(pkg)
total_size = sum([pkg.get_size() for pkg in full_pkg_lists])
total_size_text = convert_to_size_text(total_size)
stdout.print_permanent_line("")
stdout.print_permanent_line(
f"Downloaded {ctr - 1} package(s) with a total size of "
f"{total_size_text}.")
stdout.print_permanent_line("")
longest_name_length = max(
[len(pkg.prefix.strip()) for pkg in full_pkg_lists])
wheel_bar = ProgressBar(hashtag=False)
total_wheels = len([pkg for pkg in full_pkg_lists if pkg.is_sdist()])
overhead_len = 10 + longest_name_length + len(str(total_wheels)) * 2
stdout.print_permanent_line("Building Wheel(s):")
ctr = 1
all_time = 0
for index, pkg in enumerate(full_pkg_lists):
if not pkg.is_sdist():
continue
wheel_building_time = secrets.choice(range(1, 3))
all_time += wheel_building_time
start_time = time.time()
wheel_prefix = pkg.get_cargo_install_line(ctr)
while True:
if time.time() - start_time > wheel_building_time:
break
bar = wheel_bar.get_bar(
stdout.get_twidth() - overhead_len, 100 * ctr // total_wheels)
space = " " * (longest_name_length - len(pkg.prefix.strip()) + 1)
counter = f"({ctr}/{total_wheels})"
counter += " " * (7 - len(counter))
stdout.update_active_lines(
[f"{counter}{pkg.prefix.strip()}{space}{bar}"])
time.sleep(update_every)
stdout.print_permanent_line(wheel_prefix)
ctr += 1
stdout.print_permanent_line("")
stdout.print_permanent_line(f"Built {ctr - 1} wheel(s) in {all_time}s.")
stdout.print_permanent_line("")
stdout.print_permanent_line("Installing Package(s):")
inst_bar = ProgressBar(hashtag=False)
overhead_len = 10 + longest_name_length + len(str(len(full_pkg_lists))) * 2
inst_start_time = time.time()
for index, pkg in enumerate(full_pkg_lists):
install_time = secrets.choice(range(1, 5))
inst_prefix = pkg.get_cargo_install_line(index + 1)
start_time = time.time()
while True:
if time.time() - start_time > install_time / 10:
break
bar = inst_bar.get_bar(
stdout.get_twidth() - overhead_len,
100 * (index + 1) // len(full_pkg_lists))
space = " " * (longest_name_length - len(pkg.prefix.strip()) + 1)
counter = f"({index + 1}/{len(full_pkg_lists)})"
counter += " " * (7 - len(counter))
stdout.update_active_lines(
[f"{counter}{pkg.prefix.strip()}{space}{bar}"])
time.sleep(update_every)
stdout.print_permanent_line(inst_prefix)
used_time = int(time.time() - inst_start_time)
stdout.print_permanent_line("")
stdout.print_permanent_line(
f"Successfully Installed {len(full_pkg_lists)} package(s) "
f"in {used_time}s.")
stdout.print_permanent_line("")
stdout.print_permanent_line("Complete!")
def main(args=sys.argv[1:]):
if "--simple" in args or "-s" in args:
show_cargo()
else:
show_dnf()
if __name__ == "__main__":
main()
Fetching Package(s):
====================================================================================================
Package(s) Version Distribution Size Speed
====================================================================================================
pyobjc 5.1.2 wheel(non-any) 1.1MB 199KB/s
pyobjc-core 5.1.2 wheel(macOS) 1.8MB 414KB/s
pyobjc-framework-AVKi 5.1.2 wheel(macOS) 1.8MB 138KB/s
pyobjc-framework-AVFo 5.1.2 wheel(macOS) 2.1MB 85KB/s
pyobjc-framework-Acco 5.1.2 wheel(macOS) 1.6MB 381KB/s
pyobjc-framework-AdSu 5.1.2 wheel(macOS) 2.0MB 68KB/s
pyobjc-framework-Addr 5.1.2 wheel(macOS) 1.1MB 313KB/s
pyobjc-framework-Appl 5.1.2 wheel(macOS) 2.4MB 31KB/s
pyobjc-framework-Appl 5.1.2 wheel(macOS) 2.0MB 239KB/s
pyobjc-framework-Appl 5.1.2 wheel(macOS) 1.4MB 230KB/s
pyobjc-framework-Auto 5.1.2 wheel(macOS) 372KB 119KB/s
pyobjc-framework-Busi 5.1.2 wheel(macOS) 2.2MB 110KB/s
pyobjc-framework-Cale 5.1.2 wheel(macOS) 1.5MB 339KB/s
pyobjc-framework-CFNe 5.1.2 sdist 157KB 81KB/s
pyobjc-framework-Clou 5.1.2 wheel(macOS) 1.1MB 413KB/s
pyobjc-framework-Coco 5.1.2 wheel(macOS) 868KB 425KB/s
pyobjc-framework-Coll 5.1.2 wheel(macOS) 2.2MB 401KB/s
pyobjc-framework-Colo 5.1.2 wheel(macOS) 2.0MB 33KB/s
pyobjc-framework-Cont 5.1.2 sdist 137KB 161KB/s
pyobjc-framework-Cont 5.1.2 wheel(macOS) 2.2MB 169KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.2MB 264KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.6MB 235KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.1MB 251KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 2.3MB 118KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.3MB 366KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.6MB 413KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.9MB 114KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.4MB 166KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.6MB 321KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 354KB 81KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 487KB 81KB/s
pyobjc-framework-Core 5.1.2 wheel(macOS) 1.6MB 320KB/s
pyobjc-framework-Cryp 5.1.2 wheel(macOS) 1.6MB 266KB/s
pyobjc-framework-DVDP 5.1.2 wheel(macOS) 1.4MB 413KB/s
pyobjc-framework-Dict 5.1.2 wheel(macOS) 1.0MB 360KB/s
pyobjc-framework-Disc 5.1.2 wheel(macOS) 2.2MB 185KB/s
pyobjc-framework-Disc 5.1.2 wheel(macOS) 1.1MB 424KB/s
pyobjc-framework-Disk 5.1.2 wheel(macOS) 1.9MB 92KB/s
pyobjc-framework-Exce 5.1.2 wheel(macOS) 2.1MB 358KB/s
pyobjc-framework-Even 5.1.2 wheel(macOS) 1.0MB 293KB/s
pyobjc-framework-Exte 5.1.2 wheel(macOS) 833KB 98KB/s
pyobjc-framework-FSEv 5.1.2 wheel(macOS) 684KB 345KB/s
pyobjc-framework-Find 5.1.2 wheel(macOS) 2.4MB 56KB/s
pyobjc-framework-Game 5.1.2 wheel(macOS) 1.8MB 294KB/s
pyobjc-framework-Game 5.1.2 wheel(macOS) 1.6MB 173KB/s
pyobjc-framework-Game 5.1.2 wheel(macOS) 2.0MB 312KB/s
pyobjc-framework-Game 5.1.2 wheel(macOS) 916KB 313KB/s
pyobjc-framework-IMSe 5.1.2 wheel(macOS) 869KB 122KB/s
pyobjc-framework-Inpu 5.1.2 sdist 250KB 295KB/s
pyobjc-framework-IOSu 5.1.2 wheel(macOS) 2.4MB 193KB/s
pyobjc-framework-Imag 5.1.2 wheel(macOS) 529KB 272KB/s
pyobjc-framework-Inst 5.1.2 wheel(macOS) 1.0MB 32KB/s
pyobjc-framework-Inst 5.1.2 wheel(macOS) 1.8MB 370KB/s
pyobjc-framework-Inte 5.1.2 wheel(macOS) 1.5MB 114KB/s
pyobjc-framework-Late 5.1.2 wheel(macOS) 516KB 370KB/s
pyobjc-framework-Loca 5.1.2 wheel(macOS) 1.0MB 62KB/s
pyobjc-framework-Laun 5.1.2 wheel(macOS) 1.6MB 234KB/s
pyobjc-framework-MapK 5.1.2 wheel(macOS) 306KB 236KB/s
pyobjc-framework-Medi 5.1.2 wheel(macOS) 2.3MB 384KB/s
pyobjc-framework-Medi 5.1.2 wheel(macOS) 614KB 145KB/s
pyobjc-framework-Medi 5.1.2 wheel(macOS) 1.7MB 420KB/s
pyobjc-framework-Medi 5.1.2 wheel(macOS) 1.3MB 120KB/s
pyobjc-framework-Mode 5.1.2 wheel(macOS) 2.3MB 331KB/s
pyobjc-framework-Mult 5.1.2 wheel(macOS) 2.2MB 294KB/s
pyobjc-framework-NetF 5.1.2 wheel(macOS) 686KB 124KB/s
pyobjc-framework-Natu 5.1.2 wheel(macOS) 227KB 74KB/s
pyobjc-framework-Netw 5.1.2 wheel(macOS) 706KB 212KB/s
pyobjc-framework-Noti 5.1.2 wheel(macOS) 1.8MB 312KB/s
pyobjc-framework-Netw 5.1.2 wheel(macOS) 1.6MB 62KB/s
pyobjc-framework-OSAK 5.1.2 wheel(macOS) 854KB 194KB/s
pyobjc-framework-Open 5.1.2 wheel(macOS) 348KB 49KB/s
pyobjc-framework-Phot 5.1.2 wheel(macOS) 536KB 165KB/s
pyobjc-framework-Phot 5.1.2 wheel(macOS) 429KB 408KB/s
pyobjc-framework-Pref 5.1.2 wheel(macOS) 1.9MB 253KB/s
pyobjc-framework-PubS 5.1.2 wheel(macOS) 1.3MB 54KB/s
pyobjc-framework-QTKi 5.1.2 wheel(macOS) 445KB 216KB/s
pyobjc-framework-Quar 5.1.2 wheel(macOS) 2.0MB 198KB/s
pyobjc-framework-Scen 5.1.2 wheel(macOS) 1.5MB 325KB/s
pyobjc-framework-Safa 5.1.2 wheel(macOS) 956KB 72KB/s
pyobjc-framework-Scre 5.1.2 wheel(macOS) 174KB 392KB/s
pyobjc-framework-Scri 5.1.2 wheel(macOS) 1.3MB 99KB/s
pyobjc-framework-Sear 5.1.2 sdist 291KB 109KB/s
pyobjc-framework-Secu 5.1.2 wheel(macOS) 1.4MB 241KB/s
pyobjc-framework-Secu 5.1.2 wheel(macOS) 2.0MB 85KB/s
pyobjc-framework-Secu 5.1.2 wheel(macOS) 1.6MB 226KB/s
pyobjc-framework-Serv 5.1.2 wheel(macOS) 535KB 204KB/s
pyobjc-framework-Soci 5.1.2 wheel(macOS) 554KB 130KB/s
pyobjc-framework-Spri 5.1.2 wheel(macOS) 1.6MB 124KB/s
pyobjc-framework-Stor 5.1.2 wheel(macOS) 1.7MB 238KB/s
pyobjc-framework-Sync 5.1.2 wheel(macOS) 1.7MB 31KB/s
pyobjc-framework-Syst 5.1.2 wheel(macOS) 1.8MB 119KB/s
pyobjc-framework-User 5.1.2 wheel(macOS) 772KB 341KB/s
pyobjc-framework-Vide 5.1.2 wheel(macOS) 1.8MB 384KB/s
pyobjc-framework-Vide 5.1.2 wheel(macOS) 953KB 410KB/s
pyobjc-framework-Visi 5.1.2 wheel(macOS) 1.7MB 209KB/s
pyobjc-framework-WebK 5.1.2 sdist 120KB 163KB/s
pyobjc-framework-libd 5.1.2 wheel(macOS) 1.7MB 66KB/s
pyobjc-framework-iTun 5.1.2 wheel(macOS) 989KB 201KB/s
====================================================================================================
Total: 128.9MB 98 Package(s)
Installing Package(s):
Building : pyobjc-framework-CFNetwork-5.1.2 (1/103)
Building : pyobjc-framework-ContactsUI-5.1.2 (2/103)
Building : pyobjc-framework-InputMethodKit-5.1.2 (3/103)
Building : pyobjc-framework-SearchKit-5.1.2 (4/103)
Building : pyobjc-framework-WebKit-5.1.2 (5/103)
Installing : pyobjc-5.1.2 (6/103)
Installing : pyobjc-core-5.1.2 (7/103)
Installing : pyobjc-framework-AVKit-5.1.2 (8/103)
Installing : pyobjc-framework-AVFoundation-5.1.2 (9/103)
Installing : pyobjc-framework-Accounts-5.1.2 (10/103)
Installing : pyobjc-framework-AdSupport-5.1.2 (11/103)
Installing : pyobjc-framework-AddressBook-5.1.2 (12/103)
Installing : pyobjc-framework-AppleScriptKit-5.1.2 (13/103)
Installing : pyobjc-framework-AppleScriptObjC-5.1.2 (14/103)
Installing : pyobjc-framework-ApplicationServices-5.1.2 (15/103)
Installing : pyobjc-framework-Automator-5.1.2 (16/103)
Installing : pyobjc-framework-BusinessChat-5.1.2 (17/103)
Installing : pyobjc-framework-CalendarStore-5.1.2 (18/103)
Installing : pyobjc-framework-CFNetwork-5.1.2 (19/103)
Installing : pyobjc-framework-CloudKit-5.1.2 (20/103)
Installing : pyobjc-framework-Cocoa-5.1.2 (21/103)
Installing : pyobjc-framework-Collaboration-5.1.2 (22/103)
Installing : pyobjc-framework-ColorSync-5.1.2 (23/103)
Installing : pyobjc-framework-ContactsUI-5.1.2 (24/103)
Installing : pyobjc-framework-Contacts-5.1.2 (25/103)
Installing : pyobjc-framework-CoreAudio-5.1.2 (26/103)
Installing : pyobjc-framework-CoreAudioKit-5.1.2 (27/103)
Installing : pyobjc-framework-CoreBluetooth-5.1.2 (28/103)
Installing : pyobjc-framework-CoreData-5.1.2 (29/103)
Installing : pyobjc-framework-CoreLocation-5.1.2 (30/103)
Installing : pyobjc-framework-CoreMedia-5.1.2 (31/103)
Installing : pyobjc-framework-CoreML-5.1.2 (32/103)
Installing : pyobjc-framework-CoreMediaIO-5.1.2 (33/103)
Installing : pyobjc-framework-CoreServices-5.1.2 (34/103)
Installing : pyobjc-framework-CoreSpotlight-5.1.2 (35/103)
Installing : pyobjc-framework-CoreText-5.1.2 (36/103)
Installing : pyobjc-framework-CoreWLAN-5.1.2 (37/103)
Installing : pyobjc-framework-CryptoTokenKit-5.1.2 (38/103)
Installing : pyobjc-framework-DVDPlayback-5.1.2 (39/103)
Installing : pyobjc-framework-DictionaryServices-5.1.2 (40/103)
Installing : pyobjc-framework-DiscRecording-5.1.2 (41/103)
Installing : pyobjc-framework-DiscRecordingUI-5.1.2 (42/103)
Installing : pyobjc-framework-DiskArbitration-5.1.2 (43/103)
Installing : pyobjc-framework-ExceptionHandling-5.1.2 (44/103)
Installing : pyobjc-framework-EventKit-5.1.2 (45/103)
Installing : pyobjc-framework-ExternalAccessory-5.1.2 (46/103)
Installing : pyobjc-framework-FSEvents-5.1.2 (47/103)
Installing : pyobjc-framework-FinderSync-5.1.2 (48/103)
Installing : pyobjc-framework-GameController-5.1.2 (49/103)
Installing : pyobjc-framework-GameCenter-5.1.2 (50/103)
Installing : pyobjc-framework-GameKit-5.1.2 (51/103)
Installing : pyobjc-framework-GameplayKit-5.1.2 (52/103)
Installing : pyobjc-framework-IMServicePlugIn-5.1.2 (53/103)
Installing : pyobjc-framework-InputMethodKit-5.1.2 (54/103)
Installing : pyobjc-framework-IOSurface-5.1.2 (55/103)
Installing : pyobjc-framework-ImageCaptureCore-5.1.2 (56/103)
Installing : pyobjc-framework-InstallerPlugins-5.1.2 (57/103)
Installing : pyobjc-framework-InstantMessage-5.1.2 (58/103)
Installing : pyobjc-framework-Intents-5.1.2 (59/103)
Installing : pyobjc-framework-LatentSemanticMapping-5.1.2 (60/103)
Installing : pyobjc-framework-LocalAuthentication-5.1.2 (61/103)
Installing : pyobjc-framework-LaunchServices-5.1.2 (62/103)
Installing : pyobjc-framework-MapKit-5.1.2 (63/103)
Installing : pyobjc-framework-MediaAccessibility-5.1.2 (64/103)
Installing : pyobjc-framework-MediaLibrary-5.1.2 (65/103)
Installing : pyobjc-framework-MediaPlayer-5.1.2 (66/103)
Installing : pyobjc-framework-MediaToolbox-5.1.2 (67/103)
Installing : pyobjc-framework-ModelIO-5.1.2 (68/103)
Installing : pyobjc-framework-MultipeerConnectivity-5.1.2 (69/103)
Installing : pyobjc-framework-NetFS-5.1.2 (70/103)
Installing : pyobjc-framework-NaturalLanguage-5.1.2 (71/103)
Installing : pyobjc-framework-Network-5.1.2 (72/103)
Installing : pyobjc-framework-NotificationCenter-5.1.2 (73/103)
Installing : pyobjc-framework-NetworkExtension-5.1.2 (74/103)
Installing : pyobjc-framework-OSAKit-5.1.2 (75/103)
Installing : pyobjc-framework-OpenDirectory-5.1.2 (76/103)
Installing : pyobjc-framework-Photos-5.1.2 (77/103)
Installing : pyobjc-framework-PhotosUI-5.1.2 (78/103)
Installing : pyobjc-framework-PreferencePanes-5.1.2 (79/103)
Installing : pyobjc-framework-PubSub-5.1.2 (80/103)
Installing : pyobjc-framework-QTKit-5.1.2 (81/103)
Installing : pyobjc-framework-Quartz-5.1.2 (82/103)
Installing : pyobjc-framework-SceneKit-5.1.2 (83/103)
Installing : pyobjc-framework-SafariServices-5.1.2 (84/103)
Installing : pyobjc-framework-ScreenSaver-5.1.2 (85/103)
Installing : pyobjc-framework-ScriptingBridge-5.1.2 (86/103)
Installing : pyobjc-framework-SearchKit-5.1.2 (87/103)
Installing : pyobjc-framework-Security-5.1.2 (88/103)
Installing : pyobjc-framework-SecurityFoundation-5.1.2 (89/103)
Installing : pyobjc-framework-SecurityInterface-5.1.2 (90/103)
Installing : pyobjc-framework-ServiceManagement-5.1.2 (91/103)
Installing : pyobjc-framework-Social-5.1.2 (92/103)
Installing : pyobjc-framework-SpriteKit-5.1.2 (93/103)
Installing : pyobjc-framework-StoreKit-5.1.2 (94/103)
Installing : pyobjc-framework-SyncServices-5.1.2 (95/103)
Installing : pyobjc-framework-SystemConfiguration-5.1.2 (96/103)
Installing : pyobjc-framework-UserNotifications-5.1.2 (97/103)
Installing : pyobjc-framework-VideoSubscriberAccount-5.1.2 (98/103)
Installing : pyobjc-framework-VideoToolbox-5.1.2 (99/103)
Installing : pyobjc-framework-Vision-5.1.2 (100/103)
Installing : pyobjc-framework-WebKit-5.1.2 (101/103)
Installing : pyobjc-framework-libdispatch-5.1.2 (102/103)
Installing : pyobjc-framework-iTunesLibrary-5.1.2 (103/103)
Installed Package(s):
pyobjc-5.1.2 pyobjc-core-5.1.2
pyobjc-framework-AVKit-5.1.2 pyobjc-framework-AVFoundation-5.1.2
pyobjc-framework-Accounts-5.1.2 pyobjc-framework-AdSupport-5.1.2
pyobjc-framework-AddressBook-5.1.2 pyobjc-framework-AppleScriptKit-5.1.2
pyobjc-framework-AppleScriptObjC-5.1.2 pyobjc-framework-ApplicationServices-5.1.2
pyobjc-framework-Automator-5.1.2 pyobjc-framework-BusinessChat-5.1.2
pyobjc-framework-CalendarStore-5.1.2 pyobjc-framework-CFNetwork-5.1.2
pyobjc-framework-CloudKit-5.1.2 pyobjc-framework-Cocoa-5.1.2
pyobjc-framework-Collaboration-5.1.2 pyobjc-framework-ColorSync-5.1.2
pyobjc-framework-ContactsUI-5.1.2 pyobjc-framework-Contacts-5.1.2
pyobjc-framework-CoreAudio-5.1.2 pyobjc-framework-CoreAudioKit-5.1.2
pyobjc-framework-CoreBluetooth-5.1.2 pyobjc-framework-CoreData-5.1.2
pyobjc-framework-CoreLocation-5.1.2 pyobjc-framework-CoreMedia-5.1.2
pyobjc-framework-CoreML-5.1.2 pyobjc-framework-CoreMediaIO-5.1.2
pyobjc-framework-CoreServices-5.1.2 pyobjc-framework-CoreSpotlight-5.1.2
pyobjc-framework-CoreText-5.1.2 pyobjc-framework-CoreWLAN-5.1.2
pyobjc-framework-CryptoTokenKit-5.1.2 pyobjc-framework-DVDPlayback-5.1.2
pyobjc-framework-DictionaryServices-5.1.2 pyobjc-framework-DiscRecording-5.1.2
pyobjc-framework-DiscRecordingUI-5.1.2 pyobjc-framework-DiskArbitration-5.1.2
pyobjc-framework-ExceptionHandling-5.1.2 pyobjc-framework-EventKit-5.1.2
pyobjc-framework-ExternalAccessory-5.1.2 pyobjc-framework-FSEvents-5.1.2
pyobjc-framework-FinderSync-5.1.2 pyobjc-framework-GameController-5.1.2
pyobjc-framework-GameCenter-5.1.2 pyobjc-framework-GameKit-5.1.2
pyobjc-framework-GameplayKit-5.1.2 pyobjc-framework-IMServicePlugIn-5.1.2
pyobjc-framework-InputMethodKit-5.1.2 pyobjc-framework-IOSurface-5.1.2
pyobjc-framework-ImageCaptureCore-5.1.2 pyobjc-framework-InstallerPlugins-5.1.2
pyobjc-framework-InstantMessage-5.1.2 pyobjc-framework-Intents-5.1.2
pyobjc-framework-LatentSemanticMapping-5.1.2 pyobjc-framework-LocalAuthentication-5.1.2
pyobjc-framework-LaunchServices-5.1.2 pyobjc-framework-MapKit-5.1.2
pyobjc-framework-MediaAccessibility-5.1.2 pyobjc-framework-MediaLibrary-5.1.2
pyobjc-framework-MediaPlayer-5.1.2 pyobjc-framework-MediaToolbox-5.1.2
pyobjc-framework-ModelIO-5.1.2 pyobjc-framework-MultipeerConnectivity-5.1.2
pyobjc-framework-NetFS-5.1.2 pyobjc-framework-NaturalLanguage-5.1.2
pyobjc-framework-Network-5.1.2 pyobjc-framework-NotificationCenter-5.1.2
pyobjc-framework-NetworkExtension-5.1.2 pyobjc-framework-OSAKit-5.1.2
pyobjc-framework-OpenDirectory-5.1.2 pyobjc-framework-Photos-5.1.2
pyobjc-framework-PhotosUI-5.1.2 pyobjc-framework-PreferencePanes-5.1.2
pyobjc-framework-PubSub-5.1.2 pyobjc-framework-QTKit-5.1.2
pyobjc-framework-Quartz-5.1.2 pyobjc-framework-SceneKit-5.1.2
pyobjc-framework-SafariServices-5.1.2 pyobjc-framework-ScreenSaver-5.1.2
pyobjc-framework-ScriptingBridge-5.1.2 pyobjc-framework-SearchKit-5.1.2
pyobjc-framework-Security-5.1.2 pyobjc-framework-SecurityFoundation-5.1.2
pyobjc-framework-SecurityInterface-5.1.2 pyobjc-framework-ServiceManagement-5.1.2
pyobjc-framework-Social-5.1.2 pyobjc-framework-SpriteKit-5.1.2
pyobjc-framework-StoreKit-5.1.2 pyobjc-framework-SyncServices-5.1.2
pyobjc-framework-SystemConfiguration-5.1.2 pyobjc-framework-UserNotifications-5.1.2
pyobjc-framework-VideoSubscriberAccount-5.1.2 pyobjc-framework-VideoToolbox-5.1.2
pyobjc-framework-Vision-5.1.2 pyobjc-framework-WebKit-5.1.2
pyobjc-framework-libdispatch-5.1.2 pyobjc-framework-iTunesLibrary-5.1.2
Successfully Installed 98 package(s).
Done!
Fetching Package(s):
1. pyobjc v5.1.2
2. pyobjc-core v5.1.2
3. pyobjc-framework-AVFoundation v5.1.2
4. pyobjc-framework-AVKit v5.1.2
5. pyobjc-framework-Accounts v5.1.2
6. pyobjc-framework-AdSupport v5.1.2
7. pyobjc-framework-AddressBook v5.1.2
8. pyobjc-framework-AppleScriptObjC v5.1.2
9. pyobjc-framework-AppleScriptKit v5.1.2
10. pyobjc-framework-ApplicationServices v5.1.2
11. pyobjc-framework-Automator v5.1.2
12. pyobjc-framework-BusinessChat v5.1.2
13. pyobjc-framework-CFNetwork v5.1.2
14. pyobjc-framework-CalendarStore v5.1.2
15. pyobjc-framework-CloudKit v5.1.2
16. pyobjc-framework-Cocoa v5.1.2
17. pyobjc-framework-ColorSync v5.1.2
18. pyobjc-framework-Collaboration v5.1.2
19. pyobjc-framework-Contacts v5.1.2
20. pyobjc-framework-ContactsUI v5.1.2
21. pyobjc-framework-CoreAudioKit v5.1.2
22. pyobjc-framework-CoreAudio v5.1.2
23. pyobjc-framework-CoreBluetooth v5.1.2
24. pyobjc-framework-CoreLocation v5.1.2
25. pyobjc-framework-CoreData v5.1.2
26. pyobjc-framework-CoreML v5.1.2
27. pyobjc-framework-CoreMedia v5.1.2
28. pyobjc-framework-CoreServices v5.1.2
29. pyobjc-framework-CoreMediaIO v5.1.2
30. pyobjc-framework-CoreSpotlight v5.1.2
31. pyobjc-framework-CoreText v5.1.2
32. pyobjc-framework-CoreWLAN v5.1.2
33. pyobjc-framework-CryptoTokenKit v5.1.2
34. pyobjc-framework-DVDPlayback v5.1.2
35. pyobjc-framework-DiscRecordingUI v5.1.2
36. pyobjc-framework-DiscRecording v5.1.2
37. pyobjc-framework-DictionaryServices v5.1.2
38. pyobjc-framework-DiskArbitration v5.1.2
39. pyobjc-framework-EventKit v5.1.2
40. pyobjc-framework-ExceptionHandling v5.1.2
41. pyobjc-framework-ExternalAccessory v5.1.2
42. pyobjc-framework-FSEvents v5.1.2
43. pyobjc-framework-FinderSync v5.1.2
44. pyobjc-framework-GameCenter v5.1.2
45. pyobjc-framework-GameController v5.1.2
46. pyobjc-framework-GameKit v5.1.2
47. pyobjc-framework-IMServicePlugIn v5.1.2
48. pyobjc-framework-GameplayKit v5.1.2
49. pyobjc-framework-IOSurface v5.1.2
50. pyobjc-framework-ImageCaptureCore v5.1.2
51. pyobjc-framework-InputMethodKit v5.1.2
52. pyobjc-framework-InstallerPlugins v5.1.2
53. pyobjc-framework-InstantMessage v5.1.2
54. pyobjc-framework-Intents v5.1.2
55. pyobjc-framework-LatentSemanticMapping v5.1.2
56. pyobjc-framework-LaunchServices v5.1.2
57. pyobjc-framework-LocalAuthentication v5.1.2
58. pyobjc-framework-MapKit v5.1.2
59. pyobjc-framework-MediaAccessibility v5.1.2
60. pyobjc-framework-MediaPlayer v5.1.2
61. pyobjc-framework-MediaToolbox v5.1.2
62. pyobjc-framework-MediaLibrary v5.1.2
63. pyobjc-framework-ModelIO v5.1.2
64. pyobjc-framework-MultipeerConnectivity v5.1.2
65. pyobjc-framework-NaturalLanguage v5.1.2
66. pyobjc-framework-NetFS v5.1.2
67. pyobjc-framework-NetworkExtension v5.1.2
68. pyobjc-framework-Network v5.1.2
69. pyobjc-framework-NotificationCenter v5.1.2
70. pyobjc-framework-OSAKit v5.1.2
71. pyobjc-framework-OpenDirectory v5.1.2
72. pyobjc-framework-Photos v5.1.2
73. pyobjc-framework-PhotosUI v5.1.2
74. pyobjc-framework-PreferencePanes v5.1.2
75. pyobjc-framework-PubSub v5.1.2
76. pyobjc-framework-Quartz v5.1.2
77. pyobjc-framework-QTKit v5.1.2
78. pyobjc-framework-SafariServices v5.1.2
79. pyobjc-framework-SceneKit v5.1.2
80. pyobjc-framework-ScriptingBridge v5.1.2
81. pyobjc-framework-ScreenSaver v5.1.2
82. pyobjc-framework-SearchKit v5.1.2
83. pyobjc-framework-SecurityFoundation v5.1.2
84. pyobjc-framework-Security v5.1.2
85. pyobjc-framework-ServiceManagement v5.1.2
86. pyobjc-framework-SecurityInterface v5.1.2
87. pyobjc-framework-Social v5.1.2
88. pyobjc-framework-SpriteKit v5.1.2
89. pyobjc-framework-StoreKit v5.1.2
90. pyobjc-framework-SyncServices v5.1.2
91. pyobjc-framework-SystemConfiguration v5.1.2
92. pyobjc-framework-UserNotifications v5.1.2
93. pyobjc-framework-VideoSubscriberAccount v5.1.2
94. pyobjc-framework-VideoToolbox v5.1.2
95. pyobjc-framework-Vision v5.1.2
96. pyobjc-framework-WebKit v5.1.2
97. pyobjc-framework-iTunesLibrary v5.1.2
98. pyobjc-framework-libdispatch v5.1.2
Downloaded 98 package(s) with a total size of 128.9MB.
Building Wheel(s):
1. pyobjc-framework-CFNetwork v5.1.2
2. pyobjc-framework-ContactsUI v5.1.2
3. pyobjc-framework-InputMethodKit v5.1.2
4. pyobjc-framework-SearchKit v5.1.2
5. pyobjc-framework-WebKit v5.1.2
Built 5 wheel(s) in 9s.
Installing Package(s):
1. pyobjc v5.1.2
2. pyobjc-core v5.1.2
3. pyobjc-framework-AVFoundation v5.1.2
4. pyobjc-framework-AVKit v5.1.2
5. pyobjc-framework-Accounts v5.1.2
6. pyobjc-framework-AdSupport v5.1.2
7. pyobjc-framework-AddressBook v5.1.2
8. pyobjc-framework-AppleScriptObjC v5.1.2
9. pyobjc-framework-AppleScriptKit v5.1.2
10. pyobjc-framework-ApplicationServices v5.1.2
11. pyobjc-framework-Automator v5.1.2
12. pyobjc-framework-BusinessChat v5.1.2
13. pyobjc-framework-CFNetwork v5.1.2
14. pyobjc-framework-CalendarStore v5.1.2
15. pyobjc-framework-CloudKit v5.1.2
16. pyobjc-framework-Cocoa v5.1.2
17. pyobjc-framework-ColorSync v5.1.2
18. pyobjc-framework-Collaboration v5.1.2
19. pyobjc-framework-Contacts v5.1.2
20. pyobjc-framework-ContactsUI v5.1.2
21. pyobjc-framework-CoreAudioKit v5.1.2
22. pyobjc-framework-CoreAudio v5.1.2
23. pyobjc-framework-CoreBluetooth v5.1.2
24. pyobjc-framework-CoreLocation v5.1.2
25. pyobjc-framework-CoreData v5.1.2
26. pyobjc-framework-CoreML v5.1.2
27. pyobjc-framework-CoreMedia v5.1.2
28. pyobjc-framework-CoreServices v5.1.2
29. pyobjc-framework-CoreMediaIO v5.1.2
30. pyobjc-framework-CoreSpotlight v5.1.2
31. pyobjc-framework-CoreText v5.1.2
32. pyobjc-framework-CoreWLAN v5.1.2
33. pyobjc-framework-CryptoTokenKit v5.1.2
34. pyobjc-framework-DVDPlayback v5.1.2
35. pyobjc-framework-DiscRecordingUI v5.1.2
36. pyobjc-framework-DiscRecording v5.1.2
37. pyobjc-framework-DictionaryServices v5.1.2
38. pyobjc-framework-DiskArbitration v5.1.2
39. pyobjc-framework-EventKit v5.1.2
40. pyobjc-framework-ExceptionHandling v5.1.2
41. pyobjc-framework-ExternalAccessory v5.1.2
42. pyobjc-framework-FSEvents v5.1.2
43. pyobjc-framework-FinderSync v5.1.2
44. pyobjc-framework-GameCenter v5.1.2
45. pyobjc-framework-GameController v5.1.2
46. pyobjc-framework-GameKit v5.1.2
47. pyobjc-framework-IMServicePlugIn v5.1.2
48. pyobjc-framework-GameplayKit v5.1.2
49. pyobjc-framework-IOSurface v5.1.2
50. pyobjc-framework-ImageCaptureCore v5.1.2
51. pyobjc-framework-InputMethodKit v5.1.2
52. pyobjc-framework-InstallerPlugins v5.1.2
53. pyobjc-framework-InstantMessage v5.1.2
54. pyobjc-framework-Intents v5.1.2
55. pyobjc-framework-LatentSemanticMapping v5.1.2
56. pyobjc-framework-LaunchServices v5.1.2
57. pyobjc-framework-LocalAuthentication v5.1.2
58. pyobjc-framework-MapKit v5.1.2
59. pyobjc-framework-MediaAccessibility v5.1.2
60. pyobjc-framework-MediaPlayer v5.1.2
61. pyobjc-framework-MediaToolbox v5.1.2
62. pyobjc-framework-MediaLibrary v5.1.2
63. pyobjc-framework-ModelIO v5.1.2
64. pyobjc-framework-MultipeerConnectivity v5.1.2
65. pyobjc-framework-NaturalLanguage v5.1.2
66. pyobjc-framework-NetFS v5.1.2
67. pyobjc-framework-NetworkExtension v5.1.2
68. pyobjc-framework-Network v5.1.2
69. pyobjc-framework-NotificationCenter v5.1.2
70. pyobjc-framework-OSAKit v5.1.2
71. pyobjc-framework-OpenDirectory v5.1.2
72. pyobjc-framework-Photos v5.1.2
73. pyobjc-framework-PhotosUI v5.1.2
74. pyobjc-framework-PreferencePanes v5.1.2
75. pyobjc-framework-PubSub v5.1.2
76. pyobjc-framework-Quartz v5.1.2
77. pyobjc-framework-QTKit v5.1.2
78. pyobjc-framework-SafariServices v5.1.2
79. pyobjc-framework-SceneKit v5.1.2
80. pyobjc-framework-ScriptingBridge v5.1.2
81. pyobjc-framework-ScreenSaver v5.1.2
82. pyobjc-framework-SearchKit v5.1.2
83. pyobjc-framework-SecurityFoundation v5.1.2
84. pyobjc-framework-Security v5.1.2
85. pyobjc-framework-ServiceManagement v5.1.2
86. pyobjc-framework-SecurityInterface v5.1.2
87. pyobjc-framework-Social v5.1.2
88. pyobjc-framework-SpriteKit v5.1.2
89. pyobjc-framework-StoreKit v5.1.2
90. pyobjc-framework-SyncServices v5.1.2
91. pyobjc-framework-SystemConfiguration v5.1.2
92. pyobjc-framework-UserNotifications v5.1.2
93. pyobjc-framework-VideoSubscriberAccount v5.1.2
94. pyobjc-framework-VideoToolbox v5.1.2
95. pyobjc-framework-Vision v5.1.2
96. pyobjc-framework-WebKit v5.1.2
97. pyobjc-framework-iTunesLibrary v5.1.2
98. pyobjc-framework-libdispatch v5.1.2
Successfully Installed 98 package(s) in 23s.
Complete!
Collecting pyobjc
Downloading https://files.pythonhosted.org/packages/42/fc/e78407e8ed0417ec57f093b919325d2c8ae0bab238fbf2804ff01cc93002/pyobjc-5.1.2-py3-none-any.whl
Collecting pyobjc-framework-IOSurface==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/12/03/a3c4093bd1ba1c544140ce383664a3732a2e65b7853a8ebd3480011d8833/pyobjc_framework_IOSurface-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Network==5.1.2; platform_release >= "18.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/69/86/c52baab82100501d835855f8d659a15e3708c7bc5a3fda8e8ceac64886c4/pyobjc_framework_Network-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-libdispatch==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/80/40/23d7ea317801c0cc9e194c9e83775ddf67b97cf7861b97b13f69f120ed54/pyobjc_framework_libdispatch-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-AVFoundation==5.1.2; platform_release >= "11.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/7f/60/6555515e80f23d0cbce046e9209179202df9b713884155499a192d35080e/pyobjc_framework_AVFoundation-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-Automator==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/b8/39/88753d20804618b44aaf875afe4847fcfe4a38d6c50dd0b758550afc30c0/pyobjc_framework_Automator-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-DiscRecordingUI==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/fc/a2/6cd38bd5e1b3ff55d091f49ed108ef741101cac8b867a4812ef4741df29a/pyobjc_framework_DiscRecordingUI-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-ModelIO==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/20/1d/a96574d95701551c0260365816c3c66f1d41953baee0ab41904f628c4926/pyobjc_framework_ModelIO-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-SystemConfiguration==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/69/44/7a5057bcef76bcd49bc8b42a5ea8c0ab1e681acec9b361cb45e9edc6e149/pyobjc_framework_SystemConfiguration-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-WebKit==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/56/1c/b4afa7e4f2591ff1935884b4ae3374ce3da84b010784f36bc1ba80b139db/pyobjc_framework_WebKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CFNetwork==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/7d/3e/186f5899174c1017d59b422baae90abcde9bc9b0a79b3698501d8ecf8c87/pyobjc_framework_CFNetwork-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CoreWLAN==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/4b/ef/dec3b06c6c1c18c71a1b80ab8baf0599206a6d3596433c02befca340b913/pyobjc_framework_CoreWLAN-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-InstallerPlugins==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/7f/db/72712ab86155534ff5292c9346954f65368d6aac9dbb7f4dc416d004396e/pyobjc_framework_InstallerPlugins-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-NaturalLanguage==5.1.2; platform_release >= "18.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e5/10/f5a44ad80bd7d5a8c7de177d78866f7e58040beee910570cc749263dc039/pyobjc_framework_NaturalLanguage-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-CoreLocation==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/aa/63/bdfeb3f8e2d80409f3cc27fdabd276e93902ac9b39d68556ad248f65fb74/pyobjc_framework_CoreLocation-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-AppleScriptObjC==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/b0/fd/fcf7ae47e433d8357fcab4cc2f98c22d66e0889ee6ff740cf774a3af19d9/pyobjc_framework_AppleScriptObjC-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-ServiceManagement==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/2e/e1/32d76cbb278872d2ad7a45b6c76e7f32058a22a3c86da333451bc0fbe1ef/pyobjc_framework_ServiceManagement-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Social==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/b7/93/caa94b7d52b9d4a94d1fb0f8a3535f56e888b0f5e87895568af07aa5a4f5/pyobjc_framework_Social-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-InputMethodKit==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/03/52/0278b0fba0b822215db8db2affd7bdf5dc3ee3731b777cc524897ffa9d47/pyobjc_framework_InputMethodKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-StoreKit==5.1.2; platform_release >= "11.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/fe/d6/3565be4f43eddacab894f48a5a77afd0a6c51d9b0357b1d903dd135b1230/pyobjc_framework_StoreKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-ImageCaptureCore==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/41/44/23165987febdb19e0e24d780a47f29b5654da9dc9da73d3e2cb3d09c79dc/pyobjc_framework_ImageCaptureCore-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-EventKit==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e7/54/b2310725b4fba6b938d90a60e56eadf621683b70d754a6b4582473285495/pyobjc_framework_EventKit-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-CoreBluetooth==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/97/7c/1ee75c2e088fefb9bbc1709403775116ddab873e829ac65582ec836bc46a/pyobjc_framework_CoreBluetooth-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-Contacts==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/2c/ac/ece3fa3b7be15a57fd66321ffbb35a66e79f490197200b22b9d2ee33c34d/pyobjc_framework_Contacts-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-BusinessChat==5.1.2; platform_release >= "18.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/3d/78/f442f9c8100ab307909b6c92fb4b952d062b910eadf178fbd407ca248b53/pyobjc_framework_BusinessChat-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-SecurityInterface==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/0b/d4/fd47387eb99fe9c5f06e8524a44a1b9f9a61790f9bf109d0ec3c871a35c0/pyobjc_framework_SecurityInterface-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-LocalAuthentication==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/39/00/169a77c8b1b93f49fb375c68a2ea0beeaa0dc347e9ada76e01a04e60c586/pyobjc_framework_LocalAuthentication-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-NetFS==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e8/92/b9ce84f9820066edc5cb0adba68b13969c3fdb7b9a6a488783d0f691c19a/pyobjc_framework_NetFS-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-PreferencePanes==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/7f/82/f954d80e831270211f706d8a7f1d64036c8b98550f11364606ad915215f8/pyobjc_framework_PreferencePanes-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-MediaPlayer==5.1.2; platform_release >= "16.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/99/b6/e156c4e1c6d20b06aad488016029784893272b19c210f57c749d9c3cb09f/pyobjc_framework_MediaPlayer-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Quartz==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/f4/50/75d42578d2cf61824f7090f44b513c003c78eb62c2884ad5252fc12bac29/pyobjc_framework_Quartz-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (100kB)
100% |████████████████████████████████| 102kB 4.4MB/s
Collecting pyobjc-framework-ScreenSaver==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/58/5e/19d1bd17e7536a2b850be14024e86b664589827c436d7eada627b4729b62/pyobjc_framework_ScreenSaver-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-NetworkExtension==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/34/1d/233683820975e5eb1ae02746f3b7a040461f1e23d1185d02a7b3569cbcd8/pyobjc_framework_NetworkExtension-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-ColorSync==5.1.2; platform_release >= "17.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/22/34/4630f15835edc58bb5f3aec035ca74975a05f19f226739a932ed3c9ec97c/pyobjc_framework_ColorSync-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-PubSub==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/4c/35/3d8f2b20572fe1bb9ad1bcb8083335d093200a7e77b570b52763ac932111/pyobjc_framework_PubSub-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-CoreData==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/eb/1c/5c95136b6a53e9bdffb10e215c0c999c1f336ec88eb97f1923ff2efc0662/pyobjc_framework_CoreData-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-DictionaryServices==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/3c/2b/db3721c2af4f8ec07951e7860af05dcda4ae684c549b066969630bf53de1/pyobjc_framework_DictionaryServices-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-LaunchServices==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/65/a6/4c2804805b8317ad57c8e94be365a70c18b730f6191a5cc6899729ac81e5/pyobjc_framework_LaunchServices-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-MediaLibrary==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/b8/2f/ece88ac12133b9e3d80201b21fffa0dcc6492a09cb06218e7763730b5156/pyobjc_framework_MediaLibrary-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-GameCenter==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/89/88/5015505e6f06b23c9efd9fcde05bebd31625e72f9cd67d61c1f388dd0377/pyobjc_framework_GameCenter-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-SecurityFoundation==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/96/d9/ebe0ca40d2b3986fed9811593ed235b266c318f796d9fd2c7296195d4c3e/pyobjc_framework_SecurityFoundation-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Collaboration==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/36/a2/612c56ad3e116cae8ac8e087050fb639c07d6afbd2dd6a8a1f3cdef0cbb5/pyobjc_framework_Collaboration-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-SpriteKit==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/fc/55/0d17341970c919492a70aef28258cec8ff787de443ee6b1e998914b38714/pyobjc_framework_SpriteKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-Cocoa==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/34/f3/590e0ced5c297b763447b39926f8a1884865704302dd55d2174a37b3bb0a/pyobjc_framework_Cocoa-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (235kB)
100% |████████████████████████████████| 245kB 4.4MB/s
Collecting pyobjc-framework-MediaToolbox==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/6c/4b/c3da6eec3b23f5988d85ce3600fb5989b879afb5b214eb5949466614e302/pyobjc_framework_MediaToolbox-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-AppleScriptKit==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/3d/ba/c560bad60f4112f9dde0a08609297a1b72d82e19fc21e040b0c012dbd25d/pyobjc_framework_AppleScriptKit-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-FinderSync==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e3/fe/92b7d64811b7c386e5dd82beefdd84e4b62b7fda0d08d41f2dc49ece7759/pyobjc_framework_FinderSync-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-OSAKit==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/7c/6a/aacf57179587387adf81a993ac06feb1c0f34de5ca30f9319dc809ae5ab7/pyobjc_framework_OSAKit-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-AdSupport==5.1.2; platform_release >= "18.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/af/db/90bed58de9499f12564b9cb6997b4501be5b5f44ee4b4bf5820f1fe79709/pyobjc_framework_AdSupport-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Accounts==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/cf/e3/3ea826c78faa34a3694a86defa9ff8f51a0f297833fab7e3e68f61eb0c68/pyobjc_framework_Accounts-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-AddressBook==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/96/35/2c3f7b7a7e4229de4e70964d4660692a07c518d3b2d3640e897059c542ce/pyobjc_framework_AddressBook-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-DiskArbitration==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/1f/73/5c2ae1ecfcefbecf2954aec8c997f4464585486eec4922a856e4e4d9f25e/pyobjc_framework_DiskArbitration-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-ApplicationServices==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e9/13/4724e6af09694e57ea80e1995520b7df9d384e6b5230fba82c09afaab3f4/pyobjc_framework_ApplicationServices-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-CoreMedia==5.1.2; platform_release >= "11.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/68/3d/80c673e936481a8abfb099dc91f60e9b43a641c60b232c88edb03827ccb4/pyobjc_framework_CoreMedia-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-MultipeerConnectivity==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/8d/af/adea6a18e290bddefb40a9ee82f933a628e7d218c2db0e82580e88906cd9/pyobjc_framework_MultipeerConnectivity-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-AVKit==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/60/2a/c7f1735eff7742f0e1b2864b741c65918ebba89eccbd143c068a6838502e/pyobjc_framework_AVKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-NotificationCenter==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/ef/6d/47929c187a8640d4a84e05ea4225709286bdd21c342585980c5223f22a7d/pyobjc_framework_NotificationCenter-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-VideoToolbox==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/14/a2/a318e67e649510ed9c7114626a77ae2a3f0a85dde51981076c799b320bd4/pyobjc_framework_VideoToolbox-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-MediaAccessibility==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/83/57/78ae56afef5b2e5ec6af900618da9f499ae7ab1a89a0b41985f5954c4fe5/pyobjc_framework_MediaAccessibility-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-ScriptingBridge==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/35/54/a358aedbd9514474cfdb642b94d0829e84def922506fb1d6898ff9bb175b/pyobjc_framework_ScriptingBridge-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CoreText==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/f0/7f/1cf4ed64d69842837d7f7c1597b3b5f3e932d795e29a4d5e466ce01ae49a/pyobjc_framework_CoreText-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-PhotosUI==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/48/4a/6866fe9ad8ac2837a0068b89baed8a0ba36a0941eef9a3e16b82295722e6/pyobjc_framework_PhotosUI-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-QTKit==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/bb/37/13ab8cd5b04b4ffa818bdc86dceefc012d18bcc83362b6563c9b6c9091aa/pyobjc_framework_QTKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-OpenDirectory==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/27/e7/0ced99fec0fff85d5c1e69248072c6a41a0cecfd49b0852b659c29f59300/pyobjc_framework_OpenDirectory-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-ExternalAccessory==5.1.2; platform_release >= "17.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/2c/9a/f86427e6d3485ac668322ea050da5355d2ef14a95aa50c96f74bffffef86/pyobjc_framework_ExternalAccessory-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CoreMediaIO==5.1.2; platform_release >= "11.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/ce/d3/d38b8ed3acb74ced0a21f80532cd509a4325eae626a39e888bcd6e72ef11/pyobjc_framework_CoreMediaIO-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-SafariServices==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/1e/91/2e37f84bc6df0d670fc5282acc43be9ef708a6b89b664d80ac21f056b4e2/pyobjc_framework_SafariServices-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-DVDPlayback==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/47/78/2a0ed9aa5fd28f6c6f32b9eec1b74e3f3f19e277bb4f0c9d5e389ab72f8b/pyobjc_framework_DVDPlayback-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Intents==5.1.2; platform_release >= "16.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/05/0d/f662c5de2ab28f03d16552cf6e716ca4444fdb3a075aa1d9240e6ff714e1/pyobjc_framework_Intents-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-ExceptionHandling==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/6f/12/bb3cce8b5e17d3dbbfc1504854fb669bac5c2e9faad55940b2a66661a269/pyobjc_framework_ExceptionHandling-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-CoreServices==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/41/6c/e030d8d099cbd36c6d47d25c3e095cbbe63c8685e461713413f563a86a5b/pyobjc_framework_CoreServices-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-MapKit==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/a0/09/a5545338919b1970b87171608155dfde86e5d7aee5f1ef0577ec5aa689ea/pyobjc_framework_MapKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-ContactsUI==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/da/a8/ef0d026975835e02408226521a81b15b48254f1373aa893ff5d83ec998dd/pyobjc_framework_ContactsUI-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-UserNotifications==5.1.2; platform_release >= "18.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/38/c4/33947d9147f26773b2cd2b5b7aa4b8c4c31ea3c9d2f4baa5c531cad84778/pyobjc_framework_UserNotifications-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-InstantMessage==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/46/f6/88f932e3d6247078b145116e686eac54a866270ba849aedca95f4f393733/pyobjc_framework_InstantMessage-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Photos==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/d4/86/b7a461ceb044d491faecc1ba9cdd6f3d403d5b1be9a20174ad36101d0181/pyobjc_framework_Photos-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-LatentSemanticMapping==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/29/ba/c081df0b14bae399c6e43949166eb39fcd8e7ffe7ae01794579e94ec720b/pyobjc_framework_LatentSemanticMapping-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-CoreAudio==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e7/85/3557f5ce2d6547d106335afe7324351dec646563bc50110764a9e28d9e87/pyobjc_framework_CoreAudio-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-GameplayKit==5.1.2; platform_release >= "15.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/cc/ec/170cbd9cc98763edebafde5aa58fb3402f9ef151bd6f683fa50066865b09/pyobjc_framework_GameplayKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-SceneKit==5.1.2; platform_release >= "11.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/cc/1d/e1245c59936dffda2ddc8193910d5cff94a0f89fb644546dff3012c9dc8b/pyobjc_framework_SceneKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-FSEvents==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/cc/19/8d523f79e544ebaa1fdd5d50c6facd1240ceb73d8657282e5af2301619e7/pyobjc_framework_FSEvents-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-VideoSubscriberAccount==5.1.2; platform_release >= "18.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/fc/64/1762f3a1b1051208aef29869fdfe49243c4c170fa1ca6026bc2444e6ce3d/pyobjc_framework_VideoSubscriberAccount-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-IMServicePlugIn==5.1.2; platform_release >= "11.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/9b/21/3f4465502df06ad1ce97d8d2f1931ce4dee47cb155caa12802c83ebb3f63/pyobjc_framework_IMServicePlugIn-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CoreML==5.1.2; platform_release >= "17.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e9/90/dd6ab380b3d95018bb44b0908ffb15a4b9a63e17133967bc6a23da64212b/pyobjc_framework_CoreML-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CalendarStore==5.1.2; platform_release >= "9.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/6c/0e/78be648de438ed172392e7a4dbc89807389a043cbebbe0bebf8b2bf634f7/pyobjc_framework_CalendarStore-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-SyncServices==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/c6/58/6d94d7bea39255d203971b14f66ff48becc29f2afd239ccab471f76a965d/pyobjc_framework_SyncServices-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-DiscRecording==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/eb/49/22e344fbc50f218634ec930fcf80e8799d7f497f0f459434d2b0b63dcfff/pyobjc_framework_DiscRecording-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-iTunesLibrary==5.1.2; platform_release >= "10.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/00/69/e86b70599b4e2606f92647e990f36273d6883011ba817da53e370ec76beb/pyobjc_framework_iTunesLibrary-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-Security==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/51/67/f2317f0d02a651eb724a7faca8a3cd8cf356a89b6bbea26224b96f47e7cd/pyobjc_framework_Security-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CryptoTokenKit==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/ae/82/c058208d3fc347faa2b6243bfed6799c7d40ef65431bb0ad65b8c45eedaa/pyobjc_framework_CryptoTokenKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CloudKit==5.1.2; platform_release >= "14.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/7e/ba/f6c1f2cf9b1c3b13d9768637e208e237b2d95ab945679daba5324262a74c/pyobjc_framework_CloudKit-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-framework-SearchKit==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/04/d2/93a504d3da4ee217a70b81778845746946ee1cd4f92d921861fd62b40084/pyobjc_framework_SearchKit-5.1.2-py2.py3-none-any.whl
Collecting pyobjc-core==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e7/9e/940cf7128603130d032ff9002406af2d8359b05075996f9be8f88e42b759/pyobjc_core-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (294kB)
100% |████████████████████████████████| 296kB 3.5MB/s
Collecting pyobjc-framework-CoreSpotlight==5.1.2; platform_release >= "17.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/c2/84/7fae71c805f57362ba25fc2bd56616f59a1c108eff892dd8b432b27a5b63/pyobjc_framework_CoreSpotlight-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-CoreAudioKit==5.1.2 (from pyobjc)
Downloading https://files.pythonhosted.org/packages/be/92/02b230ed3298fccf46c0108e7881150e55785c1f5c890596160097210a52/pyobjc_framework_CoreAudioKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-GameKit==5.1.2; platform_release >= "12.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/e4/70/327ccc07c401e12eefd1d14235606a55da43c7e12b20346a0b23ba6d026a/pyobjc_framework_GameKit-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-Vision==5.1.2; platform_release >= "17.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/5c/9f/5e128f4e028bb7743de177d40c0ea54955ab12dda7893dee6a4b8393b5f5/pyobjc_framework_Vision-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pyobjc-framework-GameController==5.1.2; platform_release >= "13.0" (from pyobjc)
Downloading https://files.pythonhosted.org/packages/71/20/09085a29b2b969ba7da08811eaa37d74401d4e45edd31140bc7de32eb22a/pyobjc_framework_GameController-5.1.2-py2.py3-none-any.whl
Installing collected packages: pyobjc-core, pyobjc-framework-Cocoa, pyobjc-framework-IOSurface, pyobjc-framework-Network, pyobjc-framework-libdispatch, pyobjc-framework-Quartz, pyobjc-framework-AVFoundation, pyobjc-framework-Automator, pyobjc-framework-DiscRecording, pyobjc-framework-DiscRecordingUI, pyobjc-framework-ModelIO, pyobjc-framework-SystemConfiguration, pyobjc-framework-WebKit, pyobjc-framework-CFNetwork, pyobjc-framework-CoreWLAN, pyobjc-framework-InstallerPlugins, pyobjc-framework-NaturalLanguage, pyobjc-framework-CoreLocation, pyobjc-framework-AppleScriptObjC, pyobjc-framework-ServiceManagement, pyobjc-framework-Social, pyobjc-framework-InputMethodKit, pyobjc-framework-StoreKit, pyobjc-framework-ImageCaptureCore, pyobjc-framework-EventKit, pyobjc-framework-CoreBluetooth, pyobjc-framework-Contacts, pyobjc-framework-BusinessChat, pyobjc-framework-Security, pyobjc-framework-SecurityInterface, pyobjc-framework-LocalAuthentication, pyobjc-framework-NetFS, pyobjc-framework-PreferencePanes, pyobjc-framework-MediaPlayer, pyobjc-framework-ScreenSaver, pyobjc-framework-NetworkExtension, pyobjc-framework-ColorSync, pyobjc-framework-PubSub, pyobjc-framework-CoreData, pyobjc-framework-FSEvents, pyobjc-framework-CoreServices, pyobjc-framework-DictionaryServices, pyobjc-framework-LaunchServices, pyobjc-framework-MediaLibrary, pyobjc-framework-GameCenter, pyobjc-framework-SecurityFoundation, pyobjc-framework-Collaboration, pyobjc-framework-SpriteKit, pyobjc-framework-MediaToolbox, pyobjc-framework-AppleScriptKit, pyobjc-framework-FinderSync, pyobjc-framework-OSAKit, pyobjc-framework-AdSupport, pyobjc-framework-Accounts, pyobjc-framework-AddressBook, pyobjc-framework-DiskArbitration, pyobjc-framework-ApplicationServices, pyobjc-framework-CoreMedia, pyobjc-framework-MultipeerConnectivity, pyobjc-framework-AVKit, pyobjc-framework-NotificationCenter, pyobjc-framework-VideoToolbox, pyobjc-framework-MediaAccessibility, pyobjc-framework-ScriptingBridge, pyobjc-framework-CoreText, pyobjc-framework-PhotosUI, pyobjc-framework-QTKit, pyobjc-framework-OpenDirectory, pyobjc-framework-ExternalAccessory, pyobjc-framework-CoreMediaIO, pyobjc-framework-SafariServices, pyobjc-framework-DVDPlayback, pyobjc-framework-Intents, pyobjc-framework-ExceptionHandling, pyobjc-framework-MapKit, pyobjc-framework-ContactsUI, pyobjc-framework-UserNotifications, pyobjc-framework-InstantMessage, pyobjc-framework-Photos, pyobjc-framework-LatentSemanticMapping, pyobjc-framework-CoreAudio, pyobjc-framework-GameplayKit, pyobjc-framework-SceneKit, pyobjc-framework-VideoSubscriberAccount, pyobjc-framework-IMServicePlugIn, pyobjc-framework-CoreML, pyobjc-framework-CalendarStore, pyobjc-framework-SyncServices, pyobjc-framework-iTunesLibrary, pyobjc-framework-CryptoTokenKit, pyobjc-framework-CloudKit, pyobjc-framework-SearchKit, pyobjc-framework-CoreSpotlight, pyobjc-framework-CoreAudioKit, pyobjc-framework-GameKit, pyobjc-framework-Vision, pyobjc-framework-GameController, pyobjc
Successfully installed pyobjc-5.1.2 pyobjc-core-5.1.2 pyobjc-framework-AVFoundation-5.1.2 pyobjc-framework-AVKit-5.1.2 pyobjc-framework-Accounts-5.1.2 pyobjc-framework-AdSupport-5.1.2 pyobjc-framework-AddressBook-5.1.2 pyobjc-framework-AppleScriptKit-5.1.2 pyobjc-framework-AppleScriptObjC-5.1.2 pyobjc-framework-ApplicationServices-5.1.2 pyobjc-framework-Automator-5.1.2 pyobjc-framework-BusinessChat-5.1.2 pyobjc-framework-CFNetwork-5.1.2 pyobjc-framework-CalendarStore-5.1.2 pyobjc-framework-CloudKit-5.1.2 pyobjc-framework-Cocoa-5.1.2 pyobjc-framework-Collaboration-5.1.2 pyobjc-framework-ColorSync-5.1.2 pyobjc-framework-Contacts-5.1.2 pyobjc-framework-ContactsUI-5.1.2 pyobjc-framework-CoreAudio-5.1.2 pyobjc-framework-CoreAudioKit-5.1.2 pyobjc-framework-CoreBluetooth-5.1.2 pyobjc-framework-CoreData-5.1.2 pyobjc-framework-CoreLocation-5.1.2 pyobjc-framework-CoreML-5.1.2 pyobjc-framework-CoreMedia-5.1.2 pyobjc-framework-CoreMediaIO-5.1.2 pyobjc-framework-CoreServices-5.1.2 pyobjc-framework-CoreSpotlight-5.1.2 pyobjc-framework-CoreText-5.1.2 pyobjc-framework-CoreWLAN-5.1.2 pyobjc-framework-CryptoTokenKit-5.1.2 pyobjc-framework-DVDPlayback-5.1.2 pyobjc-framework-DictionaryServices-5.1.2 pyobjc-framework-DiscRecording-5.1.2 pyobjc-framework-DiscRecordingUI-5.1.2 pyobjc-framework-DiskArbitration-5.1.2 pyobjc-framework-EventKit-5.1.2 pyobjc-framework-ExceptionHandling-5.1.2 pyobjc-framework-ExternalAccessory-5.1.2 pyobjc-framework-FSEvents-5.1.2 pyobjc-framework-FinderSync-5.1.2 pyobjc-framework-GameCenter-5.1.2 pyobjc-framework-GameController-5.1.2 pyobjc-framework-GameKit-5.1.2 pyobjc-framework-GameplayKit-5.1.2 pyobjc-framework-IMServicePlugIn-5.1.2 pyobjc-framework-IOSurface-5.1.2 pyobjc-framework-ImageCaptureCore-5.1.2 pyobjc-framework-InputMethodKit-5.1.2 pyobjc-framework-InstallerPlugins-5.1.2 pyobjc-framework-InstantMessage-5.1.2 pyobjc-framework-Intents-5.1.2 pyobjc-framework-LatentSemanticMapping-5.1.2 pyobjc-framework-LaunchServices-5.1.2 pyobjc-framework-LocalAuthentication-5.1.2 pyobjc-framework-MapKit-5.1.2 pyobjc-framework-MediaAccessibility-5.1.2 pyobjc-framework-MediaLibrary-5.1.2 pyobjc-framework-MediaPlayer-5.1.2 pyobjc-framework-MediaToolbox-5.1.2 pyobjc-framework-ModelIO-5.1.2 pyobjc-framework-MultipeerConnectivity-5.1.2 pyobjc-framework-NaturalLanguage-5.1.2 pyobjc-framework-NetFS-5.1.2 pyobjc-framework-Network-5.1.2 pyobjc-framework-NetworkExtension-5.1.2 pyobjc-framework-NotificationCenter-5.1.2 pyobjc-framework-OSAKit-5.1.2 pyobjc-framework-OpenDirectory-5.1.2 pyobjc-framework-Photos-5.1.2 pyobjc-framework-PhotosUI-5.1.2 pyobjc-framework-PreferencePanes-5.1.2 pyobjc-framework-PubSub-5.1.2 pyobjc-framework-QTKit-5.1.2 pyobjc-framework-Quartz-5.1.2 pyobjc-framework-SafariServices-5.1.2 pyobjc-framework-SceneKit-5.1.2 pyobjc-framework-ScreenSaver-5.1.2 pyobjc-framework-ScriptingBridge-5.1.2 pyobjc-framework-SearchKit-5.1.2 pyobjc-framework-Security-5.1.2 pyobjc-framework-SecurityFoundation-5.1.2 pyobjc-framework-SecurityInterface-5.1.2 pyobjc-framework-ServiceManagement-5.1.2 pyobjc-framework-Social-5.1.2 pyobjc-framework-SpriteKit-5.1.2 pyobjc-framework-StoreKit-5.1.2 pyobjc-framework-SyncServices-5.1.2 pyobjc-framework-SystemConfiguration-5.1.2 pyobjc-framework-UserNotifications-5.1.2 pyobjc-framework-VideoSubscriberAccount-5.1.2 pyobjc-framework-VideoToolbox-5.1.2 pyobjc-framework-Vision-5.1.2 pyobjc-framework-WebKit-5.1.2 pyobjc-framework-iTunesLibrary-5.1.2 pyobjc-framework-libdispatch-5.1.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment