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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|