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
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| doodad-0.1.8.tar.gz | 14.1 kB | Without provenance | Details for doodad-0.1.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| doodad-0.1.8-py3-none-any.whl | Python 3 | none | any | Details for doodad-0.1.8-py3-none-any.whl |
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}
|
Security for doodad 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.