linkedin/oncall

Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Python

1,258

344 commits

updated Aug 20, 2025

See the code

README

Oncall Gitter chat Build Status

See admin docs for information on how to run and manage Oncall.

Development setup

Local machine

See instructions for setting up Oncall on your local machine

Prerequisites

  • Debian/Ubuntu - sudo apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev python-pip python-setuptools mysql-server mysql-client

Install

python setup.py develop
pip install -e '.[dev]'

Setup mysql schema:

mysql -u root -p < ./db/schema.v0.sql

Setup app config by editing configs/config.yaml.

Optionally, you can import dummy data for testing:

mysql -u root -p -o oncall < ./db/dummy_data.sql

Run

One of the following commands:

  • goreman start
  • procman start
  • make serve
  • oncall-dev ./configs/config.yaml

Test

make test

Docker compose

See instructions for using docker compose

Running

make compose

or running docker compose directly:

docker compose up --build

Limitations

  • Doesn't currently provide a mechanism for running tests
  • Requires rebuilding to apply code changes
  • Doesn't tail Python logs to stdout

Contributing

Check out https://github.com/linkedin/oncall/issues for a list of outstanding issues, and tackle any one that catches your interest. Contributions are expected to be tested thoroughly and submitted with unit/end-to-end tests; look in the e2e directory for our suite of end-to-end tests.

calendar
oncall
scheduling

linkedin/oncall

Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Python

1,258

344 commits

updated Aug 20, 2025

See the code

README

Oncall Gitter chat Build Status

See admin docs for information on how to run and manage Oncall.

Development setup

Local machine

See instructions for setting up Oncall on your local machine

Prerequisites

  • Debian/Ubuntu - sudo apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev python-pip python-setuptools mysql-server mysql-client

Install

python setup.py develop
pip install -e '.[dev]'

Setup mysql schema:

mysql -u root -p < ./db/schema.v0.sql

Setup app config by editing configs/config.yaml.

Optionally, you can import dummy data for testing:

mysql -u root -p -o oncall < ./db/dummy_data.sql

Run

One of the following commands:

  • goreman start
  • procman start
  • make serve
  • oncall-dev ./configs/config.yaml

Test

make test

Docker compose

See instructions for using docker compose

Running

make compose

or running docker compose directly:

docker compose up --build

Limitations

  • Doesn't currently provide a mechanism for running tests
  • Requires rebuilding to apply code changes
  • Doesn't tail Python logs to stdout

Contributing

Check out https://github.com/linkedin/oncall/issues for a list of outstanding issues, and tackle any one that catches your interest. Contributions are expected to be tested thoroughly and submitted with unit/end-to-end tests; look in the e2e directory for our suite of end-to-end tests.

calendar
oncall
scheduling

Project health

Overall

3.8/10

Maintained

0/10

Code review

6/10
OpenSSF Scorecard

PyPI

Latest release

2.1.7 · Mar 12, 2024

Releases this year

0

Significant stargazers

Mark McDonald

859 followers · starred Jun 2022

Evan Shaw

123 followers · starred Oct 2017

Sergii Tkachenko

228 followers · starred Mar 2019

Gunnar

30 followers · starred Jun 2017