Skip to content

An alternative to dictionaries, built on the argparse Namespace class.

License

Notifications You must be signed in to change notification settings

Tinkering-Townsperson/spacename

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spacename

An alternative to dictionaries, built on the argparse Namespace class.

Table of contents

Back to Top

Table of contents

Installation

Usage

Installation

Currently, you are only able to install spacename using pip or similar package managers1. However, this is set to change in the near future.

Using pip

To install this package using pip, simply run the following command:

*Nix

pip3 install spacename

Windows

pip install spacename

Usage

Creating a Namespace

from spacename import Namespace

ns = Namespace(key="val")
print(ns.key)

Output:

val

Adding/modifying keys and values to the Namespace

from spacename import Namespace

ns = Namespace(spam="fizz", bacon="buzz")
ns.spam = "foo" # Changing existing value
ns.eggs = "bar" # Creating a key-value pair
del ns.bacon # Deleting a key-value pair

print(ns)

Output:

Namespace(spam="foo", eggs="bar")

Converting to dict

from spacename import Namespace

ns = Namespace(spam="foo", eggs="bar", bacon="baz")

print(dict(ns))

# OR

print(ns.to_dict())

Output:

{'spam': 'foo', 'eggs': 'bar', 'bacon': 'baz'}

Converting to list

from spacename import Namespace

ns = Namespace(spam="foo", eggs="bar", bacon="baz")

print(list(ns))

Output:

[('spam', 'foo'), ('eggs', 'bar'), ('bacon', 'baz')]

Iterating through a Namespace

from spacename import Namespace

ns = Namespace(spam="foo", eggs="bar", bacon="baz")

for k, v in ns:
	print(f"{k}=\"{v}\"")

Output:

spam="foo"
eggs="bar"
bacon="baz"

Comparing Namespaces with other Namespaces

from spacename import Namespace

ns1 = Namespace(spam="foo", eggs="bar", bacon="baz")
ns2 = Namespace(foo="spam", bar="eggs", baz="bacon")

print(ns1 == ns2)

Output:

False

Checking that a Namespace contains a key

from spacename import Namespace

ns = Namespace(spam="foo", eggs="bar", bacon="baz")

print("spam" in ns)

Output:

True

Footnotes

  1. Supported package managers include, but are not limited to, pip, poetry, and any other package manager that supports the PyPI repository.

About

An alternative to dictionaries, built on the argparse Namespace class.

Resources

License

Stars

Watchers

Forks

Languages