Metadata-Version: 2.4
Name: funkshway
Version: 2026.5.5
Summary: Improve reading flow by arranging functions and other code blocks.
Project-URL: Source, https://gitlab.com/lfdo/incubator/funkshway
Author-email: David Seaward <72779-lofidevops@users.noreply.gitlab.com>
License-Expression: Apache-2.0
License-File: COPYING
Requires-Python: >=3.12
Requires-Dist: libcst>=1.3.1
Description-Content-Type: text/markdown

# funkshway 🕺

Improve reading flow by arranging functions and other code blocks.

The formatter applies the following prioritized ordering:

- Idiomatic structure (dunders and other conventions)
- Topological order (callers before the helpers they use)
- Lexical order (for a stable, idempotent layout)

Formatting whitespace, ordering imports and other linting rules are **out of scope**.

## Usage

```sh
# Format specific files in-place
funkshway files path/to/file.py [other/files.py ...]

# Recursive mode from current folder
funkshway .

# Log errors but exit with zero
funkshway --relaxed .
```

Unresolvable code blocks will trigger an error, and that file will be skipped.

## Development environment

Initialize with `just bootstrap` (includes linters).
Test with `just test`.

See `just --list` for additional SDLC commands.

New releases are delivered via PyPI Trusted Publishing.

## Sharing and contributions

```txt
funkshway 🕺
https://lofidevops.neocities.org
Copyright 2026 David Seaward and contributors and contributors
SPDX-License-Identifier: Apache-2.0
```

Shared under Apache-2.0. We adhere to the Contributor Covenant 3.0, and certify origin
per DCO 1.1 with a signed-off-by line.
Contributions under the same terms are welcome.

Submit security and conduct issues as private tickets.
Sign commits with `git commit --signoff`. For a software bill of materials run
`reuse spdx`. For more details see CONDUCT, COPYING and CONTRIBUTING.

## Colophon

*Feng shui* is the practice of arranging objects to improve flow.

Built (almost) exclusively with `AGENTS.md`, `specification.toml` and `PLAN.md` for
agent guidance.
