semvec/pypi-packages huggingface dataset:
coalescing 0.1.1
Access messy nested data structures

This module is intended to ease access to nested data
structures—in any combination of key or attribue access to each
level of a hierarchy—where many paths in the tree may be missing.
Typically, such data is encountered in semi-structured formats
like JSON, YAML, or some XML, that is deserialized into Python
data structures.

PEP 505 attempts to address this need with the addition of a
number of new syntactic operators for attribute or item access
where a special type of failure mode "coalesces" None values.
Other libraries such as PyMaybe (https://pymaybe.readthedocs.io)
perform a similar operation, and are more mature and robust.

On the other hand, by utilizing `wrapt.ObjectProxy`, this simple
module manages to do some pretty neat stuff that even PyMaybe does
not.

In this library, I simply want to provide simple wrapper classes that
provide both what I think is more useful behavior and behavior that
is semantically equivalent to PEP 505.

Classes:

    GreedyAccess: 
    
        Wrap an object so that nested attribute and item access
        simply does not fail, but propagates a wrapped object 
        across such nested access.

    NullCoalesce:

        Wrap an object so that encountering a None (or other
        indicated sentinel) at any level stops accessing further 
        attributes and unboxes as a None (or other sentinel).

        Aliased as `NoneCoalesce`
hermitcraftvideos 0.1.1
A Wrapper for Hermicraft Video API

# Hermitcraft Video API
This is a python wrapper for the Hermitcraft.com api, that supports retrieving data for hermits and their videos.

The Site was created by hypnotised, and the api is used within the site to get the latest videos and see when hermits are live. This uses those api endpoints allowing us to get the data that the site uses.

# Getting started

Go ahead and import the library.
```py
import hermitcraftvideos
```

Next, we get a hermit from the api. Let's use Xisumavoid for this example.
```py
hermit = hermitcraftvideos.getHermit("xisumavoid")
```
Make sure that you use the right name. It needs to be the EXACT channel name in the youtube URL in lower case. ``Example: Mumbo --> https://www.youtube.com/user/ThatMumboJumbo --> thatmumbojumbo``

How we have our hermit from the api, we can find out data.

Such as a profile picture
```py
print(hermit.picture) #https://yt3.ggpht.com/-x5tq4dTokyM/AAAAAAAAAAI/AAAAAAAAAAA/x4s30KOqUVA/s88-c-k-no/photo.jpg
```

Or we can find out a twitter:
```py
print("@{} - {}".format(hermit.twitter.name,hermit.twitter.url)) #@xisumavoid - https://twitter.com/xisumavoid
```

Or better, if they are live on youtube, twitch or mixer(beam)
```py
print(hermit.youtube.live) #False
print(hermit.twitch.live) #True
print(hermit.mixer.live) #False
```

We can also get videos!
```py
videos = hermit.getVideos()
```

You can get simple data from the video
```py
video = videos[0]
print(video.title) #Hermitcraft VI 712 Already Its The End!
```

And Some handy data
```py
print("video is {} mins long".format(video.duration_time)) #video is 22:49 mins long
print("uploaded {}".format(video.uploaded_time)) #uploaded 7 hours ago 
```

Oooooh. Statistics
```py
print(video.views) #44430
print(video.likes) # 2785
```

Oooooooooooooooooooooooooooooooooooooh. Updated Statistics
```py
video.update()
print(video.views) #44440
print(video.likes) # 2790
```

And That's Mostly it. You can also get a jumble of videos with
```
hermitcraftvideos.getLatestVideos()
```

# API Reference

Soon!