This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Undefined

Ever needed a global object that act as None but not quite ?

Like for example key-word argument for function, where None make sens, so you need a default value.

One solution is to create as singleton object:

mysingleton = object()

Though it becomes difficult to track the singleton across libraries, and teach users where to import this from.

It’s also relatively annoying use this singleton across library.

Introducing undefined:

>>> import undefined
>>> from undefined import Undefined
>>> undefined is Undefined
True

behavior

It work (for now) mostly like a singleton object, meaning it’s truth-y

>>> if undefined: print(True)
True

Casing ?

Because it is a module you can use it lowercase:

import undefined

Because it looks more like a keyword (None, True, False), you can use it upper case:

import undefined as Undefined

or

from undefined import Undefined

I tend to be torn between lowercase, for simplicity, and Uppercase.

Why not None, difference with None

undefined is likely slower, and as it is a regular Python object there are a few on purpose (or not difference).

Unlike None, you can assign to it

>>> None = 3
SyntaxError: can't assign to keyword
>>> undefined = 3
>>> undefned
3

Unlike None, undefined is mutable

>>> undefined.value = 42
>>> undefined.value
42

(might be able to fix that with __get_attr__

Unlike None, undefined is neither true not false.

If you test for boolean value of undefind if will raise. That is to say: the following will fail:

value = undefined
if value:
   pass # will raise before reaching here.

You have to check for identity:

value = undefined
other = 1
if value is undefined:
    pass # will execute

for info, undefined is not True,False, not undefined with respect to identity

>>> undefined is True
False

>>> undefined is False
False

>>>: undefined is None
False

String form

str(undefined) raises. repr(undefined) is the unicode string 'Undefined'

Release History

Release History

0.0.4

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
undefined-0.0.4-py3-none-any.whl (3.1 kB) Copy SHA256 Checksum SHA256 py3 Wheel Dec 27, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting