Skip to content

exml is a simple flask app who's main purpose is to quickly input spreadsheet data into an xml template.

License

Notifications You must be signed in to change notification settings

ummahrican/exml

Repository files navigation


EXML Logo

exml

A Simple flask app for Automating Excel data into XML templates

Dependabot Badge GitHub code size in bytes

exml is a simple flask app who's main purpose is to quickly input spreadsheet data into an xml template.

📖 Prerequisites

In order to run the project we need python>=3.12 and uv for package management.

Install uv following the offical repo

🖥️ Local development

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

🧪 Test

This project uses pytest for test discovery. Simply run:

uv run pytest

test_FILENAME.py will be auto discovered and tests will run

📦 Docker builds

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

🎨 Code linting

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

🚀 Production deployment

TBD

💾 Data

All files are saved locally. Uploads in the ./uploads directory and the resulting xml in output_xmls.

🤝 Contributing

TBD

🍕 Community

This tool was sponsored and inspired by University of Berkeley Middle Eastern Languages and Cultures (MELC) Department!

⚖️ LICENSE

MIT © exml

About

exml is a simple flask app who's main purpose is to quickly input spreadsheet data into an xml template.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published