Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

orderedset

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

orderedset

An Ordered Set implementation in Cython.

  • 2.0.3
  • PyPI
  • Socket score

Maintainers
1

=========== Ordered Set

.. image:: https://badge.fury.io/py/orderedset.png :target: http://badge.fury.io/py/orderedset

.. image:: https://travis-ci.org/simonpercivall/orderedset.png?branch=master :target: https://travis-ci.org/simonpercivall/orderedset

.. image:: https://pypip.in/d/orderedset/badge.png :target: https://crate.io/packages/orderedset?version=latest

An Ordered Set implementation in Cython. Based on Raymond Hettinger's OrderedSet recipe_.

Example:

.. code-block:: python

>>> from orderedset import OrderedSet
>>> oset = OrderedSet([1, 2, 3])
>>> oset
OrderedSet([1, 2, 3])
>>> oset | [5, 4, 3, 2, 1]
OrderedSet([1, 2, 3, 5, 4])

Features

  • Works like a regular set, but remembers insertion order;
  • Is approximately 5 times faster than the pure Python implementation overall (and 5 times slower than set);
  • Compatible with Python 2.7 through 3.8;
  • Supports the full set interface;
  • Supports some list methods, like index and __getitem__.
  • Supports set methods against iterables.

.. _Raymond Hettinger's OrderedSet recipe: http://code.activestate.com/recipes/576694/

Changelog

2.0.3 - 2020-02-26


* bugfix: Generate new C file to fix compile issues

2.0.2 - 2020-02-25
  • bugfix: Fix deprecation warning for collections.abc in Python 3.8+

2.0.1 - 2018-03-20


* bugfix: Fix `isdisjoint` to return True when the sets are disjoint
* build: Include 3.6 when testing
* dist: Include test files in sdist
* docs: Make the Readme a bit prettier

2.0 - 2016-02-02
~~~~~~~~~~~~~~~~

* breaking change: All comparisons, other than `eq`, against other ordered sets
  are now performed unordered; i.e., they are treated as regular sets.
* `isorderedsubset` and `isorderedsuperset` have been added to perform ordered
  comparisons against other sequences. Using these methods with unordered
  collections wield yield arbitrary (and depending on Python implementation,
  unstable) results.

1.2 - 2015-09-29
~~~~~~~~~~~~~~~~

* bugfix: Set operations only worked with iterables if the OrderedSet was on the
  left-hand side. They now work both ways.
* bugfix: The order of an intersection was the right-hand side's order. It is now
  fixed to be the left-hand side's order.

1.1.2 - 2014-10-02
  • Make comparisons work with sets and lists, and not crash when compared with None.

1.1.1 - 2014-08-24


* Add pickle/copy support to OrderedSet

1.1 - 2014-06-04
~~~~~~~~~~~~~~~~

* Make OrderedSets handle slicing in __getitem__().

1.0.2 - 2014-05-14
  • Add proper attribution and licenses.

1.0.1 - 2014-05-13


* Don't require Cython to build an sdist.

1.0 - 2014-05-11
~~~~~~~~~~~~~~~~

* First implementation.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc