Metadata-Version: 2.1
Name: click-pathlib
Version: 2019.12.28.5
Summary: 'A Python click type which is similar to click.Path but returns a pathlib Path'
Home-page: https://github.com/adamtheturtle/click-pathlib
Author: Adam Dangoor
Author-email: adamdangoor@gmail.com
License: Apache License, Version 2.0
Keywords: click
Platform: UNKNOWN
Classifier: Operating System :: POSIX
Classifier: Environment :: Web Environment
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Development Status :: 5 - Production/Stable
Requires-Dist: click (==7.0)
Provides-Extra: dev
Requires-Dist: PyGithub (==1.44.1) ; extra == 'dev'
Requires-Dist: autoflake (==1.3.1) ; extra == 'dev'
Requires-Dist: check-manifest (==0.40) ; extra == 'dev'
Requires-Dist: codecov (==2.0.15) ; extra == 'dev'
Requires-Dist: flake8-commas (==2.0.0) ; extra == 'dev'
Requires-Dist: flake8-quotes (==2.1.1) ; extra == 'dev'
Requires-Dist: flake8 (==3.7.9) ; extra == 'dev'
Requires-Dist: isort (==4.3.21) ; extra == 'dev'
Requires-Dist: mypy (==0.761) ; extra == 'dev'
Requires-Dist: pip-check-reqs (==2.0.3) ; extra == 'dev'
Requires-Dist: pydocstyle (==5.0.1) ; extra == 'dev'
Requires-Dist: pyenchant (==2.0.0) ; extra == 'dev'
Requires-Dist: pylint (==2.4.4) ; extra == 'dev'
Requires-Dist: pyroma (==2.6) ; extra == 'dev'
Requires-Dist: pytest-cov (==2.8.1) ; extra == 'dev'
Requires-Dist: pytest (==5.3.2) ; extra == 'dev'
Requires-Dist: twine (==3.1.1) ; extra == 'dev'
Requires-Dist: vulture (==1.2) ; extra == 'dev'
Requires-Dist: yapf (==0.29.0) ; extra == 'dev'

|Build Status| |codecov| |requirements| |PyPI|

Click Pathlib
=============

A Python ``click`` type which is similar to ``click.Path`` but returns a ``Pathlib.Path``.

.. contents::

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

.. code:: console

   $ pip install click-pathlib

This supports Python 3.8+.

Usage
~~~~~

Use the ``click_pathlib.Path`` just like a click.Path_ type and your function will receive a ``pathlib.Path``.

.. code:: python

   import click
   import click_pathlib

   @click.command('delete')
   @click.argument(
       'existing_file',
       type=click_pathlib.Path(exists=True),
   )
   def delete(existing_file):
       existing_file.unlink()

.. _click.Path: https://click.palletsprojects.com/en/7.x/api/#click.Path

Credits
-------

Thanks to `@jeremyh`_ for describing this solution on GitHub at https://github.com/pallets/click/issues/405#issuecomment-470812067.

Contributing
------------

See `CONTRIBUTING.rst <./CONTRIBUTING.rst>`_.

.. |Build Status| image:: https://travis-ci.com/adamtheturtle/click-pathlib.svg?branch=master
    :target: https://travis-ci.com/adamtheturtle/click-pathlib
.. _@jeremyh: https://github.com/jeremyh
.. |codecov| image:: https://codecov.io/gh/adamtheturtle/click-pathlib/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/adamtheturtle/click-pathlib
.. |requirements| image:: https://requires.io/github/adamtheturtle/click-pathlib/requirements.svg?branch=master
     :target: https://requires.io/github/adamtheturtle/click-pathlib/requirements/?branch=master
     :alt: Requirements Status
.. |PyPI| image:: https://badge.fury.io/py/click-pathlib.svg
    :target: https://badge.fury.io/py/click-pathlib


