All Projects → blue-yonder → Devpi Builder

blue-yonder / Devpi Builder

Licence: other
Automatically build and upload python packages to devpi

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Devpi Builder

Maturin
Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
Stars: ✭ 532 (+638.89%)
Mutual labels:  packaging
Warbler
Warbler chirpily constructs .war files of your Ruby applications.
Stars: ✭ 850 (+1080.56%)
Mutual labels:  packaging
Tsdx
Zero-config CLI for TypeScript package development
Stars: ✭ 9,010 (+12413.89%)
Mutual labels:  packaging
Setup.py
📦 A Human's Ultimate Guide to setup.py.
Stars: ✭ 4,963 (+6793.06%)
Mutual labels:  packaging
Appimagekit
Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
Stars: ✭ 6,909 (+9495.83%)
Mutual labels:  packaging
Peru
a generic package manager, for including other people's code in your projects
Stars: ✭ 913 (+1168.06%)
Mutual labels:  packaging
Pdm
A modern Python package manager with PEP 582 support.
Stars: ✭ 492 (+583.33%)
Mutual labels:  packaging
Capsule
Dead-Simple Packaging and Deployment for JVM Apps
Stars: ✭ 1,143 (+1487.5%)
Mutual labels:  packaging
Python For Android
Turn your Python application into an Android APK
Stars: ✭ 6,758 (+9286.11%)
Mutual labels:  packaging
Python Packaging Tutorial
Tutorial on python packaging
Stars: ✭ 34 (-52.78%)
Mutual labels:  packaging
Pipenv
Python Development Workflow for Humans.
Stars: ✭ 22,542 (+31208.33%)
Mutual labels:  packaging
Bozon
🛠 Command line tool for building, testing and publishing modern Electron applications
Stars: ✭ 687 (+854.17%)
Mutual labels:  packaging
Rubocop Packaging
A RuboCop extension focused on enforcing upstream best practices and coding conventions.
Stars: ✭ 29 (-59.72%)
Mutual labels:  packaging
Pip Tools
A set of tools to keep your pinned Python dependencies fresh.
Stars: ✭ 5,387 (+7381.94%)
Mutual labels:  packaging
Buildozer
Generic Python packager for Android and iOS
Stars: ✭ 1,111 (+1443.06%)
Mutual labels:  packaging
Kivy Ios
Toolchain for compiling Python / Kivy / other libraries for iOS
Stars: ✭ 516 (+616.67%)
Mutual labels:  packaging
Lxc Pkg Ubuntu
LXC Ubuntu packaging
Stars: ✭ 11 (-84.72%)
Mutual labels:  packaging
Debreate
A utility for creating Debian packages.
Stars: ✭ 70 (-2.78%)
Mutual labels:  packaging
Dumb Pypi
PyPI generator, backed entirely by static files
Stars: ✭ 62 (-13.89%)
Mutual labels:  packaging
Aur Out Of Date
Determines out-of-date AUR packages w.r.t. upstream version
Stars: ✭ 33 (-54.17%)
Mutual labels:  packaging

========================= Brandon the Devpi Builder

.. image:: https://travis-ci.org/blue-yonder/devpi-builder.svg?branch=master :alt: Build Status :target: https://travis-ci.org/blue-yonder/devpi-builder .. image:: https://coveralls.io/repos/blue-yonder/devpi-builder/badge.svg?branch=master :alt: Coverage Status :target: https://coveralls.io/r/blue-yonder/devpi-builder?branch=master .. image:: https://badge.fury.io/py/devpi-builder.svg :alt: Latest Version :target: https://pypi.python.org/pypi/devpi-builder

Brandon, the devpi builder, takes a requirements.txt and incrementally fills a devpi_ index with wheels of the listed python packages.

Brandon by Example

Given a requirements.txt, we can upload all listed packages to the index opensource/Debian_7 on a local devpi using the following command::

$ devpi-builder requirements.txt http://localhost:3141/opensource/Debian_7

Example of such a requirements.txt::

progressbar==0.2.2
progressbar==0.2.1
PyYAML==3.11

Commandline Usage

::

usage: devpi-builder [-h] [--batch] [--user USER] [--password PASSWORD]
                    [--blacklist BLACKLIST] [--pure-index PURE_INDEX]
                    [--junit-xml JUNIT_XML] [--run-id RUN_ID] [--dry-run]
                    [--client-cert CLIENT_CERT]
                    requirements index

Create wheels for all given project versions and upload them to the given
index.

positional arguments:
requirements          requirements.txt style file specifying which project
                        versions to package.
index                 The index to upload the packaged software to.

optional arguments:
-h, --help            show this help message and exit
--batch               Batch mode. Do not prompt for credentials
--user USER           The user to log in as.
--password PASSWORD   Password of the user.
--blacklist BLACKLIST
                        Packages matched by this requirements.txt style file
                        will never be build.
--pure-index PURE_INDEX
                        The index to use for pure packages. Any non-pure
                        package will be uploaded to the index given as
                        positional argument. Packages already found in the
                        pure index will not be built, either.
--junit-xml JUNIT_XML
                        Write information about the build success / failure to
                        a JUnit-compatible XML file.
--run-id RUN_ID       Add the given string to all entries in the XML output,
                        allowing to distinguish output from multiple runs in a
                        merged XML.
--dry-run             Build missing wheels, but do not modify the state of
                        the devpi server.
--client-cert CLIENT_CERT
                        Client key to use to authenticate with the devpi
                        server.

The following environment variables can be used instead of command line arguments:

DEVPI_USER The value of this environment variable will be used if --user is not given.

DEVPI_PASSWORD The value of this environment variable will be used if --password is not given.

Features

  • Read a requirements.txt style input file.
  • Read user/pass from the environment (using DEVPI_USER and DEVPI_PASSWORD).
  • Support multiple versions of a package in the same file.
  • Only build packages not yet in the target index.
  • Support a black-list for packages to never be built and uploaded (certain packages like numpy are fragile regarding their interdependency with other packages).
  • Can use separate indices for plain python packages and those with binary contents.
  • Can log build results to a JUnit compatible XML file, thus that it can be parsed by Jenkins.

License

New BSD_

.. _devpi: http://doc.devpi.net/latest/ .. _New BSD: https://github.com/blue-yonder/devpi-builder/blob/master/COPYING

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].