Comprehensive web-based event management and conference lifecycle management platform.
npx @tessl/cli install tessl/pypi-indico@3.3.0Indico is a comprehensive web-based conference lifecycle management and meeting/lecture scheduling tool. It provides a complete event management platform with features for organizing conferences, managing meetings, handling registrations, paper reviewing, and room booking. As a web application framework, Indico's public API focuses on administrative operations via CLI commands, extension development via plugins, and testing infrastructure for developers.
pip install indico# Plugin development
from indico.core.plugins import IndicoPlugin, PluginCategory
from indico.core.plugins import url_for_plugin, get_plugin_template_module
# CLI development
from indico.cli.core import cli_command, cli_group
# Testing utilities
from indico.testing.util import bool_matrix
# Fixtures are automatically available when using the pytest pluginfrom indico.core.plugins import IndicoPlugin, PluginCategory
class MyPlugin(IndicoPlugin):
"""A simple Indico plugin example."""
configurable = True
category = PluginCategory.other
default_settings = {
'enabled': False,
'max_items': 10
}
def init(self):
"""Initialize the plugin when loaded."""
super().init()
# Plugin initialization code here
def get_blueprints(self):
"""Return Flask blueprints for this plugin."""
return []# Initialize database
indico db prepare
# Compile translations
indico i18n compile
# Create new user
indico user create admin@example.comIndico follows a modular architecture designed for extensibility:
The plugin system is the primary extension mechanism, enabling custom event types, payment processors, authentication providers, and integration with external systems.
Administrative and management commands for database operations, user management, event lifecycle management, internationalization, and system maintenance.
def cli(): ...
def cli_command(name=None, **attrs): ...
def cli_group(name=None, **attrs): ...Base classes and utilities for creating Indico plugins, including settings management, blueprint registration, template hooks, and event handling.
class IndicoPlugin:
configurable: bool = False
category: PluginCategory = PluginCategory.other
default_settings: dict = {}
default_event_settings: dict = {}
default_user_settings: dict = {}
acl_settings: set = set()
strict_settings: bool = True
def init(self): ...
def get_blueprints(self): ...
def get_vars_js(self): ...Comprehensive testing utilities including pytest integration, test fixtures for events, users, rooms, and other domain objects, plus utilities for parameterized testing.
def bool_matrix(template, mask, expect): ...