• Stars
    star
    115
  • Rank 305,831 (Top 7 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Press conda packages into wheels

conda-press

Press conda packages into wheels.

The wheels created by conda-press are usable in a general Python setting, i.e. outside of a conda managed environment.

Quick start

Run the conda press command and point it at either an artifact file or spec. For example:

# from artifact spec, produces single wheel, including all non-Python requirements
$ conda press --subdir linux-64 --skip-python --fatten scikit-image=0.15.0=py37hb3f55d8_2

# from artifact file, produces a single wheel
$ conda press numpy-1.14.6-py36he5ce36f_1201.tar.bz2

# from artifact spec, produces wheels for package and all requirements
$ conda press --subdir linux-64 xz=5.2.4=h14c3975_1001

# merge many wheels into a single wheel
$ conda press --merge *.whl --output scikit_image-0.15.0-2_py37hb3f55d8-cp37-cp37m-linux_x86_64.whl

What we are solving

conda-press allows us to build out a pip-usable package index which is ABI compatible with conda packages. This can help address the following issues / workflows:

Issue 1:

It can be very difficult to build wheels for packages that have C extensions. Also, the provenance of wheels with C extentions can be hard to know (who built it, how it was built, etc.). Conda-press enables community building of wheels, based on conda-forge provided packages. This should make it very easy to build a valid wheel.

Issue 2:

Many packages with compiled extensions do not have wheels available on one or more popular platforms (Windows, Mac, Linux). This is because building wheels can be very difficult. Conda has a lot of packages that are not available as wheels otherwise. Conda-press allows these packages to easily become generally usable wheels.

Issue 3: Some people want a package index built on newer ABIs than manylinux<N>

How to install

From conda:

conda install -c conda-forge conda-press

From the source code:

$ pip install --no-deps .

More technical details about what we are doing

What conda-press does is take an artifact or spec, and turn it into wheel(s). When using pip to install such a wheel, it shoves the root level of the artifact into site-packages. It then provides wrapper / proxy scripts that point to site-packages/bin so that you may run executables and scripts.

How to get involved

Please feel free to open up a PR or open an issue!

More Repositories

1

setup-miniconda

Set up your GitHub Actions workflow with conda via miniconda
TypeScript
400
star
2

conda-zsh-completion

zsh completion for conda
Shell
357
star
3

condacolab

Install Conda and friends on Google Colab, easily
Jupyter Notebook
331
star
4

conda-tree

conda dependency tree helper
Python
159
star
5

conda-store

Data science environments, for collaboration. ✨
Python
140
star
6

conda-docker

Create minimal docker images from conda environments
Python
60
star
7

conda-env-builder

Build and maintain multiple custom conda environments all in one place.
Scala
36
star
8

conda-dot-org

conda.org website
MDX
28
star
9

conda-project

Tool for encapsulating, running, and reproducing projects with Conda environments
Python
28
star
10

ensureconda

Simple installer for conda (and conda-likes)
Python
15
star
11

conda-store-ui

conda-store-ui is a frontend for conda-store powered by react
TypeScript
13
star
12

jupyterlab-conda-store

The official Jupyterlab extension for conda-store
TypeScript
13
star
13

conda-pypi

Better PyPI interoperability for the conda ecosystem
Python
11
star
14

conda-suggest

Suggest packages to install to obtain command line utilities
Python
9
star
15

condastats

Python
8
star
16

conda-protect

Protect conda environments to avoid mistakenly modifying them
Python
6
star
17

conda-recipe-manager

A project for libraries and automated tools that manage and manipulate conda recipe files.
Python
6
star
18

conda.org

The code for the conda.org website
5
star
19

conda-subchannel

Create subsets of conda channels thanks to CEP-15 metadata
Python
4
star
20

conda.sh

JavaScript
4
star
21

asht

Abstract Shell Tree
Python
3
star
22

conda-auth

Conda plugin for various conda auth handlers
Python
3
star
23

plugins

A collection of conda plugins
3
star
24

conda-tutorial

A conda tutorial
3
star
25

installer

The conda installers and tools to maintain them
2
star
26

conda-sphinx-theme

A Sphinx theme for conda documentations
JavaScript
1
star
27

conda-shell

Shell hook and conda plugins for environment activation and deactivation.
Python
1
star
28

conda-tui

An experimental TUI for conda using Textual
Python
1
star