first real commit
- Package builder - README - requirement files per library - master requirement files for each package
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
.DS_Store
|
||||
minimal/*
|
||||
no_customization/*
|
||||
opionated/*
|
||||
recommended/*
|
||||
@@ -1 +1,48 @@
|
||||
# python
|
||||
# python
|
||||
A Python framework that installs to `/Library/frameworks/Python.framework`.
|
||||
|
||||
This is an intended replacement for when Apple removes `/usr/bin/python`
|
||||
|
||||
## Notes
|
||||
To decrease complexity, only a _single_ package may be installed at any given time on a machine.
|
||||
|
||||
# Flavors of Python
|
||||
We currently offer four versions of Python. You can chose which version suits your needs.
|
||||
|
||||
## Minimal
|
||||
This is a Python.framework that includes `xattr` and `PyObjc` - the original intent of Relocatable Python.
|
||||
|
||||
Tools that should work
|
||||
- vfuse
|
||||
- dockutil (python 3 pull request [here](https://github.com/kcrawford/dockutil/pull/87))
|
||||
- outset
|
||||
|
||||
## No Customization
|
||||
This is a Python.framework that contains everything from the official Python package and nothing more.
|
||||
|
||||
Many open source tools will not work with this, but it may be helpful for development purposes.
|
||||
|
||||
## Recommended
|
||||
This is a Python.framework that contains everything from minimal, and a few libraries that various well known open source projects require.
|
||||
|
||||
Tools that should work:
|
||||
- autopkg
|
||||
- InstallApplications
|
||||
- munki
|
||||
- munki-pkg
|
||||
- munki-facts (python 3 pull request [here](https://github.com/munki/munki-facts/pull/17))
|
||||
- nudge
|
||||
- UMAD
|
||||
|
||||
## Opionated
|
||||
This is a Python.framework that contains everything from Recommended, and libraries that various open source projects require.
|
||||
|
||||
This is a **kitchen sink** approach, opting for the latest known packages.
|
||||
|
||||
Tools that should work:
|
||||
- Gusto's autopkg promotion tool
|
||||
- Munki CloudFront Middleware
|
||||
- Python-jss
|
||||
|
||||
# Updating packages
|
||||
This should be done in a clean virtual environment. After every python package install, you can run `pip freeze | xargs pip uninstall -y` to cleanup the environment.
|
||||
|
||||
Executable
+150
@@ -0,0 +1,150 @@
|
||||
#!/bin/zsh
|
||||
#
|
||||
# Build script for Python 3 frameworks
|
||||
# Adaptd from https://github.com/munki/munki/blob/Munki3dev/code/tools/build_python_framework.sh
|
||||
# IMPORTANT
|
||||
# Run this with your current directory being the path where this script is located
|
||||
|
||||
# Harcoded versions
|
||||
PYTHON_VERSION=3.8.3
|
||||
RP_SHA="8bce58e91895978da6f238c1d2e1de3559ea4643"
|
||||
MP_SHA="71c57fcfdf43692adcd41fa7305be08f66bae3e5"
|
||||
|
||||
# Sanity Checks
|
||||
## Type Check
|
||||
if [ -n "$1" ]; then
|
||||
if [[ "$1" == 'minimal' ]]; then
|
||||
TYPE=$1
|
||||
elif [[ "$1" == "no_customization" ]]; then
|
||||
TYPE=$1
|
||||
elif [[ "$1" == "opionated" ]]; then
|
||||
TYPE=$1
|
||||
elif [[ "$1" == 'recommended' ]]; then
|
||||
TYPE=$1
|
||||
else
|
||||
echo "Specified positional argument other than opionated or recommended. Using minimal workflow"
|
||||
TYPE='minimal'
|
||||
fi
|
||||
else
|
||||
echo "runner.zsh"
|
||||
echo ""
|
||||
echo " Configures Relocatable Python"
|
||||
echo " Options:"
|
||||
echo " minimal"
|
||||
echo " Identical to the original relocatable python code"
|
||||
echo ""
|
||||
echo " no_customization"
|
||||
echo " A python framework without any customizations"
|
||||
echo ""
|
||||
echo " recommended"
|
||||
echo " A python framework with libraries for commonly used tools like autopkg and munki"
|
||||
echo ""
|
||||
echo " opionated"
|
||||
echo " A python framework with libraries for as many macadmin tools as possible"
|
||||
exit 1
|
||||
fi
|
||||
## Root Check
|
||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||
echo "This tool requires elevated access to run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Variables
|
||||
DATE=$(/bin/date -u "+%m%d%Y%H%M%S")
|
||||
TOOLSDIR=$(dirname $0)
|
||||
CONSOLEUSER=$(/usr/bin/stat -f "%Su" /dev/console)
|
||||
FRAMEWORKDIR="/Library/frameworks"
|
||||
RP_BINDIR="/tmp/relocatable-python"
|
||||
RP_ZIP="/tmp/relocatable-python.zip"
|
||||
MP_BINDIR="/tmp/munki-pkg"
|
||||
MP_ZIP="/tmp/munki-pkg.zip"
|
||||
echo "Creating Python Framework - $TYPE"
|
||||
|
||||
# Create framework path if not present
|
||||
if [ ! -d "${FRAMEWORKDIR}" ]; then
|
||||
/usr/bin/sudo /bin/mkdir -p "${FRAMEWORKDIR}"
|
||||
fi
|
||||
|
||||
# remove existing library Python.framework if present
|
||||
if [ -d "${FRAMEWORKDIR}/Python.framework" ]; then
|
||||
/usr/bin/sudo /bin/rm -rf "${FRAMEWORKDIR}/Python.framework"
|
||||
fi
|
||||
|
||||
# Download specific version of relocatable-python
|
||||
echo "Downloading relocatable-python tool from github..."
|
||||
if [ -f "${RP_ZIP}" ]; then
|
||||
/usr/bin/sudo /bin/rm -rf ${RP_ZIP}
|
||||
fi
|
||||
/usr/bin/curl https://github.com/gregneagle/relocatable-python/archive/${RP_SHA}.zip -L -o ${RP_ZIP}
|
||||
if [ -d ${RP_BINDIR} ]; then
|
||||
/usr/bin/sudo /bin/rm -rf ${RP_BINDIR}
|
||||
fi
|
||||
/usr/bin/unzip ${RP_ZIP} -d ${RP_BINDIR}
|
||||
DL_RESULT="$?"
|
||||
if [ "${DL_RESULT}" != "0" ]; then
|
||||
echo "Error downloading relocatable-python tool: ${DL_RESULT}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# remove existing Python package folder
|
||||
if [ -d "$TOOLSDIR/$TYPE" ]; then
|
||||
/bin/rm -rf "$TOOLSDIR/$TYPE"
|
||||
/bin/mkdir -p "$TOOLSDIR/$TYPE/payload/${FRAMEWORKDIR}"
|
||||
/usr/bin/sudo /usr/sbin/chown -R ${CONSOLEUSER}:wheel "$TOOLSDIR/$TYPE"
|
||||
else
|
||||
/bin/mkdir -p "$TOOLSDIR/$TYPE/payload/${FRAMEWORKDIR}"
|
||||
/usr/bin/sudo /usr/sbin/chown -R ${CONSOLEUSER}:wheel "$TOOLSDIR/$TYPE"
|
||||
fi
|
||||
|
||||
# build the framework
|
||||
RP_EXTRACT_BINDIR="${RP_BINDIR}/relocatable-python-${RP_SHA}"
|
||||
/usr/bin/sudo "${RP_EXTRACT_BINDIR}/make_relocatable_python_framework.py" \
|
||||
--python-version "${PYTHON_VERSION}" \
|
||||
--pip-requirements "${TOOLSDIR}/requirements_${TYPE}.txt" \
|
||||
--destination "${FRAMEWORKDIR}"
|
||||
|
||||
RP_RESULT="$?"
|
||||
if [ "${RP_RESULT}" != "0" ]; then
|
||||
echo "Error running relocatable-python tool: ${RP_RESULT}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# move the framework to the Python package folder
|
||||
echo "Moving Python.framework to payload folder"
|
||||
/usr/bin/sudo /bin/mv "${FRAMEWORKDIR}/Python.framework" "$TOOLSDIR/$TYPE/payload/${FRAMEWORKDIR}"
|
||||
|
||||
# take ownership of the payload folder
|
||||
echo "Taking ownership of the Payload directory"
|
||||
/usr/bin/sudo /usr/sbin/chown -R ${CONSOLEUSER}:wheel "$TOOLSDIR/$TYPE"
|
||||
|
||||
# Download specific version of munki-pkg
|
||||
echo "Downloading munki-pkg tool from github..."
|
||||
if [ -f "${MP_ZIP}" ]; then
|
||||
/usr/bin/sudo /bin/rm -rf ${MP_ZIP}
|
||||
fi
|
||||
/usr/bin/curl https://github.com/munki/munki-pkg/archive/${MP_SHA}.zip -L -o ${MP_ZIP}
|
||||
if [ -d ${MP_BINDIR} ]; then
|
||||
/usr/bin/sudo /bin/rm -rf ${MP_BINDIR}
|
||||
fi
|
||||
/usr/bin/unzip ${MP_ZIP} -d ${MP_BINDIR}
|
||||
DL_RESULT="$?"
|
||||
if [ "${DL_RESULT}" != "0" ]; then
|
||||
echo "Error downloading munki-pkg tool: ${DL_RESULT}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create the json file for munki-pkg
|
||||
/bin/cat << JSONFILE > "$TOOLSDIR/$TYPE/build-info.json"
|
||||
{
|
||||
"ownership": "recommended",
|
||||
"suppress_bundle_relocation": true,
|
||||
"identifier": "org.macadmins.python.$TYPE",
|
||||
"postinstall_action": "none",
|
||||
"distribution_style": true,
|
||||
"version": "$PYTHON_VERSION.$DATE",
|
||||
"name": "python_$TYPE-$PYTHON_VERSION.$DATE.pkg",
|
||||
"install_location": "/"
|
||||
}
|
||||
JSONFILE
|
||||
# Create the pkg
|
||||
"${MP_BINDIR}/munki-pkg-${MP_SHA}/munkipkg" "$TOOLSDIR/$TYPE"
|
||||
@@ -0,0 +1,24 @@
|
||||
alabaster==0.7.12
|
||||
Babel==2.8.0
|
||||
certifi==2020.4.5.2
|
||||
chardet==3.0.4
|
||||
docutils==0.16
|
||||
idna==2.9
|
||||
imagesize==1.2.0
|
||||
Jinja2==2.11.2
|
||||
MarkupSafe==1.1.1
|
||||
packaging==20.4
|
||||
Pygments==2.6.1
|
||||
pyparsing==2.4.7
|
||||
pytz==2020.1
|
||||
requests==2.23.0
|
||||
six==1.15.0
|
||||
snowballstemmer==2.0.0
|
||||
Sphinx==3.1.1
|
||||
sphinxcontrib-applehelp==1.0.2
|
||||
sphinxcontrib-devhelp==1.0.2
|
||||
sphinxcontrib-htmlhelp==1.0.3
|
||||
sphinxcontrib-jsmath==1.0.1
|
||||
sphinxcontrib-qthelp==1.0.3
|
||||
sphinxcontrib-serializinghtml==1.1.4
|
||||
urllib3==1.25.9
|
||||
@@ -0,0 +1,3 @@
|
||||
arrow==0.15.6
|
||||
python-dateutil==2.8.1
|
||||
six==1.15.0
|
||||
@@ -0,0 +1,2 @@
|
||||
aspy.yaml==1.3.0
|
||||
PyYAML==5.3.1
|
||||
@@ -0,0 +1 @@
|
||||
atomicwrites==1.4.0
|
||||
@@ -0,0 +1,8 @@
|
||||
appdirs==1.4.4
|
||||
attrs==19.3.0
|
||||
black==19.10b0
|
||||
click==7.1.2
|
||||
pathspec==0.8.0
|
||||
regex==2020.6.8
|
||||
toml==0.10.1
|
||||
typed-ast==1.4.1
|
||||
@@ -0,0 +1 @@
|
||||
boto==2.49.0
|
||||
@@ -0,0 +1 @@
|
||||
entrypoints==0.3
|
||||
@@ -0,0 +1,6 @@
|
||||
attrs==19.3.0
|
||||
flake8==3.8.3
|
||||
flake8-bugbear==20.1.4
|
||||
mccabe==0.6.1
|
||||
pycodestyle==2.6.0
|
||||
pyflakes==2.2.0
|
||||
@@ -0,0 +1,4 @@
|
||||
flake8==3.8.3
|
||||
mccabe==0.6.1
|
||||
pycodestyle==2.6.0
|
||||
pyflakes==2.2.0
|
||||
@@ -0,0 +1 @@
|
||||
funcsigs==1.0.2
|
||||
@@ -0,0 +1,2 @@
|
||||
importlib-metadata==1.6.1
|
||||
zipp==3.1.0
|
||||
@@ -0,0 +1 @@
|
||||
isort==4.3.21
|
||||
@@ -0,0 +1,3 @@
|
||||
packaging==20.4
|
||||
pyparsing==2.4.7
|
||||
six==1.15.0
|
||||
@@ -0,0 +1,11 @@
|
||||
appdirs==1.4.4
|
||||
cfgv==3.1.0
|
||||
distlib==0.3.0
|
||||
filelock==3.0.12
|
||||
identify==1.4.19
|
||||
nodeenv==1.4.0
|
||||
pre-commit==2.5.1
|
||||
PyYAML==5.3.1
|
||||
six==1.15.0
|
||||
toml==0.10.1
|
||||
virtualenv==20.0.23
|
||||
@@ -0,0 +1,114 @@
|
||||
pyobjc==6.2.1
|
||||
pyobjc-core==6.2.1
|
||||
pyobjc-framework-Accounts==6.2.1
|
||||
pyobjc-framework-AddressBook==6.2.1
|
||||
pyobjc-framework-AdSupport==6.2.1
|
||||
pyobjc-framework-AppleScriptKit==6.2.1
|
||||
pyobjc-framework-AppleScriptObjC==6.2.1
|
||||
pyobjc-framework-ApplicationServices==6.2.1
|
||||
pyobjc-framework-AuthenticationServices==6.2.1
|
||||
pyobjc-framework-AutomaticAssessmentConfiguration==6.2.1
|
||||
pyobjc-framework-Automator==6.2.1
|
||||
pyobjc-framework-AVFoundation==6.2.1
|
||||
pyobjc-framework-AVKit==6.2.1
|
||||
pyobjc-framework-BusinessChat==6.2.1
|
||||
pyobjc-framework-CalendarStore==6.2.1
|
||||
pyobjc-framework-CFNetwork==6.2.1
|
||||
pyobjc-framework-CloudKit==6.2.1
|
||||
pyobjc-framework-Cocoa==6.2.1
|
||||
pyobjc-framework-Collaboration==6.2.1
|
||||
pyobjc-framework-ColorSync==6.2.1
|
||||
pyobjc-framework-Contacts==6.2.1
|
||||
pyobjc-framework-ContactsUI==6.2.1
|
||||
pyobjc-framework-CoreAudio==6.2.1
|
||||
pyobjc-framework-CoreAudioKit==6.2.1
|
||||
pyobjc-framework-CoreBluetooth==6.2.1
|
||||
pyobjc-framework-CoreData==6.2.1
|
||||
pyobjc-framework-CoreHaptics==6.2.1
|
||||
pyobjc-framework-CoreLocation==6.2.1
|
||||
pyobjc-framework-CoreMedia==6.2.1
|
||||
pyobjc-framework-CoreMediaIO==6.2.1
|
||||
pyobjc-framework-CoreML==6.2.1
|
||||
pyobjc-framework-CoreMotion==6.2.1
|
||||
pyobjc-framework-CoreServices==6.2.1
|
||||
pyobjc-framework-CoreSpotlight==6.2.1
|
||||
pyobjc-framework-CoreText==6.2.1
|
||||
pyobjc-framework-CoreWLAN==6.2.1
|
||||
pyobjc-framework-CryptoTokenKit==6.2.1
|
||||
pyobjc-framework-DeviceCheck==6.2.1
|
||||
pyobjc-framework-DictionaryServices==6.2.1
|
||||
pyobjc-framework-DiscRecording==6.2.1
|
||||
pyobjc-framework-DiscRecordingUI==6.2.1
|
||||
pyobjc-framework-DiskArbitration==6.2.1
|
||||
pyobjc-framework-DVDPlayback==6.2.1
|
||||
pyobjc-framework-EventKit==6.2.1
|
||||
pyobjc-framework-ExceptionHandling==6.2.1
|
||||
pyobjc-framework-ExecutionPolicy==6.2.1
|
||||
pyobjc-framework-ExternalAccessory==6.2.1
|
||||
pyobjc-framework-FileProvider==6.2.1
|
||||
pyobjc-framework-FileProviderUI==6.2.1
|
||||
pyobjc-framework-FinderSync==6.2.1
|
||||
pyobjc-framework-FSEvents==6.2.1
|
||||
pyobjc-framework-GameCenter==6.2.1
|
||||
pyobjc-framework-GameController==6.2.1
|
||||
pyobjc-framework-GameKit==6.2.1
|
||||
pyobjc-framework-GameplayKit==6.2.1
|
||||
pyobjc-framework-ImageCaptureCore==6.2.1
|
||||
pyobjc-framework-IMServicePlugIn==6.2.1
|
||||
pyobjc-framework-InputMethodKit==6.2.1
|
||||
pyobjc-framework-InstallerPlugins==6.2.1
|
||||
pyobjc-framework-InstantMessage==6.2.1
|
||||
pyobjc-framework-Intents==6.2.1
|
||||
pyobjc-framework-IOSurface==6.2.1
|
||||
pyobjc-framework-iTunesLibrary==6.2.1
|
||||
pyobjc-framework-LatentSemanticMapping==6.2.1
|
||||
pyobjc-framework-LaunchServices==6.2.1
|
||||
pyobjc-framework-libdispatch==6.2.1
|
||||
pyobjc-framework-LinkPresentation==6.2.1
|
||||
pyobjc-framework-LocalAuthentication==6.2.1
|
||||
pyobjc-framework-MapKit==6.2.1
|
||||
pyobjc-framework-MediaAccessibility==6.2.1
|
||||
pyobjc-framework-MediaLibrary==6.2.1
|
||||
pyobjc-framework-MediaPlayer==6.2.1
|
||||
pyobjc-framework-MediaToolbox==6.2.1
|
||||
pyobjc-framework-Metal==6.2.1
|
||||
pyobjc-framework-MetalKit==6.2.1
|
||||
pyobjc-framework-ModelIO==6.2.1
|
||||
pyobjc-framework-MultipeerConnectivity==6.2.1
|
||||
pyobjc-framework-NaturalLanguage==6.2.1
|
||||
pyobjc-framework-NetFS==6.2.1
|
||||
pyobjc-framework-Network==6.2.1
|
||||
pyobjc-framework-NetworkExtension==6.2.1
|
||||
pyobjc-framework-NotificationCenter==6.2.1
|
||||
pyobjc-framework-OpenDirectory==6.2.1
|
||||
pyobjc-framework-OSAKit==6.2.1
|
||||
pyobjc-framework-OSLog==6.2.1
|
||||
pyobjc-framework-PencilKit==6.2.1
|
||||
pyobjc-framework-Photos==6.2.1
|
||||
pyobjc-framework-PhotosUI==6.2.1
|
||||
pyobjc-framework-PreferencePanes==6.2.1
|
||||
pyobjc-framework-PushKit==6.2.1
|
||||
pyobjc-framework-Quartz==6.2.1
|
||||
pyobjc-framework-QuickLookThumbnailing==6.2.1
|
||||
pyobjc-framework-SafariServices==6.2.1
|
||||
pyobjc-framework-SceneKit==6.2.1
|
||||
pyobjc-framework-ScreenSaver==6.2.1
|
||||
pyobjc-framework-ScriptingBridge==6.2.1
|
||||
pyobjc-framework-SearchKit==6.2.1
|
||||
pyobjc-framework-Security==6.2.1
|
||||
pyobjc-framework-SecurityFoundation==6.2.1
|
||||
pyobjc-framework-SecurityInterface==6.2.1
|
||||
pyobjc-framework-ServiceManagement==6.2.1
|
||||
pyobjc-framework-Social==6.2.1
|
||||
pyobjc-framework-SoundAnalysis==6.2.1
|
||||
pyobjc-framework-Speech==6.2.1
|
||||
pyobjc-framework-SpriteKit==6.2.1
|
||||
pyobjc-framework-StoreKit==6.2.1
|
||||
pyobjc-framework-SyncServices==6.2.1
|
||||
pyobjc-framework-SystemConfiguration==6.2.1
|
||||
pyobjc-framework-SystemExtensions==6.2.1
|
||||
pyobjc-framework-UserNotifications==6.2.1
|
||||
pyobjc-framework-VideoSubscriberAccount==6.2.1
|
||||
pyobjc-framework-VideoToolbox==6.2.1
|
||||
pyobjc-framework-Vision==6.2.1
|
||||
pyobjc-framework-WebKit==6.2.1
|
||||
@@ -0,0 +1,2 @@
|
||||
attrs==19.3.0
|
||||
pytest-docker==0.7.2
|
||||
@@ -0,0 +1,9 @@
|
||||
attrs==19.3.0
|
||||
more-itertools==8.4.0
|
||||
packaging==20.4
|
||||
pluggy==0.13.1
|
||||
py==1.8.1
|
||||
pyparsing==2.4.7
|
||||
pytest==5.4.3
|
||||
six==1.15.0
|
||||
wcwidth==0.2.4
|
||||
@@ -0,0 +1 @@
|
||||
python-dotenv==0.13.0
|
||||
@@ -0,0 +1,5 @@
|
||||
certifi==2020.4.5.2
|
||||
chardet==3.0.4
|
||||
idna==2.9
|
||||
requests==2.23.0
|
||||
urllib3==1.25.9
|
||||
@@ -0,0 +1,2 @@
|
||||
-r pyobjc.txt
|
||||
-r xattr.txt
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
-r arrow.txt
|
||||
-r aspy.yaml.txt
|
||||
-r atomicwrites.txt
|
||||
-r black.txt
|
||||
-r boto.txt
|
||||
-r entrypoints.txt
|
||||
-r flake8.txt
|
||||
-r flake8-bugbear.txt
|
||||
-r funcsigs.txt
|
||||
-r importlib-metadata.txt
|
||||
-r isort.txt
|
||||
-r packaging.txt
|
||||
-r pre-commit.txt
|
||||
-r pyobjc.txt
|
||||
-r pytest.txt
|
||||
-r pytest-docker.txt
|
||||
-r python-dotenv.txt
|
||||
-r requests.txt
|
||||
-r rsa.txt
|
||||
-r slacker.txt
|
||||
-r Sphinx.txt
|
||||
-r tokenize-rt.txt
|
||||
-r virtualenv.txt
|
||||
-r xattr.txt
|
||||
@@ -0,0 +1,14 @@
|
||||
-r aspy.yaml.txt
|
||||
-r black.txt
|
||||
-r entrypoints.txt
|
||||
-r flake8.txt
|
||||
-r flake8-bugbear.txt
|
||||
-r importlib-metadata.txt
|
||||
-r isort.txt
|
||||
-r packaging.txt
|
||||
-r pre-commit.txt
|
||||
-r pyobjc.txt
|
||||
-r requests.txt
|
||||
-r tokenize-rt.txt
|
||||
-r virtualenv.txt
|
||||
-r xattr.txt
|
||||
@@ -0,0 +1,2 @@
|
||||
pyasn1==0.4.8
|
||||
rsa==4.6
|
||||
@@ -0,0 +1,6 @@
|
||||
certifi==2020.4.5.2
|
||||
chardet==3.0.4
|
||||
idna==2.9
|
||||
requests==2.23.0
|
||||
slacker==0.14.0
|
||||
urllib3==1.25.9
|
||||
@@ -0,0 +1 @@
|
||||
tokenize-rt==4.0.0
|
||||
@@ -0,0 +1,5 @@
|
||||
appdirs==1.4.4
|
||||
distlib==0.3.0
|
||||
filelock==3.0.12
|
||||
six==1.15.0
|
||||
virtualenv==20.0.23
|
||||
@@ -0,0 +1,3 @@
|
||||
cffi==1.14.0
|
||||
pycparser==2.20
|
||||
xattr==0.9.7
|
||||
@@ -0,0 +1,115 @@
|
||||
pyobjc==6.2.1
|
||||
pyobjc-core==6.2.1
|
||||
pyobjc-framework-Accounts==6.2.1
|
||||
pyobjc-framework-AddressBook==6.2.1
|
||||
pyobjc-framework-AdSupport==6.2.1
|
||||
pyobjc-framework-AppleScriptKit==6.2.1
|
||||
pyobjc-framework-AppleScriptObjC==6.2.1
|
||||
pyobjc-framework-ApplicationServices==6.2.1
|
||||
pyobjc-framework-AuthenticationServices==6.2.1
|
||||
pyobjc-framework-AutomaticAssessmentConfiguration==6.2.1
|
||||
pyobjc-framework-Automator==6.2.1
|
||||
pyobjc-framework-AVFoundation==6.2.1
|
||||
pyobjc-framework-AVKit==6.2.1
|
||||
pyobjc-framework-BusinessChat==6.2.1
|
||||
pyobjc-framework-CalendarStore==6.2.1
|
||||
pyobjc-framework-CFNetwork==6.2.1
|
||||
pyobjc-framework-CloudKit==6.2.1
|
||||
pyobjc-framework-Cocoa==6.2.1
|
||||
pyobjc-framework-Collaboration==6.2.1
|
||||
pyobjc-framework-ColorSync==6.2.1
|
||||
pyobjc-framework-Contacts==6.2.1
|
||||
pyobjc-framework-ContactsUI==6.2.1
|
||||
pyobjc-framework-CoreAudio==6.2.1
|
||||
pyobjc-framework-CoreAudioKit==6.2.1
|
||||
pyobjc-framework-CoreBluetooth==6.2.1
|
||||
pyobjc-framework-CoreData==6.2.1
|
||||
pyobjc-framework-CoreHaptics==6.2.1
|
||||
pyobjc-framework-CoreLocation==6.2.1
|
||||
pyobjc-framework-CoreMedia==6.2.1
|
||||
pyobjc-framework-CoreMediaIO==6.2.1
|
||||
pyobjc-framework-CoreML==6.2.1
|
||||
pyobjc-framework-CoreMotion==6.2.1
|
||||
pyobjc-framework-CoreServices==6.2.1
|
||||
pyobjc-framework-CoreSpotlight==6.2.1
|
||||
pyobjc-framework-CoreText==6.2.1
|
||||
pyobjc-framework-CoreWLAN==6.2.1
|
||||
pyobjc-framework-CryptoTokenKit==6.2.1
|
||||
pyobjc-framework-DeviceCheck==6.2.1
|
||||
pyobjc-framework-DictionaryServices==6.2.1
|
||||
pyobjc-framework-DiscRecording==6.2.1
|
||||
pyobjc-framework-DiscRecordingUI==6.2.1
|
||||
pyobjc-framework-DiskArbitration==6.2.1
|
||||
pyobjc-framework-DVDPlayback==6.2.1
|
||||
pyobjc-framework-EventKit==6.2.1
|
||||
pyobjc-framework-ExceptionHandling==6.2.1
|
||||
pyobjc-framework-ExecutionPolicy==6.2.1
|
||||
pyobjc-framework-ExternalAccessory==6.2.1
|
||||
pyobjc-framework-FileProvider==6.2.1
|
||||
pyobjc-framework-FileProviderUI==6.2.1
|
||||
pyobjc-framework-FinderSync==6.2.1
|
||||
pyobjc-framework-FSEvents==6.2.1
|
||||
pyobjc-framework-GameCenter==6.2.1
|
||||
pyobjc-framework-GameController==6.2.1
|
||||
pyobjc-framework-GameKit==6.2.1
|
||||
pyobjc-framework-GameplayKit==6.2.1
|
||||
pyobjc-framework-ImageCaptureCore==6.2.1
|
||||
pyobjc-framework-IMServicePlugIn==6.2.1
|
||||
pyobjc-framework-InputMethodKit==6.2.1
|
||||
pyobjc-framework-InstallerPlugins==6.2.1
|
||||
pyobjc-framework-InstantMessage==6.2.1
|
||||
pyobjc-framework-Intents==6.2.1
|
||||
pyobjc-framework-IOSurface==6.2.1
|
||||
pyobjc-framework-iTunesLibrary==6.2.1
|
||||
pyobjc-framework-LatentSemanticMapping==6.2.1
|
||||
pyobjc-framework-LaunchServices==6.2.1
|
||||
pyobjc-framework-libdispatch==6.2.1
|
||||
pyobjc-framework-LinkPresentation==6.2.1
|
||||
pyobjc-framework-LocalAuthentication==6.2.1
|
||||
pyobjc-framework-MapKit==6.2.1
|
||||
pyobjc-framework-MediaAccessibility==6.2.1
|
||||
pyobjc-framework-MediaLibrary==6.2.1
|
||||
pyobjc-framework-MediaPlayer==6.2.1
|
||||
pyobjc-framework-MediaToolbox==6.2.1
|
||||
pyobjc-framework-Metal==6.2.1
|
||||
pyobjc-framework-MetalKit==6.2.1
|
||||
pyobjc-framework-ModelIO==6.2.1
|
||||
pyobjc-framework-MultipeerConnectivity==6.2.1
|
||||
pyobjc-framework-NaturalLanguage==6.2.1
|
||||
pyobjc-framework-NetFS==6.2.1
|
||||
pyobjc-framework-Network==6.2.1
|
||||
pyobjc-framework-NetworkExtension==6.2.1
|
||||
pyobjc-framework-NotificationCenter==6.2.1
|
||||
pyobjc-framework-OpenDirectory==6.2.1
|
||||
pyobjc-framework-OSAKit==6.2.1
|
||||
pyobjc-framework-OSLog==6.2.1
|
||||
pyobjc-framework-PencilKit==6.2.1
|
||||
pyobjc-framework-Photos==6.2.1
|
||||
pyobjc-framework-PhotosUI==6.2.1
|
||||
pyobjc-framework-PreferencePanes==6.2.1
|
||||
pyobjc-framework-PushKit==6.2.1
|
||||
pyobjc-framework-Quartz==6.2.1
|
||||
pyobjc-framework-QuickLookThumbnailing==6.2.1
|
||||
pyobjc-framework-SafariServices==6.2.1
|
||||
pyobjc-framework-SceneKit==6.2.1
|
||||
pyobjc-framework-ScreenSaver==6.2.1
|
||||
pyobjc-framework-ScriptingBridge==6.2.1
|
||||
pyobjc-framework-SearchKit==6.2.1
|
||||
pyobjc-framework-Security==6.2.1
|
||||
pyobjc-framework-SecurityFoundation==6.2.1
|
||||
pyobjc-framework-SecurityInterface==6.2.1
|
||||
pyobjc-framework-ServiceManagement==6.2.1
|
||||
pyobjc-framework-Social==6.2.1
|
||||
pyobjc-framework-SoundAnalysis==6.2.1
|
||||
pyobjc-framework-Speech==6.2.1
|
||||
pyobjc-framework-SpriteKit==6.2.1
|
||||
pyobjc-framework-StoreKit==6.2.1
|
||||
pyobjc-framework-SyncServices==6.2.1
|
||||
pyobjc-framework-SystemConfiguration==6.2.1
|
||||
pyobjc-framework-SystemExtensions==6.2.1
|
||||
pyobjc-framework-UserNotifications==6.2.1
|
||||
pyobjc-framework-VideoSubscriberAccount==6.2.1
|
||||
pyobjc-framework-VideoToolbox==6.2.1
|
||||
pyobjc-framework-Vision==6.2.1
|
||||
pyobjc-framework-WebKit==6.2.1
|
||||
xattr==0.9.7
|
||||
@@ -0,0 +1,183 @@
|
||||
alabaster==0.7.12
|
||||
appdirs==1.4.4
|
||||
arrow==0.15.6
|
||||
aspy.yaml==1.3.0
|
||||
atomicwrites==1.4.0
|
||||
attrs==19.3.0
|
||||
Babel==2.8.0
|
||||
black==19.10b0
|
||||
boto==2.49.0
|
||||
certifi==2020.4.5.2
|
||||
cffi==1.14.0
|
||||
cfgv==3.1.0
|
||||
chardet==3.0.4
|
||||
click==7.1.2
|
||||
distlib==0.3.0
|
||||
docutils==0.16
|
||||
entrypoints==0.3
|
||||
filelock==3.0.12
|
||||
flake8==3.8.3
|
||||
flake8-bugbear==20.1.4
|
||||
funcsigs==1.0.2
|
||||
identify==1.4.19
|
||||
idna==2.9
|
||||
imagesize==1.2.0
|
||||
importlib-metadata==1.6.1
|
||||
isort==4.3.21
|
||||
Jinja2==2.11.2
|
||||
MarkupSafe==1.1.1
|
||||
mccabe==0.6.1
|
||||
more-itertools==8.4.0
|
||||
nodeenv==1.4.0
|
||||
packaging==20.4
|
||||
pathspec==0.8.0
|
||||
pluggy==0.13.1
|
||||
pre-commit==2.5.1
|
||||
py==1.8.1
|
||||
pyasn1==0.4.8
|
||||
pycodestyle==2.6.0
|
||||
pycparser==2.20
|
||||
pyflakes==2.2.0
|
||||
Pygments==2.6.1
|
||||
pyobjc==6.2.1
|
||||
pyobjc-core==6.2.1
|
||||
pyobjc-framework-Accounts==6.2.1
|
||||
pyobjc-framework-AddressBook==6.2.1
|
||||
pyobjc-framework-AdSupport==6.2.1
|
||||
pyobjc-framework-AppleScriptKit==6.2.1
|
||||
pyobjc-framework-AppleScriptObjC==6.2.1
|
||||
pyobjc-framework-ApplicationServices==6.2.1
|
||||
pyobjc-framework-AuthenticationServices==6.2.1
|
||||
pyobjc-framework-AutomaticAssessmentConfiguration==6.2.1
|
||||
pyobjc-framework-Automator==6.2.1
|
||||
pyobjc-framework-AVFoundation==6.2.1
|
||||
pyobjc-framework-AVKit==6.2.1
|
||||
pyobjc-framework-BusinessChat==6.2.1
|
||||
pyobjc-framework-CalendarStore==6.2.1
|
||||
pyobjc-framework-CFNetwork==6.2.1
|
||||
pyobjc-framework-CloudKit==6.2.1
|
||||
pyobjc-framework-Cocoa==6.2.1
|
||||
pyobjc-framework-Collaboration==6.2.1
|
||||
pyobjc-framework-ColorSync==6.2.1
|
||||
pyobjc-framework-Contacts==6.2.1
|
||||
pyobjc-framework-ContactsUI==6.2.1
|
||||
pyobjc-framework-CoreAudio==6.2.1
|
||||
pyobjc-framework-CoreAudioKit==6.2.1
|
||||
pyobjc-framework-CoreBluetooth==6.2.1
|
||||
pyobjc-framework-CoreData==6.2.1
|
||||
pyobjc-framework-CoreHaptics==6.2.1
|
||||
pyobjc-framework-CoreLocation==6.2.1
|
||||
pyobjc-framework-CoreMedia==6.2.1
|
||||
pyobjc-framework-CoreMediaIO==6.2.1
|
||||
pyobjc-framework-CoreML==6.2.1
|
||||
pyobjc-framework-CoreMotion==6.2.1
|
||||
pyobjc-framework-CoreServices==6.2.1
|
||||
pyobjc-framework-CoreSpotlight==6.2.1
|
||||
pyobjc-framework-CoreText==6.2.1
|
||||
pyobjc-framework-CoreWLAN==6.2.1
|
||||
pyobjc-framework-CryptoTokenKit==6.2.1
|
||||
pyobjc-framework-DeviceCheck==6.2.1
|
||||
pyobjc-framework-DictionaryServices==6.2.1
|
||||
pyobjc-framework-DiscRecording==6.2.1
|
||||
pyobjc-framework-DiscRecordingUI==6.2.1
|
||||
pyobjc-framework-DiskArbitration==6.2.1
|
||||
pyobjc-framework-DVDPlayback==6.2.1
|
||||
pyobjc-framework-EventKit==6.2.1
|
||||
pyobjc-framework-ExceptionHandling==6.2.1
|
||||
pyobjc-framework-ExecutionPolicy==6.2.1
|
||||
pyobjc-framework-ExternalAccessory==6.2.1
|
||||
pyobjc-framework-FileProvider==6.2.1
|
||||
pyobjc-framework-FileProviderUI==6.2.1
|
||||
pyobjc-framework-FinderSync==6.2.1
|
||||
pyobjc-framework-FSEvents==6.2.1
|
||||
pyobjc-framework-GameCenter==6.2.1
|
||||
pyobjc-framework-GameController==6.2.1
|
||||
pyobjc-framework-GameKit==6.2.1
|
||||
pyobjc-framework-GameplayKit==6.2.1
|
||||
pyobjc-framework-ImageCaptureCore==6.2.1
|
||||
pyobjc-framework-IMServicePlugIn==6.2.1
|
||||
pyobjc-framework-InputMethodKit==6.2.1
|
||||
pyobjc-framework-InstallerPlugins==6.2.1
|
||||
pyobjc-framework-InstantMessage==6.2.1
|
||||
pyobjc-framework-Intents==6.2.1
|
||||
pyobjc-framework-IOSurface==6.2.1
|
||||
pyobjc-framework-iTunesLibrary==6.2.1
|
||||
pyobjc-framework-LatentSemanticMapping==6.2.1
|
||||
pyobjc-framework-LaunchServices==6.2.1
|
||||
pyobjc-framework-libdispatch==6.2.1
|
||||
pyobjc-framework-LinkPresentation==6.2.1
|
||||
pyobjc-framework-LocalAuthentication==6.2.1
|
||||
pyobjc-framework-MapKit==6.2.1
|
||||
pyobjc-framework-MediaAccessibility==6.2.1
|
||||
pyobjc-framework-MediaLibrary==6.2.1
|
||||
pyobjc-framework-MediaPlayer==6.2.1
|
||||
pyobjc-framework-MediaToolbox==6.2.1
|
||||
pyobjc-framework-Metal==6.2.1
|
||||
pyobjc-framework-MetalKit==6.2.1
|
||||
pyobjc-framework-ModelIO==6.2.1
|
||||
pyobjc-framework-MultipeerConnectivity==6.2.1
|
||||
pyobjc-framework-NaturalLanguage==6.2.1
|
||||
pyobjc-framework-NetFS==6.2.1
|
||||
pyobjc-framework-Network==6.2.1
|
||||
pyobjc-framework-NetworkExtension==6.2.1
|
||||
pyobjc-framework-NotificationCenter==6.2.1
|
||||
pyobjc-framework-OpenDirectory==6.2.1
|
||||
pyobjc-framework-OSAKit==6.2.1
|
||||
pyobjc-framework-OSLog==6.2.1
|
||||
pyobjc-framework-PencilKit==6.2.1
|
||||
pyobjc-framework-Photos==6.2.1
|
||||
pyobjc-framework-PhotosUI==6.2.1
|
||||
pyobjc-framework-PreferencePanes==6.2.1
|
||||
pyobjc-framework-PushKit==6.2.1
|
||||
pyobjc-framework-Quartz==6.2.1
|
||||
pyobjc-framework-QuickLookThumbnailing==6.2.1
|
||||
pyobjc-framework-SafariServices==6.2.1
|
||||
pyobjc-framework-SceneKit==6.2.1
|
||||
pyobjc-framework-ScreenSaver==6.2.1
|
||||
pyobjc-framework-ScriptingBridge==6.2.1
|
||||
pyobjc-framework-SearchKit==6.2.1
|
||||
pyobjc-framework-Security==6.2.1
|
||||
pyobjc-framework-SecurityFoundation==6.2.1
|
||||
pyobjc-framework-SecurityInterface==6.2.1
|
||||
pyobjc-framework-ServiceManagement==6.2.1
|
||||
pyobjc-framework-Social==6.2.1
|
||||
pyobjc-framework-SoundAnalysis==6.2.1
|
||||
pyobjc-framework-Speech==6.2.1
|
||||
pyobjc-framework-SpriteKit==6.2.1
|
||||
pyobjc-framework-StoreKit==6.2.1
|
||||
pyobjc-framework-SyncServices==6.2.1
|
||||
pyobjc-framework-SystemConfiguration==6.2.1
|
||||
pyobjc-framework-SystemExtensions==6.2.1
|
||||
pyobjc-framework-UserNotifications==6.2.1
|
||||
pyobjc-framework-VideoSubscriberAccount==6.2.1
|
||||
pyobjc-framework-VideoToolbox==6.2.1
|
||||
pyobjc-framework-Vision==6.2.1
|
||||
pyobjc-framework-WebKit==6.2.1
|
||||
pyparsing==2.4.7
|
||||
pytest==5.4.3
|
||||
pytest-docker==0.7.2
|
||||
python-dateutil==2.8.1
|
||||
python-dotenv==0.13.0
|
||||
pytz==2020.1
|
||||
PyYAML==5.3.1
|
||||
regex==2020.6.8
|
||||
requests==2.23.0
|
||||
rsa==4.6
|
||||
six==1.15.0
|
||||
slacker==0.14.0
|
||||
snowballstemmer==2.0.0
|
||||
Sphinx==3.1.1
|
||||
sphinxcontrib-applehelp==1.0.2
|
||||
sphinxcontrib-devhelp==1.0.2
|
||||
sphinxcontrib-htmlhelp==1.0.3
|
||||
sphinxcontrib-jsmath==1.0.1
|
||||
sphinxcontrib-qthelp==1.0.3
|
||||
sphinxcontrib-serializinghtml==1.1.4
|
||||
tokenize-rt==4.0.0
|
||||
toml==0.10.1
|
||||
typed-ast==1.4.1
|
||||
urllib3==1.25.9
|
||||
virtualenv==20.0.23
|
||||
wcwidth==0.2.4
|
||||
xattr==0.9.7
|
||||
zipp==3.1.0
|
||||
@@ -0,0 +1,152 @@
|
||||
appdirs==1.4.4
|
||||
aspy.yaml==1.3.0
|
||||
attrs==19.3.0
|
||||
black==19.10b0
|
||||
certifi==2020.4.5.2
|
||||
cffi==1.14.0
|
||||
cfgv==3.1.0
|
||||
chardet==3.0.4
|
||||
click==7.1.2
|
||||
distlib==0.3.0
|
||||
entrypoints==0.3
|
||||
filelock==3.0.12
|
||||
flake8==3.8.3
|
||||
flake8-bugbear==20.1.4
|
||||
identify==1.4.19
|
||||
idna==2.9
|
||||
importlib-metadata==1.6.1
|
||||
isort==4.3.21
|
||||
mccabe==0.6.1
|
||||
nodeenv==1.4.0
|
||||
packaging==20.4
|
||||
pathspec==0.8.0
|
||||
pre-commit==2.5.1
|
||||
pycodestyle==2.6.0
|
||||
pycparser==2.20
|
||||
pyflakes==2.2.0
|
||||
pyobjc==6.2.1
|
||||
pyobjc-core==6.2.1
|
||||
pyobjc-framework-Accounts==6.2.1
|
||||
pyobjc-framework-AddressBook==6.2.1
|
||||
pyobjc-framework-AdSupport==6.2.1
|
||||
pyobjc-framework-AppleScriptKit==6.2.1
|
||||
pyobjc-framework-AppleScriptObjC==6.2.1
|
||||
pyobjc-framework-ApplicationServices==6.2.1
|
||||
pyobjc-framework-AuthenticationServices==6.2.1
|
||||
pyobjc-framework-AutomaticAssessmentConfiguration==6.2.1
|
||||
pyobjc-framework-Automator==6.2.1
|
||||
pyobjc-framework-AVFoundation==6.2.1
|
||||
pyobjc-framework-AVKit==6.2.1
|
||||
pyobjc-framework-BusinessChat==6.2.1
|
||||
pyobjc-framework-CalendarStore==6.2.1
|
||||
pyobjc-framework-CFNetwork==6.2.1
|
||||
pyobjc-framework-CloudKit==6.2.1
|
||||
pyobjc-framework-Cocoa==6.2.1
|
||||
pyobjc-framework-Collaboration==6.2.1
|
||||
pyobjc-framework-ColorSync==6.2.1
|
||||
pyobjc-framework-Contacts==6.2.1
|
||||
pyobjc-framework-ContactsUI==6.2.1
|
||||
pyobjc-framework-CoreAudio==6.2.1
|
||||
pyobjc-framework-CoreAudioKit==6.2.1
|
||||
pyobjc-framework-CoreBluetooth==6.2.1
|
||||
pyobjc-framework-CoreData==6.2.1
|
||||
pyobjc-framework-CoreHaptics==6.2.1
|
||||
pyobjc-framework-CoreLocation==6.2.1
|
||||
pyobjc-framework-CoreMedia==6.2.1
|
||||
pyobjc-framework-CoreMediaIO==6.2.1
|
||||
pyobjc-framework-CoreML==6.2.1
|
||||
pyobjc-framework-CoreMotion==6.2.1
|
||||
pyobjc-framework-CoreServices==6.2.1
|
||||
pyobjc-framework-CoreSpotlight==6.2.1
|
||||
pyobjc-framework-CoreText==6.2.1
|
||||
pyobjc-framework-CoreWLAN==6.2.1
|
||||
pyobjc-framework-CryptoTokenKit==6.2.1
|
||||
pyobjc-framework-DeviceCheck==6.2.1
|
||||
pyobjc-framework-DictionaryServices==6.2.1
|
||||
pyobjc-framework-DiscRecording==6.2.1
|
||||
pyobjc-framework-DiscRecordingUI==6.2.1
|
||||
pyobjc-framework-DiskArbitration==6.2.1
|
||||
pyobjc-framework-DVDPlayback==6.2.1
|
||||
pyobjc-framework-EventKit==6.2.1
|
||||
pyobjc-framework-ExceptionHandling==6.2.1
|
||||
pyobjc-framework-ExecutionPolicy==6.2.1
|
||||
pyobjc-framework-ExternalAccessory==6.2.1
|
||||
pyobjc-framework-FileProvider==6.2.1
|
||||
pyobjc-framework-FileProviderUI==6.2.1
|
||||
pyobjc-framework-FinderSync==6.2.1
|
||||
pyobjc-framework-FSEvents==6.2.1
|
||||
pyobjc-framework-GameCenter==6.2.1
|
||||
pyobjc-framework-GameController==6.2.1
|
||||
pyobjc-framework-GameKit==6.2.1
|
||||
pyobjc-framework-GameplayKit==6.2.1
|
||||
pyobjc-framework-ImageCaptureCore==6.2.1
|
||||
pyobjc-framework-IMServicePlugIn==6.2.1
|
||||
pyobjc-framework-InputMethodKit==6.2.1
|
||||
pyobjc-framework-InstallerPlugins==6.2.1
|
||||
pyobjc-framework-InstantMessage==6.2.1
|
||||
pyobjc-framework-Intents==6.2.1
|
||||
pyobjc-framework-IOSurface==6.2.1
|
||||
pyobjc-framework-iTunesLibrary==6.2.1
|
||||
pyobjc-framework-LatentSemanticMapping==6.2.1
|
||||
pyobjc-framework-LaunchServices==6.2.1
|
||||
pyobjc-framework-libdispatch==6.2.1
|
||||
pyobjc-framework-LinkPresentation==6.2.1
|
||||
pyobjc-framework-LocalAuthentication==6.2.1
|
||||
pyobjc-framework-MapKit==6.2.1
|
||||
pyobjc-framework-MediaAccessibility==6.2.1
|
||||
pyobjc-framework-MediaLibrary==6.2.1
|
||||
pyobjc-framework-MediaPlayer==6.2.1
|
||||
pyobjc-framework-MediaToolbox==6.2.1
|
||||
pyobjc-framework-Metal==6.2.1
|
||||
pyobjc-framework-MetalKit==6.2.1
|
||||
pyobjc-framework-ModelIO==6.2.1
|
||||
pyobjc-framework-MultipeerConnectivity==6.2.1
|
||||
pyobjc-framework-NaturalLanguage==6.2.1
|
||||
pyobjc-framework-NetFS==6.2.1
|
||||
pyobjc-framework-Network==6.2.1
|
||||
pyobjc-framework-NetworkExtension==6.2.1
|
||||
pyobjc-framework-NotificationCenter==6.2.1
|
||||
pyobjc-framework-OpenDirectory==6.2.1
|
||||
pyobjc-framework-OSAKit==6.2.1
|
||||
pyobjc-framework-OSLog==6.2.1
|
||||
pyobjc-framework-PencilKit==6.2.1
|
||||
pyobjc-framework-Photos==6.2.1
|
||||
pyobjc-framework-PhotosUI==6.2.1
|
||||
pyobjc-framework-PreferencePanes==6.2.1
|
||||
pyobjc-framework-PushKit==6.2.1
|
||||
pyobjc-framework-Quartz==6.2.1
|
||||
pyobjc-framework-QuickLookThumbnailing==6.2.1
|
||||
pyobjc-framework-SafariServices==6.2.1
|
||||
pyobjc-framework-SceneKit==6.2.1
|
||||
pyobjc-framework-ScreenSaver==6.2.1
|
||||
pyobjc-framework-ScriptingBridge==6.2.1
|
||||
pyobjc-framework-SearchKit==6.2.1
|
||||
pyobjc-framework-Security==6.2.1
|
||||
pyobjc-framework-SecurityFoundation==6.2.1
|
||||
pyobjc-framework-SecurityInterface==6.2.1
|
||||
pyobjc-framework-ServiceManagement==6.2.1
|
||||
pyobjc-framework-Social==6.2.1
|
||||
pyobjc-framework-SoundAnalysis==6.2.1
|
||||
pyobjc-framework-Speech==6.2.1
|
||||
pyobjc-framework-SpriteKit==6.2.1
|
||||
pyobjc-framework-StoreKit==6.2.1
|
||||
pyobjc-framework-SyncServices==6.2.1
|
||||
pyobjc-framework-SystemConfiguration==6.2.1
|
||||
pyobjc-framework-SystemExtensions==6.2.1
|
||||
pyobjc-framework-UserNotifications==6.2.1
|
||||
pyobjc-framework-VideoSubscriberAccount==6.2.1
|
||||
pyobjc-framework-VideoToolbox==6.2.1
|
||||
pyobjc-framework-Vision==6.2.1
|
||||
pyobjc-framework-WebKit==6.2.1
|
||||
pyparsing==2.4.7
|
||||
PyYAML==5.3.1
|
||||
regex==2020.6.8
|
||||
requests==2.23.0
|
||||
six==1.15.0
|
||||
tokenize-rt==4.0.0
|
||||
toml==0.10.1
|
||||
typed-ast==1.4.1
|
||||
urllib3==1.25.9
|
||||
virtualenv==20.0.23
|
||||
xattr==0.9.7
|
||||
zipp==3.1.0
|
||||
Reference in New Issue
Block a user