Giter Club home page Giter Club logo

awesome-panel / awesome-panel Goto Github PK

View Code? Open in Web Editor NEW
335.0 10.0 47.0 367.75 MB

Awesome Panel supports Panel and its users. We want to show how awesome the framework is and help push it forward. โค๏ธ๐Ÿ๐Ÿ“ˆ

Home Page: https://awesome-panel.org

License: MIT License

Python 4.02% HTML 3.46% JavaScript 92.52%
holoviz businessinte machinelearning deeplearning python dataviz datavisualization artificialintelligence dataapps analytics

awesome-panel's Introduction

โœจ awesome-panel

PyPI version Downloads Python Versions License Test Results

We want to

  • show how awesome Panel is and push the framework forward.

We provide

Awesome Panel Intro

๐Ÿš€ Get started in under a minute

Install awesome-panel including the examples dependencies.

pip install awesome-panel[examples]

Explore the sample apps by running

pn hello awesome-panel

and opening http://localhost:5007/gallery in your browser.

You can find the sample apps in the examples/awesome-panel/awesome-panel folder.

๐Ÿ˜… Install geopandas on windows

On Windows you unfortunately have to install the geopandas package your self as described in using-geopandas-windows. This is only required to be able to explore a small subset of the applications.

๐Ÿ“ Download the examples only

You can download the example files only, i.e. without installing all the python packages, via

pip install awesome-panel awesome-panel-cli
pn examples awesome-panel

๐Ÿ“’ Explore the examples online

Click one of the buttons

nbviewer Binder

โญ Support

Please support Panel and awesome-panel by giving the projects a star on Github:

Thanks

โค๏ธ Contribute

If you are looking to contribute to this project you can find ideas in the issue tracker. To get started check out the DEVELOPER_GUIDE.

I would love to support and receive your contributions. Thanks.

Hacktober Fest.

awesome-panel's People

Contributors

hoxbro avatar madeline-scyphers avatar marcskovmadsen avatar philippjfr avatar slamer59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-panel's Issues

Update git setting per repo

Hi Marc.

I don't know the best way to do this, but I have seen that your commits usually have multiple mails connected to it. I assume this is related to the global git setting being setup to your work mail and your Github account is setup to your private mail. You can change the config setting for each local git repo with the following commands:

git config user.name "YOUR_NAME"
git config user.email "YOUR_GITHUB_MAIL"

Make it possible to download each application as a self contained, servable code file

I would really like users to be able to easily download an interesting application as a simple, readable, self contained servable file.

Solution

Refactor all applications to be single file applications.

If the application depends on additional resources like external (data) files then download them if they are not already available in the local folder.

Update Awesome Panel Docs

I would like the awesome-panel docs to be updated.

Known issues

conda install fails

Describe the bug
Following the instructions for conda, "conda install --file requirements_local.txt"" fails because there are
extra instructions in the requirements files like "-r ./requirements.txt". Presumably those are pip instructions.

The message is
CondaValueError: could not parse '-r ./requirements.txt' in: requirements_local.txt

Desktop (please complete the following information):

  • OS: Windows 10

Remove site.create_application from each application

Currently each application imports and uses from awesome_panel_extensions.site import site.

image

The the site.create_application adds a lot of code/ overhead to each application.

image

image

This also "forces" us to use pn.serve and I believe panel serve is simpler to use and more supported.

Request

Get rid of site.create_application and @site.add.

Solution

I would suggest a solution where each application is registered in a .yaml file in the exact same way as the awesome_list.yml file.

This file should be used to populate the App Gallery.

We would also have to find a way to populate the menu and info section of each page. Or alternatively give up on that part.
image

Additional Context

We could also just get the long site.create_application part out of each app. Move the registration to the awesome_panel_extensions package or even better a dedicated awesome_panel package. That would make the app simpler but still make it possible to provide meta information and a menu to each app.

Add automated tests to github

I would like the code to be tested automatically when receiving a PR. Similarly to what happens to Panel.

Currently the user and myself has to manually run invoke test.all to run all tests. I've never seen anyone but my self do it ๐Ÿ˜„

Make the user guide for sharing more apparent

Request

As it's not clear how to contribute without first reading the User Guide, the User Guide link effectively becomes a critical part of the call to action. My request is to add the User Guide link somewhere in the top left of the Sharing Page, and also on the Sharing Gallery page.

Additionally, I think that 'Sharing Gallery' might be better just named 'Gallery', and 'Sharing' as either 'Share' or 'Contribute' to make it more of a call to action.

Motivation

People need to read the User Guide to figure it out, and currently, there is a lot to parse through (from left to right and waiting for the app to render) on the Sharing page before people get over to the small 'User Guide' link.

image

Drawbacks

No response

Alternatives

Make it more clear how to contribute to the gallery without having to send people out to the github user guide

Additional Context

No response

Add filter or search by Tag and Author functionality to the Gallery

My Pain

As the Gallery Grows I see two pains emerging

  • The Bokeh Layout engine slows down the gallery page load.
  • It can become difficult to find the app the user is looking for.

Solution

Add some kind of filter/ search functionality to the Gallery similar to what you can find at awesome-streamlit.org.

image

Enable bookmarking and navigation by url with parameters.

My Pain

I would like to be able to share deep links to the application like https://awesome-panel.org/app?page=gallery&gallery_page=bootstrap_dashboard for ease of communication and navigation.

Solution

Add navigation by url

  • Can set url with parameters based on current page.
  • Can get url with parameters and add the correct page.

Additional Context

I have something working at https://github.com/MarcSkovMadsen/awesome-panel/blob/master/package/awesome_panel/express/widgets/browserurl.py. I just need to integrate it with the app https://github.com/MarcSkovMadsen/awesome-panel/blob/master/app.py.

Discussions tab - doing all Streamlit examples in Panel

Request

Hi Marc, this is Terrence from the Pure Python web app survey.

  1. Do you think it is a good idea to open an 'Discussions' tab here on Github?
  2. Regarding your statement "panel can do everything streamlit can do but not vice versa" - do you think we could open up a repository and for each new streamlit example that comes out (they are announced on reddit python at 1-3 per month) we could redo it in Panel? My impression is that Panel was a Bokeh wrapper and didnt have the UI capabilities of Streamlit. UPDATE I went ahead and made a repo so I can start fooling around with Panel. Do note, the last time I played with Panel, there was a huge divide in the docs, where the examples were written for using a Jupyter notebook, but non-Jupyter usage was entirely different a bit more involved. More on that as I dive in.

Motivation

Bring more attention to the power of Panel.

Drawbacks

No response

Alternatives

No response

Additional Context

No response

Static files not found when running locally.

Describe the bug
When running:
panel serve app.py

I get:
2021-06-12 11:58:05,889 404 GET /static/extensions/awesome_panel/awesome_panel.js

To Reproduce
Steps to reproduce the behavior:

  1. Follow instructions to run locally
  2. panel serve app.py
  3. Navigate to http://localhost:5006/app
  4. See logs or network console

Expected behavior
App deploys successfully

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Pop!OS 20.10

Add a Candlestick Chart Example

Request

I didn't see a candlestick stock chart in your examples.

Motivation

I'm just starting to try Panel. If I can create a good example, I'll post it.

Drawbacks

Candlesticks are commonly used for stock analysis. Most charting packages support them, but the best ones are those packages that add indicators, like HighStock.

Alternatives

It's not clear to me, as a newbie, how to swap-in a candlestick. It's gonna take some trial and error.

Additional Context

n/a

s/powerfull/powerful/g

I noticed the typo "powerfull" is used lots of places. Is this typo intentional? Should be "powerful".

Sharing page error: Module 'extra' not found

Description

Opening https://awesome-panel.org/sharing? I encountered the error shown below.

image

Reproduction steps

Unfortunately, I haven't been able to reproduce it yet. Feel free to close this issue, but I just wanted to report it so that you were aware.

Requirements

No response

Code

No response

Logs

dist.min.js:70 loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.
../worker-utils/src/lib/env-utils/version.ts @ dist.min.js:70
bokeh.min.js?v=3c61e952b808bb7e346ce828a565a5f23aaf7708d034fa9d0906403813355d45bb4e8d8b0b23a93f032c76831d4f0221846f28699c7f5147caa62e0d31668314:184 [bokeh] setting log level to: 'info'
react-dom.development.js:25129 Download the React DevTools for a better development experience: https://fb.me/react-devtools
babel.min.js:24 You are using the in-browser Babel transformer. Be sure to precompile your scripts for production - https://babeljs.io/docs/setup/
u @ babel.min.js:24
react.development.js:1641 Warning: Failed prop type: maxWidth not Number
    in i (created by ReactGridLayout)
    in ReactGridLayout (created by i)
    in i (created by u)
    in u (created by ResponsiveGrid)
    in ResponsiveGrid
printWarning$1 @ react.development.js:1641
react.development.js:1641 Warning: Failed prop type: maxHeight not Number
    in i (created by ReactGridLayout)
    in ReactGridLayout (created by i)
    in i (created by u)
    in u (created by ResponsiveGrid)
    in ResponsiveGrid
printWarning$1 @ react.development.js:1641
bokeh.min.js?v=3c61e952b808bb7e346ce828a565a5f23aaf7708d034fa9d0906403813355d45bb4e8d8b0b23a93f032c76831d4f0221846f28699c7f5147caa62e0d31668314:587 [bokeh] Websocket connection 0 is now open
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'layout-animations'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'legacy-image-formats'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'oversized-images'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'speaker-selection'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'unoptimized-images'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'unsized-media'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101 Unrecognized feature: 'web-share'.
render @ panel.min.js?v=43806f317ec11e3f7908f75455e18400ad8aea9cf3f8c935f83e80e59910a76a:101
bokeh.min.js?v=3c61e952b808bb7e346ce828a565a5f23aaf7708d034fa9d0906403813355d45bb4e8d8b0b23a93f032c76831d4f0221846f28699c7f5147caa62e0d31668314:165 [bokeh] document idle at 52 ms
bokeh.min.js?v=3c61e952b808bb7e346ce828a565a5f23aaf7708d034fa9d0906403813355d45bb4e8d8b0b23a93f032c76831d4f0221846f28699c7f5147caa62e0d31668314:163 Bokeh items were rendered successfully
cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/mode-txt.js:1          Failed to load resource: the server responded with a status of 404 ()
bokeh-2.4.3.min.js:184 [bokeh] setting log level to: 'info'
bokeh-2.4.3.min.js:165 [bokeh] document idle at 8 ms
app.js:12 Loading pyodide!
pyodide.asm.js:10 Loading distutils
pyodide.asm.js:10 Loaded distutils
pyodide.asm.js:10 Python initialization complete
app.js:16 Loaded!
pyodide.asm.js:10 distutils already loaded from default channel
pyodide.asm.js:10 Loading micropip, pyparsing, packaging
pyodide.asm.js:10 Loaded pyparsing, packaging, micropip
pyodide.asm.js:10 Loading typing-extensions, pyyaml, pillow, jinja2, markupsafe, numpy
pyodide.asm.js:10 Loaded typing-extensions, markupsafe, jinja2, pyyaml, pillow, numpy
pyodide.asm.js:10 distutils already loaded from default channel
pyodide.asm.js:10 pyparsing already loaded from default channel
pyodide.asm.js:10 packaging already loaded from default channel
pyodide.asm.js:10 Loading setuptools, tqdm, bleach, webencodings, six, certifi
pyodide.asm.js:10 Loaded webencodings, six, tqdm, certifi, bleach, setuptools
app.js:40 Packages loaded!
pyodide.asm.js:10 Uncaught (in promise) PythonError: Traceback (most recent call last):
  File "/lib/python3.10/asyncio/futures.py", line 201, in result
    raise self._exception
  File "/lib/python3.10/asyncio/tasks.py", line 232, in __step
    result = coro.send(None)
  File "/lib/python3.10/site-packages/_pyodide/_base.py", line 506, in eval_code_async
    await CodeRunner(
  File "/lib/python3.10/site-packages/_pyodide/_base.py", line 359, in run_async
    await coroutine
  File "<exec>", line 44, in <module>
  File "/lib/python3.10/site-packages/panel/io/pyodide.py", line 400, in write_doc
    template.server_doc(title=template.title, location=True, doc=pydoc)
  File "/lib/python3.10/site-packages/panel/template/base.py", line 348, in server_doc
    return self._init_doc(doc, title=title, location=location)
  File "/lib/python3.10/site-packages/panel/template/base.py", line 575, in _init_doc
    document = super()._init_doc(doc, comm, title, notebook, location)
  File "/lib/python3.10/site-packages/panel/template/base.py", line 200, in _init_doc
    model = obj.get_root(document, comm, preprocess=False)
  File "/lib/python3.10/site-packages/panel/viewable.py", line 559, in get_root
    root = self._get_model(doc, comm=comm)
  File "/lib/python3.10/site-packages/panel/layout/base.py", line 146, in _get_model
    objects = self._get_objects(model, [], doc, root, comm)
  File "/lib/python3.10/site-packages/panel/layout/base.py", line 131, in _get_objects
    child = pane._get_model(doc, root, model, comm)
  File "/lib/python3.10/site-packages/panel/pane/markup.py", line 53, in _get_model
    model = self._bokeh_model(**self._get_properties())
  File "/lib/python3.10/site-packages/panel/pane/markup.py", line 359, in _get_properties
    html = markdown.markdown(data, extensions=self.extensions,
  File "/lib/python3.10/site-packages/markdown/core.py", line 386, in markdown
    md = Markdown(**kwargs)
  File "/lib/python3.10/site-packages/markdown/core.py", line 96, in __init__
    self.registerExtensions(extensions=kwargs.get('extensions', []),
  File "/lib/python3.10/site-packages/markdown/core.py", line 123, in registerExtensions
    ext = self.build_extension(ext, configs.get(ext, {}))
  File "/lib/python3.10/site-packages/markdown/core.py", line 162, in build_extension
    module = importlib.import_module(ext_name)
  File "/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'extra'

    at new_error (pyodide.asm.js:10:218123)
    at pyodide.asm.wasm:0xdef7c
    at pyodide.asm.wasm:0xe37ae
    at method_call_trampoline (pyodide.asm.js:10:218037)
    at pyodide.asm.wasm:0x126317
    at pyodide.asm.wasm:0x1f6f2e
    at pyodide.asm.wasm:0x161a32
    at pyodide.asm.wasm:0x126827
    at pyodide.asm.wasm:0x126921
    at pyodide.asm.wasm:0x1269c4
    at pyodide.asm.wasm:0x1e0697
    at pyodide.asm.wasm:0x1da6a5
    at pyodide.asm.wasm:0x126a07
    at pyodide.asm.wasm:0x1e248c
    at pyodide.asm.wasm:0x1e00d9
    at pyodide.asm.wasm:0x1da6a5
    at pyodide.asm.wasm:0x126a07
    at pyodide.asm.wasm:0xe347a
    at Module.callPyObjectKwargs (pyodide.asm.js:10:119064)
    at Module.callPyObject (pyodide.asm.js:10:119442)
    at wrapper (pyodide.asm.js:10:183746)
DevTools failed to load source map: Could not load content for chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/browser-polyfill.js.map: System error: net::ERR_FILE_NOT_FOUND
DevTools failed to load source map: Could not load content for https://awesome-panel.org/static/extensions/panel/bundled/vegaplot/vega.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load source map: Could not load content for https://awesome-panel.org/static/extensions/panel/bundled/vegaplot/vega-embed.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load source map: Could not load content for https://awesome-panel.org/static/extensions/panel/bundled/vegaplot/vega-lite.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Additional Context

No response

Enable custom Styling of BootstrapDashboardTemplate

My Pain

The hope is that I and other could use the BootstrapDashboardTemplate for many use cases. These use cases I expect would like to have their own branding using for example custom colors.

Solution

Walk through .css and .py file and extract them into some LayoutConfiguration class that the user can configure and give as input to the app.

Additional context

Would be cool if the LayoutConfiguration was parametrized and could be used to change colors etc. while the application is running.

Would also be cool if a few layout things could be specified as well. For example if the main area is full width or the normal bootstrap "container" width.

add pyextremes package

Request

Hi Mark,
I was wondering if the package "pyextremes" could be included in the server, I'm getting started with panel and I was trying to do some extreme value plots.

link:
https://github.com/georgebv/pyextremes

Thanks!

Motivation

I'm getting started with Panel and interactive apps. I also work for Orsted :)

Drawbacks

No response

Alternatives

No response

Additional Context

No response

pip install fails

Describe the bug
Since conda install failed I fall back on pip, which seems wrong since panel is part of Anaconda :-) Pip fails too :-(

To Reproduce
I set up the .venv and activated per instructions then did the install.

pip install -r requirements_local.txt -f https://download.pytorch.org/whl/torch_stable.html
Defaulting to user installation because normal site-packages is not writeable
Looking in links: https://download.pytorch.org/whl/torch_stable.html
Obtaining file:///C:/Users/bwilson/source/repos/awesome-panel/package (from -r ./requirements.txt (l
ine 2))
Requirement already satisfied: wheel in c:\program files\arcgis\pro\bin\python\lib\site-packages (fr
om -r requirements_local.txt (line 7)) (0.36.2)
ERROR: Package 'awesome-panel' requires a different Python: 3.6.12 not in '>=3.7'

I know how to work around this (wrong version of Python) in conda, it's simple.
There is probably a similar way to fix venv too, maybe that should be in the instructions?

Expected behaviour
A working environment :-)

Desktop (please complete the following information):

  • OS: Windows 10

Additional context
Add any other context about the problem here.

Code for Stumpy Timeseries Analysis App

Request

Hi, thanks for doing all the great work on educating us about Panel. I was watching your video Python Data Apps - Running in the browser. Budapest BI 2022 and there is an interesting app shown there: Stumpy Timeseries Analysis and I can't seem to find it on awesome-panel site or anywhere else. Care to share the code to it?

Thanks

Motivation

It appears in your youtuber video Python Data Apps - Running in the browser. Budapest BI 2022

Drawbacks

No response

Alternatives

No response

Additional Context

No response

awesome-panel.org does not always render nicely when it's loaded

System Info

  • Panel: 0.7.0
  • Bokeh: 1.4.0
  • Tornado 5.1.11
  • Python: 3.7.4
  • OS: Windows 8.1
  • Browser: Chrome

My Pain

Open awesome-panel.org in either Chrome or Firefox. Sometimes the page loaded will not render nicely (see gif below).

I can see that it's because my Panel/ Bokeh Columns are placed outside the template.

I cannot reproduce this locally in a windows terminal or in a local docker container exactly equal to the one deployed.

It's worst when my kids are playing and taking up bandwidth I believe.

awesome-panel-org-load-problems

Create functionality to hide sidebar

My pain

Sometimes you don't wan't to take up screen space on the sidebar. For example on mobile devices.

Solution

Create a "button" and functionality to hide/ show the sidebar.

image

Configure automated release of the awesome_panel package

My Pain

Currently the awesome_panel python package is released manually. The result is it is not released that often.

Solution

Automate the publication either by 1) Including it in the Azure DevOps release pipeline 2) Simplifying the current release pipeline.

Create CLI to start new project and add app templates

My Pain

I would like to be able to quickly create new Panel projects and gallery apps.

As it is now I have to manually create a folder structure and files for each new project or app. This takes time.

Solution

I believe something inspired by the Django python manage.py or the angular ng with scaffolding could be the solution.

I imagine something, where the steps in the Contributing guide is automated and where you could actually specify which app from the awesome-panel.org gallery you would like to use as a starting template.

Make the home page mobile friendly

My hypothesis is

  • that a lot of users discover awesome-panel from tweets or posts on LinkedIn and navigate to the site from their mobile.
  • the home page of awesome-panel.org is slow to load and not very mobile friendly.

I would like this to be tested and fixed if needed.

code in application/config not being used

Is your feature request related to a problem? Please describe.
There is a pretty large number of files inside the application/config directory that aren't being used at all (I assume they used to be, but aren't anymore).

Examples include:

  • menu_items.py
  • pages.py
  • themes.py
  • settings.py

and some others

I found awesome-panel when I was looking for panel resources for a work project for converting a dashboard from bokeh to holoviews and panel, and it is a great resource, but having a bunch of extra stuff in the source code that wasn't being used made it harder to see what the needed files for the application structure was.

Describe the solution you'd like
I can put in a PR that removes some of those unused files

Describe alternatives you've considered
If those files are needed from planned future stuff, or you would rather remove the code yourself, that is fine.

Additional context
There is also code elsewhere not being used, such as in assests, but probably not doing too much at once is a better plan. Also to get awesome-panel to run, I had to unpin some of the requirements, so I don't know if it would be bettter to just pin them to what pip resolved them to, or if I should branch of the branch that I saw you had for some of the requirements (assuming I make a PR).

Conda Installation Failure on Mac

I assume I'm doing something wrong but I'm following the conda instructions here: https://awesome-panel.readthedocs.io/en/latest/_copy_of_project_root/README.html#getting-started-with-the-awesome-panel-repository

(awesome-panel) Robs-MBP:awesome-panel rob$ conda install --file requirements_local.txt
CondaValueError: could not parse '-r ./requirements.txt' in: requirements_local.txt

I also tried:

(awesome-panel) Robs-MBP:awesome-panel rob$ conda install --file requirements.txt
CondaValueError: could not parse '-r ./requirements_base.txt' in: requirements.txt

and:

(awesome-panel) Robs-MBP:awesome-panel rob$ conda install --file requirements_base.txt
CondaValueError: could not parse 'geopandas; platform_system != "Windows" # To `pip install geopandas` on windows please follow https://geoffboeing.com/2014/09/using-geopandas-windows/' in: requirements_base.txt

This was on a freshly installed miniconda setup on a Big Sur (11.6) mac.

Add a login page with authentication

Is your feature request related to a problem? Please describe.
awesome-panel allows building real web apps with Python - which is a huge deal! Any modern app usually requires a login/authentication mechanism.

Describe the solution you'd like
Add optional support for creating a login page with username and password / Oauth2

Lazily loading separate documents?

First of all, thank you for this project. Iโ€™ts awesome :)

This issue is more of a question than anything else: I see that when you select a page in the top bar (for instance Gallery, Resources, About...) the page loads without redirecting to other url; and perhaps showing a blinking Panel logo while the page loads.

My question is basically how is it done, because it looks and feels really slick! I have tried to look it up in the code but Iโ€™m unsure where it happens. Is it all part of the same Bokeh document? Or is there a Bokeh Document for each page? And in that case, how are you able to switch between documents without triggering a url redirect?

Thank you! Iโ€™m really interested in knowing how it works :)

Sharing Page Unconvertable App

Description

Failed to convert. Make sure you only import packages already installed on the
server.

Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/bokeh/application/handlers/code_runner.py", line 231, in run
exec(self._code, module.dict)
File "/tmp/tmpx7l4lfpo/source/app.py", line 7, in
from github import Github
ModuleNotFoundError: No module named 'github'

Reproduction steps

Failed to convert. Make sure you only import packages already installed on the
server.

Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/bokeh/application/handlers/code_runner.py", line 231, in run
exec(self._code, module.dict)
File "/tmp/tmpx7l4lfpo/source/app.py", line 7, in
from github import Github
ModuleNotFoundError: No module named 'github'

Requirements

pip install PyGithub

Code

from github import Github
repo_name = 'firobeid/TimeSeriesCompetitionTracker'
# First create a Github instance:

# using an access token
g = Github("xxxx")

# Github Enterprise with custom hostname
# g = Github(base_url="https://api.github.com/firobeid/firobeid.github.io", login_or_token="access_token")
# https://api.github.com/firobeid/firobeid.github.io

# Then play with your Github objects:
for repo in g.get_user().get_repos():
    print(repo.name)

Logs

No response

Additional Context

Package dosent have wasm or none wheel

Create independent scrollbars for sidebar and main area

My pain

Normally the sidebar should not scroll when we scroll the main area for ease of use. But the sidebar still needs to be able to scroll as for some use cases there might be a longer list of menu items or other widgets.

I also wan't to disable horizontal scrolling as I think this is annoying. Instead I should make sure in the layout of things that they dont overflow horizontally.

Solution

Add independent scrollbars to sidebar and nav area.

Additional context

Something along the lines of the below should do the trick when added to https://github.com/MarcSkovMadsen/awesome-panel/blob/master/package/awesome_panel/express/templates/bootstrap_dashboard/bootstrap_dashboard.css

body {
    overflow-x: hidden;
    overflow-y: hidden;
  }
nav {
    overflow-y: scroll;
  }
main {
    overflow-y: scroll;
  }

css_classes is not injetected in pane for parametrized class in awesome-panel-designer

Describe the bug
Identifying the pane generated by a class is not possible.

To Reproduce

import panel as pn
import param

from awesome_panel_extensions.developer_tools.designer import (
    ComponentReloader,
    Designer,
)

class test_class(param.Parameterized):
    some_parameter = param.Integer()
    def __init__(self, **params):
        super(test_class, self).__init__(**params)

    def view(self):
        return pn.Column(
            pn.widgets.FloatSlider(name="Number", margin=(10, 5, 5, 10)),
            pn.widgets.Select(
                name="Fruit", options=["Apple", "Orange", "Pear"], margin=(0, 5, 5, 10)
            ),
            pn.widgets.Button(name="Run", margin=(5, 10, 10, 10)),
            css_classes=["panel-widget-box"],
        )


def test_function():
    return pn.Column(
        pn.widgets.FloatSlider(name="Number", margin=(10, 5, 5, 10)),
        pn.widgets.Select(
            name="Fruit", options=["Apple", "Orange", "Pear"], margin=(0, 5, 5, 10)
        ),
        pn.widgets.Button(name="Run", margin=(5, 10, 10, 10)),
        css_classes=["panel-widget-box"],
    )
css = '''
.bk.panel-widget-box {
  background: #f0f0f0;
  border-radius: 5px;
  border: 1px black solid;
}
'''

pn.extension(raw_css=[css])
parameters={
    "indicators": [
        dict(name="indic1", main=True, value=50, max_value=100),
        dict(name="indic2", value=150),
        dict(name="indic3", value=132),
        dict(name="indic4", value=42),
    ]
}
def _designer():
    # Define your components
    test_css_fn =ComponentReloader(
        component=test_function,
    )
    # test_css_cls =ComponentReloader(
    #     component=test_class().view,
    # )
    test_css_cls_with_parm =ComponentReloader(
        component=test_class().view,
        parameters={'some_parameters': 10}
    )

    test_css_cls_without_view_call_parm =ComponentReloader(
        component=test_class,
        parameters={'some_parameters': 10}
    )

    components = [
        test_css_fn,
        # test_css_cls,
        # test_css_cls_with_parm
        test_css_cls_without_view_call_parm

    ]
    # Configure the Designer with you components
    return Designer(components=components)


_designer().show()

Expected behavior
Css class should be available with class parametrisation.
image

Screenshots
What I see
image

Desktop (please complete the following information):

  • OS: Linux
  • Browser Chrome

Additional context
A work around is possible setting a class like this but no reload is possible since it is not passed to ComponentReloader (I guess) and the name of the component in the GUI is the name of the function.

    parameters={'some_parameters': 10}
    test_css_cls_with_parm =ComponentReloader(
        component=test_class(**parameters).view,

    )

Installation failure

Describe the bug
When following the install instructions I run:

pip install -r requirements_local.txt -f https://download.pytorch.org/whl/torch_stable.html

And get the following error:

ERROR: Could not find a version that satisfies the requirement awesome-panel-extensions==awesome-panel-extensions-20201228.1

ERROR: No matching distribution found for awesome-panel-extensions==awesome-panel-extensions-20201228.1

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.