Skip to main content

A pure-python non-repeating outside-in spiral iterator-generator for 2D arrays

Project description

# README #

Take any two dimensional list like object that supports indexing as input and output a circular clockwise shrinking
spiral of elements from the input beginning at the top left most corner (ie: input[0][0]) until all the input is
exhausted.

This will work on lists of any size in either dimension.

[ ![Codeship Status for sys-git/spirol](https://codeship.com/projects/b8f6bef0-5132-0132-d6d9-0ea8256ccae9/status)](https://codeship.com/projects/48263)
[![Build Status](https://api.shippable.com/projects/54afbe1ad46935d5fbc1e904/badge?branchName=master)](https://app.shippable.com/projects/54afbe1ad46935d5fbc1e904/builds/latest)

* Version 1.0.3

### How do I get set up? ###

* **python setup.py install**
* Dependencies: **shifty (v0.0.3)**
* How to run tests: **./runtests.sh**
* Deployment instructions: **pip install spirol**

### What about test coverage? ###
There is a full suite of unit-tests.

### Contribution guidelines ###
I accept pull requests.

### Who do I talk to? ###
* Francis Horsman: **francis.horsman@gmail.com**

### Example ###

```
>>> from spirol import spirol

>>> a = spirol([[1,2,3], [4,5,6], [7,8,9]], (3, 3))

>>> a
spirol(3, 3, clockwise from tl)

>>> [i for i in a]
[1, 2, 3, 6, 9, 8, 7, 4, 5]

>>> print(a)
spirol(3, 3, clockwise from tl): [1, 2, 3, 6, 9, 8, 7, 4, 5]

>>> len(a)
9

>>> a = spirol([[1,2,3], [4,5,6], [7,8,9]], (3, 3), corner='br', direction='counterclock')

>>> a
spirol(3, 3, counterclock from br)

>>> [i for i in a]
[9, 6, 3, 2, 1, 4, 7, 8, 5]
```
.. :changelog:

Changelog
=========

1.0.7 2015-01-09
----------------
* fixed setup

1.0.6 2015-01-09
----------------
* Updated tagger to publish to pypi

1.0.5 2015-01-09
----------------
* updated tagger

1.0.4 2015-01-09
----------------
* updated tagger

1.0.3 2015-01-09
----------------
* Updated readme

1.0.2 2015-01-09
----------------
* Updated readme to pull in shippable status.

1.0.1 2015-01-09
----------------
* Added tox, versioneer

1.0.0 2014-11-19
----------------
* Production stable

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for spirol, version 1.0.7
Filename, size File type Python version Upload date Hashes
Filename, size spirol-1.0.7-py2.7.egg (20.0 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size spirol-1.0.7.tar.gz (17.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page