Skip to main content

Crackerjack code formatting style.

Project description

Crackerjack Python

Python: 3.7 Code style: black Code style: crackerjack

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

crackerjack-0.1.7.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

crackerjack-0.1.7-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file crackerjack-0.1.7.tar.gz.

File metadata

  • Download URL: crackerjack-0.1.7.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.4.7 CPython/3.11.3

File hashes

Hashes for crackerjack-0.1.7.tar.gz
Algorithm Hash digest
SHA256 da8b80d3d123ff79b0046ed7a8b47df9a4129ebf33179fe526d6f0e9e645a9a8
MD5 8331232e3ef4ac9b3cebe89539aa4b78
BLAKE2b-256 b2865779ed31381cb9a2c67c51aef95c5a074c36dba9a62431c8e349fa4bb7d9

See more details on using hashes here.

File details

Details for the file crackerjack-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: crackerjack-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.4.7 CPython/3.11.3

File hashes

Hashes for crackerjack-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 152c1d3cf8a898fbb92eec84c1e9b93a27df7bbe422d09a648d15f170132f37a
MD5 0b1ae79c567708a2d8e207392a7463cd
BLAKE2b-256 5a1845d15ec16e9c23d9522dfbc4af440ab503e0fd54c3b9a59d2fd4e89537c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page