Installing Marvin¶
Install Marvin with pip
:
To verify your installation, run marvin version
in your terminal.
Upgrade to the latest released version at any time:
Next, check out the tutorial to get started with Marvin.
Requirements¶
Marvin requires Python 3.9 or greater, and is tested on all major Python versions and operating systems.
Optional dependencies¶
Marvin has a few features that have additional dependencies that are not installed by default. If you want to use these features, you can install the optional dependencies with the following commands:
Audio features¶
Marvin can transcribe and generate speech out-of-the box by working with audio files, but in order to record and play sound, you'll need additional dependencies. See the documentation for more details.
Please follow these instructions to set up the prerequisites for PyAudio and PyDub.
Set up PyAudio dependencies¶
Marvin's audio features depend on PyAudio, which may have additional platform-dependent instructions. Please review the PyAudio installation instructions here for the latest information.
On macOS, PyAudio depends on PortAudio, which can be installed with Homebrew:
Set up PyDub dependencies¶
Marvin's audio features also depend on PyDub, which may have additional platform-dependent instructions. Please review the PyDub installation instructions here.
Generally, you'll need to install ffmpeg.
On macOS, use Homebrew:
On Linux, use your package manager:
On Windows, see the PyDub instructions.
Install Marvin¶
Now you can install Marvin with the audio extras, which will also install PyAudio and PyDub:
Video features¶
Marvin has utilities for recording video that make it easy to apply vision AI models to video streams. See the documentation for more details.
Development¶
Generally, to install Marvin for development, you'll need to use the dev
extra. However, in practice you'll want to create an editable install from your local source code:
To build the documentation, you may also have to install certain imaging dependencies of MkDocs Material, which you can learn more about here.
See the contributing docs for further instructions.