Giter Club home page Giter Club logo

file-processor's Introduction

file-processor

Documentation Status

A project to processor files

Project Environment

We create the project environment using below command.

conda env create -f environment.yml -p ./venv

Update the existing conda environment

conda env update -f environment.yml -p ./venv

Activate the environment

conda activate ./venv

Features

This package is to read the text files using API.

Currently it supports below features

  • An API to read the text files.
  • Process the text file
  • Notebooks with sanbox codes
  • Package Documentation using Sphnix
  • Other DevOps batteries

Run App using Python

To develop/test, we can run the app using python with conda environment.

Test/run the using python with input arguments from project home directory

python file_processor/main.py --file_name test_data/sample1.txt --start_datetime 2000-01-01T17:25:49Z --end_datetime 2000-01-06T06:27:36Z

To set up the local development server using FASTAPI server

uvicorn file_processor.API.main:app --reload

Go to below link to test the App using Docs

`http://127.0.0.1:8000/docs`

To test the App using Postman, follow below link

`http://127.0.0.1:8000/process_file/`

Run Auto Tests

We can run auto test of the functions for backend

use below commands

python -m pytest tests/test_file_processor.py

Run App using Docker

This project includes Dockerfile to run the app in Docker container.

Build the docker container

docker build -t fileprocessor .

Run the docker container

docker run -d --name fp_app -p 80:80 fileprocessor

Run the docker container using docker-compose

docker-compose up

Create Docs

The documentation using Sphnix is already set it up.

Use below command to build from .docs/ location

make html

TODO

  • Streaming the text file
  • Using Spark Streaming to read/process/store the files
  • Load Balancer
  • Host Docs
  • Set up CI/CD

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

file-processor's People

Contributors

amjadraza avatar

Watchers

Artur Shamsutdinov avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.