{ "info": { "author": "Florian Schulze", "author_email": "florian.schulze@gmx.net", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. contents:: :depth: 1\n\nIntroduction\n============\n\n.. figure:: http://fschulze.github.com/mr.developer/xkcd-buildout.png\n :figwidth: image\n\n Let Mr. Developer help you win the everlasting buildout battle!\n\n (Remixed by Matt Hamilton, original from http://xkcd.com/303)\n\n**mr.developer** is a `zc.buildout`_ extension that makes it easy to work with\nbuildouts containing lots of packages, of which you only want to develop some.\nThe basic idea comes from Wichert Akkerman's plonenext_ effort.\n\n.. image:: https://secure.travis-ci.org/fschulze/mr.developer.png\n\n.. _`zc.buildout`: http://pypi.python.org/pypi/zc.buildout\n.. _plonenext: http://svn.plone.org/svn/plone/plonenext/3.3/README.txt\n\nUsage\n=====\n\nAdd ``mr.developer`` to the ``extensions`` entry in your ``[buildout]``\nsection::\n\n [buildout]\n extensions = mr.developer\n\nThis enables additional ``[buildout]`` options:\n\n``sources``\n This specifies the name of a section which lists the repository\n information for your packages. Defaults to ``sources``.\n\n``sources-dir``\n This specifies the default directory where your development packages will\n be placed. Defaults to ``src``.\n\n``auto-checkout``\n This specifies the names of packages which should be checked out during\n buildout. Packages already checked out are skipped. You can use ``*`` as\n a wildcard for all packages in ``sources``.\n\n``always-checkout``\n This defaults to ``false``. If it's ``true``, then all packages specified\n by ``auto-checkout`` and currently in develop mode are updated during each\n buildout run. If set to ``force``, then packages are updated even when\n they are dirty instead of asking interactively.\n\n``update-git-submodules``\n This defaults to ``always``. If it's ``always``, then submodules present\n in each package in develompent will be registered and updated on checkout and\n new ones on updates via the develop command. If you don't want to initialize any submodule,\n set value to ``never``. If you set the value to ``checkout``,\n code inside submodules will be pulled only the first time, so the ``develop up`` command\n will leave the submodule empty. Note that update only initializes\n new submodules, it doesn't pull newest code from original submodule repo.\n\n``always-accept-server-certificate``\n This defaults to ``false``. If it's ``true``, invalid server\n certificates are accepted without asking (for subversion repositories).\n\n``mr.developer-threads``\n This sets the number of threads used for parallel checkouts. See\n `Lockups during checkouts and updates`_ why you might need this.\n\n``git-clone-depth``\n This sets the git clone history size (git clone --depth parameter).\n Not really useful for development, but really useful on CI environments.\n The other big benefit is the speedup on cloning,\n as only few revisions are downloaded.\n Default is to get the full history.\n\nThe format of entries in the ``[sources]`` section is::\n\n [sources]\n name = kind url [key=value ...]\n\nWhere individual parts are:\n\n``name``\n The package name.\n\n``kind``\n The kind of repository. Currently supported are ``svn``,\n ``hg``, ``git``, ``bzr``, ``darcs``, ``cvs``, or ``fs``.\n\n``url``\n The location of the repository. This value is specific to the version\n control system used.\n\n``key=value``\n You can add options for each individual package with this. No whitespace is\n allowed in ``key``, ``value``, and around the equal sign. For a\n description of the options see below. (*Note*: don't surround your ``key=value``\n with square brackets: we only use ``[ ]`` here to indicate that it\n is optional to add options.)\n\n\nThe per-package options are:\n\nCommon options\n The ``path`` option allows you to set the base directory where the\n package will be checked out. The name of the package will be appended to\n the base path. If ``path`` is not set, ``sources-dir`` is used.\n\n With ``full-path`` you can set the directory where the package will be\n checked out. This is the actual destination, nothing will be added. As \n an example::\n\n [sources]\n pkg = fs pkg full-path=/path/to/pkg\n\n The ``update`` option allows you to specify whether a package will be\n updated during buildout or not. If it's ``true``, then it will always be\n updated. If it's ``false``, then it will never be updated, even if the\n global ``always-checkout`` option is set.\n\n The ``egg`` option makes it possible to manage packages which are not\n eggs with ``egg=false``. All commands like ``update`` work as expected,\n but the package isn't added to the ``develop`` buildout option and the\n ``activate`` and ``deactivate`` commands skip the package.\n\n The ``newest_tag`` option allows you to checkout/update to the newest tag.\n Possible values of the option are \"true\" and \"false\".\n The ``newest_tag_prefix`` option allows you to limit the selection of tags to\n those which start with the prefix.\n These two options currently only work for ``cvs`` and ``hg``.\n\n``svn``\n The ``url`` is one of the urls supported by subversion.\n\n You can specify a url with a revision pin, like\n ``http://example.com/trunk@123``.\n\n You can also set the ``rev`` or ``revision`` option, which is either a pin\n like with ``rev=123`` or a minimum revision like ``rev=>123`` or\n ``rev=>=123``. When you set a minimum revision, the repository is updated\n when the current revision is lower.\n\n``git``\n The ``branch`` option allows you to use a specific branch instead of\n master.\n\n The ``rev`` option allows you to use a specific revision (usually a\n tag) instead of the HEAD.\n\n The ``pushurl`` options allows you to explicitly separate push url from pull\n url, configured by git config.\n\n The ``submodules`` option allows you to initialize existing submodules.\n Default value is controled by the buildout option ``update-git-submodules``.\n Possible values are the same described before in ``update-git-submodules`` option,\n\n The ``depth`` option allows to specify how much history you want to clone.\n This is the so called *shallow clones*.\n Note that this is mostly not useful at all for regular clones,\n on the other hand for one time usages (continuous integration for example) it makes clones much faster.\n This option overrides a general ``git-clone-depth`` value,\n so per-source depth can be specified.\n\n Note that the ``branch`` and ``rev`` option are mutually exclusive.\n\n``hg``\n The ``branch`` option allows you to use a specific branch instead of\n default.\n\n The ``rev`` option allows you to force a specific revision\n (hash, tag, branch) to be checked out after buildout\n\n``bzr``\n Currently no additional options.\n\n``darcs``\n Currently no additional options.\n\n``cvs``\n The ``cvs_root`` option can be used to override the setting of the $CVSROOT\n environment variable.\n The ``tag`` option forces checkout/update of the given tag instead of CVS\n HEAD.\n\n The ``tag_file`` option defines from which file tags will be read (in case of\n using ``newest_tag``). Default value is \"setup.py\".\n\n``fs``\n This allows you to add packages on the filesystem without a version\n control system, or with an unsupported one. You can activate and\n deactivate packages, but you don't get status info and can't update etc.\n\n The ``url`` needs to be the same as the ``name`` of the package.\n\nHere's an example of how your ``buildout.cfg`` may look like::\n\n [buildout]\n extensions = mr.developer\n auto-checkout = my.package\n\n [sources]\n my.package = svn http://example.com/svn/my.package/trunk update=true\n some.other.package = git git://example.com/git/some.other.package.git\n\nWhen you run buildout, the script ``bin/develop`` is created in your\nbuildout directory. With this script you can perform various actions on\npackages, like checking out their source code, without the need to know where\nthe repositories are located.\n\nFor help on what the script can do, run ``bin/develop help``.\n\nIf you checked out the source code of a package, you must run buildout again.\nThe new package will then be marked as a development egg and have its version\npin cleared (if any). You can control the list of development eggs explicitely\nwith the ``activate`` and ``deactivate`` commands.\n\nAny source where the path is a symlink is skipped during updates, as it is\nassumed, that the developer handles it manually. It is basically treated like\na filesystem source.\n\nConfiguration\n=============\n\nYou can add options to your global ``~/.buildout/mr.developer.cfg`` or local\n``.mr.developer-options.cfg`` in your buildout. Don't ever edit\n``.mr.developer.cfg`` in your buildout though, it's generated automatically.\n\nIn the ``[mr.developer]`` section you have the following options.\n\n``threads``\n This sets the number of threads used for parallel checkouts. See\n `Lockups during checkouts and updates`_ why you might need this.\n\nIn the ``[rewrites]`` section you can setup rewrite rules for sources. This is\nuseful if you want to provide a buildout with sources to repositories which have\ndifferent URLs for repositories which are read only for anonymous users. In that\ncase developers can add a URL rewrite which automatically changes the URL to a\nwritable repository.\n\nThe rewrite rules can have multiple operators:\n\n``=``\n Matches the exact string. Useful to only operated on sources of a certain kind\n and similar things. This doesn't rewrite anything, but limits the rule.\n\n``~=``\n Matches with a regular expression. This doesn't rewrite anything, but limits\n the rule.\n\n``~``\n This runs a regular expression substitution. The substitute is read from the\n next line. You can use groups in the expression and the backslash syntax in\n the substitute. See `re.sub`_ documentation.\n\n.. _`re.sub`: http://docs.python.org/2/library/re.html#re.sub\n\nThe following are useful examples::\n\n [rewrites]\n\n plone_svn =\n url ~ ^http://svn.plone.org/svn/\n https://svn.plone.org/svn/\n\n github =\n url ~ ^https://github.com/\n git@github.com:\n kind = git\n\n my_mrdeveloper_fork =\n url ~ fschulze(/mr.developer.git)\n me\\1\n\n my_mrdeveloper_fork_alternate =\n url ~= fschulze/mr.developer.git\n url ~ fschulze/\n me/\n\nExtending\n=========\n\nYou can extend mr.developer to teach it new types of Working Copies\nand to add or modify existing commands.\n\nMr.developer uses entrypoints for this. TO see examples on how to create entry\npoints in detail, you can have a look at the existing entry points.\n\nAdding support for a new working copy type\n------------------------------------------\nAdd en entry to the entry point group ``mr.developer.workingcopytypes``.\nThey key of the entry is going to be used in the sources section of your\nbuildout file. The value should be a class.\nThe referenced class must implement the following methods::\n\n - __init__(self, source)\n - matches(self)\n - checkout(self, **kwargs)\n - status(self, verbose=False, **kwargs)\n - update(self, **kwargs)\n\nThe source is a dictionary like object. The source object provides the\nattributes::\n\n - name\n - url\n - path\n\nIn addition it contains all key value pairs one can define on the source line\nin buildout, and a methods ``exists`` that returns, whether the ``path``\nalready exists.\n\nThe matches method must return, if the checkout at the ``path`` matches the\nrepository at ``url``\n\nThe commands map to the commands mr.developer provides. To see the list of\npotential arguments, check the documentation of the commands.\nThe commands ``checkout`` and update only return what they want to have printed\nout on stdout, the ``status`` command must check the verbose flag. If the\nverbose flag is set, it must return a tuple with what it wants to print out and\nwhat the VCS commands generated as output.\n\nAll objects must have list ``_output`` which contains logging information.\nPlease refer to existing implementations for how to fill this information.\n\nIf your working copy Handler needs to throw an error, throw errors with\n``mr.developer.common.WCError`` as a base clase.\n\nIf you need to add new functionality for new commands or change behavior of\nsomething, try not to write a new working copy handler. Try your best your\nchanges generically useful and get them into mr.developer.\n\nAdding a new command\n--------------------\nAdd an entry to the entry point group ``mr.developer.commands``.\nThe key will be the name of the command itself.\n\nThe referenced class must implement the following methods::\n\n - __init__(self, develop)\n - __call__(self, args)\n\nAn inversion of control happens here. On initalization, you receive a develop\nobject that represents the class handling invocation of ``./bin/develop``\nIt is now your job to modify the attributes of the ``develop`` object to handle\nargument parsing.\nCreate an ArgumentParser and add it to ``develop.parsers``.\n\nUpon calling, you can perform your actions. It is a good idea to subclass from\n``mr.developer.commands.Command``. It provides convenient helper methods::\n\n - get_workingcopies(self, sources)\n - get_packages(args, auto_checkout, develop, checked_out)\n\n``get_workingcopies`` gives you a WorkingCopies object that will delegate all\nyour working copy actions to the right working copy handler.\n\n``get_packages`` is a little helper to get sources filterd by the rules.\n``args`` can be one or more regular expression filtr on source names, the other\nattributes are boolean flags that by default are ``False``. False means _not_\nto filter. Calling the method only with the ``arg`` '.' would thus return all\npackges. THe returned object is a set containing only the names of the sources.\n\nTo perform an action, you get the package names via get_packages. then you get\nthe WorkingCopies object and call the action you want to perform on this\nobject. THe WorkingCopies object checks, which working copy is responsible for\nthe given package and delegates the action to this object. The WorkingCopies\nobject is also handling threading functionality.\n\nThe ``develop`` object has a ``config`` property. This object can be used to\nstore configuration of your actions. under ``config.develop`` a dictionary\nresides which stores, whether the source with the given key is going to be used\nfrom source checkout.\n\n\nTroubleshooting\n===============\n\nDirty SVN\n---------\n\nYou get an error like::\n\n ERROR: Can't switch package 'foo' to 'https://example.com/svn/foo/trunk/' because it's dirty.\n\nIf you have not modified the package files under src/foo, then you can check\nwhat's going on with ``status -v``. One common cause is a ``*.egg-info`` folder\nwhich gets generated every time you run buildout and this shows up as an\nuntracked item in svn status.\n\nYou should add .egg-info to your global Subversion ignores in\n``~/.subversion/config``, like this::\n\n global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store *.egg-info\n\nHTTPS Certificates\n------------------\n\nThe best way to handle https certificates at the moment, is to accept them\npermanently when checking out the source manually.\n\nMercurial reports mismatching URL\n---------------------------------\n\nThis happens if you use lp:// URLs from launchpad. The problem is, that hg\nreports the actual URL, not the lp shortcut.\n\nLockups during checkouts and updates\n------------------------------------\n\nEspecially on multicore machines, there is an issue that you can get lockups\nbecause of the parallel checkouts. You can configure the number of threads used\nfor this in ``.mr.developer.cfg`` in the buildout root of your project or\nglobally in ``~/.buildout/mr.developer.cfg`` through the ``threads`` option\nin the ``[mr.developer]`` section or in your buildout in the ``buildout``\nsection with the ``mr.developer-threads`` option. Setting it to ``1`` should\nfix these issues, but this disables parallel checkouts and makes the process a\nbit slower.\n\nAlso, if you have `ControlPersist` in your local ssh config, and you\nhave a source checkout that uses ssh (for example\n``git@github.com:...``) the checkout or update may work fine, but the\nssh connection may stay open and ``mr.developer`` cannot exit because\nit waits for the ssh process to finish.\n\n\nCommands\n========\n\nThe following is a list of all commands and their options.\n\nactivate (a)\n------------\n\n::\n\n usage: develop activate [-h] [-a] [-c] [-d]\n package-regexp [package-regexp ...]\n\n Add packages to the list of development packages.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -c, --checked-out Only considers packages currently checked out. If you\n don't specify a then all checked out\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n develop packages are processed.\n\n\narguments (args)\n----------------\n\n::\n\n usage: develop arguments [-h]\n\n Print arguments used by last buildout which will be used with the 'rebuild'\n command.\n\n optional arguments:\n -h, --help show this help message and exit\n\n\ncheckout (co)\n-------------\n\n::\n\n usage: develop checkout [-h] [-a] [-v] package-regexp [package-regexp ...]\n\n Make a checkout of the packages matching the regular expressions and add them\n to the list of development packages.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -v, --verbose Show output of VCS command.\n\n\ndeactivate (d)\n--------------\n\n::\n\n usage: develop deactivate [-h] [-a] [-c] [-d]\n package-regexp [package-regexp ...]\n\n Remove packages from the list of development packages.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -c, --checked-out Only considers packages currently checked out. If you\n don't specify a then all checked out\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n develop packages are processed.\n\n\nhelp (h)\n--------\n\n::\n\n usage: develop help [-h] [--rst] [-z] [command]\n\n Show help on the given command or about the whole script if none given.\n\n positional arguments:\n command The command you want to see the help of.\n\n optional arguments:\n -h, --help show this help message and exit\n --rst Print help for all commands in reStructuredText format.\n -z, --zsh Print info for zsh autocompletion\n\n\ninfo\n----\n\n::\n\n usage: develop info [-h] [-a] [-c] [-d] [--name] [-p] [--type] [--url]\n [package-regexp [package-regexp ...]]\n\n Lists informations about packages.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -c, --checked-out Only considers packages currently checked out. If you\n don't specify a then all declared\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n declared packages are processed.\n\n Output options:\n The following options are used to print just the info you want, the order\n they are specified reflects the order in which the information will be\n printed.\n\n --name Prints the name of the package.\n -p, --path Prints the absolute path of the package.\n --type Prints the repository type of the package.\n --url Prints the URL of the package.\n\n\nlist (ls)\n---------\n\n::\n\n usage: develop list [-h] [-a] [-c] [-d] [-l] [-s]\n [package-regexp [package-regexp ...]]\n\n Lists tracked packages.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only show packages in auto-checkout list.\n -c, --checked-out Only considers packages currently checked out. If you\n don't specify a then all checked out\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n develop packages are processed.\n -l, --long Show URL and kind of package.\n -s, --status Show checkout status.\n The first column in the output shows the checkout\n status:\n '#' available for checkout\n ' ' in auto-checkout list and checked out\n '~' not in auto-checkout list, but checked out\n '!' in auto-checkout list, but not checked out\n 'C' the repository URL doesn't match\n\n\npurge\n-----\n\n::\n\n usage: develop purge [-h] [-n] [-f] [package-regexp [package-regexp ...]]\n\n Remove checked out packages which aren't active anymore.\n\n Only 'svn' packages can be purged, because other repositories may contain\n unrecoverable files even when not marked as 'dirty'.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -n, --dry-run Don't actually remove anything, just print the paths which\n would be removed.\n -f, --force Force purge even if the working copy is dirty or unknown\n (non-svn).\n\n\nrebuild (rb)\n------------\n\n::\n\n usage: develop rebuild [-h] [-n]\n\n Run buildout with the last used arguments.\n\n optional arguments:\n -h, --help show this help message and exit\n -n, --dry-run DEPRECATED: Use 'arguments' command instead. Don't actually\n run buildout, just show the last used arguments.\n\n\nreset\n-----\n\n::\n\n usage: develop reset [-h] [-a] [-c] [-d] [package-regexp [package-regexp ...]]\n\n Resets the packages develop status. This is useful when switching to a new\n buildout configuration.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -c, --checked-out Only considers packages currently checked out. If you\n don't specify a then all checked out\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n develop packages are processed.\n\n\nstatus (stat, st)\n-----------------\n\n::\n\n usage: develop status [-h] [-a] [-c] [-d] [-v]\n [package-regexp [package-regexp ...]]\n\n Shows the status of tracked packages, filtered if is given.\n The first column in the output shows the checkout status:\n ' ' in auto-checkout list\n '~' not in auto-checkout list\n '!' in auto-checkout list, but not checked out\n 'C' the repository URL doesn't match\n '?' unknown package (only reported when package-regexp is not specified)\n The second column shows the working copy status:\n ' ' no changes\n 'M' local modifications or untracked files\n '>' your local branch is ahead of the remote one\n The third column shows the development status:\n ' ' activated\n '-' deactivated\n '!' deactivated, but the package is in the auto-checkout list\n 'A' activated, but not in list of development packages (run buildout)\n 'D' deactivated, but still in list of development packages (run buildout)\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -c, --checked-out Only considers packages currently checked out. If you\n don't specify a then all checked out\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n develop packages are processed.\n -v, --verbose Show output of VCS command.\n\n\nupdate (up)\n-----------\n\n::\n\n usage: develop update [-h] [-a] [-d] [-f] [-v]\n [package-regexp [package-regexp ...]]\n\n Updates all known packages currently checked out.\n\n positional arguments:\n package-regexp A regular expression to match package names.\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --auto-checkout Only considers packages declared by auto-checkout. If\n you don't specify a then all declared\n packages are processed.\n -d, --develop Only considers packages currently in development mode.\n If you don't specify a then all\n develop packages are processed.\n -f, --force Force update even if the working copy is dirty.\n -v, --verbose Show output of VCS command.\n\n\n\n\nChangelog\n=========\n\n2.0.0 (2019-03-04)\n------------------\n\n* Remove deprecated ``-n``/``--dry-run`` option from ``rebuild``/``rb`` command.\n [fschulze]\n\n* Use universal_newlines to deal with all output for git.\n [pbauer]\n\n* Fix verbose status in python 3.\n [pbauer]\n\n* Drop testing with Python 2.6 and Python 3.3, from now on there is no\n guarantee it will work with those Python versions.\n [fschulze]\n\n\n1.38 (2017-03-17)\n-----------------\n\n* Use ``from __future__ import print_function`` to fix output of ``help --rst``.\n [fschulze]\n\n* Set empty version pin for develop packages instead of removing the version\n pin from the section.\n [fschulze]\n\n\n1.37 (2017-03-04)\n-----------------\n\n* Add more info on git operations, so one can see which repository is cloned\n and which branch is used.\n [fschulze]\n\n* Fix git submodules with git 2.x.\n [fschulze]\n\n\n\n1.36 (2017-03-01)\n-----------------\n\n* Add the buildout option mr.developer-verbose that enables showing\n the same out when running buildout as when running ./bin/develop up -v.\n [sunew]\n\n* Respect the buildout -v setting for updates, just as it already does for checkouts.\n [sunew]\n\n\n1.35 - 2017-02-01\n-----------------\n\n* Do not use the backport of configparser on Python2, to fix\n \"Option values must be strings\" exception on some commands.\n [MatthewWilkes]\n\n* No longer test on Python 3.2. [maurits]\n\n* Improve error message when a directory isn't found in fs mode.\n [idgserpro]\n\n\n1.34 - 2015-09-30\n-----------------\n\n* Remove support for python 2.4 and 2.5. Use python 2.6 or higher or python\n 3.2 or higher.\n [reinout]\n\n* Report missing executables (like 'hg') instead of reporting a too-generic\n \"file not found\" error.\n [reinout]\n\n* Fix bug with assignments lacking the section. According to\n buildout's documentation ``option=value`` is equivalent to\n ``buildout:option=value``.\n Fixes issue #151\n [mvaled]\n\n* Fix switching to git branch from revision. When currently you are\n not on a git branch (for example on a tag), running a develop update\n would try to pull and fail. Now we simply fetch, and handle\n possible branch switching and merging the same as we always do.\n Fixes issue #162\n [maurits]\n\n* Fix unpinning of eggs with a name containing characters not in [^A-Za-z0-9.]\n This means that to correctly unpin pkg.foo_bar we have to delete\n ``pkg.foo-bar`` from the buildout ``[version]`` section.\n [ale-rt (Alessandro Pisa)]\n\n* Checkout branch when cloning a git repository.\n [gforcada]\n\n\n1.33 - 2015-05-25\n-----------------\n\n* Fix git-clone-depth global option, it needs to be kept as a string and not\n converted to a number.\n [gforcada, fschulze]\n\n\n1.32 - 2015-05-23\n-----------------\n\n* Add git-clone-depth global option and depth per source option to specify on\n git clones how much history wants to be cloned.\n [gforcada (Gil Forcada)]\n\n* Add plugin interface for adding commands using entry points.\n [fschulze]\n\n* Raise an exception if the sources section references a missing section.\n [icemac (Michael Howitz)]\n\n\n1.31 - 2014-10-29\n-----------------\n\n* Fixed submodule matching for some git versions.\n [jod (Josip Delic), fschulze]\n\n* Added compat.py for Python 3.\n [jod (Josip Delic)]\n\n* More info when svn cannot switch because of dirty checkout.\n [gotcha]\n\n* Git: try to switch to branch master when no branch has been\n specified. Do not give an error in this case when master is not\n there. Fixes issue #125\n [maurits]\n\n\n1.30 - 2014-03-14\n-----------------\n\n* Fix regression from 1.29.\n [Trii (Josh Johnston)]\n\n\n1.29 - 2014-03-14\n-----------------\n\n* Preserve order of eggs specified in ``develop`` option.\n [anjos (Andr\u00e9 Anjos)]\n\n\n1.28 - 2014-01-23\n-----------------\n\n* Mercurial now checks if working copy is ahead of remote branch.\n [rafaelbco]\n\n1.27 - 2014-01-10\n-----------------\n\n* Fix encoding issues during installation if the default encoding isn't\n properly set. Fixes issue #127\n [fschulze, jajadinimueter]\n\n* Fix error message when listing of git branches fails. Fixes issue #124\n [toutpt (JeanMichel FRANCOIS), fschulze]\n\n1.26 - 2013-09-10\n-----------------\n\n* Fixed branch option for git 1.6.0 until and including 1.6.2.\n Fixes issue #117.\n [maurits]\n\n* Skip update of symlinked sources.\n [chaoflow (Florian Friesdorf)]\n\n* Deprecate ``-n`` and ``--dry-run`` on ``rebuild`` command in favour of the\n new ``arguments`` command.\n\n1.25 - 2013-03-15\n-----------------\n\n* Git submodules support.\n [sunbit]\n\n* Added `newest_tag` option for mercurial and cvs.\n [kkujawinski, fschulze]\n\n* Python 3 fixes.\n [fschulze, jajadinimueter (Florian Mueller)]\n\n* Fix revision pinning. Refs #113\n [do3cc (Patrick Gerken)]\n\n* Properly line up the output of ``status``.\n [fschulze]\n\n1.24 - 2013-01-29\n-----------------\n\n* Mercurial now switches branches.\n [bubenkoff (Anatoly Bubenkov), fschulze]\n\n* Fix gitsvn/gitify working copy type which was broken since 1.22.\n [rpatterson (Ross Patterson)]\n\n* Fix deactivate command which was broken since 1.22. Refs #105\n [fschulze, icemac]\n\n1.23 - 2012-11-28\n-----------------\n\n* Unit tests run with Python 2.4, 2.5, 2.6, 2.7 and 3.2 now.\n [fschulze]\n\n* Officially added source rewrites. Refs #56\n [fschulze]\n\n* Add additional optional config file ``.mr.developer-options.cfg`` which is\n read from the buildout directory for local version controllable options.\n [fschulze]\n\n* Update all activated packages during buildout if ``always-checkout`` is true\n instead of only the ones in the ``auto-checkout`` list or with the ``update``\n option set. Refs #95\n [fschulze]\n\n* Fix asking for password for svn with basic authentication. Refs #100\n [MordicusEtCubitus]\n\n* Fixed regressions in svn module. Refs #37\n [fschulze, evilbungle (Alan Hoey)]\n\n* Fixed branch checkout for git on Python 3.\n [mitchellrj]\n\n* Fixed subversion checkout on Python 3.\n [mitchellrj]\n\n1.22 - 2012-10-13\n-----------------\n\n* If you set threads to 1, then we don't use any separate thread anymore, the\n actions are now done in the main thread.\n [fschulze]\n\n* Allow configuration of the number of threads used through the buildout config\n by setting the ``mr.developer-threads`` option in the ``buildout`` section.\n [fschulze]\n\n* For git repositories the ``status`` command shows you when your local branch\n is ahead of the remote branch.\n [fschulze]\n\n* Always make ``sources-dir`` option available in buildout, even if it's set\n to the default. Fixes #49\n [fschulze]\n\n* Parse revision from url for all svn commands. Fixes #37\n [fschulze]\n\n* Use entry points to allow adding and overwriting working copy types via\n addon packages.\n [fschulze]\n\n* Fixed ValueError in verbose status for filesystem and gitsvn sources.\n [maurits]\n\n* Fixed some exceptions occurring when using with Python 3.\n [icemac (Michael Howitz)]\n\n* On Windows, use the PATHEXT environment variable to find the git executable.\n [kleist]\n\n1.21 - 2012-04-11\n-----------------\n\n* Added ``threads`` option to ``[mr.developer]`` section to set number of\n threads used for running checkouts.\n [fschulze]\n\n* Read a per user config file from ~/.buildout/mr.developer.cfg in addition to\n the regular .mr.developer.cfg in the current buildout base.\n [fschulze]\n\n* Python 3 support by using 2to3.\n [mitchellrj (Richard Mitchell)]\n\n1.20 - 2012-02-26\n-----------------\n\n* Git: Added ``pushurl`` option\n [iElectric (Domen Ko\u017ear)]\n\n* Refactored thread locking.\n [shywolf9982]\n\n* Refactored search for git executable and version handling.\n [shywolf9982]\n\n* In the status command report unknown packages with '?' when no\n package-regexp has been given.\n [maurits]\n\n* Added --force option to purge command. Especially helpful in\n purging non-subversion packages, which otherwise we refuse to\n remove. Fixes issue #71.\n [maurits]\n\n* Do not depend on `elementtree` if there is `xml.etree` (Python >= 2.5).\n\n* Don't set locale anymore when calling ``svn``. This may break if the output\n is localized instead of english, I couldn't reproduce that anymore though.\n [fschulze, rochecompaan (Roch\u00e9 Compaan)]\n\n* Fix compatibility with mercurial v2.1\n [janjaapdriessen (Jan-Jaap Driessen)].\n\n1.19 - 2011-09-22\n-----------------\n\n* Git: Don't stop buildout after renaming/adding git remotes, i.e. when\n actively working on a given package.\n [witsch (Andreas Zeidler)]\n\n* Bugfix: Honhour buildout:develop parameters even if ending with slash.\n [lukenowak]\n\n* Installation: Check presence of required modules instead of relying on\n version of python.\n [lukenowak (\u0141ukasz Nowak)]\n\n1.18 - 2011-08-16\n-----------------\n\n* Mercurial: Added support for branches.\n [posborne (Paul Osborne)]\n\n* Git: Added support for the Windows msysGit.\n [canassa (Cesar Canassa)]\n\n* Git: Added ``rev`` option that allows you to use a specific revision\n (usually a tag) instead of the HEAD.\n [maurits (Maurits van Rees)]\n\n1.17 - 2011-01-26\n-----------------\n\n* Git: Default to branch ``master`` if no branch is given in the source.\n [stefan]\n\n* Brush up the README.\n [stefan]\n\n* Create the sources-dir if it is not present.\n [janjaapdriessen]\n\n* Only require argparse with Python < 2.7.\n [dobe]\n\n* Fixed issue #35 using bzr, similar to the fix #28 for hg in last version.\n [menesis]\n\n* Pass branch to bzr pull.\n [menesis]\n\n* Add support for darcs.\n [lelit, azazel]\n\n1.16 - 2010-09-16\n-----------------\n\n* Fix ``NameError: global name 'source' is not defined`` when using gitsvn\n and running ``status`` command.\n [markvl]\n\n* Add handling of new ``-s`` command line option of zc.buildout 1.5, this\n fixes issue #29.\n [fschulze]\n\n* Don't pass the PYTHONPATH onwards to mercurial, this fixes issue #28\n [fschulze, Christian Zagrodnick]\n\n* Fix saving buildout options on Windows. Issue #24\n [fschulze]\n\n* Only warn if the svn version is too old.\n [fschulze]\n\n1.15 - 2010-07-25\n-----------------\n\n* Use ``always-checkout`` option from buildout config for ``update`` command.\n This fixes issue #18.\n [fschulze]\n\n* Fix ``OSError: [Errno 10] No child processes`` errors in Python 2.4 and 2.5.\n (Issue #12)\n [fschulze]\n\n* Fix CVS update.\n [sargo]\n\n1.14 - 2010-05-15\n-----------------\n\n* Added bzr support.\n [tseaver]\n\n* Added git branch support.\n [shywolf9982, fschulze]\n\n1.13 - 2010-04-11\n-----------------\n\n* Tell the user which packages are queued for update or checkout, so one can\n check which packages are still updating now that the output is only printed\n after everything is done due to parallel checkouts.\n [fschulze]\n\n* Added ``always-accept-server-certificate`` option. When set in the\n ``[buildout]`` section, then invalid certificates are always accepted for\n subversion repositories.\n [fschulze]\n\n* Added ``-v``/``--version`` option.\n [tomster, fschulze]\n\n* Use the much nicer argparse library instead of optparse.\n [fschulze]\n\n1.12 - 2010-03-15\n-----------------\n\n* Fix svn checkout.\n [fschulze]\n\n1.11 - 2010-03-14\n-----------------\n\n* Handle untrusted server certificates by asking the user what to do.\n [fschulze]\n\n* Properly handle user input for authorization by using locks to prevent\n problems with parallel checkouts.\n [fschulze]\n\n* Only checkout/update packages in auto-checkout or with ``update = true``\n option when running buildout.\n [fschulze]\n\n1.10 - 2010-02-06\n-----------------\n\n* Don't store the buildout options if they contain a command.\n [fschulze]\n\n* Basic support for buildout offline mode (-o). Not all cases are handled yet.\n [fschulze]\n\n* Added ``full-path`` package option.\n [fschulze]\n\n* Added ``egg`` package option (Issue #6).\n [fschulze]\n\n* By setting ``always-checkout = force``, all packages will be updated\n without asking when dirty.\n [fschulze]\n\n* The ``[path]`` part of sources is replaced by ``path=PATH`` syntax and\n throws a warning when used.\n [fschulze]\n\n* Per package options are now allowed before the URL.\n [fschulze]\n\n* Check ``svn`` version and output helpful error messages if it's too old or\n can't be determined (Issue #13).\n [fschulze]\n\n* Error messages instead of tracebacks when source definitions are wrong.\n [fschulze]\n\n* Fix checkout of packages (Issues #9 and #11).\n [fschulze]\n\n* Possibility to checkout/update tags instead of HEAD in CVS\n [sargo]\n\n* Tests for CVS integration\n [sargo]\n\n* Better checking of CVS package purity.\n [sargo]\n\n1.9 - 2010-01-11\n----------------\n\n* Added dry-run option to ``purge`` command.\n [fschulze]\n\n* Fix purging on windows.\n [kleist (Karl Johan Kleist)]\n\n* Fix compatibility with Python < 2.6.\n [fschulze, vincentfretin]\n\n* Fix `all` answer for ``update`` command.\n [fschulze]\n\n1.8 - 2010-01-10\n----------------\n\n* Added threading for parallel checkouts.\n [fschulze, jensens]\n\n* Ask whether to update dirty packages during checkout.\n [fschulze]\n\n* When you answered `yes` when asked whether to update a dirty package, then\n all further questions had been answered with `yes` as well, this is now\n fixed.\n [fschulze]\n\n* Added `all` option when asked to update dirty packages.\n [fschulze]\n\n* Added help for all commands to PyPI description.\n [fschulze]\n\n* Added option to ``help`` command which outputs the help for all commands in\n reStructuredText format.\n [fschulze]\n\n* Don't abort after user answered `no` on whether to update a package, just\n skip that package.\n [fschulze]\n\n1.7 - 2009-11-26\n----------------\n\n* Fix a problem where a package wasn't added to the develop packages on auto\n checkout.\n [fschulze]\n\n1.6 - 2009-11-21\n----------------\n\n* Filter the packages gathered from ``buildout:develop`` to ones declared in\n sources, otherwise things like \"develop = .\" break.\n [fschulze]\n\n* Added support for Concurrent Versions System (CVS).\n [sargo (Wojciech Lichota)]\n\n1.5 - 2009-11-19\n----------------\n\n* Added global ``always-checkout`` and a per source ``update`` option.\n [fschulze]\n\n* Added ``purge`` command.\n [fschulze]\n\n* Ask user how to proceed when package is dirty.\n [fschulze]\n\n* Refactored package matching and made the command options consistent.\n Now you can update only the packages currently in development with ``-d``\n and similar possibilities.\n [fschulze]\n\n* Fix duplicate logging output.\n [fschulze]\n\n* Fix parsing of buildout arguments when ``-t`` was used.\n [fschulze]\n\n1.4 - 2009-11-16\n----------------\n\n* Allow to set a minimal revision for ``svn`` repositories. If the current\n revision is lower, then the package is updated.\n [fschulze]\n\n1.3 - 2009-11-15\n----------------\n\n* Read the cfg used by last buildout run. This prevents unexpected behaviour,\n if you change mr.developer options like source declarations and don't run\n buildout. Such changes are now picked up immediately.\n [fschulze]\n\n* Added tests and a buildout to run them easily.\n [fschulze]\n\n1.2 - 2009-11-12\n----------------\n\n* If a package is removed from ``auto-checkout`` and wasn't explicitly\n activated, then it will be removed from the develop packages automatically.\n In existing buildouts with an older mr.developer, you have to ``reset`` the\n packages first.\n [fschulze]\n\n* Added ``*`` wild card support for ``auto-checkout``.\n [fschulze]\n\n* Don't bail on subversion URLs ending in a slash or a revision marker.\n [fschulze]\n\n* Removed old way of specifying sources with ``sources-svn`` and\n ``sources-git``.\n [fschulze]\n\n* Exit immediately when there are issues during checkout when running as\n extension.\n [fschulze]\n\n* Use verbosity from buildout when running as extension.\n [fschulze]\n\n* Fix buildout_dir in ``develop`` script, so it is properly escaped on\n Windows.\n [fschulze]\n\n* Changed the output of ``list -s`` to match the one from ``status``.\n [fschulze]\n\n* Added troubleshooting section to readme.\n [miohtama, fschulze]\n\n* All commands have a ``-h`` and ``--help`` option now to show their help.\n [fschulze]\n\n1.1 - 2009-08-07\n----------------\n\n* Use relative paths from the buildout directory for the ``develop`` option\n if possible. This fixes issues if your buildout path contains a space.\n [fschulze]\n\n* Warn when trying to activate or deactivate a package which isn't checked out.\n [fschulze]\n\n* Don't depend on elementree on Python >= 2.5, because it's builtin there.\n [fschulze]\n\n* When checking out a source it will automatically be activated.\n [fschulze]\n\n* Use 'sources' as the default section name for source information.\n [fschulze]\n\n* Added support for filesystem packages without version control with the\n 'fs' type.\n [fschulze]\n\n1.0.1 - 2009-05-05\n------------------\n\n* Fixed case sensitivity of package names for several commands.\n [fschulze]\n\n* SVN externals no longer cause a modified status.\n [fschulze]\n\n1.0 - 2009-05-02\n----------------\n\n* Added ``info`` command to print various informations about packages.\n [fschulze]\n\n* Added ``reset`` command to reset the develop state of packages. This is\n useful when switching to a new buildout configuration. During the next\n buildout run the develop state is determined the same way as in a clean\n buildout.\n [fschulze]\n\n* Got rid of deprecation warning in Python 2.6 by removing unnecessary call\n of __init__ in working copy implementations.\n [fschulze]\n\n0.15 - 2009-04-17\n-----------------\n\n* Added reminder to run buildout after activating or deactivating packages.\n [fschulze]\n\n* Added ``rebuild`` command to rerun buildout with the last used arguments.\n [fschulze]\n\n0.14 - 2009-04-16\n-----------------\n\n* Fixed verbose output of ``checkout`` command.\n [fschulze]\n\n* Added ``-f`` option to ``update`` command to force updates even if the\n working copy is dirty.\n [fschulze]\n\n0.13 - 2009-04-14\n-----------------\n\n* Added ``-a`` option to ``update`` command to only update the packages\n declared in the ``auto-checkout`` list.\n [fschulze]\n\n* Added ``activate`` and ``deactivate`` commands. This allows to select which\n packages are added to the ``develop`` option of zc.buildout. Enhanced the\n ``status`` command to show the additional informations.\n [fschulze]\n\n* Switched the meaning of ``~`` and ``C`` in status command.\n [fschulze]\n\n0.12 - 2009-04-14\n-----------------\n\n* Added support for Mercurial (hg).\n [mj]\n\n* Refactored working copy logic, so it's easier to add support for other\n version control systems.\n [fschulze]\n\n* Added verbose flag to ``checkout`` and ``update`` commands.\n [fschulze]\n\n0.11 - 2009-04-06\n-----------------\n\n* Removed the nice os.path.relpath usage, because it's only been introduced\n with Python 2.6.\n [fschulze]\n\n0.10 - 2009-04-06\n-----------------\n\n* Added verbose flag to ``status`` command.\n [fschulze]\n\n* Deprecated ``sources-svn`` and ``sources-git`` in favour of just ``sources``\n which allows more flexibility.\n [fschulze]\n\n* Changed ``status`` command to only check known paths and not the whole\n ``sources-dir`` path.\n [fschulze]\n\n* Add possibility to filter packages in ``update`` and ``status`` commands.\n [fschulze]\n\n* Tell the user at the end of the buildout run whether there have been any\n errors during automatic checkout.\n [fschulze]\n\n* Install the ``develop`` script as the first part instead of the last, so it\n can be used to fix problems.\n [fschulze]\n\n0.9 - 2009-03-30\n----------------\n\n* When installed as just an egg, then the resulting ``develop`` script can be\n called from anywhere and will try to find the correct ``develop`` script\n from the current working directory and execute it.\n [fschulze]\n\n* Fixed help text formatting.\n [fschulze]\n\n0.8 - 2009-03-25\n----------------\n\n* Added authentication support to subversion commands.\n [fschulze]\n\n* Added ``-a`` option to ``checkout`` command to limit matching to the\n packages declared by the ``auto-checkout`` option. If no further argument\n is given, then all the packages from ``auto-checkout`` are processed.\n [fschulze]\n\n0.7 - 2009-03-24\n----------------\n\n* Added ``update`` command to ``checkout`` script.\n [fschulze]\n\n* Added ``status`` command to ``checkout`` script.\n [fschulze]\n\n* Added status flag to ``list`` command to indicate packages with wrong URL.\n [fschulze]\n\n* If the working copy is clean, then checkout automatically switches svn\n packages.\n [fschulze]\n\n* Skip on checkout errors during buildout, so the develop script is generated\n and you get a chance to inspect and fix the problems.\n [fschulze]\n\n* Check remote url and stop checkout if it differs.\n [fschulze]\n\n* Added various options to the ``list`` command.\n [fschulze]\n\n* Instead of the ``checkout`` script, there is now a ``develop`` script with\n various commands.\n [fschulze]\n\n0.6 - 2009-03-24\n----------------\n\n* Added custom logging formatter for nicer output in the checkout script.\n [fschulze]\n\n* Removed the '-e' option, regular expression matching is the default now.\n [fschulze]\n\n* Made it possible to specify more than one regular expression without the\n need to use a pipe symbol and quotes.\n [fschulze]\n\n* Added help text for the checkout script to pypi page.\n [fschulze]\n\n* Add a warning to rerun buildout after checkout.\n [fschulze]\n\n0.5 - 2009-03-23\n----------------\n\n* Make sure that the updated versions are actually used.\n [fschulze]\n\n0.4 - 2009-03-22\n----------------\n\n* Fixed logging, which fixes the info message output.\n [fschulze]\n\n* Skip checkout of existing packages.\n [fschulze]\n\n0.3 - 2009-03-22\n----------------\n\n* Fixed source distribution by adding a MANIFEST.in.\n [fschulze]\n\n* Added -e and -l options to checkout script.\n [fschulze]\n\n0.2 - 2009-03-22\n----------------\n\n* Added ``auto-checkout`` option (only works with subversion at the moment).\n [fschulze]\n\n* Added support for git.\n [fschulze]\n\n* Throw error when trying to checkout unknown package.\n [fschulze]\n\n* Fixed target directory for checkouts.\n [fschulze]\n\n0.1 - 2009-03-19\n----------------\n\n* Initial release\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/fschulze/mr.developer", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mr.developer", "package_url": "https://pypi.org/project/mr.developer/", "platform": "", "project_url": "https://pypi.org/project/mr.developer/", "project_urls": { "Homepage": "http://github.com/fschulze/mr.developer" }, "release_url": "https://pypi.org/project/mr.developer/2.0.0/", "requires_dist": [ "setuptools", "zc.buildout", "six", "argparse; python_version==\"2.6\"", "mock; extra == 'test'" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "A zc.buildout extension to ease the development of large projects with lots of packages.", "version": "2.0.0" }, "last_serial": 4893501, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f19610e447ec075ac1e64f3a3e3a902e", "sha256": "b098f6af5d2633a2d80effa0885fdc4e3111b6b9152d7a3b69e8b95162156ea2" }, "downloads": -1, "filename": "mr.developer-0.1.zip", "has_sig": false, "md5_digest": "f19610e447ec075ac1e64f3a3e3a902e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6887, "upload_time": "2009-03-19T21:30:04", "url": "https://files.pythonhosted.org/packages/c6/fa/6b18113ad8beea354f13b091148c2895d7dd0b37182ab0a569a5bd0e9c27/mr.developer-0.1.zip" } ], "0.10": [ { "comment_text": "", "digests": { "md5": "ecff8ddecdff6f3dc2201ad8d2333fbd", "sha256": "11f15f7109e7a54213464adc85980ef758ca8d6a76cf5d88a7c0cceee03c61bd" }, "downloads": -1, "filename": "mr.developer-0.10.zip", "has_sig": false, "md5_digest": "ecff8ddecdff6f3dc2201ad8d2333fbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18100, "upload_time": "2009-04-06T15:53:56", "url": "https://files.pythonhosted.org/packages/e1/3f/0031ec8896267868e3e7552ef7852fd91d36f78f5fd1e22fba9db73ab230/mr.developer-0.10.zip" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "2460b035a2a55748c790b75defa0b878", "sha256": "11ab70433a94d27ba96796322bbc318f2d0dc006f288c759f9b9b73c15a962ac" }, "downloads": -1, "filename": "mr.developer-0.11.zip", "has_sig": false, "md5_digest": "2460b035a2a55748c790b75defa0b878", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18262, "upload_time": "2009-04-06T16:12:11", "url": "https://files.pythonhosted.org/packages/70/11/dae2f85216c3a6e9829a8e3fab0ce277d99d28cc02f1f6b5c6903a5c34d8/mr.developer-0.11.zip" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "66ab91038226d215ae7fa2ed95f45e53", "sha256": "c54ad38e9b469d912adefdf17c20898f9a42f027b6b44d82876e2b46f484ef55" }, "downloads": -1, "filename": "mr.developer-0.12.zip", "has_sig": false, "md5_digest": "66ab91038226d215ae7fa2ed95f45e53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21191, "upload_time": "2009-04-14T09:27:40", "url": "https://files.pythonhosted.org/packages/a4/a6/f390d5b2b0ff03e0a0b9b548d3a8e24950a2a3c1ea1d788886c77e24f159/mr.developer-0.12.zip" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "c20e1a84b5162f94f146dc77f3285576", "sha256": "125f4786ef5e4767290f06d7df65cca6e9321f06a36b4ee5dab861953cb15bbe" }, "downloads": -1, "filename": "mr.developer-0.13.zip", "has_sig": false, "md5_digest": "c20e1a84b5162f94f146dc77f3285576", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22434, "upload_time": "2009-04-14T17:07:40", "url": "https://files.pythonhosted.org/packages/ba/5b/921d89f66de581c222e5b608a10b81cdf01c52d1e014749aab47257bc7f4/mr.developer-0.13.zip" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "f62ac2e1fec9a7d8923bb0fc3539a977", "sha256": "a69ca6376b37f706c355cd14fadbb519319a8d2540a564b39947a118a495d854" }, "downloads": -1, "filename": "mr.developer-0.14.zip", "has_sig": false, "md5_digest": "f62ac2e1fec9a7d8923bb0fc3539a977", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23150, "upload_time": "2009-04-16T18:28:27", "url": "https://files.pythonhosted.org/packages/0b/18/bbce5320241b34460bf596f59465deb4ddfdfd4cf0f42b296a93555ac785/mr.developer-0.14.zip" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "796babbb65820f6c052141cae1fb3e8d", "sha256": "1edb8ebe2874fc6830db6a63590c88cdaecea73ca05d532d491eb358a72754e5" }, "downloads": -1, "filename": "mr.developer-0.15.zip", "has_sig": false, "md5_digest": "796babbb65820f6c052141cae1fb3e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23779, "upload_time": "2009-04-17T16:02:30", "url": "https://files.pythonhosted.org/packages/b9/5e/2badcdf2cb93e199a56a4a09e7260070829a8fe4daa19b87d8bcdd6aeeb8/mr.developer-0.15.zip" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "6dd8ea9f09b74f53cbbfa01e66cd42ee", "sha256": "eb7dc9ee7f28d2025b5bbaa5d17f596fef7f5e4830f0f4f1dfb11d6cf8041082" }, "downloads": -1, "filename": "mr.developer-0.2.zip", "has_sig": false, "md5_digest": "6dd8ea9f09b74f53cbbfa01e66cd42ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7736, "upload_time": "2009-03-22T21:15:43", "url": "https://files.pythonhosted.org/packages/a1/93/0e40c22ee22517db2db520686c05cbe3fcbdcc1a2d7abbff50ebbe589452/mr.developer-0.2.zip" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "cdfd38ad6e115b856fdc9c3568371e00", "sha256": "da9400551a18ac86820fe4b77aacf810722b438405ce754bc5dd6c640920f55a" }, "downloads": -1, "filename": "mr.developer-0.3.zip", "has_sig": false, "md5_digest": "cdfd38ad6e115b856fdc9c3568371e00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8780, "upload_time": "2009-03-22T22:13:23", "url": "https://files.pythonhosted.org/packages/08/4d/d487d8c06f22891c61a5f5a5272c34aaca46162984d3da29479526737e11/mr.developer-0.3.zip" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a711b85d7ab7cc4685dd307a5b18f41a", "sha256": "83c81cf57df5866fe6b00bb425f75a33eb827588f3bc34fdf41e7298a9c20ce3" }, "downloads": -1, "filename": "mr.developer-0.4.zip", "has_sig": false, "md5_digest": "a711b85d7ab7cc4685dd307a5b18f41a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9003, "upload_time": "2009-03-22T22:31:07", "url": "https://files.pythonhosted.org/packages/db/03/daeee071a1e02beeb6e613313b10f1d9f6e39f79fa72dccbf12817d9bec1/mr.developer-0.4.zip" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "f831766ee1bb49edfacee56f334b1c98", "sha256": "a15bf57ae262c3c3e65c20151c87e16c53c6bbe803809ca47f2d5f522e5598c1" }, "downloads": -1, "filename": "mr.developer-0.5.zip", "has_sig": false, "md5_digest": "f831766ee1bb49edfacee56f334b1c98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9144, "upload_time": "2009-03-23T18:57:19", "url": "https://files.pythonhosted.org/packages/25/14/f801f0e2dd3600da0eb0beab822966e5ac94b3c7e439d84ae3c0465e7b79/mr.developer-0.5.zip" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "3dfa83548eef4a6d3010637eb0e0958e", "sha256": "45c96683c48eaf40d040f1b142b25e1c3027224edc4a039fca8721dd2816fc66" }, "downloads": -1, "filename": "mr.developer-0.6.zip", "has_sig": false, "md5_digest": "3dfa83548eef4a6d3010637eb0e0958e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10219, "upload_time": "2009-03-24T11:53:41", "url": "https://files.pythonhosted.org/packages/49/57/ba419f2ada99dd2c383713673941b2393c46b0a24cb8b198fc1a117019a0/mr.developer-0.6.zip" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "7b3fcc450ad1f0c489694cbb69e68faf", "sha256": "0a7d88cce5c6c392957b42d07ccb5b81605b145bac56fa389edaa0ac366cbcb5" }, "downloads": -1, "filename": "mr.developer-0.7.zip", "has_sig": false, "md5_digest": "7b3fcc450ad1f0c489694cbb69e68faf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13903, "upload_time": "2009-03-24T20:33:28", "url": "https://files.pythonhosted.org/packages/47/00/0f12fe674afe44cd086d87e8fac7243b8bc695fb48fdc07a3d507c4952e4/mr.developer-0.7.zip" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "e30c6b353a5dca7003d506fe7dfbb72f", "sha256": "e8bf236d22ede0b9c3a0605f6fba41f73c1728771164d2aac05d985d17be67aa" }, "downloads": -1, "filename": "mr.developer-0.8.zip", "has_sig": false, "md5_digest": "e30c6b353a5dca7003d506fe7dfbb72f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15253, "upload_time": "2009-03-25T22:24:53", "url": "https://files.pythonhosted.org/packages/c8/01/74c976c30c54f4e9da4a38b2fd31ddd60d9d9d4dd02d6a7f1dcb2e6374d2/mr.developer-0.8.zip" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "8fb679142f863273d6d5c7ccf7df0924", "sha256": "09cfe6cb0b050736e47468365371baf280f49104ec4a48f61ebe7edd3fc1c63e" }, "downloads": -1, "filename": "mr.developer-0.9.zip", "has_sig": false, "md5_digest": "8fb679142f863273d6d5c7ccf7df0924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16563, "upload_time": "2009-03-30T14:13:33", "url": "https://files.pythonhosted.org/packages/0f/15/ff257182139fddc693b765a0f324209154f8af9dc1dfdd6e3e8f791ff9d5/mr.developer-0.9.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "0563a158fed68d1389ddce2df829925a", "sha256": "6825e09b6a839b8f636f3b7625b820876a7929acd28a1c2332efd1e7f4f74d5f" }, "downloads": -1, "filename": "mr.developer-1.0.zip", "has_sig": false, "md5_digest": "0563a158fed68d1389ddce2df829925a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24786, "upload_time": "2009-05-02T19:58:53", "url": "https://files.pythonhosted.org/packages/63/ea/117630201b91716b066cc6ccc862d6a5b7e46329e94f474408f11846a900/mr.developer-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "84fde2f172c20b98a19ea0d776bfc195", "sha256": "761a0035749e358b18b15ab42846cce22ee5210c9e09fbd7bcf19aaf1ccfcdf1" }, "downloads": -1, "filename": "mr.developer-1.0.1.zip", "has_sig": false, "md5_digest": "84fde2f172c20b98a19ea0d776bfc195", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25154, "upload_time": "2009-05-05T12:01:00", "url": "https://files.pythonhosted.org/packages/49/da/1f3e31ab1f8f572ec0ab7da696f10f864ff8ed9e3bf68f1287f39c5fc5d6/mr.developer-1.0.1.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "1630c9e9e67e49634563c2d5651ef0fe", "sha256": "03d430e3e942521089fc39fae0f4f4b277471026704b57f2d4faca166667d74e" }, "downloads": -1, "filename": "mr.developer-1.1.zip", "has_sig": false, "md5_digest": "1630c9e9e67e49634563c2d5651ef0fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26959, "upload_time": "2009-08-07T19:18:50", "url": "https://files.pythonhosted.org/packages/27/2c/880837139afb06943bbca018d3fa67a5e36543524d60db8a4430d5b41c3b/mr.developer-1.1.zip" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "7c239aa37b05ba8c458fa148a97e07d2", "sha256": "1c0ccd27aa80217bac2ef66dedebaec3f0955352cc6bf4f9c015d31e93b50601" }, "downloads": -1, "filename": "mr.developer-1.10.zip", "has_sig": false, "md5_digest": "7c239aa37b05ba8c458fa148a97e07d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50157, "upload_time": "2010-02-06T17:40:58", "url": "https://files.pythonhosted.org/packages/9b/d5/187202dc7d22bf124cf1e2208a6bb27fdbe8ee450de516072e9c17d76e93/mr.developer-1.10.zip" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "42fda9555c0b046438a1d1f10659f11e", "sha256": "e58404a186a9ee88868c19cfe91fd7781367405e477dca704ece5219f86c6119" }, "downloads": -1, "filename": "mr.developer-1.11.zip", "has_sig": false, "md5_digest": "42fda9555c0b046438a1d1f10659f11e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50777, "upload_time": "2010-03-14T19:34:27", "url": "https://files.pythonhosted.org/packages/d7/52/b9779d6c417132dbbd0271f9a506a7e1a9368fc7827788f1df985524a90c/mr.developer-1.11.zip" } ], "1.12": [ { "comment_text": "", "digests": { "md5": "a3073beebeef0f903575915c526f7387", "sha256": "fab21c0b75d9e2a8f9970a2f6839e771147243bd5f238c569a9e67eb6f9148a6" }, "downloads": -1, "filename": "mr.developer-1.12.zip", "has_sig": false, "md5_digest": "a3073beebeef0f903575915c526f7387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50820, "upload_time": "2010-03-15T10:59:26", "url": "https://files.pythonhosted.org/packages/d0/2a/9b5da621a42219fba33f3947ef44747666616a65fef6cb7d559b5ae6b21f/mr.developer-1.12.zip" } ], "1.13": [ { "comment_text": "", "digests": { "md5": "f26cf31f680a387cb92e9dd431862872", "sha256": "e8ce4ff0c46681bbc6ea804d254292acb5afc66cfc90d844e502ab5c79ab306f" }, "downloads": -1, "filename": "mr.developer-1.13.zip", "has_sig": false, "md5_digest": "f26cf31f680a387cb92e9dd431862872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52601, "upload_time": "2010-04-11T15:45:23", "url": "https://files.pythonhosted.org/packages/1a/a6/c349433dfe0a63515b7e86f1f891f6b2c3fc04485aed5f6587adc32001a7/mr.developer-1.13.zip" } ], "1.14": [ { "comment_text": "", "digests": { "md5": "d39ebd7e63efb5c9482027aac7098d1b", "sha256": "7f38879378c99661b6c89ec760d9f70fc05e11540206ceac53204b6a5ebfbbf4" }, "downloads": -1, "filename": "mr.developer-1.14.zip", "has_sig": false, "md5_digest": "d39ebd7e63efb5c9482027aac7098d1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55252, "upload_time": "2010-05-15T12:03:06", "url": "https://files.pythonhosted.org/packages/18/62/abf0d99b672cc5b8189b21b60b8c827b8277c471ae08b254433baba2b308/mr.developer-1.14.zip" } ], "1.15": [ { "comment_text": "", "digests": { "md5": "fc74e1abed6c7a296907e550a46aa56a", "sha256": "fe33d97b0ad3aa29c422d9af333d294971e2df4bb6fe1309ab6dbc9f1f77d7e7" }, "downloads": -1, "filename": "mr.developer-1.15.zip", "has_sig": false, "md5_digest": "fc74e1abed6c7a296907e550a46aa56a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55916, "upload_time": "2010-07-25T13:43:03", "url": "https://files.pythonhosted.org/packages/83/39/abba4cc9d9c347df682332143dc2da48cc6f9dee22732fa3349f5d1276fd/mr.developer-1.15.zip" } ], "1.16": [ { "comment_text": "", "digests": { "md5": "d50c3aef83cb5adff9f4ab22f45b478a", "sha256": "b0b4acea692509634b1ca7437567c76a33439f83addda3849082472e6fb1b40c" }, "downloads": -1, "filename": "mr.developer-1.16.zip", "has_sig": false, "md5_digest": "d50c3aef83cb5adff9f4ab22f45b478a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56959, "upload_time": "2010-09-16T11:42:29", "url": "https://files.pythonhosted.org/packages/c4/82/897b241dab9c25b9b1c15757c24b2fe3449b5d786b5fc57f77ab59590da8/mr.developer-1.16.zip" } ], "1.17": [ { "comment_text": "", "digests": { "md5": "1883fbc1c233370d9e853028cb3b1362", "sha256": "1a2202dcb1f75e93f602f2a45dede8ab9aa3c72cc4c9d970e875310a35bf24bc" }, "downloads": -1, "filename": "mr.developer-1.17.zip", "has_sig": false, "md5_digest": "1883fbc1c233370d9e853028cb3b1362", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58963, "upload_time": "2011-01-26T15:13:23", "url": "https://files.pythonhosted.org/packages/62/cd/ba864a86986b1a8985ba6e43a4e5ab42c4e4ac712d67003ca6c2c0d12675/mr.developer-1.17.zip" } ], "1.18": [ { "comment_text": "", "digests": { "md5": "bfaae9e1da201eee6c5fa499a9c3023b", "sha256": "601fe78408561a5dacc810e59db8246979fabe2cbe88ede3b8aff319c137bea4" }, "downloads": -1, "filename": "mr.developer-1.18.zip", "has_sig": false, "md5_digest": "bfaae9e1da201eee6c5fa499a9c3023b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59987, "upload_time": "2011-08-16T10:57:36", "url": "https://files.pythonhosted.org/packages/af/e3/98d326262dbaf912cd08e00c8a6360f435a59267d87098da80c5d86ffae4/mr.developer-1.18.zip" } ], "1.19": [ { "comment_text": "", "digests": { "md5": "24377393aa0460ab3ba6e1d0d9d4206a", "sha256": "d3f6cb5c1cc263f49362f2f56c57a3fa09fd59c10fa7214c16bf0c4b69c780d4" }, "downloads": -1, "filename": "mr.developer-1.19.zip", "has_sig": false, "md5_digest": "24377393aa0460ab3ba6e1d0d9d4206a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60708, "upload_time": "2011-09-22T13:49:22", "url": "https://files.pythonhosted.org/packages/52/d1/ef61ec0c85acda1b143408c96ce2732608d18987a351dfb6c771f2c716f2/mr.developer-1.19.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "fac6e6ea98ecbf078c539378de7de1fe", "sha256": "f7690a681d49b6273ebb9691d88b7aad86453c7633982a152c989141e50e4e30" }, "downloads": -1, "filename": "mr.developer-1.2.zip", "has_sig": false, "md5_digest": "fac6e6ea98ecbf078c539378de7de1fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29232, "upload_time": "2009-11-12T18:17:59", "url": "https://files.pythonhosted.org/packages/32/32/fc6ce091d00be6af805883ebddb94a5754951be4151c227e231c223b5dd8/mr.developer-1.2.zip" } ], "1.20": [ { "comment_text": "", "digests": { "md5": "3e8d9296b47b666b7f2d187671aca5a6", "sha256": "73b638219726f5f63e581f229ea80f26a45850ba79868ac65121caa1bd7cb050" }, "downloads": -1, "filename": "mr.developer-1.20.zip", "has_sig": false, "md5_digest": "3e8d9296b47b666b7f2d187671aca5a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62631, "upload_time": "2012-02-26T13:11:57", "url": "https://files.pythonhosted.org/packages/8d/f3/8cccdb28bb9ebe24cbfda64b6fff8db78427c2837a2f5d368b0c3632d054/mr.developer-1.20.zip" } ], "1.21": [ { "comment_text": "", "digests": { "md5": "5f832f1709714b09cd7490603afd2365", "sha256": "86840344b61ee030eebfa47fb3573e9e9b717618980bd0c70a7534b27dae8513" }, "downloads": -1, "filename": "mr.developer-1.21.zip", "has_sig": false, "md5_digest": "5f832f1709714b09cd7490603afd2365", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63778, "upload_time": "2012-04-11T20:21:21", "url": "https://files.pythonhosted.org/packages/8e/9f/47190203dc0218dc84aac8dcccd55a9bbc39900e32d16a37ae9b294705bf/mr.developer-1.21.zip" } ], "1.22": [ { "comment_text": "", "digests": { "md5": "6f52169fca14bf3eeb520377885a3d42", "sha256": "c1d64caada78c2480f521ea99dda028490707fb33192457836fa17e58550d908" }, "downloads": -1, "filename": "mr.developer-1.22.zip", "has_sig": false, "md5_digest": "6f52169fca14bf3eeb520377885a3d42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69114, "upload_time": "2012-10-13T15:27:44", "url": "https://files.pythonhosted.org/packages/d9/89/2d21a147f4b24b65cc66565a794166a3fb6c3167c82d6234f0014d83c8f8/mr.developer-1.22.zip" } ], "1.23": [ { "comment_text": "", "digests": { "md5": "c84c183e8a3385b9db1beeae318e26dd", "sha256": "93b4dcc7c52bb7ed4373517b21e5f9339f32c1a2d23e86bca506b302fbc5de5f" }, "downloads": -1, "filename": "mr.developer-1.23.zip", "has_sig": false, "md5_digest": "c84c183e8a3385b9db1beeae318e26dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78944, "upload_time": "2012-11-28T17:23:58", "url": "https://files.pythonhosted.org/packages/7e/38/d5d3a565cf16c7705508bda14bb082359c06e9803c787943a3f042879d55/mr.developer-1.23.zip" } ], "1.24": [ { "comment_text": "", "digests": { "md5": "4037add49aeca2fe63e335aab0dd146b", "sha256": "c9a5caa28cf6fd06a66f82868e0228fe138983e99fd0c36568fbad65f19b0be0" }, "downloads": -1, "filename": "mr.developer-1.24.zip", "has_sig": false, "md5_digest": "4037add49aeca2fe63e335aab0dd146b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81531, "upload_time": "2013-01-29T12:51:08", "url": "https://files.pythonhosted.org/packages/dc/bd/d37c9c86af12988300286aa197c34d3748fc848dc4dbca0b334e3b248634/mr.developer-1.24.zip" } ], "1.25": [ { "comment_text": "", "digests": { "md5": "e91b865767a894a5164badb90d70dfaf", "sha256": "f2fd9afc9f1dfea2667f15b22e6e452230d79229b5dc80f37731c5afefb671f9" }, "downloads": -1, "filename": "mr.developer-1.25.zip", "has_sig": false, "md5_digest": "e91b865767a894a5164badb90d70dfaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91128, "upload_time": "2013-03-15T21:51:19", "url": "https://files.pythonhosted.org/packages/da/62/ad7490f0e2d5d3253aceba682b3c8e73b70fdf0fef3322d39a3d0f32c333/mr.developer-1.25.zip" } ], "1.26": [ { "comment_text": "", "digests": { "md5": "7605de8ee729a552e951c4c28d3202e8", "sha256": "205d25bb893a7bfcc05731b0f93a7d011eac79b8724a3688846bf90c5721ec7d" }, "downloads": -1, "filename": "mr.developer-1.26.zip", "has_sig": false, "md5_digest": "7605de8ee729a552e951c4c28d3202e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90781, "upload_time": "2013-09-10T11:49:10", "url": "https://files.pythonhosted.org/packages/78/0c/264d07a7aa4fb11b3522361063e76cc092f0b0496a558c7cbbdd61c1ad49/mr.developer-1.26.zip" } ], "1.27": [ { "comment_text": "", "digests": { "md5": "e98d50710f406350db1c94bead20bccf", "sha256": "aafb141cefbb76cd7f9b619a0ef854dd98d49fcccef6c130dc72b1dccdbf7ccd" }, "downloads": -1, "filename": "mr.developer-1.27.zip", "has_sig": false, "md5_digest": "e98d50710f406350db1c94bead20bccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91159, "upload_time": "2014-01-10T13:22:14", "url": "https://files.pythonhosted.org/packages/4d/37/f9e0f3c8c89e1793f9a22cfa737b91f3a966249c1464637df377c4d6a3a5/mr.developer-1.27.zip" } ], "1.28": [ { "comment_text": "", "digests": { "md5": "8621558e0b36eb183570d2fd7cb5e4fe", "sha256": "fc47cefa4c3df246d871a01a2a1d1459aba65061e24e0b7eb8b228cf8b45fc43" }, "downloads": -1, "filename": "mr.developer-1.28.zip", "has_sig": false, "md5_digest": "8621558e0b36eb183570d2fd7cb5e4fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91296, "upload_time": "2014-01-23T11:27:31", "url": "https://files.pythonhosted.org/packages/83/f9/10ec34bb3aab7dd11af5041cea12b690ddbbca8121e6eb1285755222aa37/mr.developer-1.28.zip" } ], "1.29": [ { "comment_text": "", "digests": { "md5": "80c740d441939ded10c7ccf796fb3b56", "sha256": "db7732c733310193dfabc36dd74e7d30d9332cb21e179fceee8a2a4aa615875e" }, "downloads": -1, "filename": "mr.developer-1.29.zip", "has_sig": false, "md5_digest": "80c740d441939ded10c7ccf796fb3b56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91454, "upload_time": "2014-03-14T14:46:27", "url": "https://files.pythonhosted.org/packages/a9/bb/da7b8cc2bc5c185177723fc7e6a518df1fd3db12d36d445e788f43a1665b/mr.developer-1.29.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "8f59a5a73ffd83aecdc1a5fc5d33a0ea", "sha256": "c82154091181155a70aa10adb5784062cf850876baa5a18b4ec3d446cd0b165a" }, "downloads": -1, "filename": "mr.developer-1.3.zip", "has_sig": false, "md5_digest": "8f59a5a73ffd83aecdc1a5fc5d33a0ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33970, "upload_time": "2009-11-15T17:07:40", "url": "https://files.pythonhosted.org/packages/85/13/55d234fd57c1d81582988fefa0ff56f51413b3e8532d239e4097238796e9/mr.developer-1.3.zip" } ], "1.30": [ { "comment_text": "", "digests": { "md5": "d8d54637e0078f127aa8dde353adeb6d", "sha256": "93ee32088b1bd5eb3e9412b53b0aa461a550e2489a3af3a5e53a30d572d520fa" }, "downloads": -1, "filename": "mr.developer-1.30.zip", "has_sig": false, "md5_digest": "d8d54637e0078f127aa8dde353adeb6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91710, "upload_time": "2014-03-14T17:06:28", "url": "https://files.pythonhosted.org/packages/8d/df/69f71c7c8f979843492c752d7ecba24ce9793e514faa7fe9e64f46315820/mr.developer-1.30.zip" } ], "1.31": [ { "comment_text": "", "digests": { "md5": "e6897b7c3bd03b4655e540a6751dc93c", "sha256": "3608b3c1230ae7159b8eef3f07a22d1702bc2314a05c33255a0d9a362e9ce183" }, "downloads": -1, "filename": "mr.developer-1.31.zip", "has_sig": false, "md5_digest": "e6897b7c3bd03b4655e540a6751dc93c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98841, "upload_time": "2014-10-29T13:18:33", "url": "https://files.pythonhosted.org/packages/79/47/2d67bcb793ed40e4268dc7cd75f720cd67c7b2520fa765c00f4569db5096/mr.developer-1.31.zip" } ], "1.32": [ { "comment_text": "", "digests": { "md5": "e653499a830d8c1bd6f2818a5fb26566", "sha256": "1f7c6aa35b879b0f4f3b4c3de9e0fa9bbb9434bc32893d37cb58a83456805fe1" }, "downloads": -1, "filename": "mr.developer-1.32.tar.gz", "has_sig": false, "md5_digest": "e653499a830d8c1bd6f2818a5fb26566", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80538, "upload_time": "2015-05-23T14:10:04", "url": "https://files.pythonhosted.org/packages/a0/4b/156e18ece220eb9427f37aae8d19e80c586e05ad799ee2710026efb2a6b3/mr.developer-1.32.tar.gz" }, { "comment_text": "", "digests": { "md5": "5cdf976e3c81998dcd060d9161fbc1f8", "sha256": "a2c4ff78eceeb050f923121c81e4ad1f0f3392dbc2429e9ab299d45f7a831164" }, "downloads": -1, "filename": "mr.developer-1.32.zip", "has_sig": false, "md5_digest": "5cdf976e3c81998dcd060d9161fbc1f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106653, "upload_time": "2015-05-23T14:10:00", "url": "https://files.pythonhosted.org/packages/bb/c6/a74fbe9a20a911ec1fe184c67c056c07455becc5b6935d33c5aad286a284/mr.developer-1.32.zip" } ], "1.33": [ { "comment_text": "", "digests": { "md5": "8afa97cebf5cf8fe48813f99a9ff9804", "sha256": "807a08cfba0ea0f5341c86c5ec71e7fde96210e7d411973402482542b0054a20" }, "downloads": -1, "filename": "mr.developer-1.33.tar.gz", "has_sig": false, "md5_digest": "8afa97cebf5cf8fe48813f99a9ff9804", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80597, "upload_time": "2015-05-25T10:18:28", "url": "https://files.pythonhosted.org/packages/6b/b2/e1fa1d328e0da1b2204ce4a81e99b5dfbbd71421cd481cecac44849a3bee/mr.developer-1.33.tar.gz" }, { "comment_text": "", "digests": { "md5": "c401f4f5c1880d5e1b209510f92a3fc6", "sha256": "2280880735af3446415a4c63a8626727e68542598e30ab66f83cd9484fcbe0f5" }, "downloads": -1, "filename": "mr.developer-1.33.zip", "has_sig": false, "md5_digest": "c401f4f5c1880d5e1b209510f92a3fc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106746, "upload_time": "2015-05-25T10:18:23", "url": "https://files.pythonhosted.org/packages/21/4a/372cc4feccdbfa0fb176e76e702e51b05d5075de378ed3633d9aaead2337/mr.developer-1.33.zip" } ], "1.34": [ { "comment_text": "", "digests": { "md5": "777cbb348322a5b0b1c64a474afd99ed", "sha256": "49a346f3614e4d5837d6edb684f8dbb6a2fcd6cc69d1e8cc11b7704c56199a57" }, "downloads": -1, "filename": "mr.developer-1.34.tar.gz", "has_sig": false, "md5_digest": "777cbb348322a5b0b1c64a474afd99ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80682, "upload_time": "2015-09-30T09:34:57", "url": "https://files.pythonhosted.org/packages/35/fc/e69569cd2ddbeab979f24714c4bb7c0287a5d4fd42ac6978d2d8a5323308/mr.developer-1.34.tar.gz" }, { "comment_text": "", "digests": { "md5": "a73f7ca2f144a7e2e25eb79d3d106a7d", "sha256": "8dff0f2a7070817bf70f632e75755fefa3fa1d7b21ff06da1768a71bb645f006" }, "downloads": -1, "filename": "mr.developer-1.34.zip", "has_sig": false, "md5_digest": "a73f7ca2f144a7e2e25eb79d3d106a7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98901, "upload_time": "2015-09-30T09:34:51", "url": "https://files.pythonhosted.org/packages/45/9e/9de5838e46b4354266cc5945b688caf807dc9cc9e356a1e7eea5f74d776a/mr.developer-1.34.zip" } ], "1.35": [ { "comment_text": "", "digests": { "md5": "d84afecd22ab828eb35b361fb9e14bb2", "sha256": "03264bee52e07a549105d8ba79a092a7122a1c4158c1ec1ed0707eb384e8bb8f" }, "downloads": -1, "filename": "mr.developer-1.35-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d84afecd22ab828eb35b361fb9e14bb2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 76146, "upload_time": "2017-02-01T12:13:20", "url": "https://files.pythonhosted.org/packages/6e/10/b082c83ff0449f1cf7aacf2f9a4a64bfde7fa9199e6c94f4e4e7595adcd6/mr.developer-1.35-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51f8369a924264118daddc0bfddd8679", "sha256": "fc5742f07d9e449be0db4bcfe3a7c0d1626cf7f0eaf3d22ee88e668ef0392bf4" }, "downloads": -1, "filename": "mr.developer-1.35.tar.gz", "has_sig": false, "md5_digest": "51f8369a924264118daddc0bfddd8679", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77898, "upload_time": "2017-02-01T12:13:22", "url": "https://files.pythonhosted.org/packages/71/5b/73b9ff2292c39d8d5f57bbaf8bd2bc694a9cdc94164db8570fc0c88df6e7/mr.developer-1.35.tar.gz" } ], "1.36": [ { "comment_text": "", "digests": { "md5": "331a3d5e8f4b674ddb105f839f00438a", "sha256": "2ed0aacbd2858dbd6ae16add011646659bed910131e6af0d1c33cb92f989bde9" }, "downloads": -1, "filename": "mr.developer-1.36.tar.gz", "has_sig": false, "md5_digest": "331a3d5e8f4b674ddb105f839f00438a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78235, "upload_time": "2017-03-01T14:05:51", "url": "https://files.pythonhosted.org/packages/8f/82/5e307755ebeddf5233d05e7e6897fa35de22fc18f3722d7f795c47a01562/mr.developer-1.36.tar.gz" } ], "1.37": [ { "comment_text": "", "digests": { "md5": "f9541928375f140e2ff185b11a9677ad", "sha256": "3569a1181f1dd4f41295e893732cd0eb281cf9a8d25a36b465e096e3c22acafd" }, "downloads": -1, "filename": "mr.developer-1.37-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f9541928375f140e2ff185b11a9677ad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 76615, "upload_time": "2017-03-04T15:37:25", "url": "https://files.pythonhosted.org/packages/ee/b3/b5040611e7ca8fd01612097da2d57f672b3c71645e1c307d532dda0c48d5/mr.developer-1.37-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3e699a68cd2946e4f829f2e4484adeb", "sha256": "9336330ce2341a536a6c51bdc11228b0645bdaec7c2b4fc9615563c2889fed52" }, "downloads": -1, "filename": "mr.developer-1.37.tar.gz", "has_sig": false, "md5_digest": "e3e699a68cd2946e4f829f2e4484adeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78467, "upload_time": "2017-03-04T15:37:23", "url": "https://files.pythonhosted.org/packages/6a/c5/5387ae26c23e1cce012c2794cd9fe3757e15d16292c0c0f7a4f3ab885fa0/mr.developer-1.37.tar.gz" } ], "1.37b1": [ { "comment_text": "", "digests": { "md5": "01aa40dd066a0afb140ba75eb155742d", "sha256": "9567342566c17d2ad3ca2169eebf4abda59effd2d8b360a650e93dcd2b3dc419" }, "downloads": -1, "filename": "mr.developer-1.37b1.zip", "has_sig": false, "md5_digest": "01aa40dd066a0afb140ba75eb155742d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99841, "upload_time": "2017-03-04T14:41:18", "url": "https://files.pythonhosted.org/packages/e1/4f/7fbd0c308b212a0e66755102e9cb944061d723f289e4561d8aee1e90a91d/mr.developer-1.37b1.zip" } ], "1.38": [ { "comment_text": "", "digests": { "md5": "c3cde9c1e0063418491d7af92f866758", "sha256": "8e6799bfbddbb9b60cc6a1acd3c2666336d8f8e6b923e3aa7c5e034c7d63447f" }, "downloads": -1, "filename": "mr.developer-1.38-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3cde9c1e0063418491d7af92f866758", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 75581, "upload_time": "2017-03-17T08:30:02", "url": "https://files.pythonhosted.org/packages/c2/fa/2f4f2663d2e0c6d205e97eb7a232d9deb02021cf2c6352b2fa834a8a51f0/mr.developer-1.38-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bffc800578cb5c75cfd8b17b4403368f", "sha256": "60e531f2f8214aa60eba11fb826bc45c42fb06809e801ab6080a80e866fccad9" }, "downloads": -1, "filename": "mr.developer-1.38.tar.gz", "has_sig": false, "md5_digest": "bffc800578cb5c75cfd8b17b4403368f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78513, "upload_time": "2017-03-17T08:30:05", "url": "https://files.pythonhosted.org/packages/c3/6b/11b99b420f6b48dc2e9898b7dfca9bf3774507028a25b59527da2861407f/mr.developer-1.38.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "4f1c0e12d01e3464cbb10e1f960d1998", "sha256": "e4b4554f22dde17bcde7b18e1fc40a238be4ca8b5d4208ce1be1fe97db10c3ba" }, "downloads": -1, "filename": "mr.developer-1.4.zip", "has_sig": false, "md5_digest": "4f1c0e12d01e3464cbb10e1f960d1998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35792, "upload_time": "2009-11-16T19:13:01", "url": "https://files.pythonhosted.org/packages/2d/e1/5d7119d00736ce862af7e4465bf67eb1c8b134a9bbcfe5ce43d2344ce10c/mr.developer-1.4.zip" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "ae8d51936a4dadd2afb01071ca2333fc", "sha256": "a4503b4da4a195f9e670f7f36a70c73fa3f7bfc9256c41e17aaebc8d89a4a2b6" }, "downloads": -1, "filename": "mr.developer-1.5.zip", "has_sig": false, "md5_digest": "ae8d51936a4dadd2afb01071ca2333fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38916, "upload_time": "2009-11-19T19:30:02", "url": "https://files.pythonhosted.org/packages/94/91/a2a3083a7e7c1c89c36664a7ce0333edd409ab6164080aa98deb91a5e259/mr.developer-1.5.zip" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "921f2f2bbec9e0b38ea92ccff823de33", "sha256": "800fff987fddeadf6f3d36d07239ee8fd239839d55a686bc70ca6b6bda62372e" }, "downloads": -1, "filename": "mr.developer-1.6.zip", "has_sig": false, "md5_digest": "921f2f2bbec9e0b38ea92ccff823de33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40836, "upload_time": "2009-11-21T10:54:22", "url": "https://files.pythonhosted.org/packages/55/96/cde5434eb27a3fe99f302166958edadfbd061715c69db54e7038a62c2c05/mr.developer-1.6.zip" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "0a8ce3b47c72d8e9969e8a58d321e8c8", "sha256": "abbda4d247741e9ba1115b70927930b5afa665f03c4bd5c0e3688590c4ca2f6a" }, "downloads": -1, "filename": "mr.developer-1.7.zip", "has_sig": false, "md5_digest": "0a8ce3b47c72d8e9969e8a58d321e8c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40946, "upload_time": "2009-11-26T17:58:09", "url": "https://files.pythonhosted.org/packages/4c/91/4387fec93c466a0017897d2be14a63f59f13fbabd630184764815f81d926/mr.developer-1.7.zip" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "535a486c89f164a2234d86671457397b", "sha256": "c4890c59c27febfc5e84477b4bb2eec864c9dc26000e58c11f8b630b536047b1" }, "downloads": -1, "filename": "mr.developer-1.8.zip", "has_sig": false, "md5_digest": "535a486c89f164a2234d86671457397b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45834, "upload_time": "2010-01-10T19:39:17", "url": "https://files.pythonhosted.org/packages/5f/14/76a715b5a2e8e9c1ba42acc55253cb00aa86fd365736164e15d462803b42/mr.developer-1.8.zip" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "05532cb6e60db090b2e15e72991c5011", "sha256": "72ba275d8f7d100d260ff71c077747bc2a5d9beca7d0183b92a0e600acaad2d0" }, "downloads": -1, "filename": "mr.developer-1.9.zip", "has_sig": false, "md5_digest": "05532cb6e60db090b2e15e72991c5011", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46317, "upload_time": "2010-01-11T21:36:59", "url": "https://files.pythonhosted.org/packages/b1/aa/ef3b565d85675e2b2550c97e5126445b7b252847f3b8274303ea85cac2aa/mr.developer-1.9.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "f395a2915d6c881bdd0368a112bd0165", "sha256": "c9b44bd8151a57ca102d1c687b9261536bc4892aa73e44b7cccbc0058a6db0c7" }, "downloads": -1, "filename": "mr.developer-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f395a2915d6c881bdd0368a112bd0165", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 60550, "upload_time": "2019-03-04T09:18:55", "url": "https://files.pythonhosted.org/packages/ef/94/733be9c620821ca981b2f51863568c52b89289c725e07622099005bbc872/mr.developer-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "461e1c867ba1f2de7ec9c0ae566c1ff4", "sha256": "76e5db1b7d8a4a324049d7529c02312dc2b6b267b5113ab326d112bdd71cf445" }, "downloads": -1, "filename": "mr.developer-2.0.0.tar.gz", "has_sig": false, "md5_digest": "461e1c867ba1f2de7ec9c0ae566c1ff4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 79312, "upload_time": "2019-03-04T09:18:52", "url": "https://files.pythonhosted.org/packages/bb/0a/d137bbc08b23ebcb788102e01d8cdad5f37191dac5981b256e968982f08e/mr.developer-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f395a2915d6c881bdd0368a112bd0165", "sha256": "c9b44bd8151a57ca102d1c687b9261536bc4892aa73e44b7cccbc0058a6db0c7" }, "downloads": -1, "filename": "mr.developer-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f395a2915d6c881bdd0368a112bd0165", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 60550, "upload_time": "2019-03-04T09:18:55", "url": "https://files.pythonhosted.org/packages/ef/94/733be9c620821ca981b2f51863568c52b89289c725e07622099005bbc872/mr.developer-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "461e1c867ba1f2de7ec9c0ae566c1ff4", "sha256": "76e5db1b7d8a4a324049d7529c02312dc2b6b267b5113ab326d112bdd71cf445" }, "downloads": -1, "filename": "mr.developer-2.0.0.tar.gz", "has_sig": false, "md5_digest": "461e1c867ba1f2de7ec9c0ae566c1ff4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 79312, "upload_time": "2019-03-04T09:18:52", "url": "https://files.pythonhosted.org/packages/bb/0a/d137bbc08b23ebcb788102e01d8cdad5f37191dac5981b256e968982f08e/mr.developer-2.0.0.tar.gz" } ] }