Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 1984181848c3cbd3b5a7382b7127cf13 > files > 80

pyp2rpm-3.3.2-5.mga7.noarch.rpm


![Logo](https://rkuska.fedorapeople.org/pyp2rpm_large.png)

pyp2rpm
=======

A tool to convert a PyPI package to an RPM SPECFILE or to generate an SRPM.
Under heavy development, see the TODO file for a list of planned features.
pyp2rpm currently ships with Fedora and Mageia specific templates.

## Usage

The simplest use case is to run:

    pyp2rpm package_name

This downloads the package from PyPI and outputs the RPM SPECFILE.

Or:

    pyp2rpm package_name --srpm

This downloads the package from PyPI and creates a SRPM file.

All of the options are (print this by running pyp2rpm -h):

    usage: pyp2rpm [-h] [-v VERSION] [-d SAVE_DIR] [-r RPM_NAME]
                   [-t TEMPLATE] [-o DISTRO] [-b BASE_PYTHON]
                   [-p PYTHON_VERSION] [--srpm] [--proxy PROXY] PACKAGE

    Convert PyPI package to RPM specfile or SRPM.

    Arguments:
      PACKAGE             Provide PyPI name of the package or path to compressed
                          source file.

    Options:
      -t TEMPLATE                     Template file (jinja2 format) to render
                                      (default: "fedora").Search order is 1)
                                      filesystem, 2) default templates.
      -o [fedora|epel7|epel6|mageia|pld]
                                      Default distro whose conversion rules to use
                                      (default:"fedora"). Default templates have
                                      their rules associated and ignore this.
      -b BASE_PYTHON                  Base Python version to package for (fedora
                                      default: "3").
      -p PYTHON_VERSIONS              Additional Python versions to include in the
                                      specfile (e.g -p2 for python2 subpackage).
                                      Can be specified multiple times. Specify
                                      additional version or use -b explicitly to
                                      disable default.
      -s                              Spec file ~/rpmbuild/SPECS/python-package_name.spec
                                      will be created (default:
                                      prints spec file to stdout).
      --srpm                          When used pyp2rpm will produce srpm instead
                                      of printing specfile into stdout.
      --proxy PROXY                   Specify proxy in the form proxy.server:port.
      -r RPM_NAME                     Name of rpm package (overrides calculated
                                      name).
      -d SAVE_PATH                    Specify where to save package file, specfile
                                      and generated SRPM (default:
                                      "/home/mcyprian/rpmbuild").
      -v VERSION                      Version of the package to download (ignored
                                      for local files).
      --venv / --no-venv              Enable / disable metadata extraction from
                                      virtualenv (default: enabled).
      --autonc / --no-autonc          Enable / disable using automatic provides
                                      with a standardized name in dependencies
                                      declaration (default: disabled).
      --sclize                        Convert tags and macro definitions to SCL-style
                                      using `spec2scl` module. NOTE: SCL
                                      related options can be provided alongside
                                      this option.
      -h, --help                      Show this message and exit.

    SCL related options:
      --no-meta-runtime-dep       Don't add the runtime dependency on the scl
                                  runtime package.
      --no-meta-buildtime-dep     Don't add the buildtime dependency on the scl
                                  runtime package.
      --skip-functions FUNCTIONS  Comma separated list of transformer functions to
                                  skip.
      --no-deps-convert           Don't convert dependency tags (mutually
                                  exclusive with --list-file).
      --list-file FILE_NAME       List of the packages/provides, that will be in
                                  the SCL (to convert Requires/BuildRequires
                                  properly). Lines in the file are in form of
                                  "pkg-name %%{?custom_prefix}", where the prefix
                                  part is optional.


To run the unit tests, cd into the checked out directory and run:

    PYTHONPATH=$(pwd) py.test

or run:

    python setup.py test


## Example usage

![alt tag](https://mcyprian.fedorapeople.org/pyp2rpm_guide.gif
"Record of pyp2rpm usage")

## Contributing

We will gladly accept any pull request or feature request.
With complex pull requests, please include unit tests in *pytest* and use *flexmock* if you need mocking.

pyp2rpm is licensed under the MIT/Expat license.