Code Monkey home page Code Monkey logo

dash-ag-grid's Introduction

Dash AG Grid

Dash AG Grid is a Dash component wrapper for the AG Grid Javascript package, enabling you to display AG Grid tables natively in your Dash app.

The underlying AG Grid Javascript package is a third-party software component developed by AG Grid Ltd. Many AG Grid features are available for free in the AG Grid Community version. However, some features require a paid subscription to the AG Grid Enterprise version (more info available here). The demos which use Enterprise features are clearly marked.

Dash AG Grid is currently a prerelease

We're working hard to get it ready for its initial v2.0.0 open-source release on PyPI. In the meantime if you'd like to try it out, you can clone this repo and follow the instructions in Developing in this repo below to build the component and install it in development mode. At that point you can use import dash_ag_grid as dag in your own app. There are two apps in the docs/ folder that you can run to learn about the component. To run these, first install the docs requirements:

Getting Started

pip install dash-ag-grid==2.0.0a1

  1. Read the Medium article or watch the webinar introducing Dash AG Grid.
  2. See the live stock portfolio demo app from the webinar hosted by Plotly.
  3. Get the code for the demo app in GitHub
  4. Learn more about AG Grid in the upstream docs, including more information on community features and licensing for the enterprise version.

See the docs app live

https://dashaggrid.pythonanywhere.com/

image

Contributing

Dash AG Grid welcomes community contributions!

If you have identified a bug or have an idea for a new feature, it's best to start with a GitHub issue. First look at existing issues at https://github.com/plotly/dash-ag-grid/issues to make sure this is not a duplicate issue. Then create a new issue. Bug reports should be accompanied by a small example app that someone else can copy and run to reproduce the problem.

The docs are under development as well. There are many examples in the official AG Grid docs that have not been included here yet. Please open an issue or do pull requests for edits or to add examples. Or post your question, comments or demo apps on the Dash Community Forum.

Running the docs app locally

cd docs/
pip install -r requirements.txt

Then you can run the apps there:

  • demo_stock_portfolio.py and demo_stock_portfolio_simple.py are small apps demonstrating some key features of Dash AG Grid, such as calculated columns, conditional formatting, and connecting its data and selected rows to graphs.
  • app.py runs a comprehensive documentation app. After we complete the open-source release, this will be merged into the main dash docs at https://dash.plotly.com/ but right now this app is the best way to explore Dash AG Grid.

Developing in this repo

Make sure you have Dash installed with dev and testing extras:

pip install dash[dev,testing]

Build the component (from the root of this repo):

npm i
npm run build

Now install the component in development mode:

$ pip install -e .

In development mode, Python uses the files in this directory when you import the package. So you can write a testing app in another folder, and whenever you change some code and rebuild the component here it will update in your testing app.

Create a production build

Create source and wheel distributions in the generated dist/ folder, after emptying out any previous builds:

rm -rf dist
python setup.py sdist bdist_wheel

See PyPA for more information. Then use twine to upload these to PyPI:

twine upload dist/*

We also publish the JavaScript build to NPM, so unpkg has the bundles if users set serve_locally=False. First make a test of the NPM package, verify that its contents are reasonable:

npm pack

Then publish:

npm publish

dash-ag-grid's People

Contributors

alexcjohnson avatar annmariew avatar bsd3v avatar liamconnors avatar ndrezn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.