Hummingbird supports a minimum of Python 3.5 and a maximum of Python 3.7 with all options enabled, and Python 3.8 with machine learning disabled.
The following distributions will be automatically installed with downloading and installing Hummingbird.
- Fabric is a high level Python library designed to execute shell commands remotely over SSH.
- Flask is a lightweight WSGI web application framework.
- Flask WTF integrates WTForms into Flask. It requires WTForms to be installed as well.
- Numpy is the fundamental package for scientific computing with Python.
- Pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language.
- SciPy is a Python-based ecosystem of open-source software for mathematics, science, and engineering.
- statsmodels is a Python module that provides classes and functions for the estimation of many different statistical models, as well as for conducting statistical tests, and statistical data exploration.
- WTForms is a flexible forms validation and rendering library for Python web development.
- Coverage helps the Hummingbird team have good code coverage and make sure that our code works as it should.
- Flask SQLAlchemy is the Python SQL toolkit and Object Relational Mapper for Flask. It is only necessary if you are using SQL.
- Keras is a high-level neural networks API, written in Python and capable of running on TensorFlow. It is only necessary if you are using Hummingbird with machine learning.
- Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. It is only necessary if you are using Hummingbird with machine learning.
- scikit-learn is a collection of simple and efficient tools for predictive data analysis in Python. It is only necessary if you are using Hummingbird with machine learning.
- TensorFlow is an end-to-end open source platform for machine learning. It is only necessary if you are using Hummingbird with machine learning.
- Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It is only necessary if you are using Hummingbird with machine learning.
You can use a virtual environment to manage the dependencies for your project, both in development and in production. However, it is not necessary as these packages do not often have conflicts (with the exception of machine learning packages) and production is often already containerized.
You can read the Flask documentation here on virtual environments if you are curious what problems a virtual environment may solve for you, since they will separate your Python project into its own separate group which may be of benefit to you.
You can use
venv in order to initialize a Python virtual environment, since Hummingbird requires Python 3.5 or newer. Do not follow Python 2 instructions for creating a virtual environment as directed by Flask, which is a dependency of Hummingbird.
You can create a quick virtual environment in Python 3 by first creating a project folder with structure:
mkdir ProjectName cd ProjectName python -m venv venv
and then you can activate it by running
In Windows, you would run the same commands to create a project folder, but you activate it with the following script instead:
After creating a virtual environment or using your main development environment, you can simply run:
pip install -r requirements.txt