Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - 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
Release History

Release History

This version
History Node

1.0.7

History Node

1.0.0

History Node

0.0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
spirol-1.0.7-py2.7.egg (20.0 kB) Copy SHA256 Checksum SHA256 2.7 Egg Jan 9, 2015
spirol-1.0.7.tar.gz (17.0 kB) Copy SHA256 Checksum SHA256 Source Jan 9, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting