Package: algorithm-toolkit
Welcome to the Algorithm Toolkit!We built the Algorithm Toolkit (ATK) to provide researchers and data anaysts the tools they need to process data quickly and efficiently, so they can focus on actually doing scientific or other analysis work.Please see this project's official documentation onRead The Docs. Below are instructions for how to install the ATK on your own system.InstallationSuper Quick StartPython projects should be installed in virtual environments in order to keep versions of various packages in sync with the project code. However, if you want to get up and running immediately you can do the following in a Terminal window (assumesPythonandpipare installed):pipinstallalgorithm_toolkit
algcpmyprojectcdmyproject
algrunPoint your browser tohttp://localhost:5000/. You should see the development environment welcome page.See the next section for a more detailed install process.Slightly More Involved But Still Pretty Quick StartA word about virtual environmentsAs noted above, it's a best practice to start new Python projects in virtual environments. As you work on code, you rely more and more on external libraries. As time passes, changes to those libraries will eventually break your code unless you are constantly updating it. So when you install a new version of a library for another project, suddenly you find that your earlier project no longer works.Virtual environments solve this problem. Each environment contains a discreet set of the libraries used by your code, at the versions you determine.Thankfully, creating virtual environments in Python is easy.Python 3Linux and Mac:python3-mvenvmyenvironmentsourcemyenvironment/bin/activateOn some Linux systems, python3-venv is not installed by default. If you get an error with the command above, try:# Debian/Ubuntusudoaptinstallpython3-venv# RedHat/CentOSsudoyuminstallpython3-venvOn Windows:py-3-mvenvmyenvironment
myenvironment\Scripts\activate.batPython 2Python 2 does not come with a built in virtual environment creator. We recommend using virtualenvwrapper.Their install docs are excellent.Once you've installed and configured virtualenvwrapper, create your virtual environment:mkvirtualenvmyenvironmentSetting up your ATK projectpipinstallalgorithm_toolkit
algcpmyprojectcdmyproject
algrunPoint your browser tohttp://localhost:5000/. You should see the development environment welcome page.What just happened?Let's walk through this line by line.pipinstallalgorithm_toolkitThe ATK lives onPyPi, so this line downloads and installs the ATK in your virtual environment. Several dependencies will be installed as well.algcpmyprojectThis line uses the ATK's Command Line Interface (CLI) calledalg. Thecpcommand stands for "create project". "myproject" is the name of your project, which will also be the name of the folder created for the project (feel free to use a more original name).cdmyprojectPuts you in the project folder.algrunThis command also uses the CLI. Theruncommand starts a development web server. As we discuss elsewhere in the docs (see TODO: create page), setting up your algorithms and processing chains is accomplished using a web-based interface.Installing the example projectThe ATK comes with an example project to help you understand how it works.PrerequisitesThe example project requiresNumPyin order to work. If you're on a Linux machine, you can install the example project and it will handle this dependency for you.However, if you're on a Mac or Windows machine, installing NumPy is more complicated.AnacondaFor these operating systems, we highly recommend using Anaconda or it's smaller cousin Miniconda. The only difference between these two is that Anaconda installs over 150 packages (including SciPy and NumPy) out of the box whereas with Miniconda you need to install everything separately. Either way is fine.Anaconda installation PageMiniconda installation PageOnce Anaconda is installed, you can set up the example project right away. If you decide to use Miniconda, first do the following:condainstallnumpyInstall the example projectTo set up the example project, just use the--exampleflag when setting up a new project:algcpmyproject--exampleInstalling documentation locallyIf you want these docs to be installed locally, use the--with-docsflag when creating a project. You need to have Sphinx installed for this to work.pipinstallsphinxsphinx_rtd_theme
algcpmyproject--with-docsTroubleshooting Install IssuesOn some systems, additional libraries may be needed to install the Algorithm Toolkit. Try these packages if your ATK install fails:Debian/Ubuntu Linux# python 3sudoaptinstallpython3-devbuild-essential# python 2sudoaptinstallpython-devbuild-essentialRedHat/CentOS Linux# python 3sudoyuminstallpython3-devel# python 2sudoyuminstallpython-develDockerThis repository contains 2 Docker filesatkatk-devOnce built and run, Docker containers are generated, which gives users access to easy to use development/deployment tools.Check out our officialDocker documentationto learn moreContributingThanks for your interest in contributing to the Algorithm Toolkit codebase! You should know a few things.Code of ConductFirst of all: this project has a code of conduct. Please read the CODE_OF_CONDUCT file in the project root folder and stick to its principles.LicenseThe MIT license (see LICENSE file) applies to all contributions.Contributing to DocsWe also welcome contributions to the documentation. You should follow the same workflow for contributing code as for contributing documentation. Also, please follow the reSructuredText format used by the existing documents (guidelines here).You will need to install Sphinx and the RTD theme to build docs locally (which you should do to make sure they look OK).$pipinstallsphinxsphinx_rtd_theme
$sphinx-builddocsdocs/html-aMore InfoPlease see the Contributing page on Read The Docs for more detailed information.