81: TDD with flit

In the last episode, we talked about going from script to supported package.
I worked on a project called subark and did the packaging with flit.

Today's episode is a continuation where we add new features to a supported package and how to develop and test a flit based package.

Covered:

  • viewing stages of a project with git tags
  • flit support for editable installs
  • flit description entry in pyproject.toml to put README on pypi.
  • development dependencies in pyproject.toml
  • editor layout for optimal TDD-ing
  • test case grouping
  • modifications to traditional TDD that helps me develop faster.

code and command snippets from episode:


For git checkout of versions:

$ git clone https://github.com/okken/submark.git
$ cd submark
$ python3 -m venv venv --prompt submark
$ source ./bin/activate
(submark) $ git checkout v0.1
... etc ...
(submark) $ git checkout v0.7

To grab the latest again:

(submark) $ git checkout master

pyproject.toml change for README to show up on pypi:

[tool.flit.metadata]
...
description-file = "README.md"
...

Adding dev dependencies to pyproject.toml:

[tool.flit.metadata.requires-extra]
test = ["pytest", "pytest-cov", "tox"]

Installing in editable mode (in top level repo directory). works in mac, linux, windows:

(submark) $ flit install --pth-file

or for mac/linux:

(submark) $ flit install -s

Sponsored By:

Support Test & Code: Python Software Testing & Engineering

Links:

Om Podcasten

Topics include automated testing, testing strategy, software engineering practices, packaging, Python, pytest, data science, TDD, continuous integration, and software methodologies. Also anything I think helps make the daily life of a software developer more fun and rewarding. Hosted by Brian Okken.