Skip to main content

DataFrames all up in your web applications

Project description


 $ pip install frameup
 $ frameup <path-to-csvfile>

Frameup is the easiest way to get your Pandas DataFrame up into a Python-based web application. Simply import frameup and your DataFrames will become URL query parameter, and pagination aware.

Zero dependencies, except Pandas of course.

Quick look

Serve a csv as a frameup dataframe on localhost

 $ python -m frameup.serve <path-to-csv-file>

Then navigate to http://localhost:8000/. Use the Pandas DataFrame query syntax in the query box.

... or, get a JSON payload:

 $ curl 'http://localhost:8000/?query=&limit=10&page=1' | python -m json.tool

Use it in your web application

Flask example

Given a template similar to example.js.html

from flask import Flask, jsonify, render_template, request, url_for
import pandas as pd
import frameup

app = Flask(__name__)

df = pd.read_csv(YOUR_CSV_FILE)

def main():
    data ='main'), **request.args)
    return render_template('example.j2.html', **data)

For something ajaxy, just replace the return with:

return jsonify(**data)

On query parameter objects

Be sure the query parameter object you pass frameup does not return lists for values. classes is the only multi-valued parameter accepted, and should be passed as a comma-delimited list rather than multiple classes keys.

Python web frameworks all have their own way of dealing with the vagaries of GET parameter specification hell. Most implement some concept of a MultiDict, but the APIs for these vary from one framework to the next. Thus, the requirement of only single-valued GET params greatly simplifies things here.

Other projects

Projects to review / learn from / use instead

Project details

Download files

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

Files for frameup, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size frameup-0.1.2-py3-none-any.whl (8.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size frameup-0.1.2.tar.gz (6.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page