Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.9%) to scientific vocabulary
Repository
FastAPI extention test (AUEB DMST)
Basic Info
- Host: GitHub
- Owner: GeoTsak314
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://fastapi.tiangolo.com/
- Size: 25.9 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
FastAPI Export App
Export structured data to multiple formats and systems with FastAPI.
By Joanna Karytsioti & George Tsakalos (AUEB DMST – Spinelis SEIP)
📦 Features
This FastAPI application supports exporting data to:
📁 File Formats
This app supports uploading your own .txt, .csv, or .json file (via Swagger UI),
automatically converting it to structured data for export.
You can also fetch data directly from an online SQLite or MySQL database by calling the /import-online-db endpoint.
This app supports uploading your own .txt, .csv, or .json file (via Swagger UI),
automatically converting it to structured data for export.
- JSON →
?format=json - CSV →
?format=csv - Excel →
?format=excel - PDF →
?format=pdf - Parquet →
?format=parquet - Avro →
?format=avro - Feather →
?format=feather - ORC →
?format=orc
🗄 Databases & Storage
- MySQL →
?format=mysql - SQLite →
?format=sqlite - AWS S3 →
?format=s3
🔄 Streaming Systems
- Kafka →
?format=kafka - RabbitMQ →
?format=rabbitmq - Apache Pulsar →
?format=pulsar
🛠 Installation
Install the required dependencies:
bash
pip install -r requirements-export-app.txt
▶️ Usage
Start the development server:
bash
uvicorn main:app --reload
Visit http://127.0.0.1:8000 to access the Swagger UI and test the /export endpoint.
You can upload your own database file as input (in .json, .csv, or .txt format)
and export it to any supported format. The conversion happens automatically.
You can also use the /import-online-db GET endpoint to fetch data from remote SQLite or MySQL databases.
🔐 Environment Variables
Set the following environment variables depending on your export target:
AWS S3
env
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_S3_BUCKET=...
AWS_S3_OBJECT_KEY=...
MySQL
env
MYSQL_HOST=...
MYSQL_USER=...
MYSQL_PASSWORD=...
MYSQL_DATABASE=...
Kafka
env
KAFKA_BOOTSTRAP_SERVERS=localhost:9092
KAFKA_TOPIC=exported_data
RabbitMQ
env
RABBITMQ_HOST=localhost
RABBITMQ_QUEUE=export_queue
Pulsar
env
PULSAR_SERVICE_URL=pulsar://localhost:6650
PULSAR_TOPIC=exported_data
🧰 Tech Stack
- FastAPI, Uvicorn
- Pandas, XlsxWriter, ReportLab
- PyArrow, FastAvro
- MySQL Connector, Boto3, Kafka-Python
- Pika, Pulsar-Client
See requirements-export-app.txt for full details.
Export app changed files vs. FastAPI
├── /fastapi # Official FastAPI root directory
│ ├── /export_app # Our "export app" files package
│ │ ├── main.py # export app main module
│ │ ├── README.md # our export app readme doc
│ │ ├── requirements-export-app.md # our export app modules run requirements
│ │ └── test_export_app.py # Export app pytest
│ ├── /docs # FastAPI docs
│ │ ├── index.md # Export app index doc
│ │ └── /usage
│ │ └── export.md # Export app markdown (for endpoint usage)
│ └── /.github
│ └── /workflows
│ └── test-export-app.yml # Export app test workflow
├── mkdocs-export.yml # Export app makedocs YAML
└── requirements*.py # FastAPI official run requirements
📄 License
MIT License – for educational and contribution purposes.
Owner
- Name: Georgios Tsakalos
- Login: GeoTsak314
- Kind: user
- Location: Kallithea Athens
- Company: Ministry of Finance (GR)
- Repositories: 1
- Profile: https://github.com/GeoTsak314
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: FastAPI
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Sebastián
family-names: Ramírez
email: tiangolo@gmail.com
identifiers:
repository-code: 'https://github.com/fastapi/fastapi'
url: 'https://fastapi.tiangolo.com'
abstract: >-
FastAPI framework, high performance, easy to learn, fast to code,
ready for production
keywords:
- fastapi
- pydantic
- starlette
license: MIT
GitHub Events
Total
- Push event: 27
- Pull request event: 1
Last Year
- Push event: 27
- Pull request event: 1
Dependencies
- actions/add-to-project v1.0.2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- mxschmitt/action-tmate v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- tiangolo/issue-manager 0.5.1 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- actions/labeler v5 composite
- docker://agilepathway/pull-request-label-checker latest composite
- actions/checkout v4 composite
- mxschmitt/action-tmate v3 composite
- tiangolo/latest-changes 0.3.2 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- mxschmitt/action-tmate v3 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- astral-sh/setup-uv v6 composite
- dorny/paths-filter v3 composite
- re-actors/alls-green release/v1 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- cloudflare/wrangler-action v3 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- re-actors/alls-green release/v1 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- mxschmitt/action-tmate v3 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- pypa/gh-action-pypi-publish v1.12.4 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- mxschmitt/action-tmate v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- re-actors/alls-green release/v1 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- astral-sh/setup-uv v6 composite
- re-actors/alls-green release/v1 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- boto3 *
- fastapi *
- fastavro *
- httpx *
- kafka-python *
- mysql-connector-python *
- pandas *
- pika *
- pulsar-client *
- pyarrow *
- reportlab *
- uvicorn *
- xlsxwriter *
- pydantic >=1.7.4,!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0
- starlette >=0.40.0,<0.47.0
- typing-extensions >=4.8.0
- httpx >=0.23.0,<0.28.0 test
- ruff ==0.11.2 test
- black ==25.1.0
- cairosvg ==2.7.1
- griffe-typingdoc ==0.2.7
- jieba ==0.42.1
- markdown-include-variants ==0.0.4
- mdx-include >=1.4.1,<2.0.0
- mkdocs-macros-plugin ==1.3.7
- mkdocs-material ==9.6.1
- mkdocs-redirects >=1.2.1,<1.3.0
- mkdocstrings ==0.26.1
- pillow ==11.1.0
- pyyaml >=5.3.1,<7.0.0
- typer ==0.15.3
- PyGithub >=2.3.0,<3.0.0
- httpx >=0.27.0,<0.28.0
- pydantic >=2.5.3,<3.0.0
- pydantic-settings >=2.1.0,<3.0.0
- pyyaml >=5.3.1,<7.0.0
- smokeshow *
- PyJWT ==2.8.0 test
- anyio >=3.2.1,<5.0.0 test
- coverage >=6.5.0,<8.0 test
- dirty-equals ==0.9.0 test
- flask >=1.1.2,<4.0.0 test
- inline-snapshot >=0.21.1 test
- mypy ==1.8.0 test
- passlib >=1.7.2,<2.0.0 test
- pytest >=7.1.3,<9.0.0 test
- pyyaml >=5.3.1,<7.0.0 test
- sqlmodel ==0.0.24 test
- types-orjson ==3.6.2 test
- types-ujson ==5.10.0.20240515 test
- pydantic-ai ==0.0.30
- playwright *
- pre-commit >=2.17.0,<5.0.0