Skip to main content

A fast, typed, resizable, Cython array.

Project description

cyarray: a typed, re-sizable Cython array

Travis Status Appveyor Status Documentation Status

The cyarray package provides a fast, typed, re-sizable, Cython array.

It currently provides the following arrays: IntArray, UIntArray, LongArray, FloatArray, DoubleArray.

All arrays provide for the following operations:

  • access by indexing.

  • access through get/set function.

  • resizing the array.

  • appending values at the end of the array.

  • reserving space for future appends.

  • access to internal data through a numpy array.

If you are writing Cython code this is a convenient array to use as it exposes the raw underlying pointer to the data. For example if you use a FloatArray and access its data attribute it will be a float*.

Each array also provides an interface to its data through a numpy array. This is done through the get_npy_array function. The returned numpy array can be used just like any other numpy array but for the following restrictions:

  • the array may not be resized.

  • references of this array should not be kept.

  • slices of this array may not be made.

The numpy array may however be copied and used in any manner.

Installation

cyarray can be installed using pip:

$ pip install cyarray

The package requires Cython, numpy, and mako to be installed and also requires a suitably configured C/C++ compiler.

Usage

In Python one may import and use the package as:

from cyarray.api import IntArray
a = IntArray(10)

Here a is an array of 10 integers.

Project details


Download files

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

Source Distribution

cyarray-1.0.tar.gz (24.7 kB view details)

Uploaded Source

File details

Details for the file cyarray-1.0.tar.gz.

File metadata

  • Download URL: cyarray-1.0.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.2 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.0

File hashes

Hashes for cyarray-1.0.tar.gz
Algorithm Hash digest
SHA256 3420889b27e292651ec4fe546f40d04901edcca34693284f28aeebf625a2f213
MD5 e265c3fdb546ab46511ba9fa10fc9c3c
BLAKE2b-256 788097d992a73c545c0692c941dae489b4eaeb00d654132b9659ca28f2792d45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page