Commit Graph

302 Commits

Author SHA1 Message Date
jab e05785458a [docs] enable next/previous links in bottom relbar 2019-02-03 19:56:49 -05:00
jab 5f9cab9acf drop Py3.4 from Travis, update to latest flake8 + pydocstyle, improve lint_src spelling 2019-01-30 23:53:50 -05:00
Jake Waksbaum 638babdde5 Remove hypothesis-pytest dependency
According to https://pypi.org/project/hypothesis-pytest
hypothesis-pytest is deprecated and its functionality is included in
hypothesis.
2019-01-18 18:59:27 -05:00
jab 0a468172b8 pass -U --upgrade-strategy=eager to pip install 2019-01-08 07:46:38 -05:00
jab 40378027bb update to pytest 4.1 and pytest-benchmark 3.2.0 which now supports it 2019-01-07 22:24:14 -05:00
jab 2e4a9be91c pin to pytest < 4.1 pending ionelmc/pytest-benchmark#124 2019-01-06 20:19:55 -05:00
jab ba1cba8523 happy 2019 2019-01-01 13:51:46 -05:00
jab a3fd16b6f7 Travis build improvements. 2018-12-30 15:03:42 -05:00
jab 36e28358dc improve hypothesis tests and .travis.yml, add compat.collections_abc and namedbidict.{_keyname,_valname} 2018-12-29 13:13:06 -05:00
jab feca308818 update appveyor to "Visual Studio 2017" image 2018-12-27 21:37:27 -05:00
jab c119d0b081 update to latest pylint and pre-commit hooks, rename + improve run_tests.py script 2018-12-27 21:27:57 -05:00
jab 5afd8e8a75 tweaks to build-docs script 2018-12-27 20:30:29 -05:00
jab cc31a47bb1 build universal wheels (for python 2 and 3)
closes #83
2018-12-11 13:22:17 -05:00
jab 6ec9a4a2e2 add comment explaining pylint<2.2 pin 2018-12-11 13:21:18 -05:00
jab e443b0fe18 Clarify language about __hash__ with custom __eq__
Closes #82.
2018-12-08 13:05:58 -05:00
jab abaa483ddd Travis: allow_failures for docs-linkcheck
Otherwise flaky linked sites break the build too often.
2018-11-22 20:36:17 -05:00
jab d13fd9bb8a resurrect delegating mixins instead of __delegate__ + other refinements
e.g. s/__repr_delegate__/_repr_delegate

Also
- update
- update from pytest 3 to 4
- add CII best practices badge
- prepare for 0.17.5 release
2018-11-19 09:37:38 -05:00
jab e70816c6fa prepare for v0.17.4 release 2018-11-13 21:51:15 -05:00
jab ba6e1fff13 Add tests for better bidict.compat.{iter,view}* compatibility
No longer assume the target object implements these methods on Python 2.
Update compat autodocs.
2018-11-13 21:38:59 -05:00
jab 3a8339d29c OrderedBidict optimizations and code improvements.
Use bidicts for the backing ``_fwdm`` and ``_invm`` mappings,
obviating the need to store key and value data in linked list nodes.

Also drop the unnecessary ^ from the namedtuple identifier regexes.
2018-11-06 16:10:03 -05:00
jab afdf2f4f61 Various improvements.
- Refactor proxied- (i.e. delegated-) to-``_fwdm`` logic
  for better composability and interoperability.

  Drop the ``_Proxied*`` mixin classes
  and instead move their methods
  into :class:`~bidict.BidictBase`,
  which now checks for an object defined by the
  :attr:`~bidict.BidictBase.__delegate__` attribute.
  The :attr:`~bidict.BidictBase.__delegate__` object
  will be delegated to if the method is available on it,
  otherwise a default implementation
  (e.g. inherited from :class:`~collections.abc.Mapping`)
  will be used otherwise.
  Subclasses may set ``__delegate__ = None`` to opt out.

- Consolidate ``_MutableBidict`` into :class:`bidict.bidict`
  now that the dropped mixin classes make it unnecessary.

- Change :attr:`~bidict.BidictBase.__repr_delegate__`
  to take simply a type like :class:`dict` or :class:`list`.

- Upgrade to latest major
  `sortedcontainers <https://github.com/grantjenks/python-sortedcontainers>`__
  version (from v1 to v2)
  for the :ref:`extending:Sorted Bidict Recipes`.

- ``bidict.compat.{view,iter}{keys,values,items}`` on Python2
  no longer assumes the target object implements these methods,
  as they're not actually part of the
  :class:`~collections.abc.Mapping` interface,
  and provides fallback implementations when the methods are unavailable.
  This allows the :ref:`extending:Sorted Bidict Recipes`
  to continue to work with sortedcontainers v2 on Python2.

- Test code in docs via Sphinx rather than pytest.

  Enables running Python version-dependent tests conditionally
  rather than skipping them altogether, as well as hiding import
  statements (via `testsetup`) that otherwise just add noise.

  Run tests (viz. pytest and Sphinx doctest) via a new
  run-tests.py script.
2018-11-05 15:52:59 -05:00
jab 204486026b include referral query params in tidelift urls 2018-10-17 11:21:45 -04:00
jab cec2d51de2 docs tweaks, tidelift 2018-10-17 11:16:43 -04:00
jab 55e5de3633 docs tweaks, incl. donate badge in sidebar 2018-10-06 10:47:03 -04:00
jab 8a0460613a CI tweaks. Default to Xenial, Python 3.7, and VM env on Travis. 2018-10-06 09:51:49 -04:00
jab 43d6aaef92 update changelog in preparation for 0.17.3 release 2018-09-18 16:55:54 -04:00
jab d57acfbe9a add pyproject.toml to manifest, distribute wheels as well as sdists 2018-09-18 11:07:35 -04:00
jab 6117d52cc9 increase coverage for OrderedBidictBase.viewkeys() 2018-09-17 20:12:35 -04:00
jab b96699e3c6 update changelog and setup.cfg 2018-09-17 20:03:52 -04:00
jab 1f97e41326 update thanks 2018-09-17 19:35:35 -04:00
jab 1f5a66c355 improvements to pyproject.toml changes 2018-09-17 19:23:46 -04:00
Bernat Gabor 0d0c91fc75
use pyproject.toml to specify build dependencies 2018-09-14 20:56:28 +01:00
jab 2aebc46d96 Decrease hypothesis max_examples for daily Travis cron builds
...and suppress the "too_slow" health check for cron and coverage-
enabled builds since it recently started to fail intermittently.
2018-09-09 17:54:56 -04:00
jab 784aacb756 fix some recently changed links 2018-08-19 14:53:20 -04:00
jab c7c0357503 update changelog 2018-08-17 00:22:17 -04:00
jab c2e98c022b restore download count badge \O/
+ improvements to custom.css
2018-08-14 21:44:39 -04:00
jab 764310e2fe small improvements to supporting files 2018-08-13 13:57:07 -04:00
jab a7bc83f05a pin to latest pylint 2018-08-01 21:13:43 -04:00
jab d014d17075 readme tweaks 2018-07-22 19:44:38 -04:00
jab e2e55c1b50 appease pylint 2018-07-20 07:57:29 -04:00
jab 1b6b100d27 silence spurious lgtm warnings via .lgtm.yml 2018-07-20 07:57:29 -04:00
jab b46b7a6f31
Merge pull request #76 from jab/dev
silence latest spurious lgtm warnings
2018-07-16 22:41:58 -04:00
jab 60dabe9881 silence latest spurious lgtm warnings 2018-07-16 22:20:14 -04:00
jab 51cce7d264
Merge pull request #75 from jab/dev
test python 3.7 on travis
2018-07-16 22:18:16 -04:00
jab bee8069352 test python 3.7 on travis 2018-07-16 21:07:57 -04:00
jab db8080042c
Merge pull request #74 from jab/dev
update to latest pylint (2.0.0) and appease it
2018-07-16 21:05:47 -04:00
jab 20e1c18af1 update to latest pylint (2.0.0) and appease it 2018-07-16 20:26:36 -04:00
jab 28a4936cbf silence spurious lgtm warning 2018-05-10 10:37:32 -04:00
jab ea9daf7b2f Use less memory in OrderedBidict, v0.17.2
- Use less memory in the linked lists that back bidict.OrderedBidict
  by storing node data unpacked rather than in (key, value) tuple objects.
- New _Sentinel subclass of _Node improves over old _make_sentinel code.
2018-04-30 12:18:42 +08:00
jab 5269abe6f8 prepare for v0.17.1 release 2018-04-28 11:05:57 +08:00