exml is a simple flask app who's main purpose is to quickly input spreadsheet data into an xml template.
In order to run the project we need python>=3.12
and uv
for package management.
Install uv following the offical repo
To install the application:
uv sync --frozen --no-cache
To start a local copy of the app on port 3000
:
uv run -- flask run -p 3000
To upgrade packages to latest version for maintence:
uv sync --upgrade
This project uses pytest for test discovery. Simply run:
uv run pytest
test_FILENAME.py will be auto discovered and tests will run
Simply build the dockerfile in your prefered architecture with (select arch with --platform= otherwise it defaults to your system):
docker build -t exml-local.
Then run it!
docker run -d -p 80:80 exml-local
To check the code and styles quality, use the following command:
# Lint your code
uv run ruff check
# Format your code
uv run ruff check
TBD
All files are saved locally. Uploads in the ./uploads directory and the resulting xml in output_xmls.
TBD
This tool was sponsored and inspired by University of Berkeley Middle Eastern Languages and Cultures (MELC) Department!
MIT © exml