Pulp Python Support Documentation

Similar documents
Pulp OSTree Documentation

chatterbot-weather Documentation

TPS Documentation. Release Thomas Roten

Roman Numeral Converter Documentation

Python Project Example Documentation

Pulp Puppet Support Documentation

Python wrapper for Viscosity.app Documentation

doconv Documentation Release Jacob Mourelos

Python simple arp table reader Documentation

I2C LCD Documentation

PyCRC Documentation. Release 1.0

Google Domain Shared Contacts Client Documentation

TangeloHub Documentation

sainsmart Documentation

Redis Timeseries Documentation

BanzaiDB Documentation

Aircrack-ng python bindings Documentation

Simple libtorrent streaming module Documentation

google-search Documentation

Aldryn Installer Documentation

Release Nicholas A. Del Grosso

Release Ralph Offinger

smartfilesorter Documentation

Game Server Manager Documentation

DNS Zone Test Documentation

boost Documentation Release 0.1 Carl Chenet

Poulpe Documentation. Release Edouard Klein

pydrill Documentation

Python Project Documentation

Frontier Documentation

Bitdock. Release 0.1.0

Django Wordpress API Documentation

Archan. Release 2.0.1

django-dynamic-db-router Documentation

gunny Documentation Release David Blewett

Python State Machine Documentation

ProxySQL Tools Documentation

Simple Binary Search Tree Documentation

Release Fulfil.IO Inc.

Poetaster. Release 0.1.1

I hate money. Release 1.0

open-helpdesk Documentation

Python AutoTask Web Services Documentation

django-reinhardt Documentation

Mantis STIX Importer Documentation

syslog-ng Apache Kafka destination

withenv Documentation

AnyDo API Python Documentation

OpenUpgrade Library Documentation

Python Schema Generator Documentation

django-idioticon Documentation

xmljson Documentation

gpib-ctypes Documentation

OTX to MISP. Release 1.4.2

Pykemon Documentation

eventbrite-sdk-python Documentation

django-telegram-bot Documentation

MyAnimeList Scraper. Release 0.3.0

yardstick Documentation

Kivy Designer Documentation

e24paymentpipe Documentation

LIFX NodeServer Documentation

pyldavis Documentation

dj-libcloud Documentation

API Wrapper Documentation

Python State Machine Documentation

Moodle Destroyer Tools Documentation

django-private-chat Documentation

Django-CSP Documentation

django-cas Documentation

Splunk & Git. The joys and pitfalls of managing your Splunk deployment with Git. Copyright 2018

lazy-object-proxy Release 1.3.1

g-pypi Documentation Release 0.3 Domen Kožar

Python AMT Tools Documentation

python-docker-machine Documentation

feed2toot Documentation

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Python data pipelines similar to R Documentation

django CMS Export Objects Documentation

Face Recognition Documentation

thingspeak Documentation

olapy Documentation Release Abilian SAS

turbo-hipster Documentation

Splunk & Git. Managing Splunk deployments with Git and KSCONF. Copyright 2018

Python Finite State Machine. Release 0.1.5

cwmon-mysql Release 0.5.0

ejpiaj Documentation Release Marek Wywiał

Patch Server for Jamf Pro Documentation

Connexion Sqlalchemy Utils Documentation

nacelle Documentation

otree Virtual Machine Manager Documentation

Libra Client Documentation

youckan Documentation

Rubix Documentation. Release Qubole

django-konfera Documentation

Version Control: Gitting Started

Incident Response Platform Integrations BigFix Function V1.1.0 Release Date: October 2018

Durga Documentation. Release dev2. transcode

pytest-benchmark Release 2.5.0

Signals Documentation

Transcription:

Pulp Python Support Documentation Release 1.0.1 Pulp Project October 20, 2015

Contents 1 Release Notes 3 1.1 1.0 Release Notes............................................ 3 2 Administrator Documentation 5 2.1 Installation................................................ 5 2.2 Configuration............................................... 6 3 User Documentation 7 3.1 Getting Started.............................................. 7 4 Reference Documentation 11 4.1 Importer Reference............................................ 11 4.2 Python Type............................................... 11 5 Indices and tables 13 i

ii

Pulp Python Support Documentation, Release 1.0.1 Welcome to the Pulp Python Plugin documentation. These plugins extend the Pulp Project so that it is capable of handling Python packages. With these plugins, you can create Python repositories in Pulp, upload Python packages to those repositories, and use pip to install packages from client machines. We plan to add support for more features in the future, and community contributions are welcome. Send us pull requests on our GitHub repository. See existing bugs in the Pulp s Redmine instance or file a new bug. Contents 1

Pulp Python Support Documentation, Release 1.0.1 2 Contents

CHAPTER 1 Release Notes 1.1 1.0 Release Notes 1.1.1 1.0.1 This is a bugfix release. It contains two bugfixes: Add support for packages that use DOS line endings Add support for packages that contain more than one PKG-INFO file These fixed were both provided to the Pulp community in Pull Request #40. Thanks to Graham Forest for the contributions! 1.1.2 1.0.0 The Pulp team is pleased to release version 1.0.0 of the Python plugins for Pulp. Sync Feature This release introduces the ability to Synchronize Packages from PyPI. Upgrade To upgrade, simply follow these steps (substituting for systemctl as appropriate, if you are not using systemd): 1. Stop all Pulp services on every machine that is part of the installation: $ for s in {pulp_workers,pulp_resource_manager,pulp_celerybeat,httpd,goferd}; do sudo systemctl 2. Upgrade the Pulp packages on every machine: $ sudo yum update 3. Apply database migrations: $ sudo -u apache pulp-manage-db 4. Start the Pulp services: 3

Pulp Python Support Documentation, Release 1.0.1 $ for s in {pulp_workers,pulp_resource_manager,pulp_celerybeat,httpd,goferd}; do sudo systemctl Bugfixes This release contains minor bugfixes. See the bugs fixed in 1.0.0. 4 Chapter 1. Release Notes

CHAPTER 2 Administrator Documentation 2.1 Installation 2.1.1 Prerequisites These instructions assume that you have a working Pulp installation first. If you have not yet installed Pulp, please follow the Pulp installation instructions, and then return to this document. The command line examples included here are written for systems that use yum as their package manager, and systemd as their init system. Please season to taste if your system is different. 2.1.2 Server Consider stopping httpd. If you need it to keep running other web apps, or if you need Pulp to continue serving static content, it is usually sufficient to disable access to Pulp s REST API. That will be left as an exercise for the reader. Otherwise, just stop the httpd service: $ sudo systemctl stop httpd Next, install the pulp-python-plugins package: $ sudo yum install pulp-python-plugins Then run pulp-manage-db to initialize the new types in Pulp s database. You must run this command as the same user that the web server uses when it runs Pulp: $ sudo -u apache pulp-manage-db Finally, restart httpd: $ sudo systemctl restart httpd 2.1.3 Admin Client Simply install the pulp-python-admin-extensions package: $ sudo yum install pulp-python-admin-extensions 5

Pulp Python Support Documentation, Release 1.0.1 2.2 Configuration 2.2.1 Python Importer Configuration The Python importer is configured by editing /etc/pulp/server/plugins.conf.d/python_importer.json. This file must be valid JSON. The importer supports the settings documented in Pulp s importer config docs. 6 Chapter 2. Administrator Documentation

CHAPTER 3 User Documentation 3.1 Getting Started If you have not yet installed the Python plugins on your Pulp installation, please follow our Installation. This document will assume you have the environment installed and ready to go. We will perform some simple tasks here to get you started by showing you how to create a repository, upload Python packages into it, publish it, and then use pip to install packages from it. 3.1.1 Create a Repository We will start by making a Python repository: $ pulp-admin python repo create --repo-id my_own_pypi 3.1.2 List Repositories You can list existing Python repositories: $ pulp-admin python repo list +----------------------------------------------------------------------+ Python Repositories +----------------------------------------------------------------------+ Id: Display Name: Description: Content Unit Counts: my_own_pypi my_own_pypi None 3.1.3 Upload a Python Package Now that we have a Python repository, we can upload a Python source package to it. Let s clone the pulp_python plugins package and build a source package suitable for uploading to Pulp: $ cd /tmp $ git clone https://github.com/pulp/pulp_python.git --branch 0.0-dev $ cd pulp_python/plugins $./setup.py sdist <output snipped> 7

Pulp Python Support Documentation, Release 1.0.1 $ ls dist/ pulp_python_plugins-0.0.0.tar.gz That tarball in the dist/ folder is the package that Pulp expects with its upload command. Let s upload it to Pulp now: $ pulp-admin python repo upload --repo-id my_own_pypi -f dist/pulp_python_plugins-0.0.0.tar.gz And now we can see that there is one Python package in our repository: $ pulp-admin python repo list +----------------------------------------------------------------------+ Python Repositories +----------------------------------------------------------------------+ Id: Display Name: Description: Content Unit Counts: Python Package: 1 my_own_pypi my_own_pypi None 3.1.4 Query Packages in a Repository You can also query the packages in a repository: $ pulp-admin python repo packages --repo-id my_own_pypi --match name=pulp-python-plugins Name: pulp-python-plugins Version: 0.0.0 Author: Pulp Team Author Email: pulp-list@redhat.com Description: UNKNOWN Home Page: http://www.pulpproject.org License: GPLv2+ Platform: UNKNOWN Summary: plugins for python support in pulp 3.1.5 Publish a Python Repository The next thing we might want to do once our repository has some content in it is to publish it so that clients can install the package from Pulp: $ pulp-admin python repo publish run --repo-id my_own_pypi 3.1.6 Install a Package From a Pulp Hosted Python Repository We will now install our package on another machine using pip: $ pip install -i http://pulp.example.com/pulp/python/web/my_own_pypi/simple/ pulp-python-plugins Downloading/unpacking pulp-python-plugins Downloading pulp-python-plugins-0.0.0.tar.gz Running setup.py egg_info for package pulp-python-plugins Installing collected packages: pulp-python-plugins Running setup.py install for pulp-python-plugins 8 Chapter 3. User Documentation

Pulp Python Support Documentation, Release 1.0.1 Successfully installed pulp-python-plugins Cleaning up... 3.1.7 Remove Python Packages From a Pulp Python Repository Occasionally, we may want to remove uploaded packages from the repository: $ pulp-admin python repo remove --repo-id my_own_pypi --str-eq="name=pulp-python-plugins" This command may be exited via ctrl+c without affecting the request. [\] Running... Units Removed: pulp-python-plugins-0.0.0 Note that this only removes the association of given packages with the repository. Uploaded packages still exist on the server. Python packages which are not associated with any repositories can be removed from the server using pulp-admin orphan remove type python_package command. 3.1.8 Synchronize Packages from PyPI It is possible to synchronize packages from the Python Package Index. In order to do this, you must specify the feed URL as well as a comma separated list of package names you wish to sync: $ pulp-admin python repo create --repo-id pypi --feed https://pypi.python.org/ --package-names numpy, Repository [pypi] successfully created $ pulp-admin python repo sync run --repo-id pypi +----------------------------------------------------------------------+ Synchronizing Repository [pypi] +----------------------------------------------------------------------+ This command may be exited via ctrl+c without affecting the request. Downloading and processing metadata. [-]... completed Downloading and processing Python packages. [==================================================] 100% 30 of 30 items... completed Task Succeeded 3.1. Getting Started 9

Pulp Python Support Documentation, Release 1.0.1 10 Chapter 3. User Documentation

CHAPTER 4 Reference Documentation 4.1 Importer Reference The Python importer supports the standard Pulp importer keys, as well as one custom config key: package_names: This key is a comma separated list of the names of the packages that should be synchronized from the feed URL. 4.2 Python Type The Python plugins come with a database type for Python packages. This type s id is python_package, and it has the following attributes: 4.2.1 Unit Key The Python type s unit key is an ordered list of the following attributes: Name Description name The name of the package version The version of the package 4.2.2 Other Attributes The Python package type has these additional attributes that are all taken from the package s PKG-INFO file: Name Description summary A brief summary home_page The package s home page URL author The author s name author_email The author s e-mail address license The package s licence type description A long description of the package platform The platforms that the package is intended to work in 11

Pulp Python Support Documentation, Release 1.0.1 12 Chapter 4. Reference Documentation

CHAPTER 5 Indices and tables genindex modindex search 13