This video is still being processed. Please check back later and refresh the page.

Uh oh! Something went wrong, please try again.

Conda Essentials

Boost your packaging skills.

rate limit

Code not recognized.

About this course

Description

This course is a continuation of the topics covered in Conda Basics and goes into more advanced aspects of how conda works, and how to use it to its full capabilities to deploy, build and debug software. It goes beyond managing packages and environments, describing the detailed aspects of how conda interacts with the underlying operational system, and then goes on how to build packages with conda. This course is ideal for power users who want to acquire a deeper understanding of conda and use it to package and distribute their own software, and also know how to debug and deploy complex applications.

This course is part of the conda Fundamentals certification program and you can learn more here if you are interested in getting Anaconda certified.

What you'll learn—and how you can apply it

By the end of this hands-on course, you’ll understand:

  • What conda does under the hood
  • The structure of the conda installation directory
  • The structure of an environment directory
  • How conda recipes work

And you’ll be able to:

  • Debug and customize package installations
  • Set up a conda channel
  • Write a recipe for a conda package
  • Build packages with conda-build

This training is for you because...

  • You’re a software developer writing packages
  • You’d like to distribute your packages publicly or privately
  • You’d like to contribute recipes to existing packages

Prerequisites 

  • Get Started with Anaconda course
  • Conda Basics course or familiarity with:
    • The concepts of environments, packages and channels
    • How to create and delete environments
    • How to search for, install and uninstall packages
  • Command line basics
    • How to use basic Terminal commands such as ls and cd
    • Be comfortable using a text editor (e.g. vi, nano, emacs) on the Terminal
    • If a refresher is needed, consider completing Episodes 1-3 of the Software Carpentry “The Unix Shell” lesson
  • UNIX Filesystem Hierarchy Standard
    • Understand what is the root directory / and the home/user directory ~
  • A programming language (Python, R, JavaScript) is helpful but not essential

Setup

To follow along using your desktop IDE:

  1. Install or update to the latest version of Anaconda
  2. Launch your command line tool and configure your conda environment

For macOS and Linux users: Search and launch Terminal in your system

For Windows users: Locate and launch Anaconda Prompt in your system

3. (Optional but recommended) From the command line, run the following prompts to create and activate a new environment

conda create --name NEW_ENV_NAME

conda activate NEW_ENV_NAME

Facilitator Bio

Vini Salazar is a bioinformatician, developer, and educator. He is currently a graduate student at The University of Melbourne, performing research on computational and statistical methods for microbial genomics, and spends most of his time developing software for scientific applications. He is also an Instructor and Maintainer Community Lead at The Carpentries, a global organisation that teaches coding and data skills to researchers. Vini has been a user of Anaconda since 2015 and has over five years of experience in educational settings, teaching programming and related skills to individuals and groups in the academia and industry.

Company affiliation

Melbourne Integrative Genomics

The University of Melbourne School of Mathematics and Statistics

Social media

https://twitter.com/vinisalazar

https://github.com/vinisalazar

Questions? Issues? Join our Community page to get help.

Curriculum03:00:29

  • Getting started with Anaconda Notebooks 00:01:02
  • Introduction
  • Conda Essentials: Introduction 00:03:38
  • Module 1: The conda directory structure
  • Conda Directory Structure: Learning Objectives 00:01:19
  • How does conda work? 00:09:26
  • What's in the conda directory? 00:06:26
  • Installing a new environment 00:10:49
  • The conda directory structure 00:09:51
  • What happens when an environment activates? 00:04:25
  • Conda activation scripts 00:08:14
  • Conda Directory Structure: Summary 00:02:24
  • Exercise 1: Explore the environment directory 00:07:02
  • Exercise 2: Locate Python in new environment 00:04:03
  • Exercise 3: Locate a newly installed Python package 00:03:55
  • Module 2: Building packages
  • Building Packages: Learning Objectives 00:00:57
  • Preview
    What are conda recipes? 00:03:53
  • Public recipes: conda_gc_test and toolz 00:06:30
  • Public recipes: prodigal and pandas 00:05:45
  • Conda recipes summary 00:01:43
  • How to build a package 00:07:39
  • Building packages continued 00:11:01
  • Uploading a package 00:08:25
  • Building packages: Summary 00:01:43
  • Exercise 1: Create a new recipe from scratch 00:01:44
  • Exercise 2: Build a package from your recipe 00:03:26
  • Exercise 3: Building packages review questions 00:02:53
  • Module 3: Introduction to conda-build
  • Introduction to conda-build: Learning Objectives 00:00:50
  • What happens during the conda build process? 00:03:02
  • Generating recipes for Python packages on PyPI 00:05:40
  • Generating recipes for R packages on CRAN 00:04:13
  • Writing a recipe and building a package from scratch 00:11:30
  • Best practices for building packages 00:04:19
  • Building packages: Summary 00:01:34
  • Exercise 1: Add a source section to a recipe 00:04:06
  • Exercise 2: Debugging a recipe 00:09:02
  • Exercise 3: Installing a package 00:04:34
  • Conclusion 00:03:26
  • End of Course Survey

About this course

Description

This course is a continuation of the topics covered in Conda Basics and goes into more advanced aspects of how conda works, and how to use it to its full capabilities to deploy, build and debug software. It goes beyond managing packages and environments, describing the detailed aspects of how conda interacts with the underlying operational system, and then goes on how to build packages with conda. This course is ideal for power users who want to acquire a deeper understanding of conda and use it to package and distribute their own software, and also know how to debug and deploy complex applications.

This course is part of the conda Fundamentals certification program and you can learn more here if you are interested in getting Anaconda certified.

What you'll learn—and how you can apply it

By the end of this hands-on course, you’ll understand:

  • What conda does under the hood
  • The structure of the conda installation directory
  • The structure of an environment directory
  • How conda recipes work

And you’ll be able to:

  • Debug and customize package installations
  • Set up a conda channel
  • Write a recipe for a conda package
  • Build packages with conda-build

This training is for you because...

  • You’re a software developer writing packages
  • You’d like to distribute your packages publicly or privately
  • You’d like to contribute recipes to existing packages

Prerequisites 

  • Get Started with Anaconda course
  • Conda Basics course or familiarity with:
    • The concepts of environments, packages and channels
    • How to create and delete environments
    • How to search for, install and uninstall packages
  • Command line basics
    • How to use basic Terminal commands such as ls and cd
    • Be comfortable using a text editor (e.g. vi, nano, emacs) on the Terminal
    • If a refresher is needed, consider completing Episodes 1-3 of the Software Carpentry “The Unix Shell” lesson
  • UNIX Filesystem Hierarchy Standard
    • Understand what is the root directory / and the home/user directory ~
  • A programming language (Python, R, JavaScript) is helpful but not essential

Setup

To follow along using your desktop IDE:

  1. Install or update to the latest version of Anaconda
  2. Launch your command line tool and configure your conda environment

For macOS and Linux users: Search and launch Terminal in your system

For Windows users: Locate and launch Anaconda Prompt in your system

3. (Optional but recommended) From the command line, run the following prompts to create and activate a new environment

conda create --name NEW_ENV_NAME

conda activate NEW_ENV_NAME

Facilitator Bio

Vini Salazar is a bioinformatician, developer, and educator. He is currently a graduate student at The University of Melbourne, performing research on computational and statistical methods for microbial genomics, and spends most of his time developing software for scientific applications. He is also an Instructor and Maintainer Community Lead at The Carpentries, a global organisation that teaches coding and data skills to researchers. Vini has been a user of Anaconda since 2015 and has over five years of experience in educational settings, teaching programming and related skills to individuals and groups in the academia and industry.

Company affiliation

Melbourne Integrative Genomics

The University of Melbourne School of Mathematics and Statistics

Social media

https://twitter.com/vinisalazar

https://github.com/vinisalazar

Questions? Issues? Join our Community page to get help.

Curriculum03:00:29

  • Getting started with Anaconda Notebooks 00:01:02
  • Introduction
  • Conda Essentials: Introduction 00:03:38
  • Module 1: The conda directory structure
  • Conda Directory Structure: Learning Objectives 00:01:19
  • How does conda work? 00:09:26
  • What's in the conda directory? 00:06:26
  • Installing a new environment 00:10:49
  • The conda directory structure 00:09:51
  • What happens when an environment activates? 00:04:25
  • Conda activation scripts 00:08:14
  • Conda Directory Structure: Summary 00:02:24
  • Exercise 1: Explore the environment directory 00:07:02
  • Exercise 2: Locate Python in new environment 00:04:03
  • Exercise 3: Locate a newly installed Python package 00:03:55
  • Module 2: Building packages
  • Building Packages: Learning Objectives 00:00:57
  • Preview
    What are conda recipes? 00:03:53
  • Public recipes: conda_gc_test and toolz 00:06:30
  • Public recipes: prodigal and pandas 00:05:45
  • Conda recipes summary 00:01:43
  • How to build a package 00:07:39
  • Building packages continued 00:11:01
  • Uploading a package 00:08:25
  • Building packages: Summary 00:01:43
  • Exercise 1: Create a new recipe from scratch 00:01:44
  • Exercise 2: Build a package from your recipe 00:03:26
  • Exercise 3: Building packages review questions 00:02:53
  • Module 3: Introduction to conda-build
  • Introduction to conda-build: Learning Objectives 00:00:50
  • What happens during the conda build process? 00:03:02
  • Generating recipes for Python packages on PyPI 00:05:40
  • Generating recipes for R packages on CRAN 00:04:13
  • Writing a recipe and building a package from scratch 00:11:30
  • Best practices for building packages 00:04:19
  • Building packages: Summary 00:01:34
  • Exercise 1: Add a source section to a recipe 00:04:06
  • Exercise 2: Debugging a recipe 00:09:02
  • Exercise 3: Installing a package 00:04:34
  • Conclusion 00:03:26
  • End of Course Survey