Safe casting of Python base types
Project description
.. -*- mode: rst -*-
safe-cast
---------
Safe casting of Python base types.
Badges
------
.. start-badges
.. list-table::
:stub-columns: 1
* - docs
- |docs| |license|
* - info
- |hits| |contributors|
* - tests
- |travis| |coveralls|
* - package
- |version| |supported-versions|
* - other
- |requires|
.. |docs| image:: https://readthedocs.org/projects/safe-cast/badge/?style=flat
:target: http://safe-cast.readthedocs.io
:alt: Documentation Status
.. |hits| image:: http://hits.dwyl.io/tuneinc/safe-cast.svg
:target: http://hits.dwyl.io/tuneinc/safe-cast
:alt: Hit Count
.. |contributors| image:: https://img.shields.io/github/contributors/tuneinc/safe-cast.svg
:target: https://github.com/tuneinc/safe-cast/graphs/contributors
:alt: Contributors
.. |license| image:: https://img.shields.io/badge/License-MIT-yellow.svg
:alt: License Status
:target: https://opensource.org/licenses/MIT
.. |travis| image:: https://travis-ci.org/tuneinc/safe-cast.svg?branch=master
:target: https://travis-ci.org/tuneinc/safe-cast
:alt: Travis
.. |coveralls| image:: https://coveralls.io/repos/github/tuneinc/safe-cast/badge.svg?branch=master
:target: https://coveralls.io/github/tuneinc/safe-cast?branch=master
:alt: Code Coverage Status
.. |requires| image:: https://requires.io/github/tuneinc/safe-cast/requirements.svg?branch=master
:target: https://requires.io/github/tuneinc/safe-cast/requirements/?branch=master
:alt: Requirements Status
.. |version| image:: https://img.shields.io/pypi/v/safe-cast.svg?style=flat
:target: https://pypi.python.org/pypi/safe-cast
:alt: PyPI Package latest release
.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/safe-cast.svg?style=flat
:target: https://pypi.python.org/pypi/safe-cast
:alt: Supported versions
.. end-badges
Functions
---------
+-----------------------------------------------+------------------------------------------------------------------+
| Function | Purpose |
+===============================================+==================================================================+
| ``safe_cast(val, to_type, default=None)`` | Cast value to requested type, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_str(val, default=None)`` | Cast value to type string, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_float(val, ndigits=2, default=None)`` | Cast value to type float, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_int(val, default=None)`` | Cast value to type int, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_dict(val, default=None)`` | Cast value to type dictionary, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_smart_cast(val)`` | Determine type based upon value, and cast to that type. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_cost(val)`` | Cast value to type float by 4 decimal points. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_fraction(val)`` | Cast fraction to type float, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
Usage
-----
``safe_cast(val, to_type, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to type, and if failed, returned default if exists.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast.
:param to_type: Safely cast to a specific type.
:param default: Default if casting fails.
:return: Return casted value or default.
``safe_int(val, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to an integer.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to int.
:param default: Default if casting fails.
:return: Return int casted value or default.
``safe_float(val, ndigits=2, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to float, remove ',' if exists to ensure strings "1,234.5" are transformed to become "1234.5".
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to float.
:param ndigits: Number of digits in float.
:param default: Default if casting fails.
:return: Return float casted value or default.
``safe_str(val, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to a string.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to string.
:param default: Default if casting fails.
:return: Return string casted value or default.
``safe_dict(val, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to a dictionary.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to dictionary.
:param default: Default if casting fails.
:return: Return dictionary casted value or default.
``safe_smart_cast(val)``
~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to the best matching type.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be smartly cast.
:return: Typed value
``safe_fraction(fraction, ndigits=2, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a fraction string to float.
Optional: Pass default value. Returned if casting fails.
:param fraction: Value of fraction to be cast to float.
:param ndigits: Number of digits in float.
:param default: Default if casting fails.
:return: Return float casted value or default.
.. :changelog:
Release History
===============
0.2.4 (2018-01-25)
------------------
- migrate to github/tuneinc.
- LICENSE: MIT
0.2.3 (2017-12-10)
------------------
- readthedocs.org
0.2.0 (2017-12-05)
-------------------
* README
0.1.3 (2017-10-31)
------------------
* Added comments.
0.1.2 (2017-10-19)
------------------
* Update requirements.txt
0.1.1 (2017-03-15)
------------------
* Handle empty string -> int/float/dict casting
* Added relevant testing
0.1.0 (2017-03-14)
------------------
* Production ready
* Cleanup
0.0.9 (2017-03-14)
------------------
* Handle None input
0.0.8 (2017-03-12)
------------------
* Rename package to 'safe-cast'
0.0.7 (2017-03-09)
------------------
* Renamed inner package folder to underscore: 'smart_cast. To comply with Python standard.
* Updated casting logic
* Updated testing
* Activate Continues deployment and testing with Travis.CI
* Activate coverage testing: Coveralls.io
0.0.6 (2017-03-08)
------------------
* Renamed from 'safecast' to 'smart-cast'
0.0.1 (2017-03-07)
------------------
* Conception
safe-cast
---------
Safe casting of Python base types.
Badges
------
.. start-badges
.. list-table::
:stub-columns: 1
* - docs
- |docs| |license|
* - info
- |hits| |contributors|
* - tests
- |travis| |coveralls|
* - package
- |version| |supported-versions|
* - other
- |requires|
.. |docs| image:: https://readthedocs.org/projects/safe-cast/badge/?style=flat
:target: http://safe-cast.readthedocs.io
:alt: Documentation Status
.. |hits| image:: http://hits.dwyl.io/tuneinc/safe-cast.svg
:target: http://hits.dwyl.io/tuneinc/safe-cast
:alt: Hit Count
.. |contributors| image:: https://img.shields.io/github/contributors/tuneinc/safe-cast.svg
:target: https://github.com/tuneinc/safe-cast/graphs/contributors
:alt: Contributors
.. |license| image:: https://img.shields.io/badge/License-MIT-yellow.svg
:alt: License Status
:target: https://opensource.org/licenses/MIT
.. |travis| image:: https://travis-ci.org/tuneinc/safe-cast.svg?branch=master
:target: https://travis-ci.org/tuneinc/safe-cast
:alt: Travis
.. |coveralls| image:: https://coveralls.io/repos/github/tuneinc/safe-cast/badge.svg?branch=master
:target: https://coveralls.io/github/tuneinc/safe-cast?branch=master
:alt: Code Coverage Status
.. |requires| image:: https://requires.io/github/tuneinc/safe-cast/requirements.svg?branch=master
:target: https://requires.io/github/tuneinc/safe-cast/requirements/?branch=master
:alt: Requirements Status
.. |version| image:: https://img.shields.io/pypi/v/safe-cast.svg?style=flat
:target: https://pypi.python.org/pypi/safe-cast
:alt: PyPI Package latest release
.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/safe-cast.svg?style=flat
:target: https://pypi.python.org/pypi/safe-cast
:alt: Supported versions
.. end-badges
Functions
---------
+-----------------------------------------------+------------------------------------------------------------------+
| Function | Purpose |
+===============================================+==================================================================+
| ``safe_cast(val, to_type, default=None)`` | Cast value to requested type, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_str(val, default=None)`` | Cast value to type string, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_float(val, ndigits=2, default=None)`` | Cast value to type float, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_int(val, default=None)`` | Cast value to type int, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_dict(val, default=None)`` | Cast value to type dictionary, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_smart_cast(val)`` | Determine type based upon value, and cast to that type. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_cost(val)`` | Cast value to type float by 4 decimal points. |
+-----------------------------------------------+------------------------------------------------------------------+
| ``safe_fraction(val)`` | Cast fraction to type float, if failed, then used default. |
+-----------------------------------------------+------------------------------------------------------------------+
Usage
-----
``safe_cast(val, to_type, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to type, and if failed, returned default if exists.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast.
:param to_type: Safely cast to a specific type.
:param default: Default if casting fails.
:return: Return casted value or default.
``safe_int(val, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to an integer.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to int.
:param default: Default if casting fails.
:return: Return int casted value or default.
``safe_float(val, ndigits=2, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to float, remove ',' if exists to ensure strings "1,234.5" are transformed to become "1234.5".
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to float.
:param ndigits: Number of digits in float.
:param default: Default if casting fails.
:return: Return float casted value or default.
``safe_str(val, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to a string.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to string.
:param default: Default if casting fails.
:return: Return string casted value or default.
``safe_dict(val, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to a dictionary.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be cast to dictionary.
:param default: Default if casting fails.
:return: Return dictionary casted value or default.
``safe_smart_cast(val)``
~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a value to the best matching type.
Optional: Pass default value. Returned if casting fails.
:param val: Value to be smartly cast.
:return: Typed value
``safe_fraction(fraction, ndigits=2, default=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Safely cast a fraction string to float.
Optional: Pass default value. Returned if casting fails.
:param fraction: Value of fraction to be cast to float.
:param ndigits: Number of digits in float.
:param default: Default if casting fails.
:return: Return float casted value or default.
.. :changelog:
Release History
===============
0.2.4 (2018-01-25)
------------------
- migrate to github/tuneinc.
- LICENSE: MIT
0.2.3 (2017-12-10)
------------------
- readthedocs.org
0.2.0 (2017-12-05)
-------------------
* README
0.1.3 (2017-10-31)
------------------
* Added comments.
0.1.2 (2017-10-19)
------------------
* Update requirements.txt
0.1.1 (2017-03-15)
------------------
* Handle empty string -> int/float/dict casting
* Added relevant testing
0.1.0 (2017-03-14)
------------------
* Production ready
* Cleanup
0.0.9 (2017-03-14)
------------------
* Handle None input
0.0.8 (2017-03-12)
------------------
* Rename package to 'safe-cast'
0.0.7 (2017-03-09)
------------------
* Renamed inner package folder to underscore: 'smart_cast. To comply with Python standard.
* Updated casting logic
* Updated testing
* Activate Continues deployment and testing with Travis.CI
* Activate coverage testing: Coveralls.io
0.0.6 (2017-03-08)
------------------
* Renamed from 'safecast' to 'smart-cast'
0.0.1 (2017-03-07)
------------------
* Conception
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
safe-cast-0.2.8.tar.gz
(6.1 kB
view hashes)
Built Distribution
Close
Hashes for safe_cast-0.2.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e0d1446a94519a03f342bac75071abfdf7f5e4d9b8d066f492acab949fc705a |
|
MD5 | 22a15f04bf0e2222a9d7888384866b53 |
|
BLAKE2b-256 | 39d1a63e5e5d28c8d50b898c00427824d998f126b63c5ae6f55cd1fb7bfd5c41 |