Convert Figma logo to code with AI

plotly logofalcon

Free, open-source SQL client for Windows and Mac 🦅

5,129
278
5,129
152

Top Related Projects

1,071

A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews

9,274

Declarative statistical visualization library for Python

12,475

Statistical data visualization in Python

19,285

Interactive Data Visualization in the browser, from Python

matplotlib: plotting with Python

16,136

The interactive graphing library for Python :sparkles: This project now includes Plotly Express!

Quick Overview

Falcon is an open-source, lightweight, and fast web framework for building cloud APIs and microservices in Python. It encourages the REST architectural style and aims to make it as easy as possible for developers to build quick and reliable APIs.

Pros

  • Extremely fast and lightweight, with minimal overhead
  • Designed for building scalable backend services and APIs
  • Highly customizable and extensible
  • Clear and intuitive API design

Cons

  • Smaller community compared to more popular frameworks like Flask or Django
  • Less built-in functionality, requiring more manual setup for complex applications
  • Steeper learning curve for beginners due to its minimalist approach
  • Limited documentation and tutorials compared to more mainstream frameworks

Code Examples

  1. Basic Falcon application:
import falcon

class HelloResource:
    def on_get(self, req, resp):
        resp.media = {"message": "Hello, World!"}

app = falcon.App()
app.add_route("/hello", HelloResource())
  1. Handling POST requests with JSON:
import falcon
import json

class EchoResource:
    def on_post(self, req, resp):
        data = json.load(req.stream)
        resp.media = {"echo": data}

app = falcon.App()
app.add_route("/echo", EchoResource())
  1. Using middleware for request/response processing:
import falcon

class AuthMiddleware:
    def process_request(self, req, resp):
        token = req.get_header("Authorization")
        if token != "secret":
            raise falcon.HTTPUnauthorized("Authentication required")

app = falcon.App(middleware=[AuthMiddleware()])

Getting Started

To get started with Falcon, follow these steps:

  1. Install Falcon:

    pip install falcon
    
  2. Create a new Python file (e.g., app.py) and add the following code:

    import falcon
    
    class HelloResource:
        def on_get(self, req, resp):
            resp.media = {"message": "Hello, Falcon!"}
    
    app = falcon.App()
    app.add_route("/", HelloResource())
    
  3. Run the application using a WSGI server like Gunicorn:

    pip install gunicorn
    gunicorn app:app
    
  4. Access your API at http://localhost:8000

Competitor Comparisons

1,071

A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews

Pros of hvplot

  • More extensive support for different data types and plotting backends
  • Tighter integration with HoloViews ecosystem for complex layouts
  • Simpler API for quick data exploration and visualization

Cons of hvplot

  • Less interactive features out-of-the-box compared to Falcon
  • Steeper learning curve for advanced customizations
  • Slower rendering for large datasets

Code Comparison

hvplot:

import hvplot.pandas
import pandas as pd

df = pd.DataFrame({'x': range(10), 'y': range(10)})
plot = df.hvplot.scatter(x='x', y='y')

Falcon:

import plotly.graph_objects as go
import pandas as pd

df = pd.DataFrame({'x': range(10), 'y': range(10)})
fig = go.Figure(data=go.Scatter(x=df['x'], y=df['y'], mode='markers'))

Both hvplot and Falcon offer powerful data visualization capabilities, but they cater to different use cases. hvplot excels in quick data exploration and integration with the HoloViews ecosystem, while Falcon provides more interactive features and is part of the widely-used Plotly library. The choice between the two depends on specific project requirements and personal preferences.

9,274

Declarative statistical visualization library for Python

Pros of Altair

  • Declarative approach allows for concise and expressive chart creation
  • Strong integration with Pandas DataFrames
  • Extensive documentation and examples

Cons of Altair

  • Limited interactivity options compared to Falcon
  • Steeper learning curve for users new to grammar of graphics concepts
  • Fewer built-in chart types and customization options

Code Comparison

Altair:

import altair as alt
import pandas as pd

data = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
chart = alt.Chart(data).mark_line().encode(x='x', y='y')

Falcon:

import falcon
import pandas as pd

data = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
fig = falcon.line(data, x='x', y='y')

Summary

Altair offers a declarative approach to visualization, making it powerful for complex charts but potentially challenging for beginners. It excels in static visualizations and integrates well with Pandas. Falcon, on the other hand, provides a more familiar API for those coming from other plotting libraries and offers more interactive features out of the box. The choice between the two depends on the specific needs of the project and the user's familiarity with different visualization paradigms.

12,475

Statistical data visualization in Python

Pros of Seaborn

  • Built on top of Matplotlib, providing a high-level interface for statistical graphics
  • Excellent for creating attractive statistical visualizations with minimal code
  • Integrates well with pandas DataFrames for easy data manipulation

Cons of Seaborn

  • Limited interactivity compared to Plotly's dynamic charts
  • Slower rendering for large datasets
  • Less customization options for complex visualizations

Code Comparison

Seaborn:

import seaborn as sns
import matplotlib.pyplot as plt

sns.scatterplot(x="x", y="y", data=df)
plt.show()

Falcon:

import plotly.express as px

fig = px.scatter(df, x="x", y="y")
fig.show()

Key Differences

  • Seaborn focuses on statistical visualizations, while Falcon (part of Plotly) offers a wider range of chart types
  • Falcon provides interactive charts by default, whereas Seaborn produces static images
  • Seaborn has a more consistent API for different plot types, while Falcon's API can vary depending on the chart

Use Cases

  • Choose Seaborn for quick, attractive statistical plots in research or data analysis
  • Opt for Falcon when building interactive dashboards or web applications
19,285

Interactive Data Visualization in the browser, from Python

Pros of Bokeh

  • More mature and established project with a larger community
  • Extensive documentation and examples
  • Better support for server-side rendering and streaming data

Cons of Bokeh

  • Steeper learning curve for beginners
  • Less integration with other data science libraries
  • Slower performance for large datasets

Code Comparison

Bokeh:

from bokeh.plotting import figure, show

p = figure(title="Simple Line Plot")
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5])
show(p)

Falcon:

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Scatter(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5]))
fig.show()

Both libraries offer similar functionality for creating basic plots, but Bokeh's syntax is more concise. Falcon, being part of the Plotly ecosystem, provides a more consistent API across different chart types and offers easier integration with other Plotly tools.

Bokeh excels in creating interactive visualizations for web applications, while Falcon (as part of Plotly) is more versatile and easier to use for quick data exploration and sharing. The choice between the two depends on the specific project requirements and the developer's familiarity with each library's ecosystem.

matplotlib: plotting with Python

Pros of matplotlib

  • Extensive documentation and large community support
  • Highly customizable with fine-grained control over plot elements
  • Seamless integration with NumPy and SciPy ecosystems

Cons of matplotlib

  • Steeper learning curve for beginners
  • Less interactive and dynamic compared to modern plotting libraries
  • Default styles can appear outdated without customization

Code Comparison

matplotlib:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.show()

Falcon:

import falcon
import plotly.graph_objects as go

fig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4, 5], y=[2, 4, 6, 8, 10]))
fig.show()

Note: Falcon is primarily a web framework, and this comparison assumes the use of Plotly for visualization within a Falcon application. The code example for Falcon demonstrates how to create a simple plot using Plotly, which can be integrated into a Falcon web application.

16,136

The interactive graphing library for Python :sparkles: This project now includes Plotly Express!

Pros of plotly.py

  • More comprehensive and feature-rich library for data visualization
  • Supports a wide range of chart types and customization options
  • Well-established with extensive documentation and community support

Cons of plotly.py

  • Larger library size, potentially slower load times
  • May have a steeper learning curve for beginners
  • Can be resource-intensive for large datasets or complex visualizations

Code Comparison

plotly.py:

import plotly.graph_objects as go

fig = go.Figure(data=go.Bar(y=[2, 3, 1]))
fig.show()

falcon:

import falcon

fig = falcon.Figure()
fig.add_trace(falcon.Bar(y=[2, 3, 1]))
fig.show()

Key Differences

  • falcon is a lightweight alternative to plotly.py, focusing on performance and simplicity
  • plotly.py offers more advanced features and customization options
  • falcon aims to provide faster rendering and reduced memory usage
  • plotly.py has a larger ecosystem and more extensive third-party integrations

Use Cases

  • Choose plotly.py for complex, highly customized visualizations or when working with a variety of chart types
  • Opt for falcon when performance is crucial, especially for large datasets or real-time updates
  • Consider plotly.py for projects requiring extensive documentation and community support
  • Select falcon for simpler visualizations or when working with limited resources

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Falcon logo

Falcon is a free, open-source SQL editor with inline data visualization. It currently supports connecting to RedShift, MySQL, PostgreSQL, IBM DB2, Impala, MS SQL, Oracle, SQLite and more (for connecting to Oracle, please, see here the instructions to install the required free Oracle Instant Client).

Heads up! Falcon is open source and works without an internet connection or a Plotly Chart Studio account. The software works well and we hope you find it useful. FYI, as a company we are spending most of our development effort on Dash Open Source & Dash Enterprise. Truth be told, we found that most companies we worked with preferred to own the analytical backend. With Dash, we provide the visualization and application primitives so that you can build your own tailor-made dashboards, analytical apps, or yes, even, SQL editors. If you are wondering what we're up to lately, check out our latest post on our Dash vision: Dash is bringing React to Python, R, and Julia.

Visit plot.ly to learn more or visit the Plotly forum.

Follow @plotlygraphs on Twitter for Falcon announcements.

➡ Download Falcon for Mac OS

➡ Download Falcon for Windows

➡ Download Falcon for Linux

Screencast of falcon sql client

Documentation

If you want to read more about connecting Falcon to your data warehouse, help.plot.ly is free and available online. You can also contribute to this documentation through GitHub.

Contributing

See CONTRIBUTING.md. You can also contact us if you would like a specific feature added.

We want to encourage a warm, welcoming, and safe environment for contributing to this project. See the code of conduct for more information.

Contact

Maintainers

GithubTwitter
Chris Parmer@chriddyp
Tarun Gaba@tarzzz
Shannon Lal@shannonlal
Kinuthia Ndung'u@kndungu

Credit

This app is built with Electron, React, Redux, and Sequelize. Originally forked from electron-react-boilerplate.

License

Code released under the MIT © License.