Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large refactor ready for version v2.0.0 #164

Merged
merged 35 commits into from
Jul 10, 2019
Merged

Large refactor ready for version v2.0.0 #164

merged 35 commits into from
Jul 10, 2019

Conversation

geraintpalmer
Copy link
Member

  • Drop support for Python 2.7, Python 3.4
  • Update networkx and pyyaml requirements
  • Refactor time so that Simulation has current_time attribute
  • Change Transition_matrices keyword to routing
  • routing can take a process-based routing function
  • Refactor distributions to be objects: ['Exponential', 0.5] ->ciw.dists.Exponential(0.5)
  • Distribution objects can be manipulated with +, -, * and /
  • All keywords lower case to conform to Pep8
  • deadlock_detector keyword takes object, not string
  • tracker keyword takes object, not string
  • Add tests and docs to show how objects can be used for state-dependent distributions
  • All user facing api now takes float('inf' not 'Inf, expect for .yml files

geraintpalmer and others added 30 commits April 25, 2019 10:49
* update networkx requirement to 2.3

* update pyyaml requirement to 5.1

* drop support for python 3.4 and 2.7

* update pypy supprot to pypy3

* update docs to reflect dropping support for python 2.7 and 3.4
Refactoring `current_time` to an attribute of the Simulation and update docs to reflect this.
This is so that in future Routing can take a process based generator function.
Routing keyword can now take function.
The Node's next_node takes individual not customer class.
next_node routes from function.
The Network object has a process_based boolean attribute.
Routing now takes a list of functions.
Error raises if starting point and first stop on the route do not
correspond.
Add process-based routing feature
This test was giving flaky results on my machine so I have removed the
deadline limit and reduced maximum no. of examples required.
Also adding "detect_deadlock" method to NoDeadlockDetection object for consistancy"
+ Deadlock detectors in sublibrary `deadlock`
+ State trackers in sublibrary `trackers`
+ Implemented by inputting the objects into the Simulation object
+ Remove string inputs
+ If deadlock detector selected, no state tracker is given used as default
Deadlock detectors and State trackers api change
This messes up random number streams, and so test result had to change.
@coveralls
Copy link

coveralls commented Jul 10, 2019

Coverage Status

Coverage remained the same at 100.0% when pulling 421a858 on next-release into 4f677f6 on master.

@geraintpalmer geraintpalmer merged commit d7515dd into master Jul 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants