Definitely typed. Type any object to any type as you wish.
Project description
definitely
Typing tricks that make your type checker a little more quiet.
Key features:
definitely
– Type everything as you wish.asyncily
– Run a function asynchronously.asyncily_iterate
– Iterate through an iterator asynchronously.reversely
– Reverse a dictionary.
pip install definitely-typed
I should all be responsible about this, admittedly. Sorry guys.
Methods
They just exist!
def definitely
Definitely typed.
person = "Charles"
# Transforms `person` into any type you desire
assert definitely(person, int)
reveal_type(person)
# ^^^^^^
# runtime: str
# typecheck: int
The runtime type WILL NOT change, yet when TYPE_CHECKING
, the variable acts just like the desired type (in this case, int
).
def asyncily
Asynchronously run a function.
# You can use this as a decorator like so:
@asyncily
def buy_stuff(item: str):
print("dad is going out!")
time.sleep(2 << 40)
print("came back with the %s!" % item)
await buy_stuff("milk")
# Or, you can use this as a "async function factory" like so:
def make(name: str):
return f"Made product: {name!r}"
amake = asyncily(make)
await amake("milk")
def asyncily_iterate
Asynchronously iterate through an iterator.
def get_resources():
yield from ["banana", "guava", "apple"]
async for resource in asyncily_iterate(get_resources()):
print("-", resource)
# Output:
# - banana
# - guava
# - apple
def reversely
Reverse a dictionary.
metadata = {"password": 1234, "total_users": 100_000}
reversed_metadata = reversely(metadata)
assert reversed_metadata == {1234: "password", 100_000: "users"}
reveal_type(reversed_metadata)
# ^^^^^^^^^^^^^^^^^
# runtime: dict[int, str]
# typecheck: dict[str, int]
(c) 2024 AWeirdDev, and other silly people
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
definitely_typed-0.2.tar.gz
(4.5 kB
view details)
File details
Details for the file definitely_typed-0.2.tar.gz
.
File metadata
- Download URL: definitely_typed-0.2.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6970ff8ee56827119f4e50aa3891196c6a4f3f7a96fc6540faa5586432af21e |
|
MD5 | da8287f4ad71c03af62a500cd5584ad4 |
|
BLAKE2b-256 | 6b8e6316b08fbc2b034a1dd2ceabad77eae91224973f49c57b6e3e1e06079992 |