1. 30 Jul, 2019 3 commits
  2. 29 Jul, 2019 3 commits
    • Marius Gedminas's avatar
      Add a changelog note · 05df5d09
      Marius Gedminas authored
      05df5d09
    • Marius Gedminas's avatar
      Fix segfault in bucket_repr() on Python 3 · e2243331
      Marius Gedminas authored
      Fixes #106.
      
      The bug was in not checking the return value of
      PyUnicode_AsLatin1String() and passing a NULL to PyOS_snprintf().
      
      The fix is to use PyUnicode_FromFormat() and avoid all the hassle of
      manual encoding/sprintf/decoding and even calling repr().
      e2243331
    • Marius Gedminas's avatar
      Add a failing test · 189d7728
      Marius Gedminas authored
      The test fails on Python 3 only, and on non-pure builds only.  I added
      PYTHONFAULTHANDLER=1 to the environment to make the failure less
      mysteriously silent.
      
      I've also updated tox.ini to use extras=foo instead of deps=.[foo] and
      to use factors to set PURE_PYTHON=1 instead of defining an entire
      environment.  This now lets you run arbitrary pure Python builds like
      tox -e py37-pure.
      189d7728
  3. 26 Jul, 2019 1 commit
  4. 25 Jul, 2019 1 commit
  5. 23 Oct, 2018 3 commits
  6. 22 Oct, 2018 1 commit
  7. 14 Sep, 2018 2 commits
  8. 13 Aug, 2018 1 commit
  9. 10 Aug, 2018 2 commits
    • Marius Gedminas's avatar
      twine upload --skip-existing · 4e46cd23
      Marius Gedminas authored
      This way if the sdist hasn't been uploaded yet for some reason, Appveyor
      will take care of it.
      4e46cd23
    • Marius Gedminas's avatar
      Avoid spurious "failures" on Appveyor during releases · 3813f8ee
      Marius Gedminas authored
      PowerShell interprets any stderr output from a child process as an
      error.  This means warnings from pip about using
      not-the-very-latest-version-how-dare-you and warnings from twine about
      uploading the *.tar.gz which was probably already uploaded already and
      might not be a bitwise identical copy because what even is
      reproducibility cause the Appveyor builds to fail, even if the actual
      binary wheels we want have been built and uploaded successfully.
      
      *pauses to breathe*
      3813f8ee
  10. 09 Aug, 2018 5 commits
  11. 08 Aug, 2018 5 commits
  12. 23 Apr, 2018 4 commits
  13. 20 Apr, 2018 1 commit
  14. 09 Mar, 2018 5 commits
  15. 08 Mar, 2018 1 commit
    • Jason Madden's avatar
      Cleanups from review. · 5aae589d
      Jason Madden authored
      Detect pip installs with 'bdist_wheel' (or manual builds for upload) and don't let the C extensions fail to build unless PURE_PYTHON is set.
      5aae589d
  16. 07 Mar, 2018 2 commits
    • Jason Madden's avatar
      Stop parsing the struct formats each time. · 0b663377
      Jason Madden authored
      This makes the test runs in pure_python mode 15s faster.
      
      Microbenchmarks on CPython 2.7.14:
      
      $ python -m perf timeit -s 'from struct import pack,unpack' 'unpack("i", pack("i", 123456))'
      .....................
      Mean +- std dev: 365 ns +- 12 ns
      
      $ python -m perf timeit -s 'from struct import Struct; s = Struct("i"); unpack=s.unpack; pack=s.pack' 'unpack(pack(123456))'
      .....................
      Mean +- std dev: 251 ns +- 9 ns
      
      No appreciable difference on PyPy.
      0b663377
    • Jason Madden's avatar
      Support PURE_PYTHON at runtime. · 5ddd0442
      Jason Madden authored
      Add failing tests and then fix them. Use a common function to DRY in
      all the modules.
      
      Fixes #78
      
      Also use zope.testrunner in tox (and travis) because it allows passing
      arguments to select what tests to run, see slow tests, etc.
      
      Simplify setup.py to always build the C modules and avoid polluting
      wheel caches (the same as zope.security and other projects that have
      been worked on lately).
      
      Bump the minimum 'persistent' requirement to one that actually works
      in PURE_PYTHON mode (plus fix wheel metadata; otherwise we need
      environment markers).
      
      Test PURE_PYTHON in environments on Travis. Do some minor tuning to
      eliminate redundant test cases and speed up test time.
      5ddd0442