Here is the README.md with a complete set of examples for each supported file type and its usage, including a demo for all the supported files:
agenbits
A Python library to fetch, convert, and decode binary input data for machine learning models.
agenbits simplifies the process of fetching data from URLs, converting it into a temporary binary file, and decoding it into usable formats such as images, audio, text, videos, and more for ML models.
Features
- Fetch data: Fetch files from URLs (HTTP/HTTPS).
- Convert to binary: Converts files from the URL into binary format and stores them temporarily.
- Decode files: Supports decoding of various data formats, including Excel, CSV, JSON, images, audio, videos, and more.
- Automatic format detection: Automatically detects the file type and handles it accordingly.
Installation
To install agenbits from PyPI, run the following command:
pip install agenbits
Usage
agenbits provides multiple format-specific functions to fetch, convert, and decode files. Here's how you can use it:
Example 1: Fetch and Use Excel Data (CSV, XLSX)
You can fetch and convert Excel or CSV files into usable data for machine learning models:
from agenbits import Excel
# Fetch Excel data from a URL
data = Excel("https://people.sc.fsu.edu/~jburkardt/data/csv/airtravel.csv")
print(data.head()) # Show first few rows (for pandas DataFrame)
Example 2: Fetch and Display Image
Fetch an image from a URL, convert it to binary format, and display it:
from agenbits import ImageFile
# Fetch and display image
img = ImageFile(
"https://images.pexels.com/photos/17647410/pexels-photo-17647410/free-photo-of-airplanes-flying-at-an-air-show.jpeg")
img.show() # This will open the image using the default viewer
Example 3: Fetch and Use Audio Data (WAV, FLAC)
You can also fetch and decode audio files such as WAV or FLAC:
from agenbits import Audio
# Fetch and process audio data
audio = Audio("https://example.com/audio.wav")
audio.play() # Play audio using an appropriate library like soundfile
Example 4: Fetch and Use Video Data (MP4)
Fetch and decode a video file (e.g., MP4) and play it or perform any video-related operation:
from agenbits import Video
# Fetch video data
video = Video("https://www.example.com/video.mp4")
video.play() # Implement using appropriate video playing library, like OpenCV or ffmpeg
Example 5: Fetch and Use Text Data (JSON, TXT, XML)
You can fetch and decode text-based files such as JSON, TXT, or XML:
from agenbits import Text
# Fetch JSON data from URL
json_data = Text("https://example.com/data.json")
print(json_data) # Print decoded JSON content
Example 6: Fetch and Handle Binary Files
For any other type of binary file (e.g., TensorFlow Record or PyTorch Model), agenbits can help fetch and convert those as well:
from agenbits import Binary
# Fetch and convert binary file
binary_data = Binary("https://example.com/model.pt")
# Handle this binary file as needed, e.g., load into PyTorch or TensorFlow
Supported Formats
agenbits supports a wide variety of formats, including:
- CSV (.csv): Comma-separated values files, typically used for tabular data.
- JSON (.json): JavaScript Object Notation, often used for APIs and data exchange.
- TXT (.txt): Plain text files.
- XLSX (Excel): Excel files, including
.xlsxand.xls. - JPEG (.jpg): JPEG image files.
- PNG (.png): Portable Network Graphics image files.
- MP4 (.mp4): Video files, typically for multimedia data.
- WAV (.wav): Uncompressed audio files, typically for audio data processing.
- FLAC (.flac): Lossless audio files.
- TSV (.tsv): Tab-separated values files, similar to CSV but using tabs for separation.
- XML (.xml): Extensible Markup Language files, used for storing and transporting data.
- Binary Files: Any raw binary data, such as TensorFlow Records or other custom formats.
- Edge List (Graph): Data in the form of an edge list, often used for graph data structures.
- SGM (.sgm): Standard Generalized Markup files, typically for text data like articles or web pages.
- TensorFlow Record (.tfrecord): A binary storage format for TensorFlow data.
- PyTorch Model (.pt, .bin): Binary files containing PyTorch models.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
If you want to contribute to agenbits, feel free to fork the repository and create a pull request. Please ensure that your code follows the existing style and includes tests for new features.
Contact
Author: Enos Email: enosuppada2005@gmail.com GitHub: https://github.com/dunkdumb/agenbits
---
### Explanation of Updates:
1. **General Introduction**:
- Describes the main purpose of the library.
2. **Features**:
- Lists key features, such as fetching data from URLs, converting to binary format, and automatically decoding files for machine learning models.
3. **Installation**:
- Instructions to install the package from PyPI.
4. **Usage Examples**:
- Added various examples of using the library with different file types (Excel, CSV, Image, Audio, Video, Text, Binary, etc.).
- Each example demonstrates how you can pass a URL to the library and fetch/convert/decode the file into a usable format.
5. **Supported Formats**:
- An extended list of supported file formats, including details about each file type.
6. **License**:
- Information on the MIT license.
7. **Contributing**:
- Encourages others to contribute to the library, with instructions for forking and submitting pull requests.
8. **Contact Information**:
- Author’s contact information with GitHub and email.
---
This `README.md` file should now be comprehensive and well-structured for users to understand and use your library effectively. Let me know if you need further adjustments!
Metadata
Release files for agenbits 0.1.2
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 | |
|---|---|---|---|---|
| agenbits-0.1.2.tar.gz | 10.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agenbits-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.2 kB
Release files / agenbits-0.1.2.tar.gz
| Download URL | agenbits-0.1.2.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b6ee400308d530e661ade8ab74b6ce940924f2639d3cc4721a0fc5fd5ce5e21
|
|
BLAKE2b-256 checksum How to use checksums |
90a155a72c4a7bf8b82ccd9e577705d9c369d58e42cd038f5b92bddec853314d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / agenbits-0.1.2-py3-none-any.whl
| Download URL | agenbits-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c160cff5d965f4f442ac21df2589a9b8ed06f56f42e00de1708947096ea0250
|
|
BLAKE2b-256 checksum How to use checksums |
9e841c00ec6f02527a44269826d1f96a249015c83f9bbbb3025cd17174b7f54c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Security for agenbits 0.1.2
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.