Skip to content

Commit

Permalink
Updating README
Browse files Browse the repository at this point in the history
  • Loading branch information
mbodenhamer committed Aug 3, 2016
1 parent e1f0624 commit c7e5351
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.rst
Expand Up @@ -10,7 +10,7 @@ depman
.. image:: https://readthedocs.org/projects/depman/badge/?version=latest
:target: http://depman.readthedocs.org/en/latest/?badge=latest

A lightweight dependency manager for managing dependencies in different contexts. The use case driving development is that of distinguishing between development, testing, and production dependencies in a simple and unified way. However, the application is general purpose and can be used in any situation requiring the management of dependencies in multiple contexts.
A lightweight dependency manager for managing project dependencies in multiple contexts. The use case driving development is that of distinguishing between development, testing, and production dependencies in a simple and unified way. However, the application is general purpose and can be used in any project requiring the management of dependencies in multiple contexts.

Currently, only dependencies resolved via ``apt-get`` and ``pip`` are supported. However, support for other dependency types is planned for future releases (see `Future Features`_ for more details).

Expand Down Expand Up @@ -74,11 +74,11 @@ Suppose you have the following ``requirements.yml`` in your current working dire

This file specifies three dependency contexts: ``dev``, ``test``, ``prod``. In general, any top-level key in ``requirements.yml`` specifies a dependency context. The one exception to this rule is ``includes``, which defines inclusion relationships between contexts. In this example, the ``dev`` context includes the ``test`` context. As such, when ``depman satisfy test`` is run at the command line, ``depman`` will invoke ``pip`` to install ``nose`` and ``coverage``, if they do not exist on the system. On the other hand, when ``depman satisfy dev`` is run at the command line, ``depman`` will first invoke ``apt-get`` to install ``libxml1-dev`` and ``libxslt1-dev`` and then invoke ``pip`` to install ``lxml``, ``Sphinx``, ``nose``, and ``coverage`` (in general, ``apt`` dependencies are processed before ``pip`` dependencies). Because ``test`` is "included" in ``dev``, its dependencies are processed whenever ``dev`` is processed.

``depman`` also accepts the special context ``all`` as a valid command line parameter. Running ``depman satisfy all`` causes ``depman`` to satisfy the dependencies in all of the defined dependency contexts. In this example, it would case ``depman`` to satisfy the dependencies for ``dev``, ``test``, and ``prod``. Running ``depman satisfy`` is equivalent to running ``depman satisfy all``.
``depman`` also accepts the special context ``all`` as a valid command line parameter. Running ``depman satisfy all`` causes ``depman`` to satisfy the dependencies in all of the defined dependency contexts. In this example, it would cause ``depman`` to satisfy the dependencies for ``dev``, ``test``, and ``prod``. Running ``depman satisfy`` is equivalent to running ``depman satisfy all``.

Currently, only two dependency types are supported in any context: ``apt`` and ``pip``. However, support for other dependency types is planned for future releases (see `Future Features`_ for more details).

Dependencies are specified in each context, under each dependency type (i.e. ``apt`` or ``pip``) as YAML list elements. If the element is a string, the dependency in question will be treated as satisfied if some version of the package denoted by the string exists on the system. For more detailed dependency requirements, the name of the package can be listed as the key to a YAML dictionary of dependency options. This can be seen, for example, in the ``gevent`` dependency, in which a minimum version ``1.0.2`` is specified as a requirement. Additionally, the ``syn`` package contains the ``always_upgrade`` option, which causes ``depman`` to always attempt to upgrade the package, regardless of the current version installed.
Dependencies are specified in each context under each dependency type (i.e. ``apt`` or ``pip``) as YAML list elements. If the element is a string, the dependency in question will be treated as satisfied if some version of the package denoted by the string exists on the system. For more detailed dependency requirements, the name of the package can be listed as the key to a YAML dictionary of dependency options. This can be seen, for example, in the ``gevent`` dependency, in which a minimum version ``1.0.2`` is specified as a requirement. Additionally, the ``syn`` package contains the ``always_upgrade`` option, which causes ``depman`` to always attempt to upgrade the package, regardless of the current version installed.

In version 0.1, versioning features are only available for ``pip`` dependencies, but versioning options will be added to other dependency types in future releases.

Expand Down

0 comments on commit c7e5351

Please sign in to comment.