Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

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

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page