
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Finish Line is a framework for quickly building beautiful customizable dashboards in Plotly Dash. The framework provides utility for developers to easily plugin new interactive visualization components into the dashboard. Components are automatically added to the dashboard using a responsive grid layout.
An example use of the framework is located in the GitHub repo under the example
directory. The
following shows the minimum code required to start a Finish Line dashboard server.
.. code:: python
from finishline import FinishLine
import dash
app = dash.Dash()
data = load_my_data()
fl = FinishLine(app=app, data=data)
fl.load_plugins()
app.layout = fl.generate_layout()
if __name__ == '__main__':
fl.run_server(debug=True, port=5000, host='0.0.0.0')
Visualization components are loaded from the plugins
folder. The default location is in a folder
called plugins
in the current working directory (directory the web server is started). Individual
plugins are located in subfolders under the plugins
folder. The entry point to a plugin is in the
file __init__.py
.
Here is an example component. The code is placed in ./plugins/HelloWorld/__init__.py
.. code:: python
import dash_html_components as html
import dash_core_components as dcc
def initialize(app, data, fl):
fl.register_vis(
'HelloWorld',
dcc.Graph(
id='basic-chart',
figure={
'data': [
{
'x': [1, 2, 3, 4],
'y': [4, 1, 3, 5],
'text': ['a', 'b', 'c', 'd'],
'customdata': ['c.a', 'c.b', 'c.c', 'c.d'],
'name': 'Trace 1',
'mode': 'markers',
'marker': {'size': 12}
},
{
'x': [1, 2, 3, 4],
'y': [9, 4, 1, 4],
'text': ['w', 'x', 'y', 'z'],
'customdata': ['c.w', 'c.x', 'c.y', 'c.z'],
'name': 'Trace 2',
'mode': 'markers',
'marker': {'size': 12}
}
]
},
config={
'autosizable': True
}
)
)
def finalize(app, data, fl):
pass
Finish Line depends upon dash
. Note, we have only tested with python3
.
Requirements:
Install Options
.. code:: bash
pip3 install finishline
Create distribution
.. code:: bash
python3 setup.py sdist bdist_wheel
Install distribution locally
.. code:: bash
pip3 uninstall finishline
pip3 install dist/finishline-VERSION-py3-none-any.whl
Push to test pip
.. code:: bash
twine upload --repository-url https://test.pypi.org/legacy/ dist/*VERSION*
pip3 install -U --index-url https://test.pypi.org/simple/ finishline
Push to production pip
.. code:: bash
twine upload dist/*VERSION*
pip3 install -U finishline
FAQs
Framework for Building Beautiful and Functional Dashbords
We found that finishline demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.