81: TDD with flit

17/07/2019 25 min Episodio 81
81: TDD with flit

Listen "81: TDD with flit"

Episode Synopsis


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


Links:submark · PyPIsubmark on GitHubThe pyproject.toml config file — Flit 1.3 documentationFlit install — Flit 1.3 documentationTest & Code 80: From Python script to Maintainable Package