Dependencies

BirdSongToolbox is written in Python, and requires Python >= 3.5 to run.

It has the following required dependencies:

There are also optional dependencies, which are not required for package to work, but offer extra functionality:

Alternative Signal Processing Back-end

  • mne is a alternative back-end for signal processing.

For Local Testing

We recommend using the Anaconda distribution to manage these requirements.

Installation

Stable Release Version

Note: At Present there is no official Stable Release, however once there is, the below should be true:

To install the latest release of BirdSongToolbox, you can install from pip:

$ pip install BirdSongToolbox

Development Version

To get the development version (updates that are not yet published to pip), you can clone this repo.

$ git clone https://github.com/Darilbii/BirdSongToolbox.git

To install this cloned copy of BirdSongToolbox, move into the directory you just cloned, and run:

$ pip install .

Editable Version

If you want to install an editable version, for making contributions, download the development version as above, and run:

$ pip install -e .

It is recommended that if you are using conda virtual environments, to first activate the specific environment you will be developing contributions on prior to running the above line

Configuration

BirdSongToolbox can handle choosing the proper path to import and save data. To do this you must first configure the config.yaml file. By default this file is empty and structured as shown below:

Chunked_Data_Path: ''
Intermediate_Path: ''
PrePd_Data_Path: ''
Raw_Data_Path: ''
User_Defined_Paths: {}

Although not necesary to run analysis on already imported and properly formated data it is convenient to use native import functions to ensure all data and meta-data are available for analysis. If this file is not configure BirdSongToolbox will give the user warnings when using functions that need thiss configuration. This configuration file will be used by BirdSongToolbox to determine where to read and write data. This file only needs to be configured one time to work, and there are several helper functions that will allow the user to update the paths.

There are 5 default paths, which are as follows:

  • Chunked_Data_Path: Default path to the directory that contains derived data in the Chunked data format.

  • Intermediate_Path: Default path that BirdSongtoolbox will use when saving results or custom files. This path is for convenience and is not necessary to work with BirdSongToolbox.

  • PrePd_Data_Path: Default path to the directory that contains derived data in the Epoched Data format.

  • Raw_Data_Path: The default path to the directory that contains the contains raw data.

  • User_Defined_Paths: Dictionary of paths that the users can use to define there own set of custom paths. These paths are to the users discretion and for their own convenience.

Example Configuration Steps:

# Import the helper functions for altering the config.yaml
from BirdSongToolbox.config.utils import update_config_path

# Set the New Path
update_config_path(specific_path="Chunked_Data_Path", new_path='<Your-Default-Chunk-Path>' )

Replace <Your-Default-Chunk-Path> with the path to the location of the directory containing derived data in the Chunked data format. If desired you can use the update_config_path() function for the other default paths. Once done restart your python kernel. BirdSongToolbox should now be properly configured. A simple test would be to print out the configuration’s current default paths. Such as in the lines below.

# Import the helper functions for altering the config.yaml
from BirdSongToolbox.config.utils import get_spec_config_path

# Get the current path configuration for PrePd_Data_Path and print it
print(get_spec_config_path("PrePd_Data_Path"))

Note

If you face difficulty with this configuration

Please use the Github issue tracker to file bug reports and/or ask questions about this project.