| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- """Minimal, stdlib-only replacement for [`pyfilesystem2`][1] API for use by `fontTools.ufoLib`.
- This package is a partial reimplementation of the `fs` package by Will McGugan, used under the
- MIT license. See LICENSE.external for details.
- Note this only exports a **subset** of the `pyfilesystem2` API, in particular the modules,
- classes and functions that are currently used directly by `fontTools.ufoLib`.
- It opportunistically tries to import the relevant modules from the upstream `fs` package
- when this is available. Otherwise it falls back to the replacement modules within this package.
- As of version 4.59.0, the `fonttools[ufo]` extra no longer requires the `fs` package, thus
- this `fontTools.misc.filesystem` package is used by default.
- Client code can either replace `import fs` with `from fontTools.misc import filesystem as fs`
- if that happens to work (no guarantee), or they can continue to use `fs` but they will have
- to specify it as an explicit dependency of their project.
- [1]: https://github.com/PyFilesystem/pyfilesystem2
- """
- from __future__ import annotations
- try:
- __import__("fs")
- except ImportError:
- from . import _base as base
- from . import _copy as copy
- from . import _errors as errors
- from . import _info as info
- from . import _osfs as osfs
- from . import _path as path
- from . import _subfs as subfs
- from . import _tempfs as tempfs
- from . import _tools as tools
- from . import _walk as walk
- from . import _zipfs as zipfs
- _haveFS = False
- else:
- import fs.base as base
- import fs.copy as copy
- import fs.errors as errors
- import fs.info as info
- import fs.osfs as osfs
- import fs.path as path
- import fs.subfs as subfs
- import fs.tempfs as tempfs
- import fs.tools as tools
- import fs.walk as walk
- import fs.zipfs as zipfs
- _haveFS = True
- __all__ = [
- "base",
- "copy",
- "errors",
- "info",
- "osfs",
- "path",
- "subfs",
- "tempfs",
- "tools",
- "walk",
- "zipfs",
- ]
|