astropy/conda-build-tools

Name: conda-build-tools

Owner: The Astropy Project

Description: Infrastructure for building software packages for conda channels

Created: 2016-01-31 01:28:36.0

Updated: 2017-02-12 22:29:32.0

Pushed: 2017-08-16 20:25:58.0

Homepage: null

Size: 224

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

extruder

This is a pair of scripts to create and manage a set of packages to be built with conda build.

The hard work is really done by conda build and conda-build-all

extruder build status

Build status

Build Status

Installation

conda package

Note there are a couple non-default channels you need to include to pick up the dependencies for extruder:

a install -c astropy -c conda-forge extruder
from source

Clone the repository, then:

on setup.py install

Usage

This package builds conda packages for a set of python packages using the continuous integration services Travis (for Linux and Mac) and Appveyor (for Windows).

For each package listed in requirements.yml a conda recipe is constructed. If a recipe template is present, that is used generate the recipe, otherwise conda skeleton is used to construct a recipe.

The expectation is that you will have a folder laid out like this:

_folder_to_build/
requirements.yml     # required, lists packages to be built.
recipe_templates/    # optional, for packages conda skeleton would fail on.
    recipe-template-for-one-package/
    ....
.travis.yml          # Not required to run extruder scripts, but...
appveyor.yml         # ...you presumably want these to build on CI services.

The packages to be built should be listed in a file called requirements.yml; a sample one is included in this repository. In addition to package name and version it can contain restrictions on the building of conda packages, and options that need to be passed to setup.py for conda skeleton to succeed. See the sample for a list of settings.

If there is a recipe template for a particular package that is used to construct the recipe; a template is useful when the recipe constructed by conda skeleton would fail. The recipe template should follow the usual rules for conda recipes; the values of the version, and the download link in the recipe from PyPI, will automatically be filled in from requirements.yml. A sample recipe template is included in this repository.

Starting a new collection to make conda packages for

The easiest way to get started is to allow this package to create a skeleton for you:

trude_skeleton

This creates the files you need to get started (i.e. those listed at the beginning of this section).

Making the recipes

Assuming you have followed the naming conventions for the files at the beginning of this section, all it takes to generate the recipes is

trude_packages requirements.yml

This creates a folder called recipes that contains a recipe for each package in requirements.yml.

License

This software is licensed under a BSD 3-clause license. See LICENSE.rst for details.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.