Skip to main content

Generate PKGBUILD file for a Python module from PyPI

Project description

About

Re-implementing bluepeppers/pip2arch with some improvements:

  • Supports generating PKGBUILD contained multiple packages.
  • Smarter package license detection.
  • License file installation (by @brycepg).
  • Maintainer information generation (by @brycepg).
  • Supports generating PEP517 based installation instructments.

Installation

  • Install from AUR:
    $ yaourt -S pip2pkgbuild
    
  • Install from PyPi:
    $ pip install pip2pkgbuild
    
  • Install manually:
    $ cp pip2pkgbuild/pip2pkgbuild.py ~/bin/pip2pkgbuild
    $ chmod u+x ~/bin/pip2pkgbuild
    

Usage

usage: pip2pkgbuild [-h] [-v MODULE_VERSION] [-p {python,python2,multi}]
                    [-b PKGBASE] [-n PKGNAME]
                    [--python2-package-name PY2_PKGNAME]
                    [-d [DEPENDS [DEPENDS ...]]]
                    [--python2-depends [DEPENDS [DEPENDS ...]]]
                    [--python3-depends [DEPENDS [DEPENDS ...]]]
                    [-m [MKDEPENDS [MKDEPENDS ...]]] [-o] [-V] [-l]
                    [--name NAME] [--email EMAIL]
                    module

Generate PKGBUILD file for a Python module from PyPi

positional arguments:
  module                The Python module name

optional arguments:
  -h, --help            show this help message and exit
  -v MODULE_VERSION, --module-version MODULE_VERSION
                        Use the specified version of the Python module
  -p {python,python2,multi}, --python-version {python,python2,multi}
                        The Python version on which the PKGBUILD bases
  -b PKGBASE, --package-basename PKGBASE
                        Specifiy the pkgbase value, the first value in the
                        pkgname array is used by default
  -n PKGNAME, --package-name PKGNAME
                        Specify the pkgname value or the name for the Python 3
                        based package in a package group
  --python2-package-name PY2_PKGNAME
                        Specify the name for the Python 2 based package in a
                        package group
  -d [DEPENDS [DEPENDS ...]], --depends [DEPENDS [DEPENDS ...]]
                        Dependencies for the whole PKGBUILD
  --python2-depends [DEPENDS [DEPENDS ...]]
                        Dependencies for the Python 2 based package in a
                        package group
  --python3-depends [DEPENDS [DEPENDS ...]]
                        Dependencies for the Python 3 based package in a
                        package group
  -m [MKDEPENDS [MKDEPENDS ...]], --make-depends [MKDEPENDS [MKDEPENDS ...]]
                        Dependencies required while running the makepkg
                        command
  -o, --print-out       Print on screen rather than saving to PKGBUILD file
  -V, --version         show program's version number and exit
  -l, --find-license    Attempt to find package license to install
  --name NAME           Your full name for the package maintainer line e.g.
                        'yourFirstName yourLastName'
  --email EMAIL         Your email for the package maintainer line
  --pep517              Prefer PEP517 based installation method if supporting by the module

Examples

  • Generate a Python 2 based PKGBUILD for Django with pkgname “django”:
    $ pip2pkgbuild django -p python2 -n django
    
  • Generate PKGBUILD for Flask, containing both Python 2 and 3 packages with pkgbase “flask”:
    $ pip2pkgbuild flask -p multi -b flask
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip2pkgbuild-0.3.2.tar.gz (10.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page