Metadata-Version: 2.4
Name: autoupgrade-ng
Version: 0.3.0
Summary: Automatic upgrade of PyPI packages
Home-page: https://github.com/vuolter/autoupgrade
Download-URL: https://github.com/vuolter/autoupgrade/releases
Author: Walter Purcaro
Author-email: vuolter@gmail.com
Keywords: autoupgrade,pip-upgrade,pip
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Software Distribution
Classifier: Topic :: Utilities
Obsoletes: autoupgrade
Requires-Dist: pip
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: download-url
Dynamic: home-page
Dynamic: keywords
Dynamic: obsoletes
Dynamic: requires-dist
Dynamic: summary

AutoUpgrade
===========

Automatic upgrade of PyPI packages.

Quick Start
-----------

::

    from autoupgrade import Package
    Package(packagename).smartupgrade()

Example:

::

    from autoupgrade import Package
    Package('pip').smartupgrade()

| The above will upgrade the Python package ``pip`` only if there is a
  new version
| available on the PyPI.
| The upgrade will be unattended and the python script will be
  restarted.

Old methods are still supported: you can accomplish the same task
calling:

::

    from autoupgrade import AutoUpgrade
    AutoUpgrade('pip').upgrade_if_needed()

Installation
------------

::

    pip install autoupgrade-ng

| All the modules will be installed under the *autoupgrade* package, so
  **make
  sure you have already removed the old [AutoUpgrade package]
  (https://pypi.python.org/pypi/autoupgrade) before install this** to
  avoid an
| installation conflict.

Usage
-----

Classes
~~~~~~~

::

    class Package(__builtin__.object)

**Decription**: Basic package class, holds one package.

::

    class AutoUpgrade(__builtin__.object)

**Decription**: Legacy class refering to ``Package`` one.

Methods
~~~~~~~

::

    __init__(self, pkg, index=None, verbose=False)

**Decription**: None.

**Arguments**:

-  ``pkg`` (str) name of package.
-  ``index`` (str) alternative index, if not given default from *pip*
   will be used.
   Include full index url \_(e.g. \ https://example.com/simple)_.

**Return**: None.

::

    check(self)

**Decription**: Check if ``pkg`` has a later version.

**Arguments**: None.

**Return**: True if later version exists, else False.

::

    restart(self)

**Decription**: Restart application with same args as it was started.

**Arguments**: None.

**Return**: None.

::

    upgrade(self, dependencies=False, prerelease=False, force=False)

**Decription**: Upgrade the package unconditionaly.

**Arguments**:

-  ``dependencies`` update dependencies if True *(see
   ``pip --no-deps``)*.
-  ``prerelease`` update to pre-release and development versions.
-  ``force`` reinstall all packages even if they are already up-to-date.

**Return**: None.

::

    smartupgrade(self, restart=True, dependencies=False, prerelease=False)

**Decription**: Upgrade the package if there is a later version
available.

**Arguments**:

-  ``restart`` restart app if True.
-  ``dependencies`` update dependencies if True *(see
   ``pip --no-deps``)*.
-  ``prerelease`` update to pre-release and development versions.

**Return**: None.

::

    upgrade_if_needed(self, restart=True, dependencies=False, prerelease=False)

**Decription**: Legacy method refering to ``smartupgrade`` one.

**Arguments**: Same as ``smartupgrade``.

**Return**: Same as ``smartupgrade``.

Licensing
---------

Please refer to the included LICENSE for the extended license.
