Crackerjack code formatting style.
Project description
Crackerjack Python
Crackerjack is a python coding style which uses a minimalist approach to produce elegant, easy to read, code.
crack·er·jack ˈkra-kər-ˌjak : a person or thing of marked excellence
Why Crackerjack?
Crackerjack works on the theory that with static typing and explicit class, function, variable, and other object names - the code should be straight forward to read and the documentation should pretty much be able to write itself. Crackerjack provides a set of guidelines and utilities to keep the codebase clean, elegant, standardized, and easily readable.
What does this package do?
This package:
-
identifies and removes unused dependencies with creosote
-
reformats the code with Black
-
does import sorting, linting, and complexity analysis with ruff
-
uses pyright for type checking
-
streamlines code with refurb
-
installs, or updates, a project's pre-commit tools and gitignore to comply with evolving crackerjack standards
-
removes pipenv, poetry, and hatch build, dependency management, and virtual environment management packages and replaces them with PDM using PEP 582
-
converts/creates documentation in Markdown (md) - Coming Soon!
-
runs tests and generates pytest mock stubs if needed - Coming Soon!
-
bumps the project version and publishes it to PyPI
What are the rules?
(...more what you'd call "guidelines" than actual rules. -Captain Barbossa )
-
all docstrings, README's, and other documentation is to be done in Markdown (md)
-
format with black
-
use pathlib.Path - not os.path
-
use dataclasses or pydantic models whenever possible
-
force single line imports
-
use PDM and PEP 582 for dependency management and package building/publishing
-
use pdoc and mkdocs for producing documentation
-
use pytest for testing
-
code is statically typed
Installation
From your projects root directory:
pdm add -d crackerjack
Usage
From your projects root directory:
python -m crackerjack
Cracker jack will take care of the rest.
For a full list of options:
python -m crackerjack -h
When you ready to publish your project:
python -m crackerjack -p micro
The -p option not only publishes your project but will bump your project version for you. The options are 'micro', 'minor', and 'major'.
Acknowledgements
License
BSD-3-Clause
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for crackerjack-0.2.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd4d83a5c0511b527763c1c6557ef9a8c6c9ff36c1467fa4009948f08ce61b59 |
|
MD5 | 7fb999e823b2668803b0d4fecd8a22ba |
|
BLAKE2b-256 | f546ca28389deba9094719a88a5a129ab5873d7d8c450b600cbf3786e991ccba |