For the past few months I’ve been building a personal project called NumClass:
a Python CLI tool that analyzes an integer and classifies it into a large set of number-theory properties.
The idea started as a small experiment inspired by the YouTube channel Numberphile, but it quickly got out of hand and now supports 200+ classifiers.
Examples of things it can detect:
• perfect / abundant / weird numbers
• Mersenne primes and primorial numbers
• amicable, sociable and aspiring numbers (aliquot sequences)
• Carmichael numbers and other pseudoprimes
• narcissistic, Kaprekar and happy numbers
• palindromic and truncatable primes
• taxicab numbers (Hardy–Ramanujan style cube sums)
• Fibonacci, Lucas, Pell and Padovan numbers
• triangular, pentagonal and other figurate numbers
• strange curiosities like Belphegor’s prime, vampire numbers and Munchausen numbers
The current version contains 205 atomic classifiers plus 27 intersections (232 properties in total).
Example output:
[screenshot]
Some features:
• 200+ classifiers
• extensible plugin-like architecture
• configurable profiles (fast vs heavy computations)
• OEIS sequence integration
• support for very large integers (100000 digits by default)
• explanations for each classification