Metadata-Version: 2.1
Name: oncall
Version: 2.1.5
Summary: Oncall is a calendar tool designed for scheduling and managing on-call shifts
Home-page: https://github.com/linkedin/oncall
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
License-File: AUTHORS.md
Requires-Dist: falcon ==3.1.1
Requires-Dist: falcon-cors
Requires-Dist: greenlet ==2.0.1
Requires-Dist: gevent ==22.10.2
Requires-Dist: asn1crypto ==1.0.0
Requires-Dist: ujson
Requires-Dist: markupsafe ==2.0.1
Requires-Dist: sqlalchemy <2.0.0
Requires-Dist: PyYAML
Requires-Dist: PyMYSQL
Requires-Dist: phonenumbers
Requires-Dist: jinja2 ==3.0.3
Requires-Dist: webassets
Requires-Dist: beaker
Requires-Dist: cryptography ==3.1
Requires-Dist: python-ldap
Requires-Dist: pytz
Requires-Dist: irisclient
Requires-Dist: slackclient ==1.3.1
Requires-Dist: icalendar
Requires-Dist: pymsteams
Requires-Dist: idna ==2.10
Provides-Extra: dev
Requires-Dist: pytest ==7.1.2 ; extra == 'dev'
Requires-Dist: pytest-mock ; extra == 'dev'
Requires-Dist: requests ; extra == 'dev'
Requires-Dist: gunicorn ==20.1.0 ; extra == 'dev'
Requires-Dist: flake8 ==6.0.0 ; extra == 'dev'
Requires-Dist: Sphinx ==1.5.6 ; extra == 'dev'
Requires-Dist: sphinxcontrib-httpdomain ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Requires-Dist: sphinx-autobuild ; extra == 'dev'
Provides-Extra: ldap
Requires-Dist: python-ldap ; extra == 'ldap'
Provides-Extra: prometheus
Requires-Dist: prometheus-client ; extra == 'prometheus'

Oncall [![Gitter chat](https://badges.gitter.im/irisoncall/Lobby.png)](https://gitter.im/irisoncall/Lobby) [![Build Status](https://circleci.com/gh/linkedin/oncall.svg?style=shield)](https://circleci.com/gh/linkedin/oncall)
======

<p align="center"><img src="https://github.com/linkedin/oncall/raw/master/docs/source/_static/demo.png" width="600"></p>

See [admin docs](http://oncall.tools/docs/admin_guide.html) for information on
how to run and manage Oncall.

Development setup
-----------------

### Local machine

<details> 
  <summary>See instructions for setting up Oncall on your local machine</summary>

### Prerequisites

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

### Install

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

Setup mysql schema:

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

Setup app config by editing configs/config.yaml.

Optionally, you can import dummy data for testing:

```bash
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

```bash
make test
```
</details>

### Docker compose

<details> 
  <summary>See instructions for using <code>docker compose</code></summary>

### Running

```bash
make compose
```

or running `docker compose` directly:

```bash
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

</details>

## 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.
