Plotly Dash Command Line Tools - Easily create and deploy Plotly Dash projects from templates

Overview

🛠️ dash-tools - Create and Deploy Plotly Dash Apps from Command Line

GitHub | Pypi | Downloads | Build and Test | Code Quality | License

Create a templated multi-page Plotly Dash app with CLI in less than 7 seconds. Deploy your app to Heroku in under a minute!

About

dash-tools is an open-source toolchain for Plotly Dash Framework. With a user-friendly command line interface, creating Dash applications has never been quicker.

Includes user and developer-friendly app templates where generating a new app only takes seconds. In fact, it will take longer to install this tool than it will to use it!

Want to deploy your app to the web? We've got you covered. With Heroku support, deploying your project will take under a minute.

Installation

Ready to use dash-tools? Installation is easy with pip:

pip install dash-tools

Find dash-tools on PyPi

Usage Examples

Below are common usage examples. For a more in-depth tutorial on writing apps for Plotly Dash, see the Plotly Dash Documentation. For information about dash-tools commands, read the Commands section.

Creating A New Project

For a more in-depth tutorial on using dash-tools, check out the Create and Upload Your App document!

Creating a new Dash project is very simple. The following command will create a new directory called "MyDashApp":

dash-tools --init MyDashApp

Optionally, templates can be used. Check out Templates for more details.

You can see what files are included with your new app:

cd MyDashApp

You can make changes to your app in the src/app.py file! See Plotly Dash Layout Docs for more information, or check out the dash-tools docs on Configuring Your Dash App.

When you are happy with your changes, run your dash app locally with the following command. You will be able to view your app at http://127.0.0.1:8050/ in your browser:

python src/app.py

Deploying To Heroku

Deploying your project online to Heroku is simple. The CLI handles both creating and deploying a new app, as well as updating an existing app.

Creating a Heroku App

To create an app, run the following command from your project's root directory; e.g. /MyDashApp from the example above. Next, follow the simple on-screen directions and deployment will be handled for you:

dash-tools --deploy-heroku

Optionally, you can specify a heroku app name as an argument. If one is not provided, you will be prompted to enter one or generate one automatically.

Note: "some-unique-heroku-app-name" in the example below is a name that you should change!

dash-tools --deploy-heroku some-unique-heroku-app-name

And that's really it! You will be prompted to log into your heroku account, a git remote 'heroku' will be created and changes will be pushed and deployed automatically.

Pushing Changes to an Existing Heroku App

To push changes to an existing heroku app after it is deployed, you can use the same command as before. Since a 'heroku' git remote already exists, by choosing the on-screen option to "Update Existing App", all changes will be pushed and your app will be re-deployed:

dash-tools --deploy-heroku

If you would rather add specific files, make a commit and push to the 'heroku' remote manually:

git add SomeFileYouModified.txt
git commit -m "Your Commit Message"
git push heroku

Templates

Templates contain boilerplate code for Dash projects, making it much easier to start with useful baseline apps.

Using Templates

Use the optional template argument with the --init command.

The following example will create a new app "MyWonderfulApp" (you can name your app anything) using the 'tabs' template (or any other template listed below):

dash-tools --init MyWonderfulApp tabs

To list out available templates, use the --templates or -t command:

dash-tools --templates

Available Templates

Click the dropdowns below to see screenshots!

Template: 'advanced'

To use this template, type: dash-tools --init MyFuturisticApp advanced

Advanced multi-page template. Includes examples of ClientsideCallbacks, multi-page routing, external stylesheets, header, footer, and 404 page.

Template: 'default'

To use this template, type: dash-tools --init MyAmazingApp default

Basic Dash template. See Dash Docs

Template: 'iris'

To use this template, type: dash-tools --init MyFantasticApp iris

Iris theme. See Faculty.ai Example

Template: 'mantine'

To use this template, type: dash-tools --init MyGreatApp mantine

Basic mantine template. See Dash Mantine

Template: 'multipage'

To use this template, type: dash-tools --init MyPristineApp multipage

New multipage theme. See Multipage Plugin

Template: 'sidebar'

To use this template, type: dash-tools --init MySnazzyApp sidebar

Sidebar theme. See Faculty.ai Example

Template: 'tabs'

To use this template, type: dash-tools --init MyBeautifulApp tabs

Tabs theme with dynamically generated content. See Faculty.ai Example

Commands

Project Commands

  • --deploy-heroku Args: OPTIONAL (unique heroku project name) : Deploys the project to Heroku using the Heroku CLI (Must Install Seperately) and Git. Invoke from the project root directory.
  • --init, -i Args: REQUIRED (project name) OPTIONAL (template) : Creates a Plotly Dash app with the given name in the current working directory. Optional args specified can be used for templates.
  • --templates, -t : List available templates.

Other

  • --help, -h: Display CLI helpful hints
  • --version: Display current version.

Development

See the Developer Guide for more details.

License

MIT License. See LICENSE.txt file.

Comments
  • [Feature Request] local run command with restart

    [Feature Request] local run command with restart

    When I develop Dash apps, I almost always run them with while true; do python app.py; sleep 1; done such that if, while I'm typing, I save a file with, say, a syntax error, I can just glance at the console, see the error, fix it and save the file again and the app reboots. If I don't do this, the first syntax error crashes the app and I need to switch to my terminal and re-execute python app.py.

    So the feature request is a command like dashtools run (which does the equivalent of python app.py) and dashtools run --restart (which does the equivalent of my restart loop, perhaps with a numeric argument for how many seconds to wait or something).

    dashtools could do some cool stuff like parse the output and apply nice colors, or even parse the output and notice that it's the same as the last crash and just increment a counter saying "app crashed N times with the error above" or whatever, to make it a nicer developer experience.

    opened by nicolaskruchten 7
  • [BUG] GUI redirects me to invalid url

    [BUG] GUI redirects me to invalid url

    Describe your context I am trying to host my dash app on render. I can go through the gui checklist but when I hip deploy to render it redirects me to render and I see the following message image

    • replace the result of dash-tools --version below
    dashtools 1.10.1
    
    
    • please tell us what operating system you are using
    linux POPos
    

    Describe the bug

    It seems to me that there is some path concatenation that is not working correctly and in quickly scanning your repository I believe that on line 27 of deployPage.py is where this is occurring. When looking at my github i see that dashtools is successfully pushing to my github repo(DashTool Automatic Push - 10/25/2022 @ 9:01:44)

    I created a pull request that might work. Not sure what else uses that function though

    Expected behavior

    I expect it to push to render

    Thanks for your work this is a great repo

    opened by mtzirkel 6
  • [BUG]

    [BUG]

    Thank you so much for helping improve the quality of dash-tools!

    We do our best to catch bugs during the release process, but we rely on your help to find the ones that slip through.

    Describe your context Please provide us your environment, so we can easily reproduce the issue.

    • replace the result of dash-tools --version below
    1.2.1
    
    • please tell us what operating system you are using
    MAC OS  Monteray 12.4
    

    Describe the bug

    Brew installer doesn't set up path variable, not clear where executable is to invoke the dash-tools command is so as to add it to the Path.

    installed a file tree at /Users/alvelda/anaconda/envs/python38/lib/python3.8/site-packages

    where's the executable?

    Expected behavior

    A clear and concise description of what you expected to happen.

    I would have expected the path variable to be updated by the installation script.

    If applicable, add screenshots or screen recording to help explain your problem.

    opened by alvelda 5
  • [Feature Request] Deploying a dash app with GIFs

    [Feature Request] Deploying a dash app with GIFs

    Is your feature request related to a problem? Please describe. I work with video datasets and I don't know about a good way of deploying videos/gifs using dash. I am using dash-gif-component for creating a dash app with GIFs and I tried dash-tools advanced template. The app was working locally but the path was broken when deployed on Heroku.

    Is there a way to deploy a GIF app to Heroku?

    Additional context Add any other context or screenshots about the feature request here.

    opened by Pranshul-Sardana 4
  • [BUG] requirements.txt error

    [BUG] requirements.txt error

    When running the dashtools heroku --deploy, I constantly get this error

    dashtools: Required file requirements.txt not found. Create one automatically? dashtools: Continue? (y/n) > y dashtools: Creating requirements.txt Usage: pipreqs [options] [<path>] dashtools: Error creating requirements.txt dashtools: Are you in a valid dash app directory? dashtools: Exiting

    I'm on windows. I'm not using a virtual environment so I think that has something to do with it?

    I've even made the requirements.txt file myself and still get that error.

    Could be because I'm multiple pages as well.

    Maybe my folder setup is wrong?

    image

    opened by AveryData 4
  • Version 1.4

    Version 1.4

    [1.4] - 2022-05-22

    dash-tools command is now dashtools via command line

    Major changes are an overhaul to the CLI entry to use subcommands. This looks like a change from this: dashtools --init MyApp tabs to dashtools init MyApp tabs. Also added a few new commands.

    Added / Changed

    • Invoke dashtools now by typing: dashtools <command> (was dash-tools <command> before)
    • Added subparsers to CLI to make commands look better:
      • dashtools init <app name> [<template>]
    • Added -d or --dir for init to specify create directory, e.g. dashtools init <appname> [<template>] --dir ~/MySandbox
    • Added new --update command to directly update to "heroku" remote
      • dashtools heroku --update
    • Broke out heroku deploy command
      • dashtools heroku --deploy
    • Broke out templates commands to use list, and added a new command to change specified directory into a new template directory. When running this command, --init will copy the specified directory to current directory with the name Template appended. All files will be given .template extensions.
      • dashtools templates --list
      • dashtools templates --init <directory to copy>
    • Added dashtools run command to run the app.py file (recursive search for app.py file, if not specified in a Procfile)
    • Better heroku deployment name generation - takes three random nouns joined by dashes and appends four alphanumeric char to end (ex. mountain-surgeon-chair-h129)
    • Added logo
    • Updated help cli print message, try: dashtools

    Templates

    • Added fast-dash template https://fastdash.app/
    • Added dash-iconify template https://github.com/snehilvj/dash-iconify
    opened by andrew-hossack 4
  • :lock: use non-root user in generated Dockerfile

    :lock: use non-root user in generated Dockerfile

    This PR updates _write_dockerfile() to create a Dockerfile which creates and uses a non-root user (dash). Additionally, I've added some testing for dockerUtils.py.

    Resolves #71 .

    opened by jasonwashburn 3
  • [BUG] Heroku updated their default support python

    [BUG] Heroku updated their default support python

    Hi Andrew, a simple one:

    Log from Heroku:

    
    -----> Building on the Heroku-22 stack
    -----> Using buildpack: heroku/python
    -----> Python app detected
    -----> Using Python version specified in runtime.txt
     !     Requested runtime 'python-3.8.10' is not available for this stack (heroku-22).
     !     For supported versions, see: https://devcenter.heroku.com/articles/python-support
     !     Push rejected, failed to compile Python app.
     !     Push failed
    

    And new heroku supported python versions: https://devcenter.heroku.com/articles/python-support

    "By default, newly created Python apps use the python-3.10.7 runtime. You can also specify a different supported Python version."

    That's it, thanks!

    kev

    opened by k-r-a-s-s 3
  • [BUG] dashtools heroku --update error

    [BUG] dashtools heroku --update error

    Error creating requirements.txt with a cp950 undecode error(I examine and there isn't any cp950 syntax in file)"while running "dashtools heroku --deploy"

    opened by andrew-hossack 2
  • [Feature Request] README - Add section for using --deploy on existing dash application

    [Feature Request] README - Add section for using --deploy on existing dash application

    @Coding-with-Adam what are your thoughts on adding a section to the README for deploying an existing dash app? Eg. If I already have a working app, what steps should I take to deploy it?

    Example A and B in README are great, but use dashtools --init to create the app. I might like to see a section that explains how to upload my existing app:

    1. Make sure app.py is in src directory
    2. Make sure to include server=app.server

    Do you think having another example for this would be good?

    opened by andrew-hossack 2
  • [Feature Request] deploy to another service besides heroku since free tier is no longer available

    [Feature Request] deploy to another service besides heroku since free tier is no longer available

    Thanks so much for dash-tools!

    Is your feature request related to a problem? Please describe. Based on the post by Heroku on their blog, it will no longer be possible to have a free account. I would like to request information on how I could deploy to another free site, if there are any. I'm open to any suggestions, but perhaps netlify would work.

    Describe the solution you'd like Again, a possible solution is to deploy to netlify.

    Describe alternatives you've considered I"m not aware of any working alternatives than to pay for Heroku.

    Additional context n/a

    opened by lundeen-bryan 1
Releases(v1.10.7)
  • v1.10.7(Dec 24, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.7] - 2022-12-24

    Modified

    • Upgraded PYTHON_VERSION to 3.10.0 for Render blueprint
    • Snyk upgrade for setuptools vulnerability
    Source code(tar.gz)
    Source code(zip)
  • v1.10.6(Dec 17, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.6] - 2022-12-16

    Modified

    • Updated naming on github workflows
    • Added a create tag and release action on push to main. Takes current version and latest stuff from the changelog in the release notes.
    Source code(tar.gz)
    Source code(zip)
  • v1.10.5(Dec 17, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.5] - 2022-12-16

    Fixed

    • Fixed background callbacks printing warnings on new version of plotly dash
    • Update pypa publish to use v1 release
    • Fixed issue with deploypage callbacks not working in some cases
    • Update gitlab runner to python version 3.10.9
    Source code(tar.gz)
    Source code(zip)
  • v1.10.4(Nov 11, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.4] - 2022-11-8

    Fixed

    • Fixed bug with background callback requiring cellery worker or diskcache, due to Dash 2.7.0 upgrade
    • Fixed read the docs templates list accordions not displaying
    • Changed dockerfile to use non root user; credit @jasonwashburn
    • Fixed CI/CD build process to install dashtools tar file; credit @jasonwashburn
    Source code(tar.gz)
    Source code(zip)
  • v1.10.3(Oct 30, 2022)

  • v1.10.2(Oct 28, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.2] - 2022-10-26

    Fixed

    • Fixed bug https://github.com/andrew-hossack/dash-tools/issues/65 where using http for git remote url doesn't work; thanks @mtzirkel for support!
    Source code(tar.gz)
    Source code(zip)
  • v1.10.1(Oct 23, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.1] - 2022-10-23

    Changed

    • Turn off logging and debug mode for gui server
    • Address bug where server opens twice
    • Open web url in browser when server starts
    • Updated packaging structure to exclude 'docs' module which should not have been there
    • Temporarily disabled tests for this release. Test suite needs to be overhauled for current changes.
    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Oct 23, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.10.0] - 2022-10-23

    Changed

    • Turn off logging and debug mode for gui server
    • Address bug where server opens twice
    • Open web url in browser when server starts
    • Updated packaging structure to exclude 'docs' module which should not have been there
    • Temporarily disabled tests for this release. Test suite needs to be overhauled for current changes.
    Source code(tar.gz)
    Source code(zip)
  • v1.9.2(Oct 20, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.9.2] - 2022-10-18

    Fixed

    • Made published to github a project requirement instead of an error
    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Oct 17, 2022)

  • v1.9.0(Oct 17, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.9.0] - 2022-10-17

    Added

    • Added dashtools gui render deploy dashboard
    Source code(tar.gz)
    Source code(zip)
  • v1.8.4(Sep 9, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.8.4] - 2022-9-09

    Fixed

    • Updated heroku default runtime to 3.10.7
    Source code(tar.gz)
    Source code(zip)
  • v1.8.3(Aug 30, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.8.3] - 2022-08-29

    Fixed

    • Changed heroku app name verification again. Heroku sends back a 404 if no app name is in use. Thanks @lanchuhuong!
    Source code(tar.gz)
    Source code(zip)
  • v1.8.2(Aug 12, 2022)

    Changelog

    All notable changes to this project will be documented in this file.

    [1.8.2] - 2022-08-12

    Fixed

    • Pipreqs generating requirements.txt does not work on some systems. Fixed with calling pipreqs.init(args) directly.
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Aug 12, 2022)

  • v1.8.0(Aug 10, 2022)

    Change Log

    All notable changes to this project will be documented in this file.

    [1.8.0] - 2022-08-10

    Added

    • Added pypi version check to prompt user if their current version is out of date
    Source code(tar.gz)
    Source code(zip)
  • v1.7.3(Aug 9, 2022)

    [1.7.3] - 2022-08-09

    Fixed

    Fixed bug with Heroku HTTP request. When validating heroku name availability, a request is sent to heroku. Their server changed from a 404 response to an “This site can’t be reached” response. Fixed method for validating heroku app name.

    [1.7.2] - 2022-07-28

    Changed

    Renamed run --set-py-cmd command

    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Jul 22, 2022)

    [1.7.1] - 2022-07/21

    Added

    • Add dashtools --report-issue which directs users to report issue to github

    Changed

    • Fixed advanced template issues where it will not run.
    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Jul 4, 2022)

    [1.7.0] - 2022-06-27

    Added

    • Added docker --init command; creates a docker image in the current directory. Adds requirements.txt file and Dockerfile in the current directory if one isn't found.
    Source code(tar.gz)
    Source code(zip)
  • v1.6.2(Jun 14, 2022)

    Change Log

    All notable changes to this project will be documented in this file.

    [1.6.2] - 2022-06-14

    Added / Changed

    • Updated to dash 2.5.1 in requirements
    • Updated multipage template

    What's Changed

    • Version 1.6.2 by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/35

    Full Changelog: https://github.com/andrew-hossack/dash-tools/compare/v1.6.1...v1.6.2

    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Jun 12, 2022)

    Change Log

    All notable changes to this project will be documented in this file.

    [1.6.1] - 2022-06-12

    Added / Changed

    • Verify generated heroku app name on deploy. This fixes bug where generated name is too long or invalid.
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Jun 8, 2022)

    Change Log

    All notable changes to this project will be documented in this file.

    [1.6.0] - 2022-06-05

    Added / Changed

    • Generate Procfile programatically based on location of app,py file. This allows users to upload any app to Heroku without needing a Procfile, requirements or runtime file.
    • Added retry for random heroku name generation
    • Added verify pip command workds on user system after init
    • Updated README
    • Added email cicd on release
    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(May 30, 2022)

    Change Log

    All notable changes to this project will be documented in this file.

    [1.5.1] - 2022-05-29

    Changed

    • Added utf8 encoding to verify_procfile method
    Source code(tar.gz)
    Source code(zip)
  • v1.5(May 29, 2022)

    Change Log

    All notable changes to this project will be documented here.

    [1.5] - 2022-05-29

    Added / Changed

    • Added packages.txt file to template root directory. Specify required packages on each new line, like a requirements.txt file, and user will be prompted to install if it is not found when they do dashtools init <template>
    • Cleaned up Docs directory and README (huge thanks to https://github.com/Coding-with-Adam)
    • Fixed run command to try different python shell commands
    • Added config file to store python shell settings
    • Added run --set-python-shell-cmd to set the python shell command in config
    • General prompting hint fixes and updates

    Templates

    Source code(tar.gz)
    Source code(zip)
  • v1.4(May 24, 2022)

    What's Changed

    • Updated README by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/10
    • Dev by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/11
    • Add TODO list to developers guide by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/12
    • Update README.md by @Coding-with-Adam in https://github.com/andrew-hossack/dash-tools/pull/17
    • Version 1.4 by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/18

    New Contributors

    • @Coding-with-Adam made their first contribution in https://github.com/andrew-hossack/dash-tools/pull/17

    Full Changelog:

    Change Log

    All notable changes to this project will be documented in this file.

    [1.4] - 2022-05-22

    dash-tools command is now dashtools via command line

    Major changes are an overhaul to the CLI entry to use subcommands. This looks like a change from this: dashtools --init MyApp tabs to dashtools init MyApp tabs. Also added a few new commands.

    Added / Changed

    • Invoke dashtools now by typing: dashtools <command> (was dash-tools <command> before)
    • Added subparsers to CLI to make commands look better:
      • dashtools init <app name> [<template>]
    • Added -d or --dir for init to specify create directory, e.g. dashtools init <appname> [<template>] --dir ~/MySandbox
    • Added new --update command to directly update to "heroku" remote
      • dashtools heroku --update
    • Broke out heroku deploy command
      • dashtools heroku --deploy
    • Broke out templates commands to use list, and added a new command to change specified directory into a new template directory. When running this command, --init will copy the specified directory to current directory with the name Template appended. All files will be given .template extensions.
      • dashtools templates --list
      • dashtools templates --init <directory to copy>
    • Added dashtools run command to run the app.py file (recursive search for app.py file, if not specified in a Procfile)
    • Better heroku deployment name generation - takes three random nouns joined by dashes and appends four alphanumeric char to end (ex. mountain-surgeon-chair-h129)
    • Added logo
    • Updated help cli print message, try: dashtools

    Templates

    • Added fast-dash template https://fastdash.app/
    • Added dash-iconify template https://github.com/snehilvj/dash-iconify
    Source code(tar.gz)
    Source code(zip)
  • v1.3(May 5, 2022)

    What's Changed

    • Dev by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/8
    • Dev by @andrew-hossack in https://github.com/andrew-hossack/dash-tools/pull/9

    Full Changelog: https://github.com/andrew-hossack/dash-tools/compare/V1.2...v1.3

    Source code(tar.gz)
    Source code(zip)
  • V1.2(Apr 29, 2022)

  • V1.1(Apr 28, 2022)

  • V1.0(Apr 28, 2022)

  • V0.14(Apr 27, 2022)

Owner
Andrew Hossack
Andrew Hossack
nvitop, an interactive NVIDIA-GPU process viewer, the one-stop solution for GPU process management

An interactive NVIDIA-GPU process viewer, the one-stop solution for GPU process management.

Xuehai Pan 1.3k Jan 02, 2023
Automatic data visualization in atom with the nteract data-explorer

Data Explorer Interactively explore your data directly in atom with hydrogen! The nteract data-explorer provides automatic data visualization, so you

Ben Russert 65 Dec 01, 2022
Make scripted visualizations in blender

Scripted visualizations in blender The goal of this project is to script 3D scientific visualizations using blender. To achieve this, we aim to bring

Praneeth Namburi 10 Jun 01, 2022
This package creates clean and beautiful matplotlib plots that work on light and dark backgrounds

This package creates clean and beautiful matplotlib plots that work on light and dark backgrounds. Inspired by the work of Edward Tufte.

Nico Schlömer 205 Jan 07, 2023
Compute and visualise incidence (reworking of the original incidence package)

incidence2 incidence2 is an R package that implements functions and classes to compute, handle and visualise incidence from linelist data. It refocuss

15 Nov 22, 2022
script to generate HeN ipfs app exports of GLSL shaders

HeNerator A simple script to generate HeN ipfs app exports from any frag shader created with: GlslViewer GlslEditor The Book of Shaders glslCanvas VS

Patricio Gonzalez Vivo 22 Dec 21, 2022
Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax.

PyDexter Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax. Setup $ pip install PyDexter

D3xter 31 Mar 06, 2021
High-level geospatial data visualization library for Python.

geoplot: geospatial data visualization geoplot is a high-level Python geospatial plotting library. It's an extension to cartopy and matplotlib which m

Aleksey Bilogur 1k Jan 01, 2023
These data visualizations were created as homework for my CS40 class. I hope you enjoy!

Data Visualizations These data visualizations were created as homework for my CS40 class. I hope you enjoy! Nobel Laureates by their Country of Birth

9 Sep 02, 2022
An animation engine for explanatory math videos

Powered By: An animation engine for explanatory math videos Hi there, I'm Zheer 👋 I'm a Software Engineer and student!! 🌱 I’m currently learning eve

Zaheer ud Din Faiz 2 Nov 04, 2021
🎨 Python3 binding for `@AntV/G2Plot` Plotting Library .

PyG2Plot 🎨 Python3 binding for @AntV/G2Plot which an interactive and responsive charting library. Based on the grammar of graphics, you can easily ma

hustcc 990 Jan 05, 2023
The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining Concept-Oriented Shared Information".

The HIST framework for stock trend forecasting The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining C

Wentao Xu 111 Jan 03, 2023
patchwork for matplotlib

patchworklib patchwork for matplotlib test code Preparation of example plots import seaborn as sns import numpy as np import pandas as pd #Bri

Mori Hideto 185 Jan 06, 2023
A small collection of tools made by me, that you can use to visualize atomic orbitals in both 2D and 3D in different aspects.

Orbitals in Python A small collection of tools made by me, that you can use to visualize atomic orbitals in both 2D and 3D in different aspects, and o

Prakrisht Dahiya 1 Nov 25, 2021
basemap - Plot on map projections (with coastlines and political boundaries) using matplotlib.

Basemap Plot on map projections (with coastlines and political boundaries) using matplotlib. ⚠️ Warning: this package is being deprecated in favour of

Matplotlib Developers 706 Dec 28, 2022
RockNext is an Open Source extending ERPNext built on top of Frappe bringing enterprise ready utilization.

RockNext is an Open Source extending ERPNext built on top of Frappe bringing enterprise ready utilization.

Matheus Breguêz 13 Oct 12, 2022
Numerical methods for ordinary differential equations: Euler, Improved Euler, Runge-Kutta.

Numerical methods Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of ordinary

Aleksey Korshuk 5 Apr 29, 2022
Smoking Simulation is an app to simulate the spreading of smokers and non-smokers, their interactions and population during certain amount of time.

Smoking Simulation is an app to simulate the spreading of smokers and non-smokers, their interactions and population during certain

Bohdan Ruban 5 Nov 08, 2022
A tool for creating SVG timelines from simple JSON input.

A tool for creating SVG timelines from simple JSON input.

Jason Reisman 432 Dec 30, 2022
哔咔漫画window客户端,界面使用PySide2,已实现分类、搜索、收藏夹、下载、在线观看、waifu2x等功能。

picacomic-windows 哔咔漫画window客户端,界面使用PySide2,已实现分类、搜索、收藏夹、下载、在线观看等功能。 功能介绍 登陆分流,还原安卓端的三个分流入口 分类,搜索,排行,收藏夹使用同一的逻辑,滚轮下滑自动加载下一页,双击打开 漫画详情,章节列表和评论列表 下载功能,目

1.8k Dec 31, 2022