Skip to main content

Package for computing nerdy anniversaries

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nerdyversary-0.1.1.tar.gz (292.2 kB view details)

Uploaded Source

Built Distribution

nerdyversary-0.1.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file nerdyversary-0.1.1.tar.gz.

File metadata

  • Download URL: nerdyversary-0.1.1.tar.gz
  • Upload date:
  • Size: 292.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for nerdyversary-0.1.1.tar.gz
Algorithm Hash digest
SHA256 12f68f6d264cd03d8890e01fcddc2eba014523af94f989a0634f21f4b7153702
MD5 84cebfa7c275556903e2e160451ab255
BLAKE2b-256 ef98a5935db547aa79fe06ee9f8ba9ee2ccab13b9bda215987aadd2cde711635

See more details on using hashes here.

File details

Details for the file nerdyversary-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nerdyversary-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e312787be55a2b807bfd3cb6a8ae490bf473e267fd0efd8a178b3a603f9b030
MD5 db8664799e59d134f62bf23829e17615
BLAKE2b-256 d06c37aaed2ca1cde25a99dc68fa244d4f824df2f468c1646d40e5d494d34117

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page