Metadata-Version: 2.5
Name: jupyterlab_file_browser_sorting_extension
Version: 1.0.17
Summary: Jupyterlab extension to help with sorting of the files in file browser (i.e. case sensitive sorting)
Project-URL: Homepage, https://github.com/stellarshenson/jupyterlab_file_browser_sorting_extension
Project-URL: Bug Tracker, https://github.com/stellarshenson/jupyterlab_file_browser_sorting_extension/issues
Project-URL: Repository, https://github.com/stellarshenson/jupyterlab_file_browser_sorting_extension.git
Author-email: Stellars Henson <konrad.jelen@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: jupyter,jupyterlab,jupyterlab-extension
Classifier: Framework :: Jupyter
Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Framework :: Jupyter :: JupyterLab :: 4
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Provides-Extra: dev
Requires-Dist: jupyter-builder<2,>=1.2.0; extra == 'dev'
Requires-Dist: jupyterlab<5,>=4.6; extra == 'dev'
Description-Content-Type: text/markdown

# jupyterlab_file_browser_sorting_extension

[![GitHub Actions](https://github.com/stellarshenson/jupyterlab_file_browser_sorting_extension/actions/workflows/build.yml/badge.svg)](https://github.com/stellarshenson/jupyterlab_file_browser_sorting_extension/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@stellarshenson/jupyterlab-file-browser-sorting-extension.svg)](https://www.npmjs.com/package/@stellarshenson/jupyterlab-file-browser-sorting-extension)
[![PyPI version](https://img.shields.io/pypi/v/jupyterlab-file-browser-sorting-extension.svg)](https://pypi.org/project/jupyterlab-file-browser-sorting-extension/)
[![Total PyPI downloads](https://static.pepy.tech/badge/jupyterlab-file-browser-sorting-extension)](https://pepy.tech/project/jupyterlab-file-browser-sorting-extension)
[![JupyterLab 4](https://img.shields.io/badge/JupyterLab-4-orange.svg)](https://jupyterlab.readthedocs.io/en/stable/)
[![Brought To You By KOLOMOLO](https://img.shields.io/badge/Brought%20To%20You%20By-KOLOMOLO-00ffff?style=flat)](https://kolomolo.com)

> [!TIP]
> This extension is part of the [stellars_jupyterlab_extensions](https://github.com/stellarshenson/stellars_jupyterlab_extensions) metapackage. Install all Stellars extensions at once: `pip install stellars_jupyterlab_extensions`

JupyterLab extension that implements LC_COLLATE=C (ASCIIbetical) sorting for the file browser.

## Features

- **LC_COLLATE=C sorting** - Standard Unix sorting order used by `ls` with C locale
- **Dot files first** - Hidden files (starting with `.`) appear before other files
- **Uppercase before lowercase** - Capital letters (A-Z) sort before lowercase (a-z)
- **ASCII order** - Characters sorted by their ASCII code values
- **Toggle via context menu** - Right-click in the file browser to enable/disable

## Usage

Right-click anywhere in the file browser content area and select **"Use Unix-Style Sorting (LC_COLLATE=C)"** to toggle the sorting mode. The setting is persisted across sessions.

When enabled, the extension sorts files using the standard Unix C locale collation sequence:

```
. (dot) -> 0-9 -> A-Z -> _ (underscore) -> a-z
```

**Example sort order:**

```
.hidden
.profile
123file
ABC
Makefile
README
_config
abc
readme
zebra
```

This matches the behavior of `LC_COLLATE=C ls` on Unix systems.

## Requirements

- JupyterLab >= 4.6.0

## Installation

```bash
pip install jupyterlab_file_browser_sorting_extension
```

## Uninstall

```bash
pip uninstall jupyterlab_file_browser_sorting_extension
```
