semvec/pypi-packages huggingface dataset:
clay-streamlit-one 0.2.12
A minimal streamlit app framework
License: MIT
Requires Python: >=3.7

## Clay-Streamlit

Are you tired of the boilerplate needed to actually run a useful streamlit app? I was.

* Create multipage apps simply by defining list of pages
* Each page has a name, lambda to show contents, and lambda to show sidebar

* Run your code simply by calling `python <myfile.py>`
* No need to complicate launch.json with `streamlit run <myfile>` commands
* Makes debugging and working in containers simpler

```
from clay_streamlit_one import AppPage, ClayStreamlitApp

pages_list = [
        AppPage.AppPage("first page", 
            None, 
            lambda: st.button("This is a button for the first page") 
        ),
        AppPage.AppPage("Hi", 
            lambda: st.code(demo_code) and st.write("Success! ClayStreamlitApp is working"),
            None
        ),
        ]

myapp = ClayStreamlitApp.ClayStreamlitApp()
myapp.set_pages(pages_list)
myapp.run()
```
librofm 0.1.0
A Python client library for downloading audiobooks from Libro.fm
License: MIT
Requires Python: >=3.10
Keywords: audiobook, libro.fm, download, cli

# librofm

A Python client library for downloading audiobooks from [Libro.fm](https://libro.fm).

## Features

- Download audiobooks from your Libro.fm library
- Support for both MP3 and M4B formats (M4B preferred when available)
- Automatic file organization by author and title
- Command-line interface for batch downloads
- Python API for programmatic access

## Installation

```bash
pip install librofm
```

## Configuration

Set your Libro.fm credentials as environment variables:

```bash
export LIBROFM_USERNAME="your_username"
export LIBROFM_PASSWORD="your_password"
```

Alternatively, create a `.env` file in your working directory:

```
LIBROFM_USERNAME=your_username
LIBROFM_PASSWORD=your_password
```

## Usage

### Command Line

Download all audiobooks to the default directory (`~/Audiobooks`):

```bash
librofm-download
```

Download to a custom directory:

```bash
librofm-download /path/to/audiobooks
```

Show help:

```bash
librofm-download --help
```

### Python API

```python
from librofm.client import LibroFMClient

# Create client (uses environment variables)
client = LibroFMClient.get_client()

# Or create with explicit credentials
client = LibroFMClient("username", "password")

# Get your library
page = client.get_library()
print(f"Found {len(page.audiobooks)} audiobooks")

# Download a specific audiobook
audiobook = page.audiobooks[0]
success = client.download(audiobook, "/path/to/downloads")

# Get download manifest for MP3 files
manifest = client.get_download_manifest(audiobook)
print(f"Audiobook has {len(manifest.parts)} parts")

# Get M4B package info
m4b_info = client.get_packaged_m4b_info(audiobook)
if m4b_info:
    print(f"M4B available at: {m4b_info.m4b_url}")
```

## File Organization

Downloaded audiobooks are organized as:
```
base_path/
\x00\x00 Author Name/
   \x00\x00 Book Title/
       \x00\x00 part1.mp3
       \x00\x00 part2.mp3
       \x00\x00 ...
\x00\x00 Another Author/
    \x00\x00 Another Book/
        \x00\x00 book.m4b
```

## Requirements

- Python 3.10+
- Active Libro.fm account with audiobooks in your library

## License

MIT License

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Disclaimer

This tool is for personal use only. Please respect Libro.fm's terms of service and only download audiobooks you have legally purchased.