Eagle Exporter
Eagle Exporter is a command-line utility (and Python library) to parse image metadata JSON files from an Eagle library directory and export them to either a local Parquet file or a Hugging Face Dataset repository.
Features
- Recursively scans an Eagle library's
images/folder for JSON files. - Extracts tags, star ratings, palette info, etc.
- Optionally merges with s5cmd logs to provide S3 URIs for each file.
- NEW: Can include the actual image data when exporting to Hugging Face datasets.
- Exports to either:
- A local
.parquetfile - A Hugging Face dataset (can be public or private).
- A local
Installation
pip install eagle-exporter
Usage
Example command to export an Eagle library to Hugging Face:
eagle-exporter path/to/my_eagle.library --to myuser/my_hf_dataset --hf-public
Export to Hugging Face with image data included:
eagle-exporter path/to/my_eagle.library --to myuser/my_hf_dataset --hf-public --include-images
Or export to a local .parquet file:
eagle-exporter path/to/my_eagle.library --to /tmp/output.parquet
Optionally include an s5cmd file to attach S3 URIs:
eagle-exporter path/to/my_eagle.library --s5cmd /path/to/s5cmd.txt --to /tmp/output.parquet
Command-Line Arguments
-
EAGLE_DIR(positional): The path to your Eagle library directory (the folder that hasimages/inside). -
--s5cmd <FILE>(optional): Path to the s5cmd log file (with lines likecp localfile s3://bucket/...) -
--to <DEST>(required):- If
<DEST>ends with.parquet, will export to Parquet. - Otherwise, treats
<DEST>as a Hugging Face dataset name (e.g.username/datasetname).
- If
-
--hf-public(optional): If exporting to Hugging Face, mark it as public. -
--include-images(optional): Include the actual image files in the export. This is particularly useful for Hugging Face exports. Note that binary image data will be excluded from Parquet exports. -
--help: Show the help message.
Developer Notes
- The core functionality resides in
src/eagle_exporter/core.py. - The CLI is in
src/eagle_exporter/cli.py. - The library uses
clickfor the command line,pandasfor data manipulation, anddatasetsfor pushing to Hugging Face. - Image processing is handled using Pillow (PIL).
Building and publishing
To build and publish the repo, run the following commands:
python -m pip install build twine
python -m build
twine check dist/*
twine upload dist/*
Metadata
Release files for eagle-exporter 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eagle_exporter-0.1.4.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eagle_exporter-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.5 kB
Release files / eagle_exporter-0.1.4.tar.gz
| Download URL | eagle_exporter-0.1.4.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c91f6aaa5b74bdcf068609047472849c1ac013b7acb48de98c0436e3fa45f92
|
|
BLAKE2b-256 checksum How to use checksums |
46ce7b135db8664116f5be810980bf946311e6fb91ace4960041238caaf0c1f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.0
|
Release files / eagle_exporter-0.1.4-py3-none-any.whl
| Download URL | eagle_exporter-0.1.4-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c666776d1e4e91659b03d06af529d2634d2fe7f68bfd841f65f0b86e175effae
|
|
BLAKE2b-256 checksum How to use checksums |
e6b922e7384b635afec66fcb5a31127418f5b44dcb2655f3ed09d25609f489ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.0
|