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: ldap
Requires-Dist: python-ldap; extra == "ldap"
Provides-Extra: prometheus
Requires-Dist: prometheus_client; extra == "prometheus"
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"

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.
