Most recent 314 articles
Jun 2026
Jan 2026
- Drawing shapes in Pycairo
- Creating data series in numpy
- Basic drawing in Pycairo
- Introduction to Pycairo
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
- Pong game using Pygame - step 3
- Image processing with pillow and NumPy
- Pong game using Pygame - step 2
Sep 2022
- Numpy efficiency
- Other geometry classes
- Using zip in a for loop
- Using enumerate in a for loop
- For loop using range vs iterables
- For loops
- Pong game using Pygame
- Pong game using Pygame - step 1
Aug 2022
- Creating a PNG image of a formula in generativepy
- Formulas in generativepy
- itertools module - permutations
- itertools module - cartesian product
- itertools module - combinatoric iterators
- itertools module
Jul 2022
- Optional module
- 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
- Data colouring for Matplotlib plots
- Showing data distribution in Matplotlib
- Error bars in Matplotlib
- Multiple line plots in Matplotlib
- Styling Matplotlib plots
- Matplotlib data and code
- Using categorical data with Matplotlib
- Creating simple plots with Matplotlib
- Creating quantitative plots with Matplotlib
- Using numpy with Matplotlib
- Saving Matplotlib plots to file
- Creating simple plots with Matplotlib
- RegularPolygon
- Shapes
- Regular polygons in generativepy
- generativepy.color module
- generativepy versions
- Colour schemes in generativepy
- Colour 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
- Transforms in generativepy
- 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
- Fill patterns in generativepy
- Shapes in generativepy
- functools module
- 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
- Creating animated GIFs with Pillow
- Getting started 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
- Grammar based art with generativepy
- Turtle
- Cardioid string art with generativepy
- Chaos game
- Iterated function systems with generativepy
- 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
- Fractals with generativepy
Apr 2021
- CMYK colour space
- Greyscale colour space
- HSL colour space
- Luminance-chrominance colour spaces
- Colour depth
- Colour spaces
- Colour
- 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
- Installing pygame
- Creating a simple pygame window
- Sprites in pygame
Feb 2021
Jan 2021
Nov 2020
- generativepy Frames
- generativepy.nparray module
- generativepy.utils module
- Image sequences in generativepy
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
- Filters in Pillow
- Image enhance recipes in Pillow
- Image operations recipes in Pillow
- Imaging 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
- Geometric art with generativepy
- Ellipse
- Square
- Triangle
- Arrowhead
- Circle
- Line
- Polygon
- Rectangle
- Text
- generativepy.graph module
- generativepy.tween module
- Introduction to unit testing in Python
- What is unit testing in Python?
- generativepy.geometry module
- Patterns - special fills
Jul 2020
- generativepy.drawing module
- generativepy modules
- generativepy.movie module
- Getting started with generativepy
- Installing generativepy
- List monad
- Maybe monad
- Monads
Jun 2020
May 2020
Mar 2020
- Static sites
- Abstract Data Types - coming soon
- Big-O notation - coming soon
- Dictionaries (data structures) - coming soon
- Streams (data structures) - coming soon
- Introduction to computer sound
- Arrays (data structures)
- Introduction to data types
- Lists (data structures)
- Named tuples
- Walrus Operator
Feb 2020
- Multidimensional collections
- Cryptography terms
- Fernet system for symmetric encryption
- Hazmat layer
- Recipes layer
- Cryptography getting started
- Recursion and the lru_cache in Python
- Linear gradients in Pycairo
- 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
- Flask webserver - dynamic pages
- Flask webserver - getting started
- Flask webserver - using a database
Sep 2019
- Bezier curves in Pycairo
- Closures
- Functional design patterns
- Transforms in Pycairo - rotate
- Transforms in Pycairo - scale
- Transforms in Pycairo - translate
- Creating random data in numpy
- Creating numpy arrays from existing data
- Creating numpy arrays with fixed values
- Data types
- Functions
- Functional Programming
- Pure functions
- Map/reduce example
Jan 2019
Oct 2018
- Python programming paradigms
- Object oriented programming
- Transforming iterables
- Magic methods
- Magic methods
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!
- Beginning Python
- Using Python as a calculator
- Intermediate Python
- Built-in functions on iterables
Apr 2018
- Mandelbrot fractal
- Spirographs
- Displaying text in Pycairo
- Flow control
- Lists and tuples
- Expressions and data types
- Python syntax overview
Mar 2018
- Image manipulation recipes in Pillow
- 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
Join the GraphicMaths/PythonInformer Newsletter
Sign up using this form to receive an email when new content is added to the graphpicmaths or pythoninformer websites:
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