conda: cross-platform package manager
Harsh Gupta (~hargup) |
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
None really, it will be good have some experience writing setup.py and publishing packages to PyPI.
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 .
Github Profile: https://github.com/hargup ,