1. 07 Apr, 2020 2 commits
    • Peter Grayson's avatar
      Update release_process.rst for 4.0 · 47b13244
      Peter Grayson authored
      Document contemporary release process using GitLab CI pipeline where the
      pipeline uploads to PyPI after successful build of a tag.
      Also many minor corrections and url updates.
    • Peter Grayson's avatar
      Prepare history.rst for 4.0 release · e4ac2d54
      Peter Grayson authored
      Include the top-level CHANGES.rst in history.rst instead of duplicating the
      changelog entries in both places.
      The section headings in the remainder of history.rst are fixed-up so that
      the pre-3.0 historical change information fits with the included
      Also reflow the long lines and generally touch-up the formatting of
  2. 05 Apr, 2020 6 commits
    • Peter Grayson's avatar
      Sphinx use type checking stubs of BoundClass methods · 2d0b513b
      Peter Grayson authored
      The documentation for Environment's BoundClass methods (process(),
      timeout(), event(), etc.) is moved from simpy.core.rst to core.py. The
      docstrings are now associated with the TYPE_CHECKING-only stubs and Sphinx
      now documents using those stubs.
      Other classes with BoundClass methods are now also documented using the
      type checking stubs. The generated API docs thus now show a proper method
      signature instead of treating the BoundClass methods as data attributes of
      the class.
    • Peter Grayson's avatar
      Add SimPy 3 to 4 porting guide to docs · 41cd293e
      Peter Grayson authored
      This porting guide covers the minor breaking changes between SimPy 3 and 4.
    • Peter Grayson's avatar
      Remove BaseEnvironment · addba53e
      Peter Grayson authored
      The Environment class is a sufficient base for user-defined Environment
      subclasses. Removing BaseEnvironment reduces the amount of user-facing
      documentation along with being one less thing in the code to maintain.
      N.B. RealtimeEnvironment already inherited from Environment, not
    • Peter Grayson's avatar
      Use f-strings throughout code · 5a5cb077
      Peter Grayson authored
      Python 3.6+ supports f-strings. These are generally faster and more
      ergonomic than the alternatives of either old-style interpolation,
      str.format(), or concatenation with `+`.
    • Peter Grayson's avatar
      Remove Environment.exit() method · 2ff3d556
      Peter Grayson authored
      This method was needed for Python2 code where it was otherwise illegal to
      `return` from a generator. Since Python3 supports `return` in generators,
      the `exit()` method is unneeded. And since calling `env.exit()` is less
      ergonomic than simply using `return`, there is no reason to keep it.
      As an illustration, this generator written in Python2 style:
          def proc(env):
              yield env.timeout(1)
      can be expressed in Python3 as:
          def proc(env):
              yield env.timeout(1)
              return 42
    • Peter Grayson's avatar
      Remove support for Python 2.x · 43c8b4fd
      Peter Grayson authored
      Python2 compatibility code is removed.
      - Do not explicitly inherit from `object`.
      - Use `super().__init__(...)` instead of `super(Self, self).__init__`.
      - Entirely remove compat.py.
      - Remove Python2 versions of example simulation output (.out2 files).
      - Use Python3 imports exclusively.
      Documentation and build are also updated to reflect these changes.
      Addresses #92.
  3. 23 Mar, 2020 1 commit
    • Peter Grayson's avatar
      Repair license include in docs · 8ce8964f
      Peter Grayson authored
      The license.rst file was referring to LICENSE.txt which was renamed to
      Also use `include` directive instead of `literalinclude` since the license
      is now in a restructured text file.
  4. 14 Mar, 2020 3 commits
  5. 12 Mar, 2020 2 commits
  6. 05 Jun, 2019 2 commits
  7. 15 Nov, 2018 1 commit
  8. 09 Nov, 2018 1 commit
  9. 13 Jul, 2018 3 commits
  10. 30 May, 2017 1 commit
  11. 24 Mar, 2017 1 commit
  12. 17 Jan, 2017 2 commits
  13. 13 Jan, 2017 1 commit
  14. 10 Jan, 2017 2 commits
  15. 06 Nov, 2016 1 commit
  16. 01 Sep, 2016 3 commits
  17. 16 Aug, 2016 1 commit
  18. 12 Jun, 2016 3 commits
  19. 28 Apr, 2016 1 commit
  20. 28 Mar, 2016 1 commit
    • Peter Grayson's avatar
      Add new PriorityStore resource · fa925921
      Peter Grayson authored
      The new `PriorityStore` class is a subclass of `Store` that maintains
      its `items` list in priority order such that `get()` yields items in
      priority order.
      The `PriorityItem` helper class allows unorderable items to be put into
      a `PriorityStore` by associating an explicit priority value with the
  21. 20 Mar, 2016 2 commits
    • Peter Grayson's avatar
      Update testing recommendations · 25ee4cd5
      Peter Grayson authored
      Update documentation in README.txt and installation.rst to recommend
      running the test suite with `py.test` instead of the `python -c ...`
      method. The `py.test` method is shorter and more powerful.
      Plus if tests are invoked with the `py.test` method, then we no longer
      need simpy.util.test(). So we also remove that function in the name of
      PEP-20 (one obvious way to do it).
    • Peter Grayson's avatar
      Repair flake8 violations in docs/conf.py · 90471982
      Peter Grayson authored
      Also apply flake8 to entire project in tox.ini.