envelope emoji chat
rocket
heart

Delivering awesome

Tuppl is a software workshop. Crafting each product with love ♥

What we’ve built

Open source

tomlarg

More configurable Python projects.

A drop-in replacement for argparse that treats your config file and your command line as one surface.

  • Zero dependencies
  • Python 3.12+
$ pip install tomlarg
config.toml your CLI, for free generates [db] host = "localhost" --db.host [db.pool] size = 8 --db.pool.size

Defaults come from the file. Types are inferred. Nothing to wire up.

Free resource

cpptricks.com

Bite-sized C++ learning.

A growing collection of C++ patterns and idioms, each one small enough to read in a coffee break. Tagged by standard and difficulty, free, and no signup.

  • C++26
  • Free
  • Learning
Structured Binding C++17Syntactic sugar
// one name per element, no .first / .second
for (const auto& [name, score] : scores)
    std::cout << name << ": " << score;
Delegating Constructor C++11Classes
// one constructor calls another
Vec(float x, float y) : x{x}, y{y} {}
Vec() : Vec(0, 0) {}
Boolalpha C++98IO
std::cout << (1 == 1);              // 1
std::cout << std::boolalpha
          << (1 == 1);              // true
Range-Based For Loop C++11Loops
// no index, no iterator
for (int n : {1, 2, 3})
    std::cout << n << ' ';

Open source

pytest-sources

One test suite for every submission.

A pytest plugin that runs the same tests against many solutions at once — autograding coursework, screening take-homes, checking conformance across implementations.

  • python 3.12+
  • pytest
  • pytest-xdist
$ pip install pytest-sources
source test_addtest_zerotest_neg sources/alice ...sources/bob F..sources/carol ..F

Parallel testing, isolated processes, tabular results. Built on pytest-xdist.