Metadata-Version: 2.1
Name: iterfilesystem
Version: 0.1.0
Summary: Threaded directory iteration via os.scandir() with progress indicator and resume function.
Home-page: https://github.com/jedie/iterfilesystem
Author: Jens Diemer
Author-email: python@jensdiemer.de
License: GNU General Public License v3
Keywords: iterfilesystem
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6

--------------
IterFilesystem
--------------

Threaded directory iteration via ``os.scandir()`` with progress indicator and resume function.

among other things these packages are used:

* ``UniqueAckQ`` from `persist-queue <https://pypi.org/project/persist-queue/>`_

* progress bar `tqdm <https://pypi.org/project/tqdm/>`_

Requirement:

* Python 3.6 or newer.

* `Pipenv <https://pipenv.readthedocs.io/en/latest/install/#installing-pipenv>`_. Packages and virtual environment manager.

Please: try, fork and contribute! ;)

+--------------------------------------+----------------------------------------------------------+
| |Build Status on travis-ci.org|      | `travis-ci.org/jedie/IterFilesystem`_                    |
+--------------------------------------+----------------------------------------------------------+
| |Build Status on appveyor.com|       | `ci.appveyor.com/project/jedie/IterFilesystem`_          |
+--------------------------------------+----------------------------------------------------------+
| |Coverage Status on codecov.io|      | `codecov.io/gh/jedie/IterFilesystem`_                    |
+--------------------------------------+----------------------------------------------------------+
| |Coverage Status on coveralls.io|    | `coveralls.io/r/jedie/IterFilesystem`_                   |
+--------------------------------------+----------------------------------------------------------+
| |Requirements Status on requires.io| | `requires.io/github/jedie/IterFilesystem/requirements/`_ |
+--------------------------------------+----------------------------------------------------------+

.. |Build Status on travis-ci.org| image:: https://travis-ci.org/jedie/IterFilesystem.svg
.. _travis-ci.org/jedie/IterFilesystem: https://travis-ci.org/jedie/IterFilesystem/
.. |Build Status on appveyor.com| image:: https://ci.appveyor.com/api/projects/status/py5sl38ql3xciafc?svg=true
.. _ci.appveyor.com/project/jedie/IterFilesystem: https://ci.appveyor.com/project/jedie/IterFilesystem/history
.. |Coverage Status on codecov.io| image:: https://codecov.io/gh/jedie/IterFilesystem/branch/master/graph/badge.svg
.. _codecov.io/gh/jedie/IterFilesystem: https://codecov.io/gh/jedie/IterFilesystem
.. |Coverage Status on coveralls.io| image:: https://coveralls.io/repos/jedie/IterFilesystem/badge.svg
.. _coveralls.io/r/jedie/IterFilesystem: https://coveralls.io/r/jedie/IterFilesystem
.. |Requirements Status on requires.io| image:: https://requires.io/github/jedie/IterFilesystem/requirements.svg?branch=master
.. _requires.io/github/jedie/IterFilesystem/requirements/: https://requires.io/github/jedie/IterFilesystem/requirements/

-------
Example
-------

Use example CLI, e.g.:

::

    ~$ git clone https://github.com/jedie/IterFilesystem.git
    ~$ cd IterFilesystem
    ~/IterFilesystem$ pipenv install
    ~/IterFilesystem$ pipenv shell
    (IterFilesystem) ~/IterFilesystem$ print_fs_stats --help
    usage: print_fs_stats.py [-h] [-v] [--path PATH]
                             [--skip_dirs [SKIP_DIRS [SKIP_DIRS ...]]]
                             [--skip_filenames [SKIP_FILENAMES [SKIP_FILENAMES ...]]]
                             [--force_restart] [--complete_cleanup]

    Scan filesystem and print some information

    optional arguments:
      -h, --help            show this help message and exit
      -v, --version         show program's version number and exit
      --path PATH           The file path that should be scanned e.g.: "~/foobar/"
                            default is "~"
      --skip_dirs [SKIP_DIRS [SKIP_DIRS ...]]
                            Directory names to exclude from scan.
      --skip_filenames [SKIP_FILENAMES [SKIP_FILENAMES ...]]
                            File names to ignore.
      --force_restart       Don't use resume data: Delete persist queue data
                            before start.
      --complete_cleanup    Delete persist queue after complete scan.

example output looks like this:

::

    (IterFilesystem) ~/IterFilesystem$ $ print_fs_stats --path ~/IterFilesystem --skip_dirs .tox .pytest_cache
    Read/process: '/home/foobar/IterFilesystem'...
    Skip directories:
    	* .tox
    	* .pytest_cache

    [INFO:  61 2019-09-15 12:37:17,973] Save persist queue to: /home/foobar/IterFilesystem/persisted_queue_4Aubn
    [INFO:  37 2019-09-15 12:37:18,252] Skip dir: '.idea'
    [INFO:  37 2019-09-15 12:37:18,252] Skip dir: '.tox'
    [INFO:  37 2019-09-15 12:37:18,270] Skip dir: '.pytest_cache'
    Read filesystem with 83 items in 0.3sec.
    *** all items processed ***: 100%|████████████████████████████████████| 83/83 [00:00<00:00, 85.25it/s]

    total filesystem items: 83
    Finish in.............: 1.0sec.
    File count.....: 73 with 10991860 Bytes
    Directory count: 10
    Other count....: 0

-------
History
-------

* **dev** - `compare v0.1.0...master <https://github.com/jedie/IterFilesystem/compare/v0.1.0...master>`_ 

    * TBC

* 15.09.2019 - `compare v0.0.1...v0.1.0 <https://github.com/jedie/IterFilesystem/compare/v0.0.1...v0.1.0>`_ 

    * add some project meta files and tests

    * setup CI

    * fix tests

* 15.09.2019 - v0.0.1

    * first Release on PyPi

-----
Links
-----

* `https://pypi.python.org/pypi/IterFilesystem/ <https://pypi.python.org/pypi/IterFilesystem/>`_

* `https://github.com/jedie/IterFilesystem/ <https://github.com/jedie/IterFilesystem/>`_

--------
Donating
--------

* `paypal.me/JensDiemer <https://www.paypal.me/JensDiemer>`_

* `Flattr This! <https://flattr.com/submit/auto?uid=jedie&url=https%3A%2F%2Fgithub.com%2Fjedie%2FIterFilesystem%2F>`_

* Send `Bitcoins <http://www.bitcoin.org/>`_ to `1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F <https://blockexplorer.com/address/1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F>`_

