{"id":24093,"library":"nanto","title":"nanto","description":"nanto makes working with values that might be NaN safer and easier. It provides utilities to detect, handle, and avoid NaN pitfalls. Current version: 0.1.1. Release cadence: irregular.","status":"active","version":"0.1.1","language":"python","source_language":"en","source_url":"https://github.com/mmore500/nanto","tags":["nan","sentinel","utilities","type-safety"],"install":[{"cmd":"pip install nanto","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"wrong":"from nanto import nan","symbol":"isnan","correct":"from nanto import isnan"},{"symbol":"nanto","correct":"from nanto import nanto"},{"symbol":"nantonone","correct":"from nanto import nantonone"}],"quickstart":{"code":"from nanto import nan, is_nan, not_nan, coalesce, Equality\n\n# Use nan as a sentinel value\nresult = nan\nprint(is_nan(result))  # True\nprint(not_nan(42))     # True\n\n# Coalesce: return first non-nan value\nvalue = coalesce(nan, nan, 5, nan)\nprint(value)  # 5\n\n# Use Equality enum for safe comparisons\nfrom nanto import Equality\nif Equality.NAN == Equality.NAN:\n    print(\"By convention, nan equals nan in nanto.\")","lang":"python","description":"Demonstrates basic usage of nanto: creating NaN sentinels, checking them, coalescing multiple values, and the Equality enum for NaN-safe comparisons."},"warnings":[{"fix":"Use 'is_nan(value)' instead of 'value is nan'.","message":"The 'nan' sentinel is a singleton, but using 'is' for comparison may be unreliable across imports. Always use 'is_nan()' or 'not_nan()' for checking NaN values.","severity":"gotcha","affected_versions":"all"},{"fix":"","message":"No deprecations known; library is early stage.","severity":"deprecated","affected_versions":"0.1.1"},{"fix":"","message":"No breaking changes known yet.","severity":"breaking","affected_versions":"0.1.1"}],"env_vars":null,"search_vec":"'0.1.1':26 'avoid':21 'cadenc':28 'current':24 'detect':18 'easier':13 'handl':19 'irregular':29 'make':3 'might':8 'nan':10,22,30 'nanto':1,2 'pitfal':23 'provid':15 'releas':27 'safer':11 'safeti':35 'sentinel':31 'type':34 'type-safeti':33 'util':16,32 'valu':6 'version':25 'work':4","created_at":"2026-05-01T08:11:15.087578+00:00","updated_at":"2026-05-01T08:11:15.087578+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'isnan' from 'nanto' (/tmp/tmpvz80a90l/venv/lib/python3.12/site-packages/nanto/__init__.py). Did you mean: 'isanan'?"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.1.1","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/mmore500/nanto","docs":null,"changelog":null,"pypi":"https://pypi.org/project/nanto/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}