Here are detailed instructions on how to get SnapPy working on avariety of platforms. The current version is 3.0.1 which was releasedon April 2021. If you encounter problems installing SnapPy,please let us know.
macOS¶
Simply download SnapPy.dmgand copy SnapPy.app to the Applications folder. Double-click to startit, just like any other application. Works with macOS/OS X 10.9 andnewer. Earlier releases can be found here.
Windows¶
Homebrew’s package index. Compression/decompression library aiming for high speed. The recent upgrade of port:snappy had to migrate to CMake but did so using the obsolete cmake 1.0 PG, doesn't follow the out-of-source build dir guideline, and above all lost the shared library which isn't built by default. Hello, python-snappy depends on Snappy, but how to install Snappy? I downloaded the snappy-1.1.1.tar.gz file ans unzipped it, but I have no idea of the way to install it on my Mac. Send a URL of your snap to anyone via Snappy Link. You can even encrypt it with a password and set a self destruct timer. Organize & Sync - The Snaps Library keeps track of your snaps on all your devices - as long as iCloud / Cloud Drive is enabled of course. Check with your library to see if they are using Innovative's MyLibrary! If your library uses MyLibrary!, you can access your library and all its resources with the MyLibrary!. Search your library’s catalog of materials with an easy to use search. Renew books, see fines, check on your.
Simply download and run InstallSnapPy.exe.Earlier releases can be found here.
Linux¶
Here are short recipes which work on most Linux systems, specificallythose that run a 64-bit kernel and have Python 3.6 or newer. Theseinstructions assume you have system administrator (superuser)privileges to install software packages from your Linux distributionbut want to install SnapPy (and its various Python dependencies) justin your own user directory, specifically ~/.local
. For otherLinux systems, try the one closest to yours below, and if that fails,follow the instructions for generic Unix.
Ubuntu/Debian/Mint: Tested on Ubuntu 16.04, 18.04, 20.04 and Debian:
Fedora: Tested on Fedora 30:
Red Hat Enterprise Linux/CentOS/SciLinux: These instructionsare for version 7 or later, and you need to have the EPEL packagesavailable.For CentOS and SciLinux, you can access EPEL packages by doing:
Now install via:
Arch/Manjaro: Install via:
openSUSE: Install via:
If you want the larger version of HTLinkExteriors that includes the 15crossing knots (uses 110M of disk space), also install the Pythonpackage snappy_15_knots
, e.g. on Ubuntu do:
Once you have installed SnapPy, do the following to start it:
You may get a message about creating a “.ipython” directory; this isnormal, just hit return to continue. There should also now be acommand “SnapPy” which does the same thing. To make it so that youcan start SnapPy with just the command SnapPy
, make sure~/.local/bin
is in in your path.
Python Modules for Macintosh or Windows¶
If you write Python programs on a Macintosh or Windows system, you maywish to install SnapPy as a Python module into your own copy ofPython. We support Python 3.6 and up. (On macOS, use a Pythondownloaded from Python.org and not the oneprovided by Apple.) After installing Python, you may install a SnapPymodule from your Terminal application or Command Prompt with thecommands:
If you want the larger version of HTLinkExteriors that includes the 15crossing knots (uses 110M of disk space), do:
If you use Python 2 rather than Python 3, replace python3
withpython
in the above. If your Python lacks the pip module, get ithere.
SageMath¶
SnapPy has some special features when used within SageMath, the universal mathematics software based onPython. This section describes how to install SnapPy into yourexisting copy of SageMath, but you may find it easier to use thekitchen sink approach instead. You can install it as a Sageoptional package via the following if using Sage 6.4 or newer:
If you are on macOS, we recommend use this binary.
Alternatively, SageMath on CoCalc (formerlythe SageMathCloud) also has SnapPy preinstalled, and the graphicsfeatures even work via the X11 interface, see thebottom of that page for more.
If you previously installed SnapPy into SageMath and want to upgradeSnapPy to the latest version, do:
If it has trouble when compiling CyOpenGL, you are probably missingthe “gl.h” headers <openglmesa>. The graphical features may or maynot work, depending on how Tkinter was configured within Sage, and mayseem to “hang” when you try to start them. To deal with the latterissue type “%gui tk” at the Sage prompt; please note that doing so maybreak Sage’s “attach” feature.
Kitchen sink¶
Snappy Apple Farm
SnapPy gains extra features when used in SageMath and one can useSage’s Python to interact not just with SnapPy but a range of othercomputational tools in low-dimensional topology includingRegina,snap,heegaard,gridlink,and flipper.We offer a prepackaged Docker image with all of the above toolsand many more; using this is frequently the easiest way to get aworking setup for such multifaceted computations. For more, watchthis demonstration.
We also offer conda environments with SnapPy andoptionally Sage (only on Mac OS and Linux). While it has none of theother aforementioned tools, it has the advantage that the GUI elementssuch as the link editor and the browser can be used directly.
Generic Unix¶
If you use a Unix other than OS X or Linux, or if the prebuiltpackages don’t work for you, you’ll need to build SnapPy from source.Here are some detailed instructions.
Things you’ll need:
Python 3 with Tkinter: You’ll need to have Python (version 3.6 or newer) and Tk (at least version 8.5) with Tkinter to connect them, includingthe header files. For instance, on Debian or Ubuntu, install thepackages “python3-tk”, “python3-pip”, and “python3-dev”. On Fedora,you’ll want e.g. “python3-tkinter”, “python3-pip”, and“python3-devel”, and “python3-wheel”.
Test that Python is in order by installing PLink from source:
Support for OpenGL (3D graphics): This is built in on OS X and themost installations of Fedora and Ubuntu. But you’ll need the MESA header files “gl.h” and “glu.h” to compileSnapPy. On Debian and Ubuntu, install “libglu1-mesa-dev”; On Fedora install“mesa-libGLU-devel”.
Cython, which you can install via:
The gcc C++ compiler, g++.
CyPari: a stand-alone version ofSage’s Python interface to thePARI number theorylibrary. Usually, you can install this with:
Now download the source code listed below, for instance
There is one more dependency that may need to be dealt with:
Snappy Mac Library Application
Togl: a 3d widget for Tk. For OS X andLinux, there are pre-built binaries of this in the snappysubdirectory, e.g. snappy/linux2-tk8.4. For Linux these are builtfor 64-bit kernels, and should work on most systems. If they don’t,you’ll need to edit or follow “build_togl.sh” to build Togl directly.
Finally, compile and install the SnapPy module (which will installcertain other dependencies) and test:
Source code¶
The complete source code for all platforms: snappy-3.0.1.tar.gz
See Full List On Github.com
You can also browse our source code repository or clone it using git via:
About the App
- App name: snappy
- App description: Compression/decompression library aiming for high speed
- App website: https://code.google.com/p/snappy/
Install the App
- Press
Command+Space
and type Terminal and press enter/return key. - Run in Terminal app:
ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)' < /dev/null 2> /dev/null
and press enter/return key.
If the screen prompts you to enter a password, please enter your Mac's user password to continue. When you type the password, it won't be displayed on screen, but the system would accept it. So just type your password and press ENTER/RETURN key. Then wait for the command to finish. - Run:
brew install snappy
Done! You can now use snappy
.