Introduction ============ .. image:: https://readthedocs.org/projects/adafruit-circuitpython-pathlib/badge/?version=latest :target: https://docs.circuitpython.org/projects/pathlib/en/latest/ :alt: Documentation Status .. image:: https://raw.githubusercontent.com/adafruit/Adafruit_CircuitPython_Bundle/main/badges/adafruit_discord.svg :target: https://adafru.it/discord :alt: Discord .. image:: https://github.com/adafruit/Adafruit_CircuitPython_Pathlib/workflows/Build%20CI/badge.svg :target: https://github.com/adafruit/Adafruit_CircuitPython_Pathlib/actions :alt: Build Status .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: Code Style: Ruff Subset of the CPython module pathlib Dependencies ============= This driver depends on: * `Adafruit CircuitPython `_ Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading `the Adafruit library and driver bundle `_ or individual libraries can be installed using `circup `_. Installing from PyPI ===================== On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from PyPI `_. To install for current user: .. code-block:: shell pip3 install adafruit-circuitpython-pathlib To install system-wide (this may be required in some cases): .. code-block:: shell sudo pip3 install adafruit-circuitpython-pathlib To install in a virtual environment in your current project: .. code-block:: shell mkdir project-name && cd project-name python3 -m venv .venv source .env/bin/activate pip3 install adafruit-circuitpython-pathlib Installing to a Connected CircuitPython Device with Circup ========================================================== Make sure that you have ``circup`` installed in your Python environment. Install it with the following command if necessary: .. code-block:: shell pip3 install circup With ``circup`` installed and your CircuitPython device connected use the following command to install: .. code-block:: shell circup install adafruit_pathlib Or the following command to update an existing version: .. code-block:: shell circup update Usage Example ============= .. code-block:: python import adafruit_pathlib def print_directory_tree(path: adafruit_pathlib.Path, prefix: str = ""): """Recursively prints an ASCII tree of the given directory.""" if not path.is_dir(): print(f"{path} is not a directory.") return entries = sorted(path.iterdir(), key=lambda x: (not x.is_dir(), x.name.lower())) for index, entry in enumerate(entries): connector = "|-- " if index < len(entries) - 1 else "'-- " print(f"{prefix}{connector}{entry.name}") if entry.is_dir(): extension = "| " if index < len(entries) - 1 else " " print_directory_tree(entry, prefix + extension) dir_path = adafruit_pathlib.Path("/lib") print_directory_tree(dir_path) Documentation ============= API documentation for this library can be found on `Read the Docs `_. For information on building library documentation, please check out `this guide `_. Contributing ============ Contributions are welcome! Please read our `Code of Conduct `_ before contributing to help this project stay welcoming.