Metadata-Version: 1.1
Name: cleanmymac
Version: 0.1.17
Summary: A simple utility to clean your mac of old stuff
Home-page: https://github.com/cosminbasca/cleanmymac
Author: Cosmin Basca
Author-email: cosmin.basca@gmail.com
License: Apache
Description: cleanmymac
        ==========
        
        A simple command line tool to clean old stuff from your mac.
        
        documentation
        =============
        
        http://cleanmymac.readthedocs.org/en/latest/
        
        usage
        =====
        
        .. code:: bash
        
            $ cleanmymac -h
            Usage: cleanmymac [OPTIONS] TARGETS
        
              the main **run** method, responsible for creating the parser and executing
              the main logic in **cleanmymac**
        
              :param bool update: perform update of targets (if applicable) :param
                  dry_run: do not execute the actions, but log the result :param quiet:
                  quiet mode (no output), show a progressbar instead :param strict: if set
                  enforce strict(er) rules when validating targets :param list_targets: list
                  the installed targets :param stop_on_error: abort the execution on first
                  error :param config: the configuration path :param targets_path: extra
                  targets paths :param targets: the targets
        
                Options:
                  -L, --log-level LVL      Either CRITICAL, ERROR, WARNING, INFO or DEBUG
                  -u, --update             update the target if applicable
                  -d, --dry_run            describe the actions to be performed, do not
                                           execute them
                  -q, --quiet              run in quiet mode
                  --strict / --no-strict   strict mode: enforce strict(er) rules when
                                           validating targets
                  -l, --list               list registered cleanup targets
                  -s, --stop_on_error      stop execution when first error is detected
                  -c, --config TEXT        specify the configuration path
                  -t, --targets_path PATH  specify extra yaml defined targets path
                  --version                Show the version and exit.
                  -?, -h, --help           Show this message and exit.
        
        
        a typical usage pattern is:
        
        .. code:: bash
        
            $ cleanmymac
        
        or (in quiet mode)
        
        .. code:: bash
        
            $ cleanmymac -q
        
        
        installation
        ============
        
        install from pypi:
        
        .. code-block:: bash
        
            $ pip install cleanmymac
        
        clone the repository locally and issue
        
        .. code:: bash
        
            $ python setup.py install
        
        configuration
        =============
        
        the *cleanmymac* utility accepts a configuration file by specifying the
        *-c* option. If not specified the file is assumed to be at the following
        location **~/.cleanmymac.yaml**
        
        the global configuration can be used (for now) to pass specific env vars
        to shell commands, for example assume that *anaconda* is not in the main
        path:
        
        .. code:: yaml
        
            cleanmymac: {
              targets_path: ['.']
            }
            anaconda: {
              env: {
                PATH: '~/anaconda/bin',
              },
            }
        
        extensibility
        =============
        
        one can add more *cleanup targets* either by installing them as python
        classes registered to the following entry-point: **cleanmymac.target**
        like this (in setup.py):
        
        .. code:: python
        
            entry_points={
                # ....
                'cleanmymac.target': [
                    'my_target_name = my.python.package.MyTargetClass'
                ]
                # ...
            }
        
        alternatively for shell based commands simply create yaml files with the
        following schema:
        
        .. code:: yaml
        
            type: 'cmd'
            spec: {
              update_commands: [
                'brew update',
                'brew outdated | brew upgrade'
              ],
              clean_commands: [
                'brew cleanup'
              ]
            }
        
        or for cleaning up directories (removing all but the latest version):
        
        .. code:: yaml
        
            type: 'dir'
            spec: {
                update_message: 'Get the latest MacTex version from https://www.tug.org/mactex/',
                entries: [
                    {
                        dir: '/usr/local/texlive/',
                        pattern: '\d+'
                    },
                ]
            }
        
        **note**: see the *cleanmymac.builtins* module for more details
        
        and point *cleanmymac* to the folder where the yaml files reside with
        the *-t* command line option
        
        builtin targets
        ===============
        
        to see a list of builtin targets run:
        
        .. code:: bash
        
            $ cleanmymac -l
        
        currently the following are supported:
            * homebrew
            * java jdk
            * mactex
            * anaconda
            * trash
        
        disclaimer
        ==========
        
        I created this utility in the hope that others may find it useful, as I
        found it annoying to always remember how and what to clean from my mac.
        This is work in progress, so use at your own risk!
        
Platform: MacOS
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Utilities
