Metadata-Version: 2.4
Name: Jit-Open
Version: 1.0.3
Summary: Just in time open files.
Project-URL: homepage, https://github.com/jfjlaros/jit-open
Author-email: "Jeroen F.J. Laros" <jlaros@fixedpoint.nl>
License-Expression: MIT
License-File: LICENSE
Keywords: JustInTime,bioinformatics,files
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Description-Content-Type: text/x-rst

Just in time open files.
========================

This package provides a way to delay opening files until the something is
written to the file handle. This can be convenient when opening a large number
of files of which most of them will not be frequently used. To deal with
resource limits a queue is used from which, when full, the least frequent file
is closed.


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

The software is distributed via PyPI_, it can be installed with ``pip``:

::

   pip install jit_open

From source
~~~~~~~~~~~

The source is hosted on GitHub_, to install the latest development version, use
the following commands.

::

   git clone https://git.lumc.nl/j.f.j.laros/jit-open
   cd jit_open
   pip install .


Usage
-----

In the following example, only the file ``used.txt`` is created.

.. code:: python

   >>> from jit_open import Handle, Queue
   >>>
   >>> queue = Queue()
   >>> used = Handle("used.txt", queue)
   >>> unused = Handle("unused.txt", queue)
   >>>
   >>> used.write("line 1\n")
   >>> used.write("line 2\n")


Library
-------

The library provides the ``Handle`` and ``Queue`` classes.


.. _PyPI: https://pypi.python.org/pypi/jit-open
.. _GitHub: https://github.com/jfjlaros/jit-open.git
