Skip to main content

Super-fast and clean conversions to numbers.

Project description

https://img.shields.io/pypi/v/fastnumbers.svg https://img.shields.io/pypi/pyversions/fastnumbers.svg https://img.shields.io/pypi/l/fastnumbers.svg https://img.shields.io/travis/SethMMorton/fastnumbers/master.svg?label=travis-ci https://codecov.io/gh/SethMMorton/fastnumbers/branch/master/graph/badge.svg https://api.codacy.com/project/badge/Grade/7221f3d2be3147e9a975d604f1770cfb

Super-fast and clean conversions to numbers.

fastnumbers is a module with the following three objectives (in order of decreasing importance as to why the module was created):

  1. Provide a set of convenience functions that wrap the above int and float replacements and provides easy, concise, powerful, fast and flexible error handling.

  2. Provide a set of functions that can be used to rapidly identify if an input could be converted to int or float.

  3. Provide drop-in replacements for the Python built-in int and float that on average are up to 2x faster. These functions should behave identically to the Python built-ins except for a few specific corner-cases as mentioned in the API documentation for those functions.

    • PLEASE read the quick start for these functions to fully understand the caveats before using them.

NOTICE: As of fastnumbers version 3.0.0, only Python >= 3.5 is supported.

Quick Start

There are three broad categories of functions exposed by fastnumbers. The below quick start will demonstrate each of these categories. The quick start is “by example”, and will show a sample interactive session using the fastnumbers API.

Error-Handling Functions

fast_float will be used to demonstrate the functionality of the fast_* functions.

>>> from fastnumbers import fast_float
>>> # Convert string to a float
>>> fast_float('56.07')
56.07
>>> # Integers are converted to floats
>>> fast_float(54)
54.0
>>>
>>> # Unconvertable string returned as-is by default
>>> fast_float('bad input')
'bad input'
>>> # Unconvertable strings can trigger a default value
>>> fast_float('bad input', default=0)
0
>>> # 'default' is also the first optional positional arg
>>> fast_float('bad input', 0)
0
>>>
>>> # One can ask inf or nan to be substituted with another value
>>> fast_float('nan')
nan
>>> fast_float('nan', nan=0.0)
0.0
>>> fast_float(float('nan'), nan=0.0)
0.0
>>> fast_float('56.07', nan=0.0)
56.07
>>>
>>> # The default built-in float behavior can be triggered with
>>> # "raise_on_invalid" set to True.
>>> fast_float('bad input', raise_on_invalid=True) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
  ...
ValueError: invalid literal for float(): bad input
>>>
>>> # A function can be used to return an alternate value for invalid input
>>> fast_float('bad input', on_fail=len)
9
>>> fast_float(54, on_fail=len)
54.0
>>>
>>> # Single unicode characters can be converted.
>>> fast_float('\u2164')  # Roman numeral 5 (V)
5.0
>>> fast_float('\u2466')  # 7 enclosed in a circle
7.0

fast_int behaves the same as fast_float, but for integers.

>>> from fastnumbers import fast_int
>>> fast_int('1234')
1234
>>> fast_int('\u2466')
7

fast_real is like fast_float or fast_int depending on if there is any fractional component of thi return value.

>>> from fastnumbers import fast_real
>>> fast_real('56')
56
>>> fast_real('56.0')
56
>>> fast_real('56.0', coerce=False)
56.0
>>> fast_real('56.07')
56.07
>>> fast_real(56.07)
56.07
>>> fast_real(56.0)
56
>>> fast_real(56.0, coerce=False)
56.0
>>>
>>>

fast_forceint always returns an integer.

>>> from fastnumbers import fast_forceint
>>> fast_forceint('56')
56
>>> fast_forceint('56.0')
56
>>> fast_forceint('56.07')
56
>>> fast_forceint(56.07)
56

About the on_fail option

The on_fail option is a way for you to do anything in the event that the given input cannot be converted to a number. Here are a couple of ideas to get you thinking.

>>> from fastnumbers import fast_float
>>> # Simple case, send the input through some function to generate a number.
>>> fast_float('invalid input', on_fail=lambda x: float(x.count('i')))  # count the 'i's
3.0
>>>
>>>
>>>
>>> # Suppose we know that our input could either be a number, or if not
>>> # then we know we just have to strip off parens to get to the number
>>> # e.g. the input could be '45' or '(45)'. Also, suppose that if it
>>> # still cannot be converted to a number we want to raise an exception.
>>> def strip_parens_and_try_again(x):
...     return fast_float(x.strip('()'), raise_on_invalid=True)
...
>>> fast_float('45', on_fail=strip_parens_and_try_again)
45.0
>>> fast_float('(45)', on_fail=strip_parens_and_try_again)
45.0
>>> fast_float('invalid input', on_fail=strip_parens_and_try_again) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
  ...
ValueError: invalid literal for float(): invalid input
>>>
>>>
>>>
>>> # Suppose that whenever an invalid input is given, it needs to be
>>> # logged and then a default value is returned.
>>> def log_and_default(x, log_method=print, default=0.0):
...     log_method("The input {!r} is not valid!".format(x))
...     return default
...
>>> fast_float('45', on_fail=log_and_default)
45.0
>>> fast_float('invalid input', on_fail=log_and_default)
The input 'invalid input' is not valid!
0.0
>>> fast_float('invalid input', on_fail=lambda x: log_and_default(x, default=float('nan')))
The input 'invalid input' is not valid!
nan

Checking Functions

isfloat will be used to demonstrate the functionality of the is* functions, as well as the query_type function.

>>> from fastnumbers import isfloat
>>> # Check that a string can be converted to a float
>>> isfloat('56')
True
>>> isfloat('56.07')
True
>>> isfloat('56.07 lb')
False
>>>
>>> # Check if a given number is a float
>>> isfloat(56.07)
True
>>> isfloat(56)
False
>>>
>>> # Specify if only strings or only numbers are allowed
>>> isfloat(56.07, str_only=True)
False
>>> isfloat('56.07', num_only=True)
False
>>>
>>> # Customize handling for nan or inf
>>> isfloat('nan')
False
>>> isfloat('nan', allow_nan=True)
True

isint works the same as isfloat, but for integers.

>>> from fastnumbers import isint
>>> isint('56')
True
>>> isint(56)
True
>>> isint('56.0')
False
>>> isint(56.0)
False

isreal is very permissive - any float or integer is accepted.

>>> from fastnumbers import isreal
>>> isreal('56.0')
True
>>> isreal('56')
True
>>> isreal(56.0)
True
>>> isreal(56)
True

isintlike checks if a number is “int-like”, if it has no fractional component.

>>> from fastnumbers import isintlike
>>> isintlike('56.0')
True
>>> isintlike('56.7')
False
>>> isintlike(56.0)
True
>>> isintlike(56.7)
False

The query_type function can be used if you need to determine if a value is one of many types, rather than whether or not it is one specific type.

>>> from fastnumbers import query_type
>>> query_type('56.0')
<class 'float'>
>>> query_type('56')
<class 'int'>
>>> query_type(56.0)
<class 'float'>
>>> query_type(56)
<class 'int'>
>>> query_type(56.0, coerce=True)
<class 'int'>
>>> query_type('56.0', allowed_types=(float, int))
<class 'float'>
>>> query_type('hey')
<class 'str'>
>>> query_type('hey', allowed_types=(float, int))  # returns None

Drop-in Replacement Functions

PLEASE do not take it for granted that these functions will provide you with a speedup - they may not. Every platform, compiler, and data-set is different, and you should perform a timing test on your system with your data to evaluate if you will see a benefit. As you can see from the data linked in the Timing section, the amount of speedup you will get is particularly data-dependent.

NOTE: in the below examples, we use from fastnumbers import int instead of import fastnumbers. This is because calling fastnumbers.int() is a bit slower than just int() because Python has to first find fastnumbers in your namespace, then find int in the fastnumbers namespace, instead of just finding int in your namespace - this will slow down the function call and defeat the purpose of using fastnumbers. If you do not want to actually shadow the built-in int function, you can do from fastnumbers import int as fn_int or something like that.

>>> # Use is identical to the built-in functions
>>> from fastnumbers import float, int
>>> float('10')
10.0
>>> int('10')
10
>>> float('bad input') #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
  ...
ValueError: invalid literal for float(): bad input

real is is provided to give a float or int depending on the fractional component of the input.

>>> from fastnumbers import real
>>> real('56.0')
56
>>> real('56.7')
56.7
>>> real('56.0', coerce=False)
56.0

Timing

Just how much faster is fastnumbers than a pure python implementation? Please see the following Jupyter notebooks for timing information on various Python versions.

High-Level Algorithm

CPython goes to great lengths to ensure that your string input is converted to a number correctly (you can prove this to yourself by examining the source code for integer conversions and for float conversions), but this extra effort is only needed for very large integers or for floats with many digits or large exponents. For integers, if the result could fit into a C long then a naive algorithm of < 10 lines of C code is sufficient. For floats, if the number does not require high precision or does not have a large exponent (such as “-123.45e6”) then a short naive algorithm is also possible.

These naive algorithms are quite fast, but the performance improvement comes at the expense of being unsafe (no protection against overflow or round-off errors). fastnumbers uses a heuristic to determine if the input can be safely converted with the much faster naive algorithm. These heuristics are extremely conservative - if there is any chance that the naive result would not give exactly the same result as the built-in functions then it will fall back on CPython’s conversionfunction. For this reason, fastnumbers is aways at least as fast as CPython’s built-in float and int functions, and oftentimes is significantly faster because most real-world numbers pass the heuristic.

Installation

Use pip!

$ pip install fastnumbers

How to Run Tests

Please note that fastnumbers is NOT set-up to support python setup.py test.

The recommended way to run tests is with tox. Suppose you want to run tests for Python 3.6 - you can run tests by simply executing the following:

$ tox -e py36

tox will create virtual a virtual environment for your tests and install all the needed testing requirements for you.

If you want to run testing on all of Python 3.5, 3.6, 3.7, and 3.8 you can simply execute

$ tox

If you do not wish to use tox, you can install the testing dependencies with the dev-requirements.txt file and then run the tests manually using pytest.

$ pip install -r dev/requirements.txt
$ pytest

Author

Seth M. Morton

History

Please visit the changelog on GitHub or in the documentation.

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

fastnumbers-3.1.0.tar.gz (96.2 kB view details)

Uploaded Source

Built Distributions

fastnumbers-3.1.0-cp39-cp39-win_amd64.whl (30.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

fastnumbers-3.1.0-cp39-cp39-win32.whl (29.0 kB view details)

Uploaded CPython 3.9 Windows x86

fastnumbers-3.1.0-cp39-cp39-manylinux2010_x86_64.whl (84.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

fastnumbers-3.1.0-cp39-cp39-manylinux2010_i686.whl (81.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

fastnumbers-3.1.0-cp39-cp39-manylinux1_x86_64.whl (84.2 kB view details)

Uploaded CPython 3.9

fastnumbers-3.1.0-cp39-cp39-manylinux1_i686.whl (81.1 kB view details)

Uploaded CPython 3.9

fastnumbers-3.1.0-cp38-cp38-win_amd64.whl (29.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

fastnumbers-3.1.0-cp38-cp38-win32.whl (28.9 kB view details)

Uploaded CPython 3.8 Windows x86

fastnumbers-3.1.0-cp38-cp38-manylinux2010_x86_64.whl (82.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

fastnumbers-3.1.0-cp38-cp38-manylinux2010_i686.whl (80.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

fastnumbers-3.1.0-cp38-cp38-manylinux1_x86_64.whl (82.9 kB view details)

Uploaded CPython 3.8

fastnumbers-3.1.0-cp38-cp38-manylinux1_i686.whl (80.4 kB view details)

Uploaded CPython 3.8

fastnumbers-3.1.0-cp37-cp37m-win_amd64.whl (30.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

fastnumbers-3.1.0-cp37-cp37m-win32.whl (28.6 kB view details)

Uploaded CPython 3.7m Windows x86

fastnumbers-3.1.0-cp37-cp37m-manylinux2010_x86_64.whl (80.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

fastnumbers-3.1.0-cp37-cp37m-manylinux2010_i686.whl (78.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

fastnumbers-3.1.0-cp37-cp37m-manylinux1_x86_64.whl (80.3 kB view details)

Uploaded CPython 3.7m

fastnumbers-3.1.0-cp37-cp37m-manylinux1_i686.whl (78.9 kB view details)

Uploaded CPython 3.7m

fastnumbers-3.1.0-cp36-cp36m-win_amd64.whl (30.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

fastnumbers-3.1.0-cp36-cp36m-win32.whl (28.7 kB view details)

Uploaded CPython 3.6m Windows x86

fastnumbers-3.1.0-cp36-cp36m-manylinux2010_x86_64.whl (82.0 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

fastnumbers-3.1.0-cp36-cp36m-manylinux2010_i686.whl (79.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

fastnumbers-3.1.0-cp36-cp36m-manylinux1_x86_64.whl (82.0 kB view details)

Uploaded CPython 3.6m

fastnumbers-3.1.0-cp36-cp36m-manylinux1_i686.whl (79.5 kB view details)

Uploaded CPython 3.6m

fastnumbers-3.1.0-cp35-cp35m-win_amd64.whl (29.5 kB view details)

Uploaded CPython 3.5m Windows x86-64

fastnumbers-3.1.0-cp35-cp35m-win32.whl (28.3 kB view details)

Uploaded CPython 3.5m Windows x86

fastnumbers-3.1.0-cp35-cp35m-manylinux2010_x86_64.whl (79.4 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

fastnumbers-3.1.0-cp35-cp35m-manylinux2010_i686.whl (76.9 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

fastnumbers-3.1.0-cp35-cp35m-manylinux1_x86_64.whl (79.4 kB view details)

Uploaded CPython 3.5m

fastnumbers-3.1.0-cp35-cp35m-manylinux1_i686.whl (76.9 kB view details)

Uploaded CPython 3.5m

File details

Details for the file fastnumbers-3.1.0.tar.gz.

File metadata

  • Download URL: fastnumbers-3.1.0.tar.gz
  • Upload date:
  • Size: 96.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.6.1 requests/2.25.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.5.7

File hashes

Hashes for fastnumbers-3.1.0.tar.gz
Algorithm Hash digest
SHA256 7cc4f96981ccd3cf212b6ea7b84ef621620b62da8b454f420aa2e81c8529e68f
MD5 b6bb7dcab5df3c61f17507463f1b8819
BLAKE2b-256 c98ceb150c91beabdf4ac44d1aec8237709ca1593c615f6cd677914d4c3a2bdb

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 66f402fc2126c9241e44b6b65779f42938d93c2f5f3459486013833d92bc5168
MD5 d4f984a8b9bbe9057155e74cb93d4018
BLAKE2b-256 9aea6c2b88d3ac0f4e0ad9891d191fdc89f7b1b8ebe707c1bb18ab297c574d2a

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 2cc01ecd5fa093a2ce842dce05b7eb2eb53c061b680460aaa9b52be8d2fe9e8f
MD5 97f999073080f893bc0f83bd2545e411
BLAKE2b-256 e1ec1606e52a9ec265cc6abe6e8308e64a9c2ed4a41db87faf90c9274b332a51

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 84.2 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c0d015edcf75a9c5192d745747f68f3a3616d5212d4a6571012fc3c09d7d54c7
MD5 6284f9eaf614f232a5ed9e42744f524f
BLAKE2b-256 42fe8974059305f6f64da9e8858359bed54f7fa256bb82f80c8949e96901a07a

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 81.1 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 299dec0125e361f6c13863d9bc9bd8daea72831e38c7e9d52d9f3ee124979a09
MD5 a90b8c4b06150c3523f89587397fbbf5
BLAKE2b-256 b59b0230fd9400c6802a227ad7ed0a6f587cd317a4528e778bf1aceb441b5559

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp39-cp39-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp39-cp39-manylinux1_x86_64.whl
  • Upload date:
  • Size: 84.2 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 826032270aa20b1119892e2399563d0361053be11d6628fe138bde8de6ab3794
MD5 8c3252508d8a44980eb332d715fbe062
BLAKE2b-256 f57891f8b3e1b071f963e54fc0bb4469044276f8ab2e6502e0e006e976640b44

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp39-cp39-manylinux1_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp39-cp39-manylinux1_i686.whl
  • Upload date:
  • Size: 81.1 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp39-cp39-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d7e02b949f08b46c63c340d96aba28d9727d92ad938324696fa5a2726d376a4c
MD5 41051faa3ef1018f3e37cbef51b07313
BLAKE2b-256 471710576146a2b97d191e8b525fb50fa9f8194e38e6963165803b7524922e9d

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e16c2870d8034b0a2dd3190659f19eb905d3c0d634a8a1bce6c331e9bef181d2
MD5 2b67b78d4598754db8b63409edb19932
BLAKE2b-256 a3c8dbca1c6b94abd85d0ff0e5e44e3cd3696af8071dacea38406f4467169cc0

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 01b0e4f99cbf50ba46aeb5ae464832353a50bb04e56a37b15287855e2d45a848
MD5 0fda1c3f9e0b5510891609680195c270
BLAKE2b-256 8d5a6efde4e9624de185ac452a58f0df40cad64e33ce1c89556c91a53240bc92

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 82.9 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 61a1845c5aa7b3108451930e808167811e674d5cd50b2021e7d6d1c94b7c1534
MD5 43669a90c110b8712f0bf7bc1cd47981
BLAKE2b-256 c444907c7f57be044e2d0842d5b3f523252ec1a598c05af7109f355bba09e613

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 26601cdcc65a583571b7b4b7827aedbf3114f1d20f674764c1c768bc63b2d06b
MD5 9f2edfabe979e8a09b9962fc998ded08
BLAKE2b-256 9578fda6963dd15ccc9020e3842c01368080eb9e3ed97f654997c085fab90659

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 82.9 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a338f4850c8bdf3b6a6e268dda215dc20e248a8e6d06da337c89dcd1747552d2
MD5 a0e682560c5fb9a6620b504cd5a147ad
BLAKE2b-256 6c07d22352dc32ea44a543ee0ebb78509c2ad60d9ec858bdf63a1fbb9cce00cc

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6bbec8e6f747c1b43a638f9537809d0f01fc55f70087574e7207ca7526067d0a
MD5 dbfbe52964a93d099701f2f8f323eb8a
BLAKE2b-256 13b8f8a89a8895de12170efd589b1fe17870f2b03b4e163c3d105c87ca1234d2

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6b3a8a9d64088f2f6d2461c2e490ccff2b2fe1243f567d5fd8ee09a8b6e16579
MD5 0e30ce53647cc7ac8ea846dbdde0bd56
BLAKE2b-256 1072aef3a3a492cc58ecd851e02c38834cb0b53091e4bc0136f27196f0ac9506

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 e97f89f342c9814ed1091eea4eec9ccdbe91d30fd607e27c6db9d534b4e4ecb2
MD5 32d93d8604443c3c357a1375c33e2c9a
BLAKE2b-256 564ddc69352d09d59aa6371922552d63c9a348ebac3c968b360c907aa98d2d11

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 80.3 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0e39daa871868b032939df5b021c473b8a3bdf30ff06a39a89d88230b833c4e5
MD5 8a267f0e36a693cb9d468a280997c3bb
BLAKE2b-256 7c934fbe353feecaacccb20e6f645a06e49401486b05c8618fcc8e16d62a7927

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 78.9 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 864dd02f84e00228861f28c8a2ffcbe1ac82c98e21315381bf8e1620dca894b9
MD5 ca52ad21302a2ad9a868a86a9bfc1b7a
BLAKE2b-256 1c309a1269c5ac297c6f12dbadc4d6cd1afc149ef8bd09a448417c6b88456f22

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 80.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9843edacf97749b1bcd8b65d5a3fc99ae61da619f384882d783f6bec19f7f0e6
MD5 42aa27e99e3305bc1f0f59ef83978cdb
BLAKE2b-256 f48473b1c14f74838932a90a2ea6f80edace2c74fd261aee1d51e8bdd51cf427

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 78.9 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 209792d02be613f59e58b68af733f9ddd80bf69945f1e28969d476f84dcf6752
MD5 cf5b59d072f610f8995c090dcc62ab42
BLAKE2b-256 53ded0b3b891c322931df82fceaba8ca0c8d1eadec4f24e9c41bf992294722a1

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f282072f7ee47f2211afbf437f13b56d1cdb36bef34c4c3b5537071534e8134a
MD5 ee1b2d310e6ebed91ec130682e2c7984
BLAKE2b-256 012d2edb8e56fb2e1fad844737a5178606e1bf81570fa79f62742568ed858096

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 44ae9cff6df880e56219c3169718d3a92f18c839e688809c0136d49780aa00d1
MD5 c10b095a5f7cf7eb2ede691937224e84
BLAKE2b-256 7d06047a60dd0fd4e7216cc76082e2d8205dc96008f40f4fa54ceb4df4ca05cf

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 82.0 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ff346146c546f421084358b26e70112aa6ee41946d67d8b19237beeb58b76f36
MD5 22e934527b537859bc79689c292cdbf6
BLAKE2b-256 4473fca0d6f5a5b5cd2f7e40b596a154665ce95f33c8ee8aeb9c414706fc65af

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 79.5 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b12416e487cb27408745204baad48858d0c46bea317e403654c1e3cba76e9e4e
MD5 471ad937e6213f8b6dadba90cf3f33dd
BLAKE2b-256 cc5bc75c1c3464258332ec3f246ca26e2c36c34375a9f123c3bfe146155efb70

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 82.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 962b91dc05f09b86b31c709852d51cf0fde220722b5f561f5e08e1410faaccb2
MD5 13a0be5a14d42edef71a8966787f3785
BLAKE2b-256 948f7f15a7a9e6cb2efb5e166cbd3dde03cbf30a220d167a6c7d46c8574d390b

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 79.5 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a833da85291c480e94b3ab6b80cebf6960136ebe7f35e3875d1dee94165e348b
MD5 34b5b854999bd4327fa846607229dc6d
BLAKE2b-256 79495c54ca23655099986ce3f93a8aa5a0b53b9fc42c43fb429757bcc0d3e0ec

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 2ae191a5bfbac7170d2b9038667d739aa6c4fc84a3ad2a32f0714544995d33d9
MD5 6c9324534b51ff4a0c10fac9e9342386
BLAKE2b-256 ce78582f62b81522ab92f60ed73e092aa07162d96f7ce10133e105c2848db23b

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp35-cp35m-win32.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 28.3 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.1.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 cd14ac3c9917ad50dfcb393739830a7da2315fcc740039b75c28d02630d343df
MD5 4e3936cdb644c743a45f410e98a384da
BLAKE2b-256 f52c798edf76a413ee3cc435ced67b5756b61bf69615e010fde968094edfe161

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c0918f006de187590e8717cae8bfc0f7133c3d42c639e95ede2052a6c8be2348
MD5 77c0721e87cbe848d2da0d2d6847a756
BLAKE2b-256 299343678648a3c65577c682df60d24a5ddb0bf50f96393c4bf1cca617d26ca0

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp35-cp35m-manylinux2010_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 76.9 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c164a0a37983b278ea2d86f14d64e981963efb0dc39ae26ea00d91cb684f4f90
MD5 560d46aebd898f952c0add198151577d
BLAKE2b-256 aa9b139388983c8cda4d2268f9f2984ebace4f0dc77d7cba81d76a4ded2b1e48

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7bdc1516492b9c291bd599b82d601dc93f19b4a92ef8ac8a7243a43c21682f28
MD5 e9be22548ea7b4280e27d3248f5d734d
BLAKE2b-256 26c8d4ce88453ab3df6b12cda14f8fe3236493a0331d957de050f98cb43e5ab3

See more details on using hashes here.

File details

Details for the file fastnumbers-3.1.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: fastnumbers-3.1.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 76.9 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.10

File hashes

Hashes for fastnumbers-3.1.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 19e16a6066bc06d21710cf99d4881af0a4384e391d939bf9eca4f12bdb3d2383
MD5 86e196b5fb136821a29811b1b7ee59c8
BLAKE2b-256 77b16b4d364fe45cccd50837db5ce35f8e07637cfec13d0e8c977d26397154d1

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