# Auditorium

[<img alt="PyPI - License" src="https://img.shields.io/pypi/l/auditorium.svg">](https://github.com/apiad/auditorium/blob/master/LICENSE)
[<img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/auditorium.svg">](https://pypi.org/project/auditorium/)
[<img alt="PyPI" src="https://img.shields.io/pypi/v/auditorium.svg">](https://pypi.org/project/auditorium/)
[<img alt="Travis (.org)" src="https://img.shields.io/travis/apiad/auditorium/master.svg">](https://travis-ci.org/apiad/auditorium)
[<img alt="Codecov" src="https://img.shields.io/codecov/c/github/apiad/auditorium.svg">](https://codecov.io/gh/apiad/auditorium)
[<img alt="Gitter" src="https://img.shields.io/gitter/room/apiad/auditorium">](https://gitter.im/auditorium-slides/community)
[<img alt="Demo" src="https://img.shields.io/badge/demo-browse-blueviolet"></img>](https://auditorium-demo.apiad.net)

<img src="https://apiad.net/auditorium/assets/logo.png"></img>

> A Python-powered slideshow creator with steroids.

See the demo at [auditorium-demo.apiad.net](https://auditorium-demo.apiad.net).

## What's this about

Auditorium is a Python-powered slideshow generator.
You write pure Python code, and obtain an HTML+JavaScript slideshow (using the amazing [reveal.js](https://revealjs.com) library).
The awesomeness comes from the fact that your Python backend is connected to the slideshow frontend, which allows your slideshow to dynamically change according to user input or automatically.

This opens the door to a few interesting use cases:

*  The slides content itself can be generated by code. For example, long and repetitive sets of slides can be automatically generated, or tables and graphs embedded in slides can be generated on-the-fly with `matplotlib`, `bokeh`, `altair`, `plotly`, or any visualization package that produces HTML output.
*  You can insert components in the slides that respond to user input, and execute a Python code in response. For example, you can generate an interactive graph that can be modified by moving sliders in a slideshow.
*  You can create beautiful animations with simple Python code, that automatically play on a slide, using visualization libraries or simple HTML markup.

> **And all of this without writing a single line of HTML or JavaScript.**

Alternatively, if you need little to no Python code, you can author your slideshow in pure Markdown and add some Python sprinkless here and there when necessary.

## Installation

Simply run:

    pip install auditorium[server]

To see a quick demo run:

    auditorium demo

And point your browser at [localhost:6789](http://localhost:6789).

## Quick Start and Tutorials

If you want to quickly grok `auditorium`, the best option is to [look at the demo online](https://auditorium-demo.apiad.net) and then
[read the source code](https://github.com/apiad/auditorium/blob/master/auditorium/demo.py). This way you will both see the end result and what effort it takes to get there.

* [Authoring a slideshow with Python](https://apiad.net/auditorium/quickstart/#python-first)
* [Authoring a slideshow with Markdown](https://apiad.net/auditorium/quickstart/#markdown-first)
* [Rendering a slideshow as purely static HTML](https://apiad.net/auditorium/quickstart/#going-full-static)

## Made with Auditorium

* [Auditorium Demo](https://auditorium-demo.apiad.net) - a slideshow showcasing the most important features from `auditorium`.

### Your Contributions Here

If you have a slideshow to showcase here, feel free to [edit this Readme](https://github.com/apiad/auditorium/edit/master/README.md) and send a pull request. Add your website, Github repository, and any other information.

If you feel like sending some support please consider adding a badge somewhere in your website or repository:

```html
<a href="https://apiad.net/auditorium">
    <img alt="Made with Auditorium"
         src="https://img.shields.io/badge/made--with-auditorium-blue">
    </img>
</a>
```

It looks like this:

<a href="https://apiad.net/auditorium"><img alt="Made with Auditorium" src="https://img.shields.io/badge/made--with-auditorium-blue"></img></a>

## History

See [the docs](https://apiad.net/auditorium/history).

## Collaboration and License

License is MIT, so you know the drill: fork, develop, add tests, pull request, rinse and repeat.
See collaboration details [in the docs](https://apiad.net/auditorium/contributing).
