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.

>>> 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

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.0.0.tar.gz (111.0 kB view details)

Uploaded Source

Built Distributions

fastnumbers-3.0.0-cp38-cp38-win_amd64.whl (28.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

fastnumbers-3.0.0-cp38-cp38-win32.whl (27.2 kB view details)

Uploaded CPython 3.8 Windows x86

fastnumbers-3.0.0-cp38-cp38-manylinux2010_x86_64.whl (78.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

fastnumbers-3.0.0-cp38-cp38-manylinux2010_i686.whl (74.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

fastnumbers-3.0.0-cp38-cp38-manylinux1_x86_64.whl (78.7 kB view details)

Uploaded CPython 3.8

fastnumbers-3.0.0-cp38-cp38-manylinux1_i686.whl (74.6 kB view details)

Uploaded CPython 3.8

fastnumbers-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl (24.5 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fastnumbers-3.0.0-cp37-cp37m-win_amd64.whl (28.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

fastnumbers-3.0.0-cp37-cp37m-win32.whl (27.1 kB view details)

Uploaded CPython 3.7m Windows x86

fastnumbers-3.0.0-cp37-cp37m-manylinux2010_x86_64.whl (76.5 kB view details)

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

fastnumbers-3.0.0-cp37-cp37m-manylinux2010_i686.whl (73.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

fastnumbers-3.0.0-cp37-cp37m-manylinux1_x86_64.whl (76.5 kB view details)

Uploaded CPython 3.7m

fastnumbers-3.0.0-cp37-cp37m-manylinux1_i686.whl (73.0 kB view details)

Uploaded CPython 3.7m

fastnumbers-3.0.0-cp37-cp37m-macosx_10_6_intel.whl (43.3 kB view details)

Uploaded CPython 3.7m macOS 10.6+ intel

fastnumbers-3.0.0-cp36-cp36m-win_amd64.whl (28.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

fastnumbers-3.0.0-cp36-cp36m-win32.whl (27.1 kB view details)

Uploaded CPython 3.6m Windows x86

fastnumbers-3.0.0-cp36-cp36m-manylinux2010_x86_64.whl (78.0 kB view details)

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

fastnumbers-3.0.0-cp36-cp36m-manylinux2010_i686.whl (74.0 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

fastnumbers-3.0.0-cp36-cp36m-manylinux1_x86_64.whl (78.0 kB view details)

Uploaded CPython 3.6m

fastnumbers-3.0.0-cp36-cp36m-manylinux1_i686.whl (74.0 kB view details)

Uploaded CPython 3.6m

fastnumbers-3.0.0-cp36-cp36m-macosx_10_6_intel.whl (43.2 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

fastnumbers-3.0.0-cp35-cp35m-win_amd64.whl (26.4 kB view details)

Uploaded CPython 3.5m Windows x86-64

fastnumbers-3.0.0-cp35-cp35m-win32.whl (25.6 kB view details)

Uploaded CPython 3.5m Windows x86

fastnumbers-3.0.0-cp35-cp35m-manylinux2010_x86_64.whl (75.5 kB view details)

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

fastnumbers-3.0.0-cp35-cp35m-manylinux2010_i686.whl (69.4 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

fastnumbers-3.0.0-cp35-cp35m-manylinux1_x86_64.whl (75.5 kB view details)

Uploaded CPython 3.5m

fastnumbers-3.0.0-cp35-cp35m-manylinux1_i686.whl (69.4 kB view details)

Uploaded CPython 3.5m

fastnumbers-3.0.0-cp35-cp35m-macosx_10_6_intel.whl (42.2 kB view details)

Uploaded CPython 3.5m macOS 10.6+ intel

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0.tar.gz
  • Upload date:
  • Size: 111.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.5.6

File hashes

Hashes for fastnumbers-3.0.0.tar.gz
Algorithm Hash digest
SHA256 93ce2f9516fbf2bbf46c85e4abef783cc569e5fbbc665352efb9cdddbae517ec
MD5 832fcce66a24a9c4a951f0363109e7d0
BLAKE2b-256 7598cfaf907c592f55f3830d7a2a68048800f1320f40fed5ba65e0756432ff22

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 28.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 646857034ed9004128468a7a57eaea83fac65a030e7e199a99c5fd570ff8ce33
MD5 7373559b874680c25cd62018ff3cab32
BLAKE2b-256 53fba56fde2d355290de0e0356d33db1515fa3cb0764c982d296fb2181842021

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f55c8d3a825b9174eae55aa878c5105d81787f7cda7d027735fd88c74d7a72e8
MD5 d1e42b97bce5ddd9ef2fb2948e4eeffe
BLAKE2b-256 da66ad199f738b8481473141f9513dd2b322e3ad15fb69485cf101fd15dc7219

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 78.7 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b7aae17df08844648266b5713ac4d2cfca5286f412d506d2abde089acfe7518c
MD5 c25e2e82d865c9034b5e0feded30ebe3
BLAKE2b-256 d1c954b81f6ec8fb73629b98d2341781fe654b25e1479e05295a2564ebf2ad68

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 596b75258b08ec30138548c6b49e6e63bd252e6268a005f2df3ca8022d0e83f5
MD5 9ce0b7d115acf0808a3f5300e1b237b5
BLAKE2b-256 0167cabc5547c6dffa8d033c6a6d684f8cd018abe09d87316dea6e872aa23484

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 78.7 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9ba31bd2852428322709582f9a175a6eb6e35ae97f6166cd631030a91649769d
MD5 9900655da34c5a1ad0fb9c269cd23161
BLAKE2b-256 55f230ba285a191645bdcc021090fde1a2f9c617d7c990a3ef00114dd3654eb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 76871f5ea3766aaa7e9acfebdbae965f0d6526582c22c65715582a47fab25068
MD5 cf67d755bb76860ddba17a8dd512086b
BLAKE2b-256 5856526fc6111e117df9f060f161af8a0b10ac2deb2e527ec13dedeb78439c30

See more details on using hashes here.

File details

Details for the file fastnumbers-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: fastnumbers-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/2.7.17

File hashes

Hashes for fastnumbers-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 16b3e0e2b368a7910b7cbebb9113838a974445df1f96e3d6d9bf72e7e52a3a53
MD5 470ac5a6366d0052ae9a7358c3be5403
BLAKE2b-256 d1e0c7284aa3f49abe6a6d8f093f4585103353a0879ae00dc6d00ba8e8419bd0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 19e45f777791a3e4522067ddd34873fef6b7932bebab42b108f07fa309278249
MD5 04878d5f9258431a182048f93ab03ebf
BLAKE2b-256 8bcb1def19f0381e6803f417870b7120fcbc515f21700535dcee8a2b673025b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 b233c890557b85fbe83310b2a92598fa81127d1044de5c1e06acd0bc52e432b7
MD5 6531ee4d00f4444d6b57b0d10140c3d3
BLAKE2b-256 635418613b7905be56137278e0357f95e6e4a393e8860d9fec0c68003ecedbd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 76.5 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b5d9537d7d07b21263411781c8afcb962f07be11d62426887663b85e0ffd5105
MD5 75be5c4e9af66dd1999b61451354c3fd
BLAKE2b-256 298d29345fbfd2023f2461511fde0dec631a721b1ab6ed9bedc4464d9fbb950e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 73.0 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 7e65adbdbf653662eb743971076cd657cf482a00aa433fe6777d488a4e6b9364
MD5 2ded9955a7acd529129120a8bd57ec74
BLAKE2b-256 43d2ecd63668ac85c1224036cca3bed8e310665c665e629fb3927518897b0aff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 76.5 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 15ac1458f47ef8835d9f46d4590688e979cff49eb83ea930536912847c220767
MD5 67d89c6185d7316ad20f399284f3adb3
BLAKE2b-256 3912884e20c80ce69254e1bbe0e9b5a31c1ad9317821464936c5b5b167486645

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 73.0 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 be8affc2c15ebb09a14535b6474b14071d48cce7c6595c67f82c2c43cee297d1
MD5 1ee8b46be4f91e1e497e88693e0447f7
BLAKE2b-256 eb3a2f24e06be56ef530905fad415b871ef3f7c7ad8e109d0be61543dfab7c30

See more details on using hashes here.

File details

Details for the file fastnumbers-3.0.0-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: fastnumbers-3.0.0-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: CPython 3.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/2.7.17

File hashes

Hashes for fastnumbers-3.0.0-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 39be710a01ee69a26b232d771a2bbe1d31d4e9487bb20fed0dc55d3f4b47e3ca
MD5 434fd3c9025ce2d7616c05914310542b
BLAKE2b-256 f7be12fc5ffc155c327f7fe84ba2b4eb186031f3e81fc891b6a7567d367ea796

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d1028ac49be616371734399ff4980db218077ba7418c4fcc5e5a3d44d52e0ebb
MD5 a72fe08ce45fd44c68bef5a5b747196d
BLAKE2b-256 b39a7200dbd5a208ace11eef203151dc84491da01be28d92ee21d84f5dcb8b65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 068836d24ffb4c8dc0912518cc6733c9b9f4004052b757c199e8cc9935c20c68
MD5 be25e184c8803a37830405546efb85ee
BLAKE2b-256 f9d88cc113c934d70b3274b615405c17fb9e9c44cef2cad46e05b76af27a098f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 78.0 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 065de5d844de8935ee67a99b8e65ca4d4affc3470d3d9a194e0b276ae73c7eaa
MD5 6afa73e2e9c93d2c53cc1b999fdc648d
BLAKE2b-256 118c63884396b84516782b39901dfdfebabe681d74b03d918509795cecb3053e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 74.0 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2144397df30b81950f557cf46bf745126224a3fc75887a6dc1f33f9ebc1fcf0f
MD5 3ce605015347b0a7ad35ca83c9b85fae
BLAKE2b-256 74d652d2096da877d295f2c7cb1a84feb493f2a5abfb8bf0b1c37b9c86ef6675

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 78.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e38db8292ed7048d2c84076e0cb8e52c55d2b9078dbf2aebdea823d36899cad7
MD5 d50962f308ccf0818cbc4bea43e7cfb7
BLAKE2b-256 beff3b88d009d6f7a939059f8feb301839790cbafca027c3b3369c4a53f56c87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 74.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 4f8e3c89f25d0e61ba0b588cd2a0e171a69eba5a51fad42b6f30b3df50e2997a
MD5 a8450884b4058fdb265c467261f9747a
BLAKE2b-256 1a60f45040ca628c5ef178d6388bdd99cd4b943028a480454c90a6f1bdd65dfa

See more details on using hashes here.

File details

Details for the file fastnumbers-3.0.0-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: fastnumbers-3.0.0-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 43.2 kB
  • Tags: CPython 3.6m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/2.7.17

File hashes

Hashes for fastnumbers-3.0.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 3bcde1a078c10d87d1ec7532b714cccb4784f13fd2969c450d41355796a64767
MD5 7891712a5e89acfb4998eb7d935efe03
BLAKE2b-256 0795911cf3578320860821c3ed4ef3c4743d064f78d6fb37483244ad5e23188d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 9a76949f86f9a9c2b121b0ad3baaf98dbb1c92e7625194dde3b79626afc595c1
MD5 70929ba328e13e909383cfd6ef7d2b3d
BLAKE2b-256 909e5c86b730801c7cf41e1d52ca4fb23c2823851883b5fd8d704a5345967943

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 2b5292960e2be7d92aa76954c9f38b581d4cece308ca8b55054d488e7152cef1
MD5 e1bcb8fe8eb42429edff6dfe927e0d56
BLAKE2b-256 6504ccfc289fb90d7bf91e53a926eb6c1ad4e85c7188974e40a4a549cd068517

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 75.5 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7fb0f66b0ba13937673a031bf36487a5aa804a90d45875c1a484063bba81c120
MD5 fe9d8ebc3e73cccb20782d70e93e06b8
BLAKE2b-256 9fd7e76c6d7893f177d14c7b44039b8844bb4cd2f7506704f3c4527d94bbf629

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 69.4 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 687500b0a34508b77acf749d9aa59e4c0ee7dcd09ccd809458ee1e8adc4dd930
MD5 ac86552a485a319d500676a8eb992130
BLAKE2b-256 9a5cd4fa84a0f74144d1800426acbd0e96dfb3754ef6d153b53636b553a8f294

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 75.5 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f4c5d24a5c0997833e067b3d7f60e77901144802397ea356a01db714d882ef84
MD5 67b3d67af3234e9e97716ec6c2695d76
BLAKE2b-256 3f29ef5681b1ec305dbcf32ca3e3b6d054e6073eb37dd936672aa6343fa7ea34

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 69.4 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7dc9bfb18bc6d07229f37839859237f0a9a2b41e868482088644dd58846e5f29
MD5 ebb55fb1e7357be2c913fb41a5e73a7d
BLAKE2b-256 9bd8e15a901bce0c1473e96fe180a7dd6fe68bfdb9651757cf74732966f5f0bc

See more details on using hashes here.

File details

Details for the file fastnumbers-3.0.0-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: fastnumbers-3.0.0-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 42.2 kB
  • Tags: CPython 3.5m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/2.7.17

File hashes

Hashes for fastnumbers-3.0.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 914c42638f07bc8002c15b34a2e304a91f3e825dbcf1c5bf3366fa6bea33e0e6
MD5 d27d82a7974aeefd020838bd899f1a3f
BLAKE2b-256 c0ba86d52be55908021c766ddc2214bb5a5c0aebf6f76ed2f4682be3ff082e07

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