semvec/pypi-packages huggingface dataset:
nodcast 0.1.19
NodCast, a text-based article reader and manager
Requires Python: >=3.6
Keywords: text, reader, cli, article, tts

# NodCast

NodCast is a keyboard-driven, text-based reading platform designed for focused, distraction-free engagement with articles and scientific papers. It introduces a novel method for reading and writing by allowing readers to interact with text through short written signals called **nods**, track comprehension, and flag ambiguous or challenging sections.

Articles can be annotated dynamically, and your interactions provide feedback for understanding and coherence, helping both readers and writers improve the reading experience.

For more details, visit [NodCast Website](http://puraminy.github.io/nodcast/).

## Key Features

- **Interactive Reading**: Engage with each sentence via affirming or reflective nods.
- **Custom Feedback**: Add your own nods and questions to capture points of confusion or reasoning gaps.
- **Read Aloud**: Supports Google Text-to-Speech for listening to articles while reading.
- **Article Scoring and Feedback**: Create and read articles that receive scores and feedback from community, helping writers improve clarity and coherence.
- **Context-Aware Summaries**: Quickly focus on core ideas without losing track of the narrative.
- **Dynamic Article Analysis**: Tracks reading behavior to highlight confusing sections or important points.
- **Keyboard-Centric Navigation**: Designed for smooth terminal interaction with minimal distractions.

## Installation

Installation on linux:
```
pip install nodcast
```
### Installation on Windows
For Windows you need to instll `windows-curses` package too, so use the following command:
```
pip install windows-curses nodcast
```
hump 1.1.0
Hump (a defining part of grizzly's neck) is a zero-dependency simple async web server framework for registering request handlers
Requires Python: >=3.13

# Hump

![PyPI - License](https://img.shields.io/pypi/l/hump?style=for-the-badge)
![PyPI - Types](https://img.shields.io/pypi/types/hump?style=for-the-badge)
![PyPI - Version](https://img.shields.io/pypi/v/hump?style=for-the-badge)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hump?style=for-the-badge)

Hump (a defining part of grizzly's neck) is a zero-dependency simple async web server framework for registering request handlers

# Why

- Because dataclasses have smaller overhead than Pydantic models.
- "I understand how something works only if i know how to create it myself"
- Making software from scratch is something that is inherently fun and challenging

# How

1. Python `socket` package provides the means to connect/accept with `AF_INET` (TCP/IP) protocol
2. Create a socket, set it up as non-blocking, bind to `host, port` pair
3. Listen for incoming connections on socket
4. When client connects, accept, create an asyncio task to handle this request further, main return to 3 to accept other clients
5. Parse incoming request into dataclass `Request` model, pass it into registered async handler by `url, method` pair
6. Gather response data/`Response` object, encode to bytes and send it back
7. Close socket and finish task

# Usage example

```python
import asyncio
from hump import Hump, Request

app = Hump("", 8342)

@app.get("/")
async def index(request: Request):
    return "Hello, world!"

asyncio.run(app.serve())
```

And that's it, you can run this example, go to your browser and perform http request to `localhost:8342` to get `Hello, world!` answer.

You can also return another HTTP status code with data attached like this

```python
from hump import Response, statuses

# ... As defined in example usage before

@app.get("/")
async def index(request: Request)
    return Response("Howdy!", statuses.IM_A_TEAPOT)
```

# Limitations

1. HTTP/1.1 only, no HTTPS
2. No automatic headers handling
3. No automatic json response handling, only `str` to `Response` wrapping