Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.3.241226.0 instead.
Reason given by maintainers: Superseeded by quickfix release.

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!

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

1.3.241226.0

2 files

1.3.241202.1

2 files

1.3.241202.0

2 files

1.3.241103.1

2 files

1.3.241103.0

2 files

1.3.241029.0

2 files

1.2.241017.0

2 files

1.2.241011.0

2 files

1.2.241009.3

2 files

1.2.241009.2

2 files

1.2.241009.1

2 files

1.2.241009.0

2 files

1.2.241008.1

2 files

1.2.241008.0

2 files

1.2.241004.2

2 files

1.2.241004.1

2 files

1.2.241004.0

2 files

1.2.241003.0

2 files

1.2.241001.1

2 files

1.2.241001.0

2 files

1.2.240929.1

2 files

1.2.240929.0

2 files

1.2.240928.1

2 files

1.2.240928.0

2 files

1.1.240928.0

1 file

1.1.240925.0

2 files

1.1.240924.5

2 files

1.1.240924.4

2 files

1.1.240924.3

2 files

1.1.240924.2

2 files

This release

1.1.240924.1 This release

2 files

1.1.240924

2 files

1.1.240923

2 files

1.1.240919

2 files

1.0.240919

3 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