{"library":"niltype","title":"niltype: Singleton for Missing Values","description":"A small Python library that provides a singleton `Nil` object. This object is designed to represent missing or unset values in scenarios where `None` is a valid and meaningful data value, thus avoiding ambiguity. Currently at version 1.0.2, it's a stable, single-purpose library with infrequent updates.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install niltype"],"cli":null},"imports":["from niltype import Nil"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from niltype import Nil\n\ndef get_user_setting(user_id: int, setting_name: str):\n    \"\"\"Simulates fetching a user setting where Nil means 'not found'.\"\"\"\n    if user_id == 1:\n        if setting_name == \"theme\":\n            return \"dark\"\n        elif setting_name == \"timeout\":\n            return None # None is a valid timeout (e.g., no timeout)\n    return Nil # Setting does not exist for this user\n\n# Example usage:\nsetting = get_user_setting(1, \"theme\")\nprint(f\"Theme setting: {setting} (is Nil: {setting is Nil})\")\n\nsetting = get_user_setting(1, \"timeout\")\nprint(f\"Timeout setting: {setting} (is Nil: {setting is Nil})\")\n\nsetting = get_user_setting(2, \"language\")\nprint(f\"Language setting: {setting} (is Nil: {setting is Nil})\")\n\nif setting is Nil:\n    print(\"\\nSetting 'language' for user 2 is missing.\")\nelif setting is None:\n    print(\"\\nSetting 'timeout' is explicitly set to None (no timeout).\")\nelse:\n    print(f\"\\nSetting is {setting}.\")","lang":"python","description":"Demonstrates how to import and use the `Nil` singleton to distinguish between a truly missing value (represented by `Nil`) and an intentional `None` value in a function's return, especially useful for API responses or configuration.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}