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://github.com/SethMMorton/fastnumbers/workflows/Tests/badge.svg https://codecov.io/gh/SethMMorton/fastnumbers/branch/main/graph/badge.svg https://img.shields.io/pypi/dw/fastnumbers.svg

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 calls to int and float 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 are on par or faster with the Python equivalents (see the Timing section for details). 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.

What kind of speedups can you expect? Here are some highlights, but please see the Timing section for the raw data if you want details.

  • Up to 2x faster conversion of strings to integers than the built-in int() function

  • Up to 5x faster conversion of strings to floats than the built-in float() function (possibly greater for very long strings)

  • Up to 10x faster handling of errors during conversion than using user-side error handling

  • On top of the above, operations to convert a list of strings (with the map option or try_array function) is 2x faster than the equivalent list comprehension.

NOTICE: As of fastnumbers version 4.0.0, only Python >= 3.7 is supported.

NOTICE: As of fastnumbers version 4.0.0, the functions fast_real, fast_float, fast_int, fast_forceint, isreal, isfloat, isint, and isintlike have been deprecated and are replaced with try_real, try_float, try_int, try_forceint, check_real, check_float, check_int, and check_intlike, respectively. These new functions have more flexible APIs and have names that better reflect the intent of the functions. The old functions can still be used (they will never be removed from fastnumbers), but the new ones should be preferred for new development.

NOTICE: As of fastnumbers version 4.0.0, query_type now sets allow_underscores to False by default instead of True.

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

try_float will be used to demonstrate the functionality of the try_* functions.

>>> from fastnumbers import RAISE, try_float
>>> # Convert string to a float
>>> try_float('56.07')
56.07
>>> # Integers are converted to floats
>>> try_float(54)
54.0
>>>
>>> # Unconvertable string returned as-is by default
>>> try_float('bad input')
'bad input'
>>> # Unconvertable strings can trigger a default value
>>> try_float('bad input', on_fail=0)
0
>>>
>>> # One can ask inf or nan to be substituted with another value
>>> try_float('nan')
nan
>>> try_float('nan', nan=0.0)
0.0
>>> try_float(float('nan'), nan=0.0)
0.0
>>> try_float('56.07', nan=0.0)
56.07
>>>
>>> # The default built-in float behavior can be triggered with
>>> # RAISE given to "on_fail".
>>> try_float('bad input', on_fail=RAISE) #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
>>> try_float('bad input', on_fail=len)
9
>>> try_float(54, on_fail=len)
54.0
>>>
>>> # Single unicode characters can be converted.
>>> try_float('\u2164')  # Roman numeral 5 (V)
5.0
>>> try_float('\u2466')  # 7 enclosed in a circle
7.0

try_int behaves the same as try_float, but for integers.

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

try_real is like try_float or try_int depending on if there is any fractional component of thi return value.

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

try_forceint always returns an integer.

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

Fast operations on lists and other iterables

Each of the try_* functions have a map option causes the function to accept an iterable of items to convert and returns a list. Using try_float as an example, the following are all functionally equivalent.

>>> from fastnumbers import try_float
>>> iterable = ["5", "4.5", "34567.6", "32"]
>>> try_float(iterable, map=list) == list(map(try_float, iterable))
True
>>> try_float(iterable, map=list) == [try_float(x) for x in iterable]
True
>>> try_float(iterable, map=list) == list(try_float(iterable, map=True))
True

The difference is that the map option is 2x the speed of the list comprehension method, and 1.5x the speed of the map method. The reason is that it avoids Python function call overhead on each iteration. Note that True causes the function to return an iterator, and list causes it to return a list. In practice the performance of these are similar (see Timing for raw data).

If you need to store your output in a numpy array, you can use try_array to do this conversion directly. This function has some additional handling for overflow that is not present in the other fastnumbers functions that may come in handy when dealing with numpy arrays.

>>> from fastnumbers import try_array
>>> import numpy as np
>>> iterable = ["5", "4.5", "34567.6", "32"]
>>> np.array_equal(np.array(try_float(iterable, map=list), dtype=np.float64), try_array(iterable))
True

You will see about a 2x speedup of doing this in one step over converting to a list then converting that list to an array.

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. It can

  • return given object as-is if set to fastnumbers.INPUT (this is the default)

  • raise a ValueError if set to fastnumbers.RAISE

  • return a default value if given any non-callable object

  • call a function with the given object if given a single-argument callable

Below are a couple of ideas to get you thinking.

NOTE:: There is also an on_type_error option that behaves the same as on_fail except that a) it is triggered when the given object is of an invalid type and b) the default value is fastnumbers.RAISE, not fastnumbers.INPUT.

>>> from fastnumbers import INPUT, RAISE, try_float
>>> # You want to convert strings that can be converted to numbers, but
>>> # leave the rest as strings. Use fastnumbers.INPUT (the default)
>>> try_float('45.6')
45.6
>>> try_float('invalid input')
'invalid input'
>>> try_float('invalid input', on_fail=INPUT)
'invalid input'
>>>
>>>
>>>
>>> # You want to convert any invalid string to NaN
>>> try_float('45.6', on_fail=float('nan'))
45.6
>>> try_float('invalid input', on_fail=float('nan'))
nan
>>>
>>>
>>>
>>> # Simple callable case, send the input through some function to generate a number.
>>> try_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 try_float(x.strip('()'), on_fail=RAISE)
...
>>> try_float('45', on_fail=strip_parens_and_try_again)
45.0
>>> try_float('(45)', on_fail=strip_parens_and_try_again)
45.0
>>> try_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
...
>>> try_float('45', on_fail=log_and_default)
45.0
>>> try_float('invalid input', on_fail=log_and_default)
The input 'invalid input' is not valid!
0.0
>>> try_float('invalid input', on_fail=lambda x: log_and_default(x, default=float('nan')))
The input 'invalid input' is not valid!
nan

About the denoise option

The denoise option is available on the try_real and try_forceint options. To best understand its usage, consider the following native Python behavior:

>>> int(3.453e21)
3452999999999999737856
>>> int(float("3.453e21"))
3452999999999999737856
>>> # Most users would likely expect this result from decimal.Decimal
>>> import decimal
>>> int(decimal.Decimal("3.453e21"))
3453000000000000000000
>>> # But watch out, even decimal.Decimal doesn't help for float input
>>> import decimal
>>> int(decimal.Decimal(3.453e21))
3452999999999999737856

Because the conversion of a float to an int goes through the C double data type which has inherent limitations on accuracy (See this Stack Overflow question for examples) the resulting int result has “noise” digits that are not part of the original float representation.

For functions where this makes sense, fastnumbers provides the denoise option to give you the results that decimal.Decimal would give for strings containing floats.

>>> from fastnumbers import try_real
>>> try_real(3.453e21)
3452999999999999737856
>>> try_real("3.453e21")
3452999999999999737856
>>> try_real(3.453e21, denoise=True)
3453000000000000000000
>>> try_real("3.453e21", denoise=True)
3453000000000000000000

Two things to keep in mind:

  1. The denoise option adds additional overhead to the conversion calculation, so please consider the trade-offs between speed and accuracy when determining whether or not to use it. It is significantly faster than using decimal.Decimal, but much slower than not using it at all.

  2. For string input, denoise will return results identical to decimal.Decimal. For float input, denoise will return results that are accurate to about 15 digits (C double can only store 16 decimal digits, so this means that only the last possible digit may not be accurate).

Checking Functions

check_float will be used to demonstrate the functionality of the check_* functions. There is also the query_type function.

>>> from fastnumbers import check_float
>>> from fastnumbers import ALLOWED, DISALLOWED, NUMBER_ONLY, STRING_ONLY
>>> # Check that a string can be converted to a float
>>> check_float('56')
True
>>> check_float('56', strict=True)
False
>>> check_float('56.07')
True
>>> check_float('56.07 lb')
False
>>>
>>> # Check if a given number is a float
>>> check_float(56.07)
True
>>> check_float(56)
False
>>>
>>> # Specify if only strings or only numbers are allowed
>>> check_float(56.07, consider=STRING_ONLY)
False
>>> check_float('56.07', consider=NUMBER_ONLY)
False
>>>
>>> # Customize handling for nan or inf (see API for more details)
>>> check_float('nan')
False
>>> check_float('nan', nan=ALLOWED)
True
>>> check_float(float('nan'))
True
>>> check_float(float('nan'), nan=DISALLOWED)
False

check_int works the same as check_float, but for integers.

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

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

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

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

>>> from fastnumbers import check_intlike
>>> check_intlike('56.0')
True
>>> check_intlike('56.7')
False
>>> check_intlike(56.0)
True
>>> check_intlike(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. In general you will see a performance boost for floats (and this boost increases as the size of the float increases), but for integers it is largely dependent on the length of the integer. You will likely not see a performance boost if the input are already numbers instead of strings.

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 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 look https://github.com/SethMMorton/fastnumbers/tree/main/profiling.

High-Level Algorithm

For integers, CPython goes to great lengths to ensure that your string input is converted to a number correctly and losslessly (you can prove this to yourself by examining the source code for integer conversions). This extra effort is only needed for integers that cannot fit into a 64-bit integer data type - for those that can, a naive algorithm of < 10 lines of C code is sufficient and significantly faster. fastnumbers uses a heuristic to determine if the input can be safely converted with the much faster naive algorithm, and if so it does so, falling back on the CPython implementation for longer input strings. Most real-world numbers pass the heuristic and so you should generally see improved performance with fastnumbers for integers.

For floats, fastnumbers utilizes the ultra-fast fast_float::from_chars function to convert strings representing floats into a C double both quickly and safely - the conversion provides the same accuracy as the CPython float conversion function but instead of scaling linearly with length of the input string it seems to have roughly constant performance. By completely bypassing the CPython converter we get significant performance gains with no penalty, so you should always see improved performance with fastnumbers for floats.

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.8 - you can run tests by simply executing the following:

$ tox run -e py38

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 supported Python versions you can simply execute

$ tox run

You can change the how much “random” input your tests will try with

# Run fewer tests with "random" input - much faster
$ tox run -- --hypothesis-profile fast

# Run more tests with "random" input - takes much longer but is more thorough
$ tox run -- --hypothesis-profile thorough

If you want to run the performce analysis yourself, you can execute

# This assumes Python 3.9 - adjust for the version you want to profile
$ tox run -e py39-prof

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.

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

Uploaded Source

Built Distributions

fastnumbers-5.1.1-cp313-cp313-win_amd64.whl (127.2 kB view details)

Uploaded CPython 3.13 Windows x86-64

fastnumbers-5.1.1-cp313-cp313-win32.whl (117.1 kB view details)

Uploaded CPython 3.13 Windows x86

fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ARM64

fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686

fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

fastnumbers-5.1.1-cp313-cp313-macosx_11_0_arm64.whl (170.7 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

fastnumbers-5.1.1-cp313-cp313-macosx_10_13_x86_64.whl (172.5 kB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

fastnumbers-5.1.1-cp313-cp313-macosx_10_13_universal2.whl (305.7 kB view details)

Uploaded CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

fastnumbers-5.1.1-cp312-cp312-win_amd64.whl (127.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

fastnumbers-5.1.1-cp312-cp312-win32.whl (117.1 kB view details)

Uploaded CPython 3.12 Windows x86

fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

fastnumbers-5.1.1-cp312-cp312-macosx_11_0_arm64.whl (170.7 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

fastnumbers-5.1.1-cp312-cp312-macosx_10_13_x86_64.whl (172.5 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

fastnumbers-5.1.1-cp312-cp312-macosx_10_13_universal2.whl (305.7 kB view details)

Uploaded CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

fastnumbers-5.1.1-cp311-cp311-win_amd64.whl (126.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

fastnumbers-5.1.1-cp311-cp311-win32.whl (117.6 kB view details)

Uploaded CPython 3.11 Windows x86

fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

fastnumbers-5.1.1-cp311-cp311-macosx_11_0_arm64.whl (170.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

fastnumbers-5.1.1-cp311-cp311-macosx_10_9_x86_64.whl (171.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

fastnumbers-5.1.1-cp311-cp311-macosx_10_9_universal2.whl (304.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

fastnumbers-5.1.1-cp310-cp310-win_amd64.whl (125.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

fastnumbers-5.1.1-cp310-cp310-win32.whl (117.6 kB view details)

Uploaded CPython 3.10 Windows x86

fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

fastnumbers-5.1.1-cp310-cp310-macosx_11_0_arm64.whl (170.4 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

fastnumbers-5.1.1-cp310-cp310-macosx_10_9_x86_64.whl (172.6 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

fastnumbers-5.1.1-cp310-cp310-macosx_10_9_universal2.whl (305.5 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

fastnumbers-5.1.1-cp39-cp39-win_amd64.whl (126.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

fastnumbers-5.1.1-cp39-cp39-win32.whl (117.7 kB view details)

Uploaded CPython 3.9 Windows x86

fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

fastnumbers-5.1.1-cp39-cp39-macosx_11_0_arm64.whl (170.5 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

fastnumbers-5.1.1-cp39-cp39-macosx_10_9_x86_64.whl (172.6 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

fastnumbers-5.1.1-cp39-cp39-macosx_10_9_universal2.whl (305.5 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

fastnumbers-5.1.1-cp38-cp38-win_amd64.whl (126.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

fastnumbers-5.1.1-cp38-cp38-win32.whl (117.6 kB view details)

Uploaded CPython 3.8 Windows x86

fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

fastnumbers-5.1.1-cp38-cp38-macosx_11_0_arm64.whl (170.3 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

fastnumbers-5.1.1-cp38-cp38-macosx_10_9_x86_64.whl (172.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fastnumbers-5.1.1-cp38-cp38-macosx_10_9_universal2.whl (305.4 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: fastnumbers-5.1.1.tar.gz
  • Upload date:
  • Size: 193.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1.tar.gz
Algorithm Hash digest
SHA256 183fa021cdc052edaeede5c23e3086461deb7562b567614edf71b29515f5fa4b
MD5 7afaadb14a17272fb6979bfb732f60f3
BLAKE2b-256 75bfc69642300a98e8b61047fa17ee7c925a8e65a12e194e98dda7ec1eefaf4b

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 91a69ce09fb5079bd680464b2d850be82f5516ed67360381c9d9935431c31bc4
MD5 feb5e4ee45053a4d1a49bb28f2914199
BLAKE2b-256 5daf47ce3856e5d6a10aae37dbf903c295c36702bf78d1f30c7c213460f46453

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: fastnumbers-5.1.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 117.1 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 dc2442ceb236f4680c87aa54d1f94bd8fc4b6db8dc9ac94e602da0924aac279f
MD5 92038aea076d978f62ecc4773b8dfb5f
BLAKE2b-256 2c14fb3e0c1b92dc633da708c7438c564bdfb8c4757ad0ce1f4bf80f3fa7d0b9

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca0a72d750d5d78857fa5c7f9ff4645c86793b7a63ae0b6b32ef1a27af9ae398
MD5 7fa9e3810311a2519a809feacd9f8c80
BLAKE2b-256 5841cf5333d1013ba5afb21b40565d1c1ed0114d97b7e0ef230659ead17b870e

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c738099125cbb0a559a59c14165090a545a892f16db102aa1f5fb930fa1a2b13
MD5 4121eecf063d4a373a2933f9a3b70efb
BLAKE2b-256 f62b06e947b27ca76b4ebf30363500719f27d8cdbf4b286760e3ef941b3d1308

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4479d85f246728ea5737b28ed3730cc4dbc1002bcf788ce32f9ffcb730150fa3
MD5 4a9ec5da8d3924d65b71529ddb9707e6
BLAKE2b-256 92b18218c61638873d74eb7518cf4bac2d7192a328efbdc780fd8a05d91008aa

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 517e91bd9fd0e664eb8a81759c79e38675a94bfac8892dbc274f7430ae5be451
MD5 3579a617f5c19b16aca3ada1464c1a2f
BLAKE2b-256 2f72bd9e62e5b0303e1c0a9682b4de3e65b0c1a8eec2ef721fe0b26829a9879e

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9421b79e788cc9ec9266c6cfa8306d1e17f4abf0d1c1fb173d4328cc57955b61
MD5 1e1101235f4097068b15899851d33457
BLAKE2b-256 4ba71071c2a49c1079f57c9a647352e819e08679f6187b10ad395c1c02885587

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2b1831fe49d44a91e2803db231696979e6ae1d30e67679c201b7c69cfb815a19
MD5 8d16d0e9367a61a27ba1e3dd0def77e6
BLAKE2b-256 3b62247856faac56f08094be27db152604c10c1419feeb8d998495d2929a8fea

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8e40437eafef22aa5ebc80f44d0f9cdf984538b3c05f57500b24695ed63b8b2
MD5 a52a91610b6496828cad78aa428bf1c6
BLAKE2b-256 8916de7c3e2b9a604bfdb0f3a905152e64c53064022e432b46f4626c931698a0

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 544e905de42679e3e80cdfb5f0f8185b498a206d33a9365f896d8842b9544550
MD5 e508521081711694d76c39700dd153aa
BLAKE2b-256 9300480be84bfc962ceb3cf39058acd09cd5011de6f0496bfc5fd112455d6804

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7109d06161000a75d8e4a2f4eb6ed3cb19d3472f5497e64b9df70f4e8ea22090
MD5 d0e6d9b6f89bb2e1d467cf32640f8234
BLAKE2b-256 3d82c37be55714cc97d68f8430726cd4880cf8d82da316fc4cad820480a274c8

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 070b81b10207b2f7c3bd98c1825f3c0adb6c7e18238f851572d51c882877bc02
MD5 2f729a69a66e32746dc02064189700fa
BLAKE2b-256 5302f3b4ce4f9c7ae2b88a825a52dcb0a9b8b13b70bdcf5066c8598252a04acd

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: fastnumbers-5.1.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 117.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 60e9d5515dfc2898a1a6f93dac7ef3406a2b122ff37eaa732b57df3bc7c93862
MD5 a728c5852b6b8039b5b63aad943a1424
BLAKE2b-256 fde62604e241c405db3540e3e7c35d025275b560e1b6eec6f78e72cc2d220351

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c092c186d36e8d27aee8e864e03aaaf219a51ee940d4a6356964d89ce8f34058
MD5 65d09b20eb8be780a51ebb85057bda7f
BLAKE2b-256 a10902723ada3b2e4aec94bd7f48bc6f1053a5a4157d872e4279a3fbd078219e

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e9683a12e357034fb0d4cfb291bb799b16c791bb224b9c05a39dfefcfc2e673d
MD5 c5d8c00bc9d5d161af070ea63cb187b4
BLAKE2b-256 6a43ebf6f98789108a507b28bc1c88e0328ba6ab4f46331ffae1704141909643

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 95682f60228f035ea83cb3ba102e5ca1e980cccedc7532b39e05fff93ea0ec64
MD5 f734a2558cb645c61183f0d98dbd4925
BLAKE2b-256 2b33efe5b3a25cb35dd6da48a06c44b22b164bd5d245ade0e85423b03cc574d7

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95289b099deb8b3d7083866648865d542abeee722ede0dea188809ddfb0942d1
MD5 68467b97a57b3387e401fcf62965759b
BLAKE2b-256 ea0ba7b94e4317e18939807615e7c14072f0e307fc0ba83d1548df8e4f8f07da

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3898a65a4658c9f94e4765d0a9403e9dc2b84ce707fd464b6457c809f4ca0379
MD5 96b2ffa3bad97370e42ef54700443a3b
BLAKE2b-256 fc53d0ecbb31cd60c0bf9ef4ba4de1f56d9665bea4a142a649aa6d9316afdc40

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68e8e2da55134e6f3680ced0799eaad00db2ed7e31b7b12e412c7af834927d15
MD5 fb74a6e2cb2d8d8aed5478097ab38ffe
BLAKE2b-256 ac004a3e50b1bdf6aa3b48d78ac111b9ddf61401087b1d00249f9b16ba181eb1

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12270ace75facc55426e81e94ab81e8ac0449b78775c2255af3d4a901e90b6f3
MD5 8bec247ad5997b3f1669d2a90222e3b9
BLAKE2b-256 bf918601841ee9cad8628a5386131c53891777836cc6ad678bcff90d8210bd40

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d80ecd57144c20140383ada74c7ee0f8464940d8931c04d4bdd73917200e82ef
MD5 3b8cefd83ca67bf560287f4ca9097858
BLAKE2b-256 5127207a1b9298380e971abd7640021b71b72fda844e5d5931e85031bc6db6b2

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e57b377419c89c23cd411abe19b911fea3879db71733751f4dd0f4504d623325
MD5 bf07c1f6e1f787b5274a4993f8a28db6
BLAKE2b-256 bf8c69a7884c3584bd92daac3b923fb49a10b2ee018d7259e8f0be03ea301f96

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 62c97b9141b052ecbebee1e9fbdfa7db67685602cf847bb7620eb71e5afe18b5
MD5 aa74a435ef05f33ff13a14a39cc17111
BLAKE2b-256 a13a899bf5fe59aaee646b453b106c1d0cf978574732f0650b99ba004c261059

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: fastnumbers-5.1.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 117.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 98b9da1a3565f939800b99471e1cb678744e3dd761571bc0b2b03794dd884039
MD5 f1cf046e3714cc81b2b652bd40107d5e
BLAKE2b-256 461634109c8a27e016799b2538a03184d4d59a66787432b8d5bf5d1fbc403ac5

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1ab4faa10b35dc3ea53d83a4107a3b338a39cf500d2f6e0a44f930ad694fa0a9
MD5 76cd0de18afdfa79a1056017970ec714
BLAKE2b-256 6b38c5361fdf085a78d934e6d503e94fed183db436aa9958816783b0b7a2d192

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1681e2b37628ea5a3dc43dfc0a4e3f6eebf388d76c91f69b48e9fe1431c2d9ea
MD5 ca5955087b2a829fceae07eb0981b0a4
BLAKE2b-256 9ca448f03bca7f8c3d326d8b1c6b1d0fc94630f12a1be414d25049272dfb62e9

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 18160ce6b574e230204774d12a8a00bb5868dc22bf28e445117ca26a8b9a6fff
MD5 e3cc3f6e65a0c8d1a8000bb8f4025f38
BLAKE2b-256 11fc0e8da8c4692ba6a4f7d91e62bf6579fcd0fa8a72fe6f768d5244cf70f3fb

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf7e72ea226a8a1289045f5dfc86d685c2890322f754f8f8eabcb30cf2bef9f2
MD5 7b521d2e59225d89e98a0d0ed9dbe6b9
BLAKE2b-256 f23747727d28780978ba8969524ee2e0545f74080383497574e7df17ff41a19a

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b65dfb82b3a5cdd0ac53227b5caae47d98034ae4a8966de89e2ac58639ba14a4
MD5 f2eb08eaac5b549f6e6e01fea4693cae
BLAKE2b-256 de6efe8c4bde25d38862e98843b50c891068865d75113b2701436a7a4f950231

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 feb3f3114a3a847f0896ca3d563bf61e3a95ebf51d2308170aed5a7aad88fec3
MD5 f04606c8afee0337fc2b9f9b1353c883
BLAKE2b-256 b56e7235825baa8b60286c5b0ae605f778db9047be14529f44cc31159014806d

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 216cb1e3f600ff91164c85379241a4f77ed7d1f8e65ffae4ccf3ef34662b9d8a
MD5 190d14105f466522db4d5fde46f6a9a1
BLAKE2b-256 ffc3bdc36067cf111cd2f84e7877e0cbdf3bed5fb179fc2f6c969e79ff9fa693

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a00d105ba2484360d39cf514a16e97e1f66cf053fcc7afd16f95dbbb6de8ed9d
MD5 91adbd653d67f79c5981cae5d3916a3c
BLAKE2b-256 ee41b41ca8b75a0760b81b9a5e859ea1c366f644e119615fe3feb1e30ade1652

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ac49a019283a737b887f5fa50e8d1670cfd2f685256a7f31a8da33b70df701e1
MD5 ea2dae6e3d7fdfb1bece51d810d83453
BLAKE2b-256 f92d79b651d72295541d06f9f413767a901726e7de7748f908db6d5962f2afbe

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2c22b8ae25cc1b473f563c7bc63a19411678a87dc85bde2730159422e91fa896
MD5 c45849a59e2f30060c9a200f0a8ba5f5
BLAKE2b-256 688feca24607f9d9d262d174ce8d2cd3c66eb0d35dafe419a830f569c346e6c9

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: fastnumbers-5.1.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 117.6 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d4740b27b318cd3c2e51701741f46ace4b057b64173d74544889080f7cd38ce6
MD5 b2d693b23a3ff53105f33d3f68b15358
BLAKE2b-256 37195a9196d2602dfae12536dadd7f22b30b981d5174f45fddac71512221b84d

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7a751bf7088fa0b81bb361f554bc09d865a9cbb125ad1c2799a8040b38e666bf
MD5 732b27ca745592e6911a90fc0a7ab347
BLAKE2b-256 a32e015419fdff8da25f60941056fce1555c6b82716cc11f2bbbe1fcce8a02f3

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ed7512688d956f425d699ab76634f5a7c401b2651d66c4d2f404972cdf8de883
MD5 e27d1d3fc819b91037b44d5896c5a2c2
BLAKE2b-256 f4179b15c86c7b982ad453c1124350fac3adbe31da50bfd35613949809949d3e

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4c7c5a2720fcde8010e93fc2e93128fd9e9ef1f3ebc2bc1f4506224633d0d37f
MD5 81abf4f455d51ddaf6fe52d6cbd10b53
BLAKE2b-256 de4dc2cc1a5e519e13088147e5991bf4b02b2f474cd09f586ecdbd73b375689b

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27ed402443ff3e39f815e69ed0b8e34cdabf299326bc477cbe799f3ca8a13072
MD5 a5b281d246a0332b5e9d11319be292cf
BLAKE2b-256 cedefbe53f0dc8deaf68768a4b815f4ac07e59e7f69adb98948af20bae60c1ce

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6657a95ef174d3872192f489317333d5af0e7f1621a3bca0f41194db1b460ac0
MD5 c2b022359fab48e9e26d6787ab5d6cea
BLAKE2b-256 d756e0e660a53d2a151de8b5e3d10d4907b93bd24cd05a17bac4491b19502042

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 64ec3c60752ffa32d2412caae8b9872a39a7aa310ee58d2575807c1b5883d043
MD5 687368eb2abcc79e64ef98a99e876b17
BLAKE2b-256 e4aae189912eee9f11e682df884b933904ed509f834578e46871e52a78b355ab

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 372141d4db29a514897dadade1b312fc765b7d8d49dc4e8283597827eda92a8d
MD5 ae2ed84fa1120553b1081c602305cad2
BLAKE2b-256 1f38721779cdde9606f5c4fb73f83cc052f220e1739621301222304d9382338d

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 502b1504f8f26dbb489219fc1dfd2b67f4dc24030537bc4989c54587a54c7b6d
MD5 ea9ee7f61acdbf32e67f3b94759d0315
BLAKE2b-256 eeec53aaf52312e560c6f5651980a61c170dcc66e897c9d379aacc80b7a9aa11

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 68a9af245f48738222f1693499ff54c67c898ac1f00f78d2b479e94cf9174543
MD5 c70843199f844dae787ba1d825fd907b
BLAKE2b-256 988d23124b865089a2b933fa3f283bdf53af551ead48f0e4195a6a68ebf319a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0328d0688a69058c4e73c5b38f42c6c2e07b897f458bbbb90936266d8e9c8072
MD5 4a4f91e84e9907de4dd6dbe27e7271a9
BLAKE2b-256 8eacb10314739eacd516d7bfe0381a5328a8862e897f42b89f7640fad9468acb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-5.1.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 117.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 078e67ccc71ae834d83fcea7a64672f2a6f0040aac7908ced34354d29df0cc35
MD5 326279ca3123f083e9d5e34fd923fadc
BLAKE2b-256 35eddcf8979f927ce00e902ce5a3b4105f994d0cab6cb5de85bd211cac9e20e2

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 01d775db865ae4dc2d2088cbc6e53ebcd3464b1c49c89ddefa2b0ed26f4c3711
MD5 d53af8f7dc684f5c518b251c609c2fc5
BLAKE2b-256 6de694a2f99dc4675e33ec3cf24bac80434eefbfb0dbad37bf1acf367ac45a05

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ac365d3f14a7c47fdd8fe5dd3512d3afd2aa600b01510383a1caf19371e908b0
MD5 08ac2db82df7104d74c5b05345a15fdf
BLAKE2b-256 52db7bd7c1d6265234356b5765d0927dff4d21d0f83748149f1ee62b08573e87

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3f6aa54eba104aebb0e62be7d7e358c5cbb337594e074312c5a6f4d61469d1a9
MD5 26d1a01ffc8efc56a9a8b1981c4e527a
BLAKE2b-256 f7020cf97f25d6c532fb2a75022f891628a160caf2f8bb246cf5e26ced7037a3

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5bd98f17a4244c0e6eee75c5e8b04d3e3f551ebcfeb8b8a39df71b20f3a57835
MD5 4e25b6548a586275e8e10773ae5e33a0
BLAKE2b-256 d8012d1b433ab875998f98156703d43670ff6df2af3d02762738d058e0093c18

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 752fca8cb770f134f819b9621853ddc8721c4df0c4d5991b61091975f9c79942
MD5 25601c886f43daecd3a8c52788fdcf44
BLAKE2b-256 562c37d62bdb7d64520b708127ea505e86f61e4d61c4b5f2fbbf0c1d50db1169

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22ba642ff3e8520f33a760b008e24f6466b64c324117f0378b5ca25eb3fd4c18
MD5 9109f95d7d23e5f22a91723e05b4c6ed
BLAKE2b-256 4efa0d783e775c05fc53a8ab18c67f46e200af53b1aafb352cd699e41f705738

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04bb9122a89fb4176b260f1c6e94809e54fe5d9875165477dc01efe7e4383c42
MD5 8aeda334c26b097c986dce73c5890cf6
BLAKE2b-256 738bee1c914181b06a33221d9a6e4704d1027bfa3fb175cb1bb8a9492a0ae1ef

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2f187d2132a6908c7b5b712b0ee81ef854d071c455100c3e51616dc678ab7bb3
MD5 78ae641e59b57d2d78f123480d238cb8
BLAKE2b-256 107446c8b71e72f4921dd34088f2a1d49ce597b3878a23865d95f29b811cb92a

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 fc473f8997de26e277b68555a62535795a8f967d7d2f0bf275b4f7918b6d6625
MD5 a15af956598d1332911382250eb89299
BLAKE2b-256 f5d88436f12606372b32f358d430f0bddfe39ed37cfa4a2b18256996daad87a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3c1c931dd6d9364072bc8a958ae5a90bd8e1d56934c899bb2f93a5d9508e7e9d
MD5 a8c403e1b1dc078bea018aa235d8e049
BLAKE2b-256 78882d501abdb481a6243cee807fbee9f206cc7ce25b1852bd1caaaabb783e8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastnumbers-5.1.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 117.6 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 9addae3ce66eacebeea445ba44cef1def38d3945fae815aa0b276c42382b8506
MD5 49f3118b66b1687399f126ff59b6cba4
BLAKE2b-256 2ebedd323f8922d0e2f5fabc5aebeee1e1b2529001805d22836bf95a0ca16e33

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d29c0c4698cc220986b24b79bb2239e33337b4256b410e2bd410b1813278be87
MD5 d1816060fee0efd463e2c03f489ce9db
BLAKE2b-256 66890e7ecbda7d06450572b5dacd13b003af0c488003a099de34849905fb03cd

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d0d59a64d91614cf87b33f0cef04f51ddf1588133795cbbf25507de4f8003e8f
MD5 53767e519480d9aa17063b08886e93fa
BLAKE2b-256 682e857dbbf9690ca03e66f54c8347df185c3377a8c9006c8b5b0e322ffe4039

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 73e47c9830c3fbf7c7f990f37968516109c986e7c8d6fc335cf4ff6fe5e08d20
MD5 0e38e26a4d8aa59592780ff5c9b4f75f
BLAKE2b-256 bbaf9f23250c2887dc180156f5b709bd723d59ace14034d2c2fd5d0b3c63299f

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99a6a20cb63441a396edf222c17f00c4eb7844f50d8a1145634c63a4f3dd8c13
MD5 4f93bda495be64c2cc15b689cc15bfd1
BLAKE2b-256 104f7e5667f77c57bda82a373a808e2d65a7f913db0079bc8631d6903c712663

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8287d17f59497d6e7142030513721d9078363e5afb8ace7c85bc73c3e796ed28
MD5 504627603745bbbe2deb6f2205177909
BLAKE2b-256 4bf237d5802a0612025aa17d522364407bf9438edc418faaecd2e7c63da2d92b

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a06d1097cdeb13ba5ef94fb14a544984f6904fa427cf986f1984b21725139171
MD5 c81ae8fb53eb7ec1714e0b42cf6f33f9
BLAKE2b-256 0bf985916f129f89959e7f130dbcef57726d652a7dd3ddfb0407705a2d16f7d2

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 622dab5587e4227716b62c48f4825b3a4513c732e799c42143f5acf451b40894
MD5 7dc4031fd23e697c99ff363954a21940
BLAKE2b-256 3184f1942a8423b72e2c0cb0abce1970587aaa70e52c96c431f52cf7ed43a2ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5b207e2bb8d8fc5edaf55967e4e66401b4868ddc25a0841882c550696831beec
MD5 7bf8b8b94aa1aff8c03328f731f33d65
BLAKE2b-256 4e6f92bae9528fb98e0d738dd4e18b318d27dbdcbe8a3c818f797457216281cc

See more details on using hashes here.

File details

Details for the file fastnumbers-5.1.1-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastnumbers-5.1.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c184675c43ab0d3a698aed49d5f75954a4d9c93fc610c43e62c6dc460e5502c3
MD5 89a3af7a61e8bf5120a5d8bf3195f46b
BLAKE2b-256 7ccd9dd9bef21c17aa7d4636cd8906c802dedc4530f90f8cb949b1834d56509c

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page