first real commit

- Package builder
- README
- requirement files per library
- master requirement files for each package
This commit is contained in:
Erik Gomez
2020-06-14 15:11:27 -05:00
parent a1ac71b71f
commit cbe94b9abf
34 changed files with 909 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
.DS_Store
minimal/*
no_customization/*
opionated/*
recommended/*
+48 -1
View File
@@ -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.
+150
View File
@@ -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"
+24
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
arrow==0.15.6
python-dateutil==2.8.1
six==1.15.0
+2
View File
@@ -0,0 +1,2 @@
aspy.yaml==1.3.0
PyYAML==5.3.1
+1
View File
@@ -0,0 +1 @@
atomicwrites==1.4.0
+8
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
boto==2.49.0
+1
View File
@@ -0,0 +1 @@
entrypoints==0.3
+6
View File
@@ -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
+4
View File
@@ -0,0 +1,4 @@
flake8==3.8.3
mccabe==0.6.1
pycodestyle==2.6.0
pyflakes==2.2.0
+1
View File
@@ -0,0 +1 @@
funcsigs==1.0.2
+2
View File
@@ -0,0 +1,2 @@
importlib-metadata==1.6.1
zipp==3.1.0
+1
View File
@@ -0,0 +1 @@
isort==4.3.21
+3
View File
@@ -0,0 +1,3 @@
packaging==20.4
pyparsing==2.4.7
six==1.15.0
+11
View File
@@ -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
+114
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
attrs==19.3.0
pytest-docker==0.7.2
+9
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
python-dotenv==0.13.0
+5
View File
@@ -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
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
pyasn1==0.4.8
rsa==4.6
+6
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
tokenize-rt==4.0.0
+5
View File
@@ -0,0 +1,5 @@
appdirs==1.4.4
distlib==0.3.0
filelock==3.0.12
six==1.15.0
virtualenv==20.0.23
+3
View File
@@ -0,0 +1,3 @@
cffi==1.14.0
pycparser==2.20
xattr==0.9.7
+115
View File
@@ -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
View File
+183
View File
@@ -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
+152
View File
@@ -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