CHANGES
=======

* do not load dotenv from all over the place
* Resolving test error
* Improving coverage. Deleting read\_topic. Resolving tests errors
* Adding handling errors from POST
* Now using MagicMock instead of a custom implementation
* Resolve import error for Queues
* Adding WebClient
* Adding tenacity as requirement
* Make RETRIES and WAIT\_BETWEEN\_RETRIES env variables. Using tenacity. Modifying security\_protocol as ssl\_security\_protocol, which is a bool now
* Topic is now a Context Manager
* Making 'api.queue.Queue' inherit from 'api.ext.Topic'. Adding a retry decorator to handle Kafka errors. Rewriting tests
* Comment variable since it is in .env file
* Modifying Topic's 'bootstrap\_servers' var name, adding it in the .env file. Setting tests as integration tests
* update README
* adjust for rtd.org
* docs stub
* Modifying 'bad' ids
* added some cosmetic changes to the UI
* Delete return
* Modifying errors
* add exceptions for coverage
* add coveragerc file
* add integration tests around the Queue object
* prevent double submission during wakeup window
* fix multi-processing test
* update requirements
* we do not need to actually pop from a queue
* add kafka-based queue
* add queue
* Added raising errors instead of assertions
* Deleting load function and load automatically
* Rewriting registration API
* Delete useless variables
* Adding Kirby.add\_source and Kirby.add\_destination and register at call
* Adding tests
* Adding kirby.ext
* Adding Topic. Using Kafka
* when starting the election process, don't wait for a full window time before participating in the election
* make pre-commit tests pass
* add extra pre-commit hooks
* solve leader key premature expiration
* add test for scheduler
* add job parsing
* add comments about the Election logic
* Creating the Kirby API
* add election process
* Resolving error related to the demo
* Merging with master
* Now using pytest.raises. Adding test on update Schedule
* preferably on the same line
* add build info while we're at it
* add requirements
* enable coveralls
* rename test
* return variables during endpoint call
* Validating schedule
* Create CODE\_OF\_CONDUCT.md
* Create LICENSE
* add inline forms for config
* add search box in config list
* improve config edition screen
* move demo code to specific module
* add demo script
* enable cache for pip packages in travis CI
* fix is\_local comparison with Enum
* make provider types an Enum
* cosmetic changes on user screen
* add travis integration
* enable superuser creation
* black
* store roles in an Enum, make role checks use Enums
* add tests around admin role
* Now using pickle
* add flask restplus dependency
* Adding ContextManager and Context which handle passing environment variables to sub-processes
* add first context test
* Use start parameter in enumerate
* Deleting useless imports
* Adding environment description in the current schedule endpoint. Rewriting tests
* Adding test for schedule at the current schedule endpoint
* Renaming function
* Refactoring tests
* Splitting try-except statements at each query. Now rollback if any fails
* Adding emails in the current schedule
* Correcting error message
* Adapt registration endpoint to the new model (now register a Script and not a Job anymore). Resolving models errors (set external\_keys to the real primary\_keys). Adding representation of rows of the model for readibility on the admin plateform
* Clear code
* Deleted the dangling prints
* Primary keys has been reset to ids. Kept the unique constraint on names
* Adding an API endpoint: schedule. Adding package\_version in the Context in the model
* Removing useless model
* The primary\_key of Environment and Job are now their names. Modifying relation between Schedule and Context as many-to-many. Adding Script and Topic tables
* Adding a unique constraint on the name of a Job. Renamed error message when the constraint in not respected
* Renaming base api that is mocked
* Refactoring parsing arguments. Correct error message if bad request. Renaming class for registration endpoint
* Creating tests for a registration endpoint. Adding a registration endpoint
* Adding environment view in the admin app
* Adding a secret key to the config for the app
* add web UI
* add at least one assertion to the model test
* really interact with database
* add draft db model
* add project structure
* Initial commit
