Skip to main content

A library designed to streamline simple operations, loops and contexts.

Reason this release was yanked:

Superseeded by quickfix release.

Project description

Image
Version: 1.1.240924.1 (As in: Main.sub.YYMMDD.rev)
- Library's Documentation
- Author's Github

Installation

This package can be installed using pip in your CLI of choice as:

pip install PlainTools

The PyPi page can be found here.

Introduction

Welcome to the PlainTools library's GitHub repo!

PlainTools is a Python 3 library designed to introduce new features and fix awkward common interactions present in the Python 3 native ecosystem.

Most functions are prefixed with p (as in pt.plist or pt.pround) to avoid homonyms. The p stands for Plain and are the namesake of this package.

Some simple, yet relevant examples using the Plain Number(pt.pnumber) function are:

>>> import PlainTools as pt

>>> print(0.1 * 3)
0.30000000000000004

>>> print(pt.pnumber(0.1 * 3))
0.3 # Deals with float imprecision errors.
؜

>>> print(5 / 3)
1.6666666666666667

>>> print(pt.pnumber("5 / 3"))
1.666... # '...' present only in string format; The true value is still float(5/3).
؜

>>> print(7 / 53)
0.0958904109589041

>>> print(pt.pnumber(7 / 53))
0.095890410958904109589041... # Can detect long chains of repeating decimals!
؜

>>> print(0.9999999999999988)
0.9999999999999988

>>> print(pt.pnumber(0.9999999999999988))
0.9999999999999988 # No loss of precision up to 15 literal digits.
؜

>>> print(0.00000000001 ** 3)
9.999999999999999e-34

>>> print(pt.pnumber(0.00000000001 ** 3))
1e-33 # Corrects scientific-notated float imprecisions as well.
؜

>>> print(pt.pnumber("math.pi")) # A safe variation of 'eval()' is used, as shown below!
3.141592653589793

# https://stackoverflow.com/a/1933463/26469850
>>> print(pt.pnumber("import shutil; shutil.rmtree('/.')")) # Example of malicious use.
PlainTools.SEVAL.UnsafeError: Invalid syntax in expression
؜

Simple, right?

GitHub Repo & Pages is yet WIP!! Thanks for your attention!

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

plaintools-1.1.240924.1.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

plaintools-1.1.240924.1-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file plaintools-1.1.240924.1.tar.gz.

File metadata

  • Download URL: plaintools-1.1.240924.1.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for plaintools-1.1.240924.1.tar.gz
Algorithm Hash digest
SHA256 4c065d10f978be55f2c506d95ddd8a36c39d7e6398e99869476d1970d37c286f
MD5 e79dd75c8a283a0d04147dec57495caf
BLAKE2b-256 1fb80ef66bb3db40858edb80519b8626d1571d725ff22edb9b8e18f9885e08d8

See more details on using hashes here.

File details

Details for the file plaintools-1.1.240924.1-py3-none-any.whl.

File metadata

File hashes

Hashes for plaintools-1.1.240924.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2c491318af6754b6f13a903af2594ebe10b2d7948a05f7453396a82d1f61f64
MD5 a9756e643bed7ad03b535a0226f8895a
BLAKE2b-256 48418efccbd2f30b0c10dea981814c7aaa3c410990e7696efb8313784b1418fb

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