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.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25bacaac709ccdb8e7946dc6eadd843ab5b55c146ac173aac6f7116ef8b1ab14 |
|
MD5 | 31f260d9e930ba16f065b3fd3cadb5d3 |
|
BLAKE2b-256 | 87a744bb91ac0f55de371974dd9a4bc06b549b9b2f2952c4fa6926a7af38c92b |