#470 A Jolting Episode Podcast Por  capa

#470 A Jolting Episode

#470 A Jolting Episode

Ouça grátis

Ver detalhes do programa

Sobre este título

Topics covered in this episode: Better Python tests with inline-snapshotjolt Battery intelligence for your laptopMarkdown code formatting with ruffact - run your GitHub actions locallyExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hostsMichael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)Brian: @brianokken@fosstodon.org / @brianokken.bsky.socialShow: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Better Python tests with inline-snapshot Alex Hall, on Pydantic blogGreat for testing complex data structuresAllows you to write a test like this: from inline_snapshot import snapshot def test_user_creation(): user = create_user(id=123, name="test_user") assert user.dict() == snapshot({}) Then run pytest --inline-snapshot=fixAnd the library updates the test source code to look like this: def test_user_creation(): user = create_user(id=123, name="test_user") assert user.dict() == snapshot({ "id": 123, "name": "test_user", "status": "active" }) Now, when you run the code without “fix” the collected data is used for comparisonAwesome to be able to visually inspect the test data right there in the test code.Projects mentioned inline-snapshotpytest-examplessyrupydirty-equalsexecuting Michael #2: jolt Battery intelligence for your laptop Support for both macOS and LinuxBattery Status — Charge percentage, time remaining, health, and cycle countPower Monitoring — System power draw with CPU/GPU breakdownProcess Tracking — Processes sorted by energy impact with color-coded severityHistorical Graphs — Track battery and power trends over timeThemes — 10+ built-in themes with dark/light auto-detectionBackground Daemon — Collect historical data even when the TUI isn't runningProcess Management — Kill energy-hungry processes directly Brian #3: Markdown code formatting with ruff Suggested by Matthias Schoettleruff can now format code within markdown filesWill format valid Python code in code blocks marked with python, py, python3 or py3.Also recognizes pyi as Python type stub files.Includes the ability to turn off formatting with comment [HTML_REMOVED] , [HTML_REMOVED] blocks.Requires preview mode [tool.ruff.lint] preview = true Michael #4: act - run your GitHub actions locally Run your GitHub Actions locally! Why would you want to do this? Two reasons: Fast Feedback - Rather than having to commit/push every time you want to test out the changes you are making to your .github/workflows/ files (or for any changes to embedded GitHub actions), you can use act to run the actions locally. The environment variables and filesystem are all configured to match what GitHub provides.Local Task Runner - I love make. However, I also hate repeating myself. With act, you can use the GitHub Actions defined in your .github/workflows/ to replace your Makefile!When you run act it reads in your GitHub Actions from .github/workflows/ and determines the set of actions that need to be run. Uses the Docker API to either pull or build the necessary images, as defined in your workflow files and finally determines the execution path based on the dependencies that were defined.Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier.The environment variables and filesystem are all configured to match what GitHub provides. Extras Michael: Winter is coming: Frozendict acceptedDjango ORM stand-aloneCommand Book app announcement post Joke: Plug ‘n Paste
Ainda não há avaliações