Skip to main content

Share and Edit Pandas Dataframes with a Link!

Project description

image

share-df: Instantly Share and Modify Dataframes With a Web Interface From Anywhere

pip installs: PyPI Downloads version: PyPI Latest Release

Goal

This package enables cross-collaboration between nontechnical and technical contributors by allowing developers to generate a URL for free with one line of code that they can then send to nontechnical contributors enabling them to modify the dataframe with a web app. Then, they can send it back to the developer, directly generating the modified dataframe, maintaining code continuity, and removing the burden of file transfer and conversion to other file formats.

Technical Contributor Features

  • pip install share-df
  • one function call to generate a link to send, accessible anywhere
  • changes made by the client are received back as a dataframe for seamless development

Nontechnical Contributor Features

  • Easy Google OAuth login
  • Seamless UI to modify the dataframe
    • Change column names
    • Drag around columns
    • Change all values
    • Rename columns
    • Add new columns and rows
  • Send the results back with the click of a button

How to Run

  1. pip install share-df
  2. If you do not already have one, generate an auth token for free in less than a minute with ngrok
  3. Create a .env file in your directory with NGROK_AUTHTOKEN=
  4. import and call the function on any df!

Example Code

import pandas as pd
from share_df import pandaBear

df = pd.DataFrame({
    'Name': ['John', 'Alice', 'Bob', 'Carol'],
    'City': ['New York', 'London', 'Paris', 'Tokyo'],
    'Salary': [50000, 60000, 75000, 65000]
})

df = pandaBear(df)
print(df)

Google Colab

  • This code works by creating a localhost and then tunneling traffic to make it accessible to other people.
  • Thereby, since Google Colab code runs on a VM this is an interesting challenge to handle.
  • As of 0.1.7 the package offers experimental support for creating a Google-generated link for DFs but this link is not shareable and the behavior is currently unstable for editing the dataframe.
  • For Google Colab instead of using a .env I recommend putting your NGROK_AUTHTOKEN into the Google Colab secrets manager (key icon on the left side of the screen). That way your secrets also can be synced to other notebooks and you don't have to repeat the .env uploading each time.
  • I initially aimed for full functionality (link sharing) with Google Colab however it seems impossible as Colab locks it to Colab session authentification.
  • Google has also stated that they may deprecate their serve_kernel_port_as_window function in the future in which case it will be swapped to serve_kernel_port_as_iframe and the same functionality will remain except it will be in the IFrame.

https://github.com/user-attachments/assets/373ec28c-d61e-467b-9b54-ff6225126396

Future Functionality

  • True Asynchronicity with ipyparallel
  • Code Recreation (instead of overwriting the df just solve the code needed)
  • Multiple authenticated users
  • IFrame Usage Option in Google Colab

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

share_df-0.1.11.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

share_df-0.1.11-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file share_df-0.1.11.tar.gz.

File metadata

  • Download URL: share_df-0.1.11.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.5.0

File hashes

Hashes for share_df-0.1.11.tar.gz
Algorithm Hash digest
SHA256 f79cb8d00ee0e0b84e5f175a2ffae56f0058e360bef4318a7e0cab131dbbe4a0
MD5 bd175f85d479e4e7306a275d4ea8f428
BLAKE2b-256 9fd95ef327051afb7368fd461d853bfa7c00e02cb6780046162ccc4e31dcfde0

See more details on using hashes here.

File details

Details for the file share_df-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: share_df-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.5.0

File hashes

Hashes for share_df-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 53f71681f6c209da3ff05498a1afe7f3d5200cc7fe4a9f1fad55f8d616164f1f
MD5 26699bbe04c84608941352fc3ade59ea
BLAKE2b-256 e26cc1f1b2121a6900d506656bd8e70ef7d22ca8479b8238f43349d861f9e05a

See more details on using hashes here.

Supported by

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