Article Summarizer is an asynchronous RESTful API built with Python and FastAPI. It utilizes Hugging Face transformers library to provide real-time text summarization from a given URL. It also takes an excel file as an input with four columns ( Topic,Category,MM?YY,URL ) and generates reports with summaries of the URLs
First, install the system dependencies:
Second, download the source code
https://github.com/shuchia/article_summarizer
cd article_summarizer/
Third, build the project image.
make rebuild
- Python 3.8
- FastAPI
- PostgreSQL
- Gunicorn
- Tortoise-ORM
- HuggingFace transformers
├── .github
├── .gitignore
├── README.md
├── docker-compose.yml
├── makefile
├── project
│ ├── .coverage
│ ├── .coveragerc
│ ├── .dockerignore
│ ├── Dockerfile
│ ├── Dockerfile.prod
│ ├── app
│ │ ├── __init__.py
│ │ ├── api
│ │ │ ├── __init__.py
│ │ │ ├── crud.py
│ │ │ ├── ping.py
│ │ │ └── summaries.py
│ │ ├── config.py
│ │ ├── db.py
│ │ ├── main.py
│ │ ├── models
│ │ │ ├── __init__.py
│ │ │ ├── pydantic.py
│ │ │ └── tortoise.py
│ │ └── summarizer.py
│ ├── db
│ │ ├── Dockerfile
│ │ └── create.sql
│ ├── entrypoint.sh
│ ├── htmlcov
│ ├── requirements-dev.txt
│ ├── requirements.txt
│ ├── setup.cfg
│ └── tests
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_ping.py
│ ├── test_summaries.py
│ └── test_summaries_unit.py
└── release.sh
- 0.1.0
- Initial release
This project wouldn't have been possible without the excellent Test-Driven Development with FastAPI and Docker course developed by Michael Herman on testdriven.io. You can also find a free tutorial on their blog Developing and Testing an Asynchronous API with FastAPI and Pytest.
- Fork it (https://github.com/shuchia/article-summarizer/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request