Skip to main content

doodad

Making access to names easier.

doodad: A gadget or other object whose name the speaker does not know or cannot recall.

Often, when writing code, you need to specify field names, for example, when writing code that communicates with a database. It's so easy to make a typo in the field name, and you might only know this once you run the code, which may be a lot later...

What doodad wants to do when it grows up, is make it easier to find names, and use the names you meant to use, with tab completion etc.

To install: pip install doodad

Documentation

Examples

Find all the names (variables, functions, etc.) in a piece of code or data.

>>> from doodad import find_names
>>> mapping = {'c': 1, 'b': {'a': 2, 'd': 3}}
>>> list(find_names(mapping))
['c', 'b', 'a', 'd']
>>> import os
>>> names = list(find_names(os.path.join))
>>> names
['join', 'a', 'a', 'sep', 'path', 'path']

Make an instance whose sole purpose is to contain those names. This allows you to have a ready-to-use collection of names that you can tab complete and catch spelling mistakes early (before, say, you ask for a field name that doesn't exist...)

>>> from doodad import mk_str_attr_obj
>>>
>>> f = mk_str_attr_obj(names)
>>> f.join
'join'
>>> f.path
'path'
>>> f = mk_str_attr_obj('date worker offre success')
>>> f.date
'date'
>>> f.worker
'worker'
>>> f.does_not_exist
Traceback (most recent call last):
...
AttributeError: 'AttrObj' object has no attribute 'does_not_exist'

f is a namedtuple so you can do things like:

>>> list(f)
['date', 'worker', 'offre', 'success']
>>> date, worker, offer, success = f
>>> offer
'offre'

Metadata

Release files for doodad 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for doodad 0.1.8
File Size Uploaded
doodad-0.1.8.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for doodad 0.1.8
File Interpreter ABI Platform
doodad-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 24.2 kB

Release files / doodad-0.1.8.tar.gz

Download URL doodad-0.1.8.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1a8f358727b869f91fc2524b5e13e274db9eddb76017ecb59beb5dae47db3ea1
BLAKE2b-256 checksum
How to use checksums
0cec88c99076699a81b4fcd596d6188ebcafd4a6a3e292b7c996733bdf54a0d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / doodad-0.1.8-py3-none-any.whl

Download URL doodad-0.1.8-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86b515185d66da4969abbf7b27602b0584a0c15ec0c923d5131c90e485405c1b
BLAKE2b-256 checksum
How to use checksums
08abd40ea5d267ac47a830b9caf225d740e021a9a4882b19682f5687efc64083
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page