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.
Why Crackerjack?
Crackerjack works on the theory that with static typing and explicit classes, functions, variables, 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
-
uses autotype to add missing type annotations to the code
-
does import sorting, linting, and complexity analysis with ruff
-
uses mypy for type checking
-
streamlines code with refurb
-
converts/creates documentation in Markdown (md)
-
installs, or updates, a projects 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 replace them with PDM using PEP 582
-
generates pytest mock stubs if needed
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.
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'.
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.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f707c2a7b1a06ae4d47d074bcdf673df5be7e97c73ce53eabc007a3422ae517 |
|
MD5 | af3a80d6b10fa285c3b78838859bcfed |
|
BLAKE2b-256 | 895d27e1bf8b4745f70af3232910580525773d2c782732ad7001c8e152232705 |