Skip to main content

Python logger that accepts ** values and prints 'em out.

Project description

splatlog

Python logger that accepts ** values and prints 'em out.

Because I'll forget, and because I know I'll look here when I do...

Usage

# Swap `splatlog` for `logging`
import splatlog

# Get a logger instance same as you would from `logging`
log = splatlog.getLogger(__name__)

# In your `__main__.py` or wherever you get started
splatlog.setup(level="info", console="stderr")

Development

Setup the nix package manager on your machine and run:

nix-shell

That's it, you should be in a shell session with uv, python, dr.t, make, sphinx-build, and everything else you'll need available.

What nix-shell did:

  1. Install uv and enter a shell session with it (and other system dependencies) available
  2. Run uv sync to
    1. Install a compatible Python version
    2. Create a new Python Virtual Environment (venv)
    3. Install package dependencies specified in pyproject.toml from PyPi into the venv
  3. Run source .venv/bin/activate to activate the venv, making the Python packages and executables available

These steps are specified in the shell.nix file.

⁉️ If you do not want to use nix for whatever reason, you should be fine getting uv from your OS package manager or the online installer. Just run uv sync and source .venv/bin/activate and you should be good.

⁉️ If you do not want to use uv for whatever reason, you should — in theory — be able to substitute your favorite Python ecosystem tool that understands the pyproject.toml standard.

Building Docs

cd ./docs && make html

Watching and serving:

cd ./docs && make watch

Running Tests

All of them:

dr.t ./splatlog/**/*.py ./docs/content/**/*.md

Single file, fail-fast, printing header panel (so you can find where they start and end easily during repeated runs):

dr.t -fp <filename>

Publishing

  1. Update the version in pyproject.toml.

  2. Commit, tag vX.Y.Z, push.

  3. Log in to PyPI and go to

    https://pypi.org/manage/account/

    to generate an API token.

  4. Throw poetry at it:

    poetry publish --build --username __token__ --password <token>
    
  5. Bump patch by 1 and append a0, commit and push (now we're on the "alpha" of the next patch version).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splatlog-0.3.5.tar.gz (46.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splatlog-0.3.5-py3-none-any.whl (62.7 kB view details)

Uploaded Python 3

File details

Details for the file splatlog-0.3.5.tar.gz.

File metadata

  • Download URL: splatlog-0.3.5.tar.gz
  • Upload date:
  • Size: 46.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for splatlog-0.3.5.tar.gz
Algorithm Hash digest
SHA256 f6494446a6698a1a9ca56c039d88f61cb4d9393d56cad3f45ec08b8243ab07f5
MD5 9a77cd80570684cbc169176dc10a8f4f
BLAKE2b-256 e4088fae000c973624f872dda4d2b6d7baaeaeea133d295a7b88a6bbd07c20e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for splatlog-0.3.5.tar.gz:

Publisher: python.yml on nrser/splatlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splatlog-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: splatlog-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for splatlog-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 615e4d9d516efe00be0ef34e9e3973a3f73e155c8df7b2591d37d2adbb2ba938
MD5 43ddd6eb32c5d50ec51b89b0df9546a9
BLAKE2b-256 ad5fedfe8864fcb43775e92b86d0f342eadc09f04efe1547019a00402f0db3cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for splatlog-0.3.5-py3-none-any.whl:

Publisher: python.yml on nrser/splatlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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