conda: cross-platform package manager

Harsh Gupta (~hargup)


2

Votes

Description:

Being able to effectively package and distribute the software is essential for the success of a any software project. This problem is often hard for non-trivial packages with severals dependencies. Python has a popular tool called pip to install packages from the Python Packaging Index (PyPI), but it doesn't always work, especially if the package has a non python dependencies like libblas and libxml. This is especially relevant for scientific and anlytics packages like scipy, numpy and theano where most of the heavy lifting is done by C or Fortran backends.

Conda is a open source cross-platform package manager which effectively solves the python packaging problem. It was initially created for the needs of python scientific community, but it is python agnostic and can be used for other languages and tools too. Conda also provides features create and manage environments.

In this talk I'll talk about:

  • The software distribution problem in perspective of python ecosystem
  • setuptools and distutils
  • PyPI and Python Packaging Authority
  • Brief about metadata for python packages and version identification (PEP 426 and PEP 440)
  • few internals of conda, with emphasis on conda-skeleton and conda-build

Prerequisites:

None really, it will be good have some experience writing setup.py and publishing packages to PyPI.

Content URLs:

The content will be mainly bases on my experiences with working with conda and PyPI and knowledge gained by reading various PEPs like [1], [2] and [3].

Speaker Info:

Harsh Gupta wrote the new symbolic solvers module for the Computer Algebra System, SymPy. He is an undergraduate student at IIT-Kharagpur and is mentoring a GSoC student to continue his work in SymPy. Currently, he is a summer intern at Continuum Analytics where he is working to automatically build conda package from PyPI .

Speaker Links:

Github Profile: https://github.com/hargup ,

Section: Infrastructure
Type: Talks
Target Audience: Beginner
Last Updated: