-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>BuildMachineOSBuild</key> | ||
<string>12C3006</string> | ||
<key>CFBundleDevelopmentRegion</key> | ||
<string>en</string> | ||
<key>CFBundleDisplayName</key> | ||
<string>IPyApp</string> | ||
<key>CFBundleDocumentTypes</key> | ||
<array> | ||
<dict> | ||
<key>CFBundleTypeIconFile</key> | ||
<string>nw.icns</string> | ||
<key>CFBundleTypeName</key> | ||
<string>node-webkit App</string> | ||
<key>CFBundleTypeRole</key> | ||
<string>Viewer</string> | ||
<key>LSHandlerRank</key> | ||
<string>Owner</string> | ||
<key>LSItemContentTypes</key> | ||
<array> | ||
<string>com.intel.nw.app</string> | ||
</array> | ||
</dict> | ||
<dict> | ||
<key>CFBundleTypeName</key> | ||
<string>Folder</string> | ||
<key>CFBundleTypeOSTypes</key> | ||
<array> | ||
<string>fold</string> | ||
</array> | ||
<key>CFBundleTypeRole</key> | ||
<string>Viewer</string> | ||
<key>LSHandlerRank</key> | ||
<string>None</string> | ||
</dict> | ||
</array> | ||
<key>CFBundleExecutable</key> | ||
<string>node-webkit</string> | ||
<key>CFBundleIconFile</key> | ||
<string>app.nw/app.icns</string> | ||
<key>CFBundleIdentifier</key> | ||
<string>org.ipython.ipyapp</string> | ||
<key>CFBundleInfoDictionaryVersion</key> | ||
<string>6.0</string> | ||
<key>CFBundleName</key> | ||
<string>IPyApp</string> | ||
<key>CFBundlePackageType</key> | ||
<string>APPL</string> | ||
<key>CFBundleShortVersionString</key> | ||
<string>32.0.1700.107</string> | ||
<key>CFBundleVersion</key> | ||
<string>1700.107</string> | ||
<key>DTSDKBuild</key> | ||
<string>11E52</string> | ||
<key>DTSDKName</key> | ||
<string>macosx10.7</string> | ||
<key>DTXcode</key> | ||
<string>0452</string> | ||
<key>DTXcodeBuild</key> | ||
<string>4G2008a</string> | ||
<key>LSFileQuarantineEnabled</key> | ||
<true/> | ||
<key>LSMinimumSystemVersion</key> | ||
<string>10.6.0</string> | ||
<key>NSPrincipalClass</key> | ||
<string>NSApplication</string> | ||
<key>NSSupportsAutomaticGraphicsSwitching</key> | ||
<true/> | ||
<key>SCMRevision</key> | ||
<string>239963</string> | ||
<key>UTExportedTypeDeclarations</key> | ||
<array> | ||
<dict> | ||
<key>UTTypeConformsTo</key> | ||
<array> | ||
<string>com.pkware.zip-archive</string> | ||
</array> | ||
<key>UTTypeDescription</key> | ||
<string>node-webkit App</string> | ||
<key>UTTypeIconFile</key> | ||
<string>nw.icns</string> | ||
<key>UTTypeIdentifier</key> | ||
<string>com.intel.nw.app</string> | ||
<key>UTTypeReferenceURL</key> | ||
<string>https://github.com/rogerwang/node-webkit/wiki/How-to-package-and-distribute-your-apps</string> | ||
<key>UTTypeTagSpecification</key> | ||
<dict> | ||
<key>com.apple.ostype</key> | ||
<string>node-webkit</string> | ||
<key>public.filename-extension</key> | ||
<array> | ||
<string>nw</string> | ||
</array> | ||
<key>public.mime-type</key> | ||
<string>application/x-node-webkit-app</string> | ||
</dict> | ||
</dict> | ||
</array> | ||
</dict> | ||
</plist> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Copyright 2014 Preston Holmes | ||
|
||
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. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# IPyApp | ||
|
||
|
||
This package currently serves as a proof of concept for bundling IPython notebook into a standalone executable application. | ||
|
||
There are basically two components to bundling this. The first is to take Python and IPython and any other python libraries, and bundle them into a platform executable. | ||
|
||
Then wrap this executable in a [node-webkit](https://github.com/rogerwang/node-webkit) app to provide the web UI to the notebook server. | ||
|
||
Current this POC is limited to Mac OS using [Py2App](https://pypi.python.org/pypi/py2app/). | ||
|
||
However node-webkit is cross platform, so as long as an executable can be created (ie py2exe), then this general approach should be cross platform. | ||
|
||
## How to create the bundle | ||
|
||
First, create a virtualenv and install IPython, py2app and any packages you want included. | ||
|
||
Then cd into the py2app directory and build the executable | ||
|
||
rm -r build dist; python setup.py py2app --packages IPython | ||
|
||
Include any additional --packages | ||
|
||
This will create a nb.app executable in the dist folder. Copy this into the app.nw folder. | ||
|
||
Next download the [node-webkit binary](https://github.com/rogerwang/node-webkit#downloads) | ||
|
||
Right click on the node-webkit.app binary that you downloaded and choose "Show Package Contents" | ||
|
||
Copy the provided Info.plist file into the Contents folder of the package, and copy the app.nw folder into the Contents/Resources folder of the package. | ||
|
||
You should now be able to launch the app by double clicking. | ||
|
||
The layout of the app should look something like: | ||
|
||
|
||
|
||
IPyApp.app | ||
└── Contents | ||
├── Frameworks | ||
│ ├── crash_inspector | ||
│ ├── node-webkit\ Framework.framework | ||
│ │ ├── Libraries | ||
│ │ ├── Resources | ||
│ │ ├── node-webkit\ Framework | ||
│ │ ├── node-webkit\ Framework.TOC | ||
│ │ └── node-webkit\ Framework.tmp | ||
│ ├── node-webkit\ Helper\ EH.app | ||
│ │ └── Contents | ||
│ ├── node-webkit\ Helper\ NP.app | ||
│ │ └── Contents | ||
│ └── node-webkit\ Helper.app | ||
│ └── Contents | ||
├── Info.plist | ||
├── MacOS | ||
│ └── node-webkit | ||
├── PkgInfo | ||
└── Resources | ||
├── app.nw | ||
│ ├── app.icns | ||
│ ├── IPythonConsole.png | ||
│ ├── nb.app | ||
│ ├── node_modules | ||
│ ├── package.json | ||
│ ├── start.html | ||
│ └── test.js | ||
└── nw.icns | ||
|
||
|
||
|
||
### Similar projects: | ||
|
||
* https://github.com/liyanage/ipython-notebook - A similar project that uses node-webkit, but does not bundle the python environment, but provides an alternative to opening in the browser. | ||
* https://github.com/mangecoeur/ipython-desktop - A project to embed IPython notebook into a native Mac App using OS X only web ui views | ||
|
||
|
||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.