Most recent 240 articles
Dec 2025
Nov 2025
Jan 2024
Dec 2023
Apr 2023
- generativepy.analytics module
- generativepy.geometry3d module
- generativepy.math module
- generativepy.shape2d module
- generativepy.table module
Oct 2022
Sep 2022
- Numpy efficiency
- Using zip in a for loop
- Using enumerate in a for loop
- For loop using range vs iterables
- For loops
- Pong game using Pygame - step 1
Aug 2022
- Creating a PNG image of a formula in generativepy
- itertools module - permutations
- itertools module - cartesian product
- itertools module - combinatoric iterators
Jul 2022
- itertools module - combinations
- Line plot in Matplotlib
- Fitting a line to a scatter plot in Matplotlib
- Scatter plots in Matplotlib
- Stem plots in Matplotlib
- Styling lines and markers with Matplotlib
Jun 2022
- Box plots in Matplotlib
- Histograms in Matplotlib
- Violin plots in Matplotlib
- Data colouring Matplotlib bar charts
- Error bars in Matplotlib
- Multiple line plots in Matplotlib
- Using numpy with Matplotlib
- Saving Matplotlib plots to file
- Creating simple plots with Matplotlib
- RegularPolygon
- Regular polygons in generativepy
- generativepy.color module
- generativepy versions
- Colour schemes in generativepy
May 2022
Apr 2022
Mar 2022
- Pie charts in Matplotlib
- Bar charts in Matplotlib
- Key advantages of NumPy
- Low level code optimisation
- Chain of responsibility pattern
- Path objects in generativepy
- Turtles in generativepy
- Optimisation good practice
Feb 2022
Jan 2022
- AngleMarker
- Paratick
- Tick
- Transform class in generativepy
- Transform
- Images in generativepy
- Complex paths in generativepy
- Composite paths in generativepy
- Text metrics in generativepy
- Text offset in generativepy
- Text in generativepy
Dec 2021
- Fill styles in generativepy
- Stroke styles in generativepy
- Bezier curves in generativepy
- itertools module - general iterators
Nov 2021
- Circles and ellipses in generativepy
- Linear gradients in generativepy
- Colour interpolation in generativepy
- Colour properties in generativepy
- Alpha colour in generativepy
- Colour spaces in generativepy
- Derived colour in generativepy
- Creating an SVG file with generativepy
- The setup function in generativepy
- Simple image in generativepy
- Decorator pattern
Oct 2021
- itertools module - infinite iterators
- Calling functions
- Declaring functions
- Behavioural design patterns
- Builder pattern
- Creational design patterns
- Structural design patterns
Sep 2021
Aug 2021
Jul 2021
Jun 2021
- L Systems and Koch curves
- L Systems - creating trees and ferns
- L Systems with generativepy
- Burning ship fractal with generativepy
- Turtle
- Cardioid string art with generativepy
- Chaos game
- Gingerbread man fractal with generativepy
- Coloured Mandelbrot set with generativepy
- Mandelbrot set with generativepy
- King's dream fractal with generativepy
- Coloured tinkerbell fractal with generativepy
- Tinkerbell fractal with generativepy
Apr 2021
- CMYK colour space
- Greyscale colour space
- HSL colour space
- Luminance-chrominance colour spaces
- Colour depth
- Colour spaces
- Light and colour
- RGB colour space
- Exceptions
- Slices
Mar 2021
- Image operations with NumPy
- Image geometric transforms with NumPy and SciPy
- Bouncing ball in pygame
- Sprite animation in pygame
- generativepy.drawing3d module
- Pygame sprite class
Feb 2021
Jan 2021
Nov 2020
Oct 2020
- Path
- Bezier
- Image colour adjustment recipes in Pillow
- Image colour effects recipes in Pillow
- Image resizing recipes in Pillow
- Image transforming recipes in Pillow
- A simple turtle in generativepy
- Polygons in generativepy
- Clip regions in generativepy
- Fill and stroke in generativepy
- Creating GIFs in generativepy
- generativepy.gif module
Sep 2020
Aug 2020
- Device and user space in generativepy.drawing
- Ellipse
- Square
- Triangle
- Arrowhead
- Circle
- Line
- Polygon
- Rectangle
- Text
- generativepy.graph module
- generativepy.tween module
- What is unit testing in Python?
- generativepy.geometry module
- Patterns - special fills
Jul 2020
- generativepy.drawing module
- generativepy.movie module
- Installing generativepy
- List monad
- Maybe monad
- Monads
Jun 2020
May 2020
Mar 2020
- Abstract Data Types - coming soon
- Big-O notation - coming soon
- Dictionaries (data structures) - coming soon
- Streams (data structures) - coming soon
- Arrays (data structures)
- Lists (data structures)
- Named tuples
- Walrus Operator
Feb 2020
- Multidimensional collections
- Cryptography terms
- Fernet system for symmetric encryption
- Recursion and the lru_cache in Python
- Paths and complex shapes in Pycairo
- Operators
Jan 2020
- Flask webserver - adding a detail view
- Flask webserver - adding an About page
- Flask webserver - adding HTML and CSS
Sep 2019
- Bezier curves in Pycairo
- Closures
- Functional design patterns
- Transforms in Pycairo - rotate
- Transforms in Pycairo - scale
- Creating random data in numpy
- Creating numpy arrays from existing data
- Creating data series in numpy
- Creating numpy arrays with fixed values
- Data types
- Functions
- Pure functions
- Map/reduce example
Jan 2019
Oct 2018
Aug 2018
- Built-in functions
- Sequences
- String functions
- Tuples
- Short circuit evaluation
- List comprehensions
- Functions
- CSV files
- Files
- Functions
- More loops
- Strings
Jul 2018
- If statements
- Lists
- Loops
- Programming logic
- Hello, world!
- Using Python as a calculator
- Built-in functions on iterables
Apr 2018
Mar 2018
- Lists vs tuples
- Immutable objects
- Objects and identity
- Generators
- Iterators
- Introduction to Functional Programming
- Global variables
- Looping over selected items
- Changing the loop order
- Looping over multiple items (old article)
Feb 2018
Popular tags
2d arrays abstract data type and angle animation arc array arrays bar chart bar style behavioural pattern bezier curve built-in function callable object chain circle classes close closure cmyk colour combinations comparison operator context context manager conversion count creational pattern data science data types decorator design pattern device space dictionary drawing duck typing efficiency ellipse else encryption enumerate fill filter for loop formula function function composition function plot functools game development generativepy tutorial generator geometry gif global variable greyscale higher order function hsl html image image processing imagesurface immutable object in operator index inner function input installing integer iter iterable iterator itertools join l system lambda function latex len lerp line line plot line style linear gradient linspace list list comprehension logical operator lru_cache magic method mandelbrot mandelbrot set map marker style matplotlib monad mutability named parameter numeric python numpy object open operator optimisation optional parameter or pandas path pattern permutations pie chart pil pillow polygon pong positional parameter print product programming paradigms programming techniques pure function python standard library range recipes rectangle recursion regular polygon repeat rgb rotation roundrect scaling scatter plot scipy sector segment sequence setup shape singleton slicing sound spirograph sprite square str stream string stroke structural pattern symmetric encryption template tex text tinkerbell fractal transform translation transparency triangle truthy value tuple turtle unpacking user space vectorisation webserver website while loop zip zip_longest