Skip to main content

Two Pi Pies

Nerdyversary

MIT license GitHub repo build badge docs badge tests badge

Small project about finding "nerdy anniversaries". An obvious example would be that after 3.1415... years one could celebrate the $\pi$-th anniversary. The code in this repo finds nice combinations of numbers like $\pi$, $e$, $\phi$ and so on and can construct fractions for the approximation.

Installation

From PyPI

Simply use

$ pip install nerdyversary

to install this package in your environment.

From Source

To install nerdyversary from source, follow these steps below:

  1. Clone the repository

    $ git clone https://github.com/rmnldwg/nerdyversary
    
  2. Create a Virtual Environment (optional, but recommended)

    $ python3 -m venv .venv
    

    You should do this with an installation of Python 3.10 or later. And don't forget to activate the environment with

    $ source .venv/bin/activate
    
  3. Use pip to install

    $ pip install -U pip setuptools setuptools-scm
    $ pip install .
    

Usage

Script

usage: nerdyversary [-h] [-v] [-d SPECIAL_DAY] [-s START] [-e END]
                    [--max-power MAX_POWER] [--factor-lim FACTOR_LIM]
                    [--format FORMAT]

Find beautiful nerdyversaries.

options:
  -h, --help            show this help message and exit
  -v, --version         Show the installed version and exit.
  -d SPECIAL_DAY, --special-day SPECIAL_DAY
                        Date of the special day in ISO format. (default: 2023-01-04)
  -s START, --start START
                        Date when to start with search in ISO format. (default:
                        2023-01-04)
  -e END, --end END     Date when to end the search in ISO format. (default:
                        2024-01-04)
  --max-power MAX_POWER
                        Largest exponent to consider for building the nerdyversaries.
                        (default: 5)
  --factor-lim FACTOR_LIM
                        Largest multiple of a symbol that is accepted. (default: 10)
  --format FORMAT       The output format that will be used by the `tabulate` package.
                        (default: simple)

The FORMAT argument must be one of the strings the tabulate package understands.

An example: The input

$ nerdyversary -d 2012-12-21 -s 2023-01-01 -e 2024-01-01 --format pipe --factor-lim 4 --max-power 3

will yield a markdown table that renders into the following:

Date Days Years Expression
6. Jan 2023 3668 10.04 $\frac{e^{3}}{2}$
24. Feb 2023 3717 10.18 $\frac{5 e^{3}}{\pi^{2}}$
12. Jun 2023 3825 10.47 $4 \phi^{2}$
19. Jun 2023 3832 10.49 $\frac{5 \pi^{3}}{2 e^{2}}$
25. Jul 2023 3868 10.59 $\frac{5 \phi^{3}}{2}$
5. Nov 2023 3971 10.87 $4 e$
12. Nov 2023 3978 10.89 $\frac{3 \pi^{2}}{e}$
14. Dec 2023 4010 10.98 $\frac{3 \pi^{3}}{2 \phi^{3}}$

The symbols here are

  • the golden ratio $\phi \approx 1.618\ldots$
  • the number $\pi \approx 3.1415\ldots$
  • Euler's number $e \approx 2.718\ldots$

When using this package as a library, arbitrary constants may be defined as symbols.

Library API

The API documentation is hosted here.

Release files for nerdyversary 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nerdyversary 0.1.1
File Size Uploaded
nerdyversary-0.1.1.tar.gz 292.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nerdyversary 0.1.1
File Interpreter ABI Platform
nerdyversary-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 299.4 kB

Release files / nerdyversary-0.1.1.tar.gz

Download URL nerdyversary-0.1.1.tar.gz
Size 292.2 kB
Tags Source
SHA-256 checksum
How to use checksums
12f68f6d264cd03d8890e01fcddc2eba014523af94f989a0634f21f4b7153702
BLAKE2b-256 checksum
How to use checksums
ef98a5935db547aa79fe06ee9f8ba9ee2ccab13b9bda215987aadd2cde711635
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / nerdyversary-0.1.1-py3-none-any.whl

Download URL nerdyversary-0.1.1-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e312787be55a2b807bfd3cb6a8ae490bf473e267fd0efd8a178b3a603f9b030
BLAKE2b-256 checksum
How to use checksums
d06c37aaed2ca1cde25a99dc68fa244d4f824df2f468c1646d40e5d494d34117
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page