DataFrames all up in your web applications
Project description
DataFrameup
$ 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)
@app.route('/mydataframe')
def main():
data = df.frameup.data(path=url_for('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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file frameup-0.1.2.tar.gz
.
File metadata
- Download URL: frameup-0.1.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.2 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6128c60917b5cdd6a3f714382970ed45cf8ac48473d0b94e949a8d00e531dbca |
|
MD5 | cae336406ee6dd3afd6167af6bf162f5 |
|
BLAKE2b-256 | 4704e7c7437710967d8a583c01c2590a58189d4c95b13f553b3e77963c5c07c5 |
File details
Details for the file frameup-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: frameup-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.2 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61dec0558391ddbb39444c92dde33872e4652be58cd1b3d8c4e5642eef3079bc |
|
MD5 | 95c5c7c7760cdddc3edfc08dedc07b2c |
|
BLAKE2b-256 | 356dcfdb5939a55db4cb45a06a1e24c204914b92bd0994cd0345887af9288c2e |