Skip to main content

No project description provided

Project description

Excel Provider

Tests Package PYPI Docker Image Docker Hub

This is a REST service that reads data from a EXCEL file and provides them over a REST API. It can provide a data row for each sheet configured.

It provides the following endpoints:

  • GET /sheets: Get a list of all available sheets and their IDs
  • GET /sheet/<id>: Get the data row for this sheet
  • POST /refresh: Reload the data from file
  • GET /spec: Get swagger spec of API

For more information about the endpoints and their parameters, see the /spec endpoint.

Usage

The configuration is done using a YAML file providing the following information

server:
  host: "0.0.0.0"
  port: 5000
handler:
  excel_file: path/to/file.xlsx
  sheets:
    - "sheet 1"
    - "sheet 2"
  data_cols:
    - "column 1"
    - "column 2"

While column 1 is the data column on sheet 1 and column 2 on sheet 2.

Docker Image

Run a Docker image providing the providing backend, for example

docker run \
  -v /path/to/config:/app/config.yaml \
  -v /path/to/data.xlsx:/app/data.xlsx \
  -p 5000:5000 \
  cybernop/excel-provider

Python Package

Start the server from the Python package providing the config

python -m excel_provider --config <config file>

Tests

pytest is used for unit tests. Run all tests from the project root.

pytest

Development

For development, install the library as editable using pip

pip install --editable .

and start from the python package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

excel_provider-0.1.4.tar.gz (4.5 kB view hashes)

Uploaded Source

Built Distribution

excel_provider-0.1.4-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page