Coder Social home page Coder Social logo

wesm / feather Goto Github PK

View Code? Open in Web Editor NEW
2.7K 2.7K 169.0 408 KB

Feather: fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow

License: Apache License 2.0

Python 19.45% R 9.69% Batchfile 0.04% JavaScript 66.87% HTML 0.39% Jupyter Notebook 3.56%

feather's Introduction

Most people know me as the creator of pandas, but I also co-created Apache Arrow and Ibis. I am now a Principal Architect at Posit PBC. I am a Member of the Apache Software Foundation. I was previously CTO and co-founder at Voltron Data and remain a Senior Advisor. Before that I worked at Two Sigma Investments, Cloudera, and co-founded DataPad.

I blog occasionally on my personal website.

You can sponsor me with GitHub Sponsors. I donate at least $1000 each year to NumFOCUS to support pandas and also encourage you to consider donating there, too.

My book Python for Data Analysis is in its 2nd edition and is a great introduction to the Python data stack (IPython, NumPy, pandas, and matplotlib). I'm currently working on the 3rd edition and expect it to be out in 2022.

feather's People

Contributors

aadler avatar alchemyst avatar andrioni avatar benlangmead avatar chris-b1 avatar cscheid avatar dfalbel avatar dmbates avatar evolvedmicrobe avatar gansanay avatar guillett avatar hadley avatar jeroen avatar jiagengliu avatar jimhester avatar jjhelmus avatar jorahn avatar jreback avatar kevin-montrose avatar kevinushey avatar krlmlr avatar lindbrook avatar mortonjt avatar nealrichardson avatar phillc73 avatar roman-kh avatar seankross avatar tdsmith avatar wesm avatar xhochy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feather's Issues

Add an SSE-enabled dictionary encoder class to libfeather core

It doesn't make sense for the language wrappers to implement their own UTF8 hashing. In the event that their data is not already dictionary-encoded, we should provide a vectorized/array-oriented dictionary-builder class implementing the equivalent of R's factor function / pandas's factorize.

Impala has a number of C++ hash functions that use SSE3/4 that we can add to libfeather.

Assuming at least SSE3 is safe nowadays (Pentium 4 and onward) but SSE4 is not ubiquitous yet.

Document the file format

I'll add a markdown document for this, basically:

<4-byte magic number "FEA1">
<primitive array 0>
<primitive array 1>
...
<primitive array n>
<metadata>
<int32: metadata size>
<4-byte magic number "FEA1">

Fatal error writing a feather file

I've tried to write a feather file with a real example. I've downloaded one of the csv file of the OpenDamir dataset distributed by Data.Gouv.fr

# download and gunzip : https://www.data.gouv.fr/s/resources/cnamts/P201412.csv.gz
library(readr)
library(feather)
df <- read_csv2("data/P201412.csv")
write_feather(df, path = "data/opendamir.feather")

I've got a fatal error when writing the feather file.

Implement the FileOutputStream

Haven't done this yet -- #23 only reads and writes data to/from in-memory buffers (which is perfectly fine for getting this thing off the ground).

[feature request] support for nested data

Would be great to add support for complex columns - i.e. lists of arbitrary data.

df <- data.frame(i = 1:10)
df$i_lst <- lapply(1:10, function(x) letters[1:3])
str(df)

'data.frame': 10 obs. of 2 variables:
$ i : int 1 2 3 4 5 6 7 8 9 10
$ i_lst:List of 10
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"
..$ : chr "a" "b" "c"

write_feather(dt, '~/test.feather')

Error: Not implemented: i_lst is a list

Invite JS to the party?

Would obviously need a completely different codebase, but it would be useful for (e.g.) ggvis

Error writing pandas dataframe `is_datetime64_any_dtype`

Getting the following error when writing dataframe to feather:

Traceback (most recent call last):
  File "0_cleanup.py", line 48, in <module>
    feather.write_dataframe(df, args.out_file)
  File "/usr/local/lib/python3.4/site-packages/feather/api.py", line 35, in write_dataframe
    writer.write_array(name, col)
  File "feather/ext.pyx", line 85, in feather.ext.FeatherWriter.write_array (feather/ext.cpp:2066)
AttributeError: 'module' object has no attribute 'is_datetime64_any_dtype'

All columns are of the type dtype('float64'). Is there anything I am doing wrong?

How to store boolean data?

NumPy stores booleans in uint8_t, I expect R is the same. Should we do that for feather? The Arrow spec doesn't indicate a storage class for boolean data (Parquet for example does encode booleans in bits).

Later optimizations: designing for IO/CPU pipelining

Reading a table from a file will consist of two steps for each column:

  1. Read/decompress appropriate bytes from file
  2. Convert bytes to native representation in Python/R/other target

So when reading a table with N columns, each of these steps occurs N times. Without a complete library hard to estimate what % of time is spent in each step, but we'll want to pipeline the steps so that the file reader/decompressor and move onto paging the next column into RAM while the previous one is being converted to its Python/R destination data structure. The pipeline can throttle itself based on the total amount of unprocessed memory allocated.

Fatal error when the path is wrong (R)

I've tried to run the following program :

library(feather)
x <- runif(1e7)
x[sample(1e7, 1e6)] <- NA # 10% NAs

df <- as.data.frame(replicate(10, x))
write_feather(df, path = 'data/test.feather')

If the data directory doesn't exist, I've got a fatal error :

capture du 2016-04-01 15-23-39

If I run try to export the file to a csv, I've got a simple error :

> library(readr)
> write_csv(df, path = 'data/test.feather')
Erreur : Failed to open 'data/test.feather'.

It would be nice to have the same kind of message with feather.

Error handling

On contemplation I'm thinking we should adopt Status objects and forbid C++ exceptions. This is such a small library that exceptions only serve to complicate bindings in other languages. I can handle them in Python but it's very annoying. It would make an ANSI C API for libfeather harder to build also.

Doesn't have to get sorted this moment but just a thought

Add read APIs that enforce aligned memory for SSE

Applications that are using SIMD to accelerate decoding the Arrow data encoding into native data structures (e.g. SIMD popcount for counting nulls in a chunk of a bitmask) should have a well-documented set of APIs to use to ensure that any data buffered in memory is 16-byte (or 32-byte for AVX) aligned. Not required for this moment but keep in the back of our mind

Install fails on OS X

pip install feather-format fails on OS X 10.11.4 (Kernel Darwin 15.4.0).

I assume this is a problem with my system (missing header file?), but reported it in case it is a general issue.

gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 7.0.2 (clang-700.1.81) Target: x86_64-apple-darwin15.4.0 Thread model: posix

Traceback:

Collecting feather-format
  Using cached feather-format-0.1.0.tar.gz
Requirement already satisfied (use --upgrade to upgrade): cython>=0.21 in /Volumes/Pelennor/anaconda/anaconda/lib/python3.5/site-packages (from feather-format)
Building wheels for collected packages: feather-format
  Running setup.py bdist_wheel for feather-format ... error
  Complete output from command /Volumes/Pelennor/anaconda/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/tmpdnjjsaatpip-wheel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.5-x86_64-3.5
  creating build/lib.macosx-10.5-x86_64-3.5/feather
  copying feather/__init__.py -> build/lib.macosx-10.5-x86_64-3.5/feather
  copying feather/api.py -> build/lib.macosx-10.5-x86_64-3.5/feather
  copying feather/compat.py -> build/lib.macosx-10.5-x86_64-3.5/feather
  copying feather/version.py -> build/lib.macosx-10.5-x86_64-3.5/feather
  creating build/lib.macosx-10.5-x86_64-3.5/feather/tests
  copying feather/tests/__init__.py -> build/lib.macosx-10.5-x86_64-3.5/feather/tests
  copying feather/tests/test_reader.py -> build/lib.macosx-10.5-x86_64-3.5/feather/tests
  copying feather/libfeather.pxd -> build/lib.macosx-10.5-x86_64-3.5/feather
  copying feather/ext.pyx -> build/lib.macosx-10.5-x86_64-3.5/feather
  running build_ext
  building 'feather.ext' extension
  creating build/temp.macosx-10.5-x86_64-3.5
  creating build/temp.macosx-10.5-x86_64-3.5/feather
  creating build/temp.macosx-10.5-x86_64-3.5/src
  creating build/temp.macosx-10.5-x86_64-3.5/src/feather
  gcc -fno-strict-aliasing -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Volumes/Pelennor/anaconda/anaconda/include -arch x86_64 -Ifeather -I/Volumes/Pelennor/anaconda/anaconda/lib/python3.5/site-packages/numpy/core/include -I/private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/src -I/Volumes/Pelennor/anaconda/anaconda/include/python3.5m -c feather/ext.cpp -o build/temp.macosx-10.5-x86_64-3.5/feather/ext.o -std=c++11 -O3
  In file included from feather/ext.cpp:286:
  In file included from /private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/src/feather/api.h:18:
  /private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/src/feather/buffer.h:19:10: fatal error: 'cstdint' file not found
  #include <cstdint>
           ^
  1 error generated.
  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for feather-format
  Running setup.py clean for feather-format
Failed to build feather-format
Installing collected packages: feather-format
  Running setup.py install for feather-format ... error
    Complete output from command /Volumes/Pelennor/anaconda/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-bb9hhfdn-record/install-record.txt --single-version-externally-managed --compile:
    Compiling feather/ext.pyx because it changed.
    [1/1] Cythonizing feather/ext.pyx
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.5-x86_64-3.5
    creating build/lib.macosx-10.5-x86_64-3.5/feather
    copying feather/__init__.py -> build/lib.macosx-10.5-x86_64-3.5/feather
    copying feather/api.py -> build/lib.macosx-10.5-x86_64-3.5/feather
    copying feather/compat.py -> build/lib.macosx-10.5-x86_64-3.5/feather
    copying feather/version.py -> build/lib.macosx-10.5-x86_64-3.5/feather
    creating build/lib.macosx-10.5-x86_64-3.5/feather/tests
    copying feather/tests/__init__.py -> build/lib.macosx-10.5-x86_64-3.5/feather/tests
    copying feather/tests/test_reader.py -> build/lib.macosx-10.5-x86_64-3.5/feather/tests
    copying feather/libfeather.pxd -> build/lib.macosx-10.5-x86_64-3.5/feather
    copying feather/ext.pyx -> build/lib.macosx-10.5-x86_64-3.5/feather
    running build_ext
    building 'feather.ext' extension
    creating build/temp.macosx-10.5-x86_64-3.5
    creating build/temp.macosx-10.5-x86_64-3.5/feather
    creating build/temp.macosx-10.5-x86_64-3.5/src
    creating build/temp.macosx-10.5-x86_64-3.5/src/feather
    gcc -fno-strict-aliasing -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Volumes/Pelennor/anaconda/anaconda/include -arch x86_64 -Ifeather -I/Volumes/Pelennor/anaconda/anaconda/lib/python3.5/site-packages/numpy/core/include -I/private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/src -I/Volumes/Pelennor/anaconda/anaconda/include/python3.5m -c feather/ext.cpp -o build/temp.macosx-10.5-x86_64-3.5/feather/ext.o -std=c++11 -O3
    In file included from feather/ext.cpp:283:
    In file included from /private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/src/feather/api.h:18:
    /private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/src/feather/buffer.h:19:10: fatal error: 'cstdint' file not found
    #include <cstdint>
             ^
    1 error generated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/Volumes/Pelennor/anaconda/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-bb9hhfdn-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/p2/3z8mg4kd6zd8flycq_5gpzmh0000gn/T/pip-build-9b_xtjxe/feather-format

[feature request] support for user-level metadata

Idea would be to allow a restricted metadata to be attached globally? per-column? of types that are serializable by feather. something like. The usecase I am thinking is to allow pandas to support complete round-tripping.

e.g.

In [3]: df = pd.DataFrame({'A' : ['foo','foo','bar'], 'B' : [1,2,3]})

In [4]: df
Out[4]: 
     A  B
0  foo  1
1  foo  2
2  bar  3

In [5]: feather.write_dataframe(df, 'foo.fth')

In [6]: feather.read_dataframe('foo.fth')
Out[6]: 
     A  B
0  foo  1
1  foo  2
2  bar  3

In [7]: feather.read_dataframe('foo.fth').equals(df)
Out[7]: True

In [8]: sdf = df.set_index('A')

In [9]: sdf
Out[9]: 
     B
A     
foo  1
foo  2
bar  3

In [10]: feather.write_dataframe(sdf, 'foo.fth')

In [11]: feather.read_dataframe('foo.fth')
Out[11]: 
   B
0  1
1  2
2  3

so on [11] loosing the 'metadata'. But in a pandas wrapper if I could do:

feather.write_data_frame(sdf.reset_index(), 'foo.fth', {'index' : ['A']})

df, metadata = feather.read_frame('foo.fth', return_metadata=True)
df = df.set_index(metadata['index'])

Then I could round-trip exactly.

HDF5 allows support for arbitrary metadata on the group nodes (it just pickles this). But I think that would be out-of-scope here as its not cross-lang compat.

I think this would nicely solve the representation problem (everything still stored as table likes), but the metadata can offer an alternative interpretation w/o getting in the way of others.

Windows build fails due to missing sys/mann.h

I am trying to build feather on Windows7 64bit using R-patched (3.2.4) and Rtools 3.3.0 V1959 (as discussed in #58). I sort-of followed @wesm's advice by cloning the repository and manually taking the actions in the R/configure. The build proceeds until io.cc whereupon it fails as Windows installations of gcc do not have sys/mann.h

The older answers (like in SO) which directed one to https://code.google.com/archive/p/mman-win32/ are not useful as that is a dead link now. Can anything be done to get around this?

Thank you.

The format documentation is not clear

It doesn't look like the metadata format is explained anywhere.

Also, in the "Variable-length arrays" section there is dangling sentence

The null bitmask

Invite Go to the party?

In the spirit of #15 and #17, an API for Go would be quite good.

I've taken a quick stab at it over here. It supports just strings and numbers as of now and is just read only. So far the only hiccup was the Flatbuffers schema, where the type property clashed with a Go keyword, so you have to edit the generated code (only once though).

I'll take a closer look at the null bitarrays and categoricals/date/time next week. Any contributions on that (or tests, benchmarks or anything else) are obviously welcome.

O.

Deploying feather in shinyapps.io

Greetings, I would like to make use of this package with a shiny app deployment on shinyapps.io.

I receive the following error at deployment:

ERROR: compilation failed for package โ€˜featherโ€™

  • removing โ€˜/usr/local/lib/R/site-library/featherโ€™
    ################################# End Task Log #################################
    Error: Unhandled Exception: Child Task 176565252 failed: Error building image: Error building feather (0.0.0.9000). Build exited with non-zero status: 1
    Execution halted

Can anyone advise on how I might deploy with feather?

Getting Segfault writing feather

OS: OS X El Capitan
R 3.2.4

Started with a csv: FileName.csv - 64 columns 213k rows

library(data.table)
library(feather)

z <- fread('FileName.csv')

Read 213246 rows and 64 (of 64) columns from 0.680 GB file in 00:00:08
Warning message:
In fread("FileName.csv") :
C function strtod() returned ERANGE for one or more fields. The first was string input '4.57829471736681e-314'. It was read using (double)strtold() as numeric value 4.5782947173668142E-314 (displayed here using %.16E); loss of accuracy likely occurred. This message is designed to tell you exactly what has been done by fread's C code, so you can search yourself online for many references about double precision accuracy and these specific C functions. You may wish to use colClasses to read the column as character instead and then coerce that column using the Rmpfr package for greater accuracy.

# Switch it into data.frame just to be sure
df <- as.data.frame(z)

> write_feather(df,'testfeath')

*** caught segfault ***
address 0x10, cause 'memory not mapped'

Traceback:
1: .Call("feather_writeFeather", PACKAGE = "feather", df, path)
2: writeFeather(x, path)
3: write_feather(df, "testfeath")

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection:

Any idea what this could be?

Pip install fails on 2014 MBP

pip install feather-format fails on my machine. Not helped by --upgrade. I'm surprised because my configuration is quite vanilla.

Running OSX 10.10.5 Yosemite. Installing into virtualenv.

Hardware Overview:

  Model Name:   MacBook Pro
  Model Identifier: MacBookPro11,3
  Processor Name:   Intel Core i7
  Processor Speed:  2.5 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 6 MB
  Memory:   16 GB
  Boot ROM Version: MBP112.0138.B16
  SMC Version (system): 2.19f12
  Serial Number (system):   C02NQALLG3QD
  Hardware UUID:    B5680635-E04F-52ED-922E-0EA89DED9393

Stack trace for posterity:

Collecting feather-format
  Using cached feather-format-0.1.0.tar.gz
Requirement already satisfied (use --upgrade to upgrade): cython>=0.21 in /Users/johnmcdonnell/venv/lib/python2.7/site-packages (from feather-format)
Building wheels for collected packages: feather-format
  Running setup.py bdist_wheel for feather-format ... error
  Complete output from command /Users/johnmcdonnell/venv/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/tmpvGDyYVpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.10-intel-2.7
  creating build/lib.macosx-10.10-intel-2.7/feather
  copying feather/__init__.py -> build/lib.macosx-10.10-intel-2.7/feather
  copying feather/api.py -> build/lib.macosx-10.10-intel-2.7/feather
  copying feather/compat.py -> build/lib.macosx-10.10-intel-2.7/feather
  copying feather/version.py -> build/lib.macosx-10.10-intel-2.7/feather
  creating build/lib.macosx-10.10-intel-2.7/feather/tests
  copying feather/tests/__init__.py -> build/lib.macosx-10.10-intel-2.7/feather/tests
  copying feather/tests/test_reader.py -> build/lib.macosx-10.10-intel-2.7/feather/tests
  copying feather/libfeather.pxd -> build/lib.macosx-10.10-intel-2.7/feather
  copying feather/ext.pyx -> build/lib.macosx-10.10-intel-2.7/feather
  running build_ext
  building 'feather.ext' extension
  creating build/temp.macosx-10.10-intel-2.7
  creating build/temp.macosx-10.10-intel-2.7/feather
  creating build/temp.macosx-10.10-intel-2.7/src
  creating build/temp.macosx-10.10-intel-2.7/src/feather
  cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -Ifeather -I/Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include -I/private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c feather/ext.cpp -o build/temp.macosx-10.10-intel-2.7/feather/ext.o -std=c++11 -O3
  In file included from feather/ext.cpp:285:
  In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
  In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
  In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:
  /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
  #warning "Using deprecated NumPy API, disable it by " \
   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:364:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
    int nbytes = util::bytes_for_bits(out_->length);
        ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:326:17: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::InitNullBitmap' requested here
    RETURN_NOT_OK(InitNullBitmap());
                  ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:157:18: warning: implicit conversion loses integer precision: 'Py_ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
          length = PyBytes_GET_SIZE(obj);
                 ~ ^
  /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/bytesobject.h:8:26: note: expanded from macro 'PyBytes_GET_SIZE'
  #define PyBytes_GET_SIZE PyString_GET_SIZE
                           ^
  /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/stringobject.h:92:32: note: expanded from macro 'PyString_GET_SIZE'
  #define PyString_GET_SIZE(op)  Py_SIZE(op)
                                 ^~~~~~~~~~~
  /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/object.h:116:56: note: expanded from macro 'Py_SIZE'
  #define Py_SIZE(ob)             (((PyVarObject*)(ob))->ob_size)
                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  feather/interop.h:335:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertObjectStrings' requested here
        return ConvertObjectStrings();
               ^
  feather/interop.h:164:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:166:18: warning: implicit conversion loses integer precision: 'Py_ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
          length = PyBytes_GET_SIZE(obj);
                 ~ ^
  /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/bytesobject.h:8:26: note: expanded from macro 'PyBytes_GET_SIZE'
  #define PyBytes_GET_SIZE PyString_GET_SIZE
                           ^
  /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/stringobject.h:92:32: note: expanded from macro 'PyString_GET_SIZE'
  #define PyString_GET_SIZE(op)  Py_SIZE(op)
                                 ^~~~~~~~~~~
  /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/object.h:116:56: note: expanded from macro 'Py_SIZE'
  #define Py_SIZE(ob)             (((PyVarObject*)(ob))->ob_size)
                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  In file included from feather/ext.cpp:287:
  feather/interop.h:169:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:198:18: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int nbytes = util::bytes_for_bits(out_->length);
          ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:337:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertBooleans' requested here
        return ConvertBooleans();
               ^
  feather/interop.h:208:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(bitmap, i);
          ~~~~                  ^
  feather/interop.h:209:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:211:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:412:5: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::Convert' requested here
      TO_FEATHER_CASE(BOOL);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:413:5: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::Convert' requested here
      TO_FEATHER_CASE(INT8);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:414:5: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::Convert' requested here
      TO_FEATHER_CASE(INT16);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<5>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:415:5: note: in instantiation of member function 'feather::py::FeatherSerializer<5>::Convert' requested here
      TO_FEATHER_CASE(INT32);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:416:5: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::Convert' requested here
      TO_FEATHER_CASE(INT64);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:417:5: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::Convert' requested here
      TO_FEATHER_CASE(UINT8);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:418:5: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::Convert' requested here
      TO_FEATHER_CASE(UINT16);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<6>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:419:5: note: in instantiation of member function 'feather::py::FeatherSerializer<6>::Convert' requested here
      TO_FEATHER_CASE(UINT32);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:420:5: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::Convert' requested here
      TO_FEATHER_CASE(UINT64);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:421:5: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::Convert' requested here
      TO_FEATHER_CASE(FLOAT32);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:422:5: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::Convert' requested here
      TO_FEATHER_CASE(FLOAT64);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:584:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          if (util::bit_not_set(arr_->nulls, i)) {
              ~~~~                           ^
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<0>::ConvertValues<0>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:654:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<0>::Convert' requested here
      FROM_FEATHER_CASE(BOOL);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:587:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          } else if (util::get_bit(arr_->values, i)) {
                     ~~~~                        ^
  feather/interop.h:603:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          out_values[i] = util::get_bit(arr_->values, i) ? 1 : 0;
                          ~~~~                        ^
  feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                          ~~~~                           ^
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<9>::ConvertValues<9>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:663:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<9>::Convert' requested here
      FROM_FEATHER_CASE(FLOAT);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                          ~~~~                           ^
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<10>::ConvertValues<10>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:664:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<10>::Convert' requested here
      FROM_FEATHER_CASE(DOUBLE);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:620:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          if (util::bit_not_set(arr_->nulls, i)) {
              ~~~~                           ^
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<11>::ConvertValues<11>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:665:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<11>::Convert' requested here
      FROM_FEATHER_CASE(UTF8);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/ext.cpp:8837:28: warning: unused function '__Pyx_PyObject_AsString' [-Wunused-function]
  static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
                             ^
  feather/ext.cpp:8834:32: warning: unused function '__Pyx_PyUnicode_FromString' [-Wunused-function]
  static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
                                 ^
  feather/ext.cpp:374:29: warning: unused function '__Pyx_Py_UNICODE_strlen' [-Wunused-function]
  static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
                              ^
  feather/ext.cpp:8949:33: warning: unused function '__Pyx_PyIndex_AsSsize_t' [-Wunused-function]
  static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
                                  ^
  feather/ext.cpp:9011:33: warning: unused function '__Pyx_PyInt_FromSize_t' [-Wunused-function]
  static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
                                  ^
  feather/ext.cpp:7213:27: warning: unused function '__Pyx_ErrFetch' [-Wunused-function]
  static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
                            ^
  feather/ext.cpp:8234:48: warning: unused function '__pyx_t_float_complex_from_parts' [-Wunused-function]
      static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
                                                 ^
  feather/ext.cpp:8354:49: warning: unused function '__pyx_t_double_complex_from_parts' [-Wunused-function]
      static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
                                                  ^
  feather/ext.cpp:8498:32: warning: unused function '__Pyx_PyInt_From_long' [-Wunused-function]
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
                                 ^
  feather/ext.cpp:8524:27: warning: function '__Pyx_PyInt_As_long' is not needed and will not be emitted [-Wunneeded-internal-declaration]
  static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
                            ^
  feather/ext.cpp:6070:32: warning: unused function '__pyx_convert_PyObject_string_to_py_std__in_string' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                 ^
  feather/ext.cpp:6120:32: warning: unused function '__pyx_convert_PyUnicode_string_to_py_std__in_string' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                 ^
  feather/ext.cpp:6170:32: warning: unused function '__pyx_convert_PyStr_string_to_py_std__in_string' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                 ^
  feather/ext.cpp:6270:32: warning: unused function '__pyx_convert_PyByteArray_string_to_py_std__in_string' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                 ^
  feather/ext.cpp:4894:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew1' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
                                 ^
  feather/ext.cpp:4944:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew2' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
                                 ^
  feather/ext.cpp:4994:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew3' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
                                 ^
  feather/ext.cpp:5044:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew4' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
                                 ^
  feather/ext.cpp:5094:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew5' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
                                 ^
  feather/ext.cpp:5902:27: warning: unused function '__pyx_f_5numpy_set_array_base' [-Wunused-function]
  static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
                            ^
  feather/ext.cpp:5998:32: warning: unused function '__pyx_f_5numpy_get_array_base' [-Wunused-function]
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
                                 ^
  49 warnings generated.
  In file included from feather/ext.cpp:285:
  In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
  In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
  In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:
  /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
  #warning "Using deprecated NumPy API, disable it by " \
   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:364:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
    int nbytes = util::bytes_for_bits(out_->length);
        ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:326:17: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::InitNullBitmap' requested here
    RETURN_NOT_OK(InitNullBitmap());
                  ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:164:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:335:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertObjectStrings' requested here
        return ConvertObjectStrings();
               ^
  feather/interop.h:169:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:198:18: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int nbytes = util::bytes_for_bits(out_->length);
          ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:337:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertBooleans' requested here
        return ConvertBooleans();
               ^
  feather/interop.h:208:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(bitmap, i);
          ~~~~                  ^
  feather/interop.h:209:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:211:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          util::set_bit(null_bitmap_, i);
          ~~~~                        ^
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:412:5: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::Convert' requested here
      TO_FEATHER_CASE(BOOL);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:413:5: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::Convert' requested here
      TO_FEATHER_CASE(INT8);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:414:5: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::Convert' requested here
      TO_FEATHER_CASE(INT16);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:415:5: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::Convert' requested here
      TO_FEATHER_CASE(INT32);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<9>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:416:5: note: in instantiation of member function 'feather::py::FeatherSerializer<9>::Convert' requested here
      TO_FEATHER_CASE(INT64);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:417:5: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::Convert' requested here
      TO_FEATHER_CASE(UINT8);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:418:5: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::Convert' requested here
      TO_FEATHER_CASE(UINT16);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:419:5: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::Convert' requested here
      TO_FEATHER_CASE(UINT32);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<10>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:420:5: note: in instantiation of member function 'feather::py::FeatherSerializer<10>::Convert' requested here
      TO_FEATHER_CASE(UINT64);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:421:5: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::Convert' requested here
      TO_FEATHER_CASE(FLOAT32);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int null_bytes = util::bytes_for_bits(out_->length);
          ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  feather/interop.h:422:5: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::Convert' requested here
      TO_FEATHER_CASE(FLOAT64);
      ^
  feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
        RETURN_NOT_OK(converter.Convert());                       \
                                ^
  /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
      Status _s = (s);                            \
                   ^
  In file included from feather/ext.cpp:287:
  feather/interop.h:578:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<0>::ConvertValues<0>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:654:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<0>::Convert' requested here
      FROM_FEATHER_CASE(BOOL);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:578:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:578:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:584:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          if (util::bit_not_set(arr_->nulls, i)) {
              ~~~~                           ^
  feather/interop.h:587:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          } else if (util::get_bit(arr_->values, i)) {
                     ~~~~                        ^
  feather/interop.h:603:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          out_values[i] = util::get_bit(arr_->values, i) ? 1 : 0;
                          ~~~~                        ^
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<1>::ConvertValues<1>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:655:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<1>::Convert' requested here
      FROM_FEATHER_CASE(INT8);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<2>::ConvertValues<2>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:656:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<2>::Convert' requested here
      FROM_FEATHER_CASE(INT16);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<3>::ConvertValues<3>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:657:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<3>::Convert' requested here
      FROM_FEATHER_CASE(INT32);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<4>::ConvertValues<4>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:658:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<4>::Convert' requested here
      FROM_FEATHER_CASE(INT64);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<5>::ConvertValues<5>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:659:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<5>::Convert' requested here
      FROM_FEATHER_CASE(UINT8);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<6>::ConvertValues<6>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:660:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<6>::Convert' requested here
      FROM_FEATHER_CASE(UINT16);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<7>::ConvertValues<7>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:661:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<7>::Convert' requested here
      FROM_FEATHER_CASE(UINT32);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<8>::ConvertValues<8>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:662:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<8>::Convert' requested here
      FROM_FEATHER_CASE(UINT64);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:556:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
        memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
        ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:530:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<9>::ConvertValues<9>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:663:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<9>::Convert' requested here
      FROM_FEATHER_CASE(FLOAT);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:530:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:530:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                          ~~~~                           ^
  feather/interop.h:546:24: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
            arr_->length * ByteSize(arr_->type));
            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:530:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<10>::ConvertValues<10>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:664:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<10>::Convert' requested here
      FROM_FEATHER_CASE(DOUBLE);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:530:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:530:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                          ~~~~                           ^
  feather/interop.h:546:24: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
            arr_->length * ByteSize(arr_->type));
            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  feather/interop.h:612:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
  feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<11>::ConvertValues<11>' requested here
      ConvertValues<TYPE>();
      ^
  feather/interop.h:665:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<11>::Convert' requested here
      FROM_FEATHER_CASE(UTF8);
      ^
  feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
        return converter.Convert();                               \
                         ^
  feather/interop.h:612:25: note: insert an explicit cast to silence this issue
      npy_intp dims[1] = {arr_->length};
                          ^~~~~~~~~~~~
                          static_cast<npy_intp>( )
  feather/interop.h:612:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
      npy_intp dims[1] = {arr_->length};
                         ~~~~~~~^~~~~~
  feather/interop.h:620:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
          if (util::bit_not_set(arr_->nulls, i)) {
              ~~~~                           ^
  48 warnings and 12 errors generated.
  error: command 'cc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for feather-format
  Running setup.py clean for feather-format
Failed to build feather-format
Installing collected packages: feather-format
  Running setup.py install for feather-format ... error
    Complete output from command /Users/johnmcdonnell/venv/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-TbCtSk-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/johnmcdonnell/venv/include/site/python2.7/feather-format:
    Compiling feather/ext.pyx because it changed.
    [1/1] Cythonizing feather/ext.pyx
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.10-intel-2.7
    creating build/lib.macosx-10.10-intel-2.7/feather
    copying feather/__init__.py -> build/lib.macosx-10.10-intel-2.7/feather
    copying feather/api.py -> build/lib.macosx-10.10-intel-2.7/feather
    copying feather/compat.py -> build/lib.macosx-10.10-intel-2.7/feather
    copying feather/version.py -> build/lib.macosx-10.10-intel-2.7/feather
    creating build/lib.macosx-10.10-intel-2.7/feather/tests
    copying feather/tests/__init__.py -> build/lib.macosx-10.10-intel-2.7/feather/tests
    copying feather/tests/test_reader.py -> build/lib.macosx-10.10-intel-2.7/feather/tests
    copying feather/libfeather.pxd -> build/lib.macosx-10.10-intel-2.7/feather
    copying feather/ext.pyx -> build/lib.macosx-10.10-intel-2.7/feather
    running build_ext
    building 'feather.ext' extension
    creating build/temp.macosx-10.10-intel-2.7
    creating build/temp.macosx-10.10-intel-2.7/feather
    creating build/temp.macosx-10.10-intel-2.7/src
    creating build/temp.macosx-10.10-intel-2.7/src/feather
    cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -Ifeather -I/Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include -I/private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c feather/ext.cpp -o build/temp.macosx-10.10-intel-2.7/feather/ext.o -std=c++11 -O3
    In file included from feather/ext.cpp:285:
    In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
    In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
    In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:
    /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
    #warning "Using deprecated NumPy API, disable it by " \
     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:364:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int nbytes = util::bytes_for_bits(out_->length);
          ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:326:17: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:157:18: warning: implicit conversion loses integer precision: 'Py_ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
            length = PyBytes_GET_SIZE(obj);
                   ~ ^
    /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/bytesobject.h:8:26: note: expanded from macro 'PyBytes_GET_SIZE'
    #define PyBytes_GET_SIZE PyString_GET_SIZE
                             ^
    /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/stringobject.h:92:32: note: expanded from macro 'PyString_GET_SIZE'
    #define PyString_GET_SIZE(op)  Py_SIZE(op)
                                   ^~~~~~~~~~~
    /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/object.h:116:56: note: expanded from macro 'Py_SIZE'
    #define Py_SIZE(ob)             (((PyVarObject*)(ob))->ob_size)
                                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
    feather/interop.h:335:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertObjectStrings' requested here
          return ConvertObjectStrings();
                 ^
    feather/interop.h:164:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:166:18: warning: implicit conversion loses integer precision: 'Py_ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
            length = PyBytes_GET_SIZE(obj);
                   ~ ^
    /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/bytesobject.h:8:26: note: expanded from macro 'PyBytes_GET_SIZE'
    #define PyBytes_GET_SIZE PyString_GET_SIZE
                             ^
    /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/stringobject.h:92:32: note: expanded from macro 'PyString_GET_SIZE'
    #define PyString_GET_SIZE(op)  Py_SIZE(op)
                                   ^~~~~~~~~~~
    /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/object.h:116:56: note: expanded from macro 'Py_SIZE'
    #define Py_SIZE(ob)             (((PyVarObject*)(ob))->ob_size)
                                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
    In file included from feather/ext.cpp:287:
    feather/interop.h:169:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:198:18: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int nbytes = util::bytes_for_bits(out_->length);
            ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:337:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertBooleans' requested here
          return ConvertBooleans();
                 ^
    feather/interop.h:208:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(bitmap, i);
            ~~~~                  ^
    feather/interop.h:209:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:211:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:412:5: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::Convert' requested here
        TO_FEATHER_CASE(BOOL);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:413:5: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::Convert' requested here
        TO_FEATHER_CASE(INT8);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:414:5: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::Convert' requested here
        TO_FEATHER_CASE(INT16);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<5>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:415:5: note: in instantiation of member function 'feather::py::FeatherSerializer<5>::Convert' requested here
        TO_FEATHER_CASE(INT32);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:416:5: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::Convert' requested here
        TO_FEATHER_CASE(INT64);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:417:5: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::Convert' requested here
        TO_FEATHER_CASE(UINT8);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:418:5: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::Convert' requested here
        TO_FEATHER_CASE(UINT16);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<6>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:419:5: note: in instantiation of member function 'feather::py::FeatherSerializer<6>::Convert' requested here
        TO_FEATHER_CASE(UINT32);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:420:5: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::Convert' requested here
        TO_FEATHER_CASE(UINT64);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:421:5: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::Convert' requested here
        TO_FEATHER_CASE(FLOAT32);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:422:5: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::Convert' requested here
        TO_FEATHER_CASE(FLOAT64);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:584:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            if (util::bit_not_set(arr_->nulls, i)) {
                ~~~~                           ^
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<0>::ConvertValues<0>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:654:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<0>::Convert' requested here
        FROM_FEATHER_CASE(BOOL);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:587:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            } else if (util::get_bit(arr_->values, i)) {
                       ~~~~                        ^
    feather/interop.h:603:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            out_values[i] = util::get_bit(arr_->values, i) ? 1 : 0;
                            ~~~~                        ^
    feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                            ~~~~                           ^
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<9>::ConvertValues<9>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:663:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<9>::Convert' requested here
        FROM_FEATHER_CASE(FLOAT);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                            ~~~~                           ^
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<10>::ConvertValues<10>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:664:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<10>::Convert' requested here
        FROM_FEATHER_CASE(DOUBLE);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:620:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            if (util::bit_not_set(arr_->nulls, i)) {
                ~~~~                           ^
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<11>::ConvertValues<11>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:665:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<11>::Convert' requested here
        FROM_FEATHER_CASE(UTF8);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/ext.cpp:8837:28: warning: unused function '__Pyx_PyObject_AsString' [-Wunused-function]
    static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
                               ^
    feather/ext.cpp:8834:32: warning: unused function '__Pyx_PyUnicode_FromString' [-Wunused-function]
    static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
                                   ^
    feather/ext.cpp:374:29: warning: unused function '__Pyx_Py_UNICODE_strlen' [-Wunused-function]
    static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
                                ^
    feather/ext.cpp:8949:33: warning: unused function '__Pyx_PyIndex_AsSsize_t' [-Wunused-function]
    static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
                                    ^
    feather/ext.cpp:9011:33: warning: unused function '__Pyx_PyInt_FromSize_t' [-Wunused-function]
    static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
                                    ^
    feather/ext.cpp:7213:27: warning: unused function '__Pyx_ErrFetch' [-Wunused-function]
    static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
                              ^
    feather/ext.cpp:8234:48: warning: unused function '__pyx_t_float_complex_from_parts' [-Wunused-function]
        static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
                                                   ^
    feather/ext.cpp:8354:49: warning: unused function '__pyx_t_double_complex_from_parts' [-Wunused-function]
        static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
                                                    ^
    feather/ext.cpp:8498:32: warning: unused function '__Pyx_PyInt_From_long' [-Wunused-function]
    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
                                   ^
    feather/ext.cpp:8524:27: warning: function '__Pyx_PyInt_As_long' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
                              ^
    feather/ext.cpp:6070:32: warning: unused function '__pyx_convert_PyObject_string_to_py_std__in_string' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                   ^
    feather/ext.cpp:6120:32: warning: unused function '__pyx_convert_PyUnicode_string_to_py_std__in_string' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                   ^
    feather/ext.cpp:6170:32: warning: unused function '__pyx_convert_PyStr_string_to_py_std__in_string' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                   ^
    feather/ext.cpp:6270:32: warning: unused function '__pyx_convert_PyByteArray_string_to_py_std__in_string' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &__pyx_v_s) {
                                   ^
    feather/ext.cpp:4894:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew1' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
                                   ^
    feather/ext.cpp:4944:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew2' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
                                   ^
    feather/ext.cpp:4994:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew3' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
                                   ^
    feather/ext.cpp:5044:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew4' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
                                   ^
    feather/ext.cpp:5094:32: warning: unused function '__pyx_f_5numpy_PyArray_MultiIterNew5' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
                                   ^
    feather/ext.cpp:5902:27: warning: unused function '__pyx_f_5numpy_set_array_base' [-Wunused-function]
    static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
                              ^
    feather/ext.cpp:5998:32: warning: unused function '__pyx_f_5numpy_get_array_base' [-Wunused-function]
    static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
                                   ^
    49 warnings generated.
    In file included from feather/ext.cpp:285:
    In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
    In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
    In file included from /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:
    /Users/johnmcdonnell/venv/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
    #warning "Using deprecated NumPy API, disable it by " \
     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:364:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
      int nbytes = util::bytes_for_bits(out_->length);
          ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:326:17: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::InitNullBitmap' requested here
      RETURN_NOT_OK(InitNullBitmap());
                    ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:164:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:335:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertObjectStrings' requested here
          return ConvertObjectStrings();
                 ^
    feather/interop.h:169:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:198:18: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int nbytes = util::bytes_for_bits(out_->length);
            ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:337:14: note: in instantiation of member function 'feather::py::FeatherSerializer<17>::ConvertBooleans' requested here
          return ConvertBooleans();
                 ^
    feather/interop.h:208:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(bitmap, i);
            ~~~~                  ^
    feather/interop.h:209:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:211:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            util::set_bit(null_bitmap_, i);
            ~~~~                        ^
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:412:5: note: in instantiation of member function 'feather::py::FeatherSerializer<0>::Convert' requested here
        TO_FEATHER_CASE(BOOL);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:413:5: note: in instantiation of member function 'feather::py::FeatherSerializer<1>::Convert' requested here
        TO_FEATHER_CASE(INT8);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:414:5: note: in instantiation of member function 'feather::py::FeatherSerializer<3>::Convert' requested here
        TO_FEATHER_CASE(INT16);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:415:5: note: in instantiation of member function 'feather::py::FeatherSerializer<7>::Convert' requested here
        TO_FEATHER_CASE(INT32);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<9>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:416:5: note: in instantiation of member function 'feather::py::FeatherSerializer<9>::Convert' requested here
        TO_FEATHER_CASE(INT64);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:417:5: note: in instantiation of member function 'feather::py::FeatherSerializer<2>::Convert' requested here
        TO_FEATHER_CASE(UINT8);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:418:5: note: in instantiation of member function 'feather::py::FeatherSerializer<4>::Convert' requested here
        TO_FEATHER_CASE(UINT16);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:419:5: note: in instantiation of member function 'feather::py::FeatherSerializer<8>::Convert' requested here
        TO_FEATHER_CASE(UINT32);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<10>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:420:5: note: in instantiation of member function 'feather::py::FeatherSerializer<10>::Convert' requested here
        TO_FEATHER_CASE(UINT64);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:421:5: note: in instantiation of member function 'feather::py::FeatherSerializer<11>::Convert' requested here
        TO_FEATHER_CASE(FLOAT32);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:116:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
        int null_bytes = util::bytes_for_bits(out_->length);
            ~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:273:19: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::InitNullBitmap' requested here
        RETURN_NOT_OK(InitNullBitmap());
                      ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    feather/interop.h:422:5: note: in instantiation of member function 'feather::py::FeatherSerializer<12>::Convert' requested here
        TO_FEATHER_CASE(FLOAT64);
        ^
    feather/interop.h:394:31: note: expanded from macro 'TO_FEATHER_CASE'
          RETURN_NOT_OK(converter.Convert());                       \
                                  ^
    /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/src/feather/status.h:25:18: note: expanded from macro 'RETURN_NOT_OK'
        Status _s = (s);                            \
                     ^
    In file included from feather/ext.cpp:287:
    feather/interop.h:578:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<0>::ConvertValues<0>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:654:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<0>::Convert' requested here
        FROM_FEATHER_CASE(BOOL);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:578:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:578:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:584:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            if (util::bit_not_set(arr_->nulls, i)) {
                ~~~~                           ^
    feather/interop.h:587:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            } else if (util::get_bit(arr_->values, i)) {
                       ~~~~                        ^
    feather/interop.h:603:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            out_values[i] = util::get_bit(arr_->values, i) ? 1 : 0;
                            ~~~~                        ^
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<1>::ConvertValues<1>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:655:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<1>::Convert' requested here
        FROM_FEATHER_CASE(INT8);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<2>::ConvertValues<2>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:656:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<2>::Convert' requested here
        FROM_FEATHER_CASE(INT16);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<3>::ConvertValues<3>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:657:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<3>::Convert' requested here
        FROM_FEATHER_CASE(INT32);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<4>::ConvertValues<4>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:658:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<4>::Convert' requested here
        FROM_FEATHER_CASE(INT64);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<5>::ConvertValues<5>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:659:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<5>::Convert' requested here
        FROM_FEATHER_CASE(UINT8);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<6>::ConvertValues<6>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:660:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<6>::Convert' requested here
        FROM_FEATHER_CASE(UINT16);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<7>::ConvertValues<7>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:661:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<7>::Convert' requested here
        FROM_FEATHER_CASE(UINT32);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:556:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<8>::ConvertValues<8>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:662:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<8>::Convert' requested here
        FROM_FEATHER_CASE(UINT64);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:556:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:556:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:570:61: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
          memcpy(PyArray_DATA(out_), arr_->values, arr_->length * ByteSize(arr_->type));
          ~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:530:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<9>::ConvertValues<9>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:663:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<9>::Convert' requested here
        FROM_FEATHER_CASE(FLOAT);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:530:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:530:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                            ~~~~                           ^
    feather/interop.h:546:24: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
              arr_->length * ByteSize(arr_->type));
              ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:530:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<10>::ConvertValues<10>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:664:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<10>::Convert' requested here
        FROM_FEATHER_CASE(DOUBLE);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:530:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:530:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:542:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            out_values[i] = util::bit_not_set(arr_->nulls, i) ? NAN : in_values[i];
                            ~~~~                           ^
    feather/interop.h:546:24: warning: implicit conversion loses integer precision: 'long long' to 'size_t' (aka 'unsigned long') [-Wshorten-64-to-32]
              arr_->length * ByteSize(arr_->type));
              ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    feather/interop.h:612:25: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'npy_intp' (aka 'long') in initializer list [-Wc++11-narrowing]
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
    feather/interop.h:521:5: note: in instantiation of function template specialization 'feather::py::FeatherDeserializer<11>::ConvertValues<11>' requested here
        ConvertValues<TYPE>();
        ^
    feather/interop.h:665:5: note: in instantiation of member function 'feather::py::FeatherDeserializer<11>::Convert' requested here
        FROM_FEATHER_CASE(UTF8);
        ^
    feather/interop.h:648:24: note: expanded from macro 'FROM_FEATHER_CASE'
          return converter.Convert();                               \
                           ^
    feather/interop.h:612:25: note: insert an explicit cast to silence this issue
        npy_intp dims[1] = {arr_->length};
                            ^~~~~~~~~~~~
                            static_cast<npy_intp>( )
    feather/interop.h:612:31: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'npy_intp' (aka 'long') [-Wshorten-64-to-32]
        npy_intp dims[1] = {arr_->length};
                           ~~~~~~~^~~~~~
    feather/interop.h:620:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
            if (util::bit_not_set(arr_->nulls, i)) {
                ~~~~                           ^
    48 warnings and 12 errors generated.
    error: command 'cc' failed with exit status 1

    ----------------------------------------
Command "/Users/johnmcdonnell/venv/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-TbCtSk-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/johnmcdonnell/venv/include/site/python2.7/feather-format" failed with error code 1 in /private/var/folders/cv/mqh6bv697bn1fkm8qvm6yz0m0000gn/T/pip-build-P5mz3T/feather-format/

Unable to install on Windows; passes c++0x instead of c++11

I am on Windows 7 64bit using Rtools 3.3.0 v1959, and can build R (building R-patched_2016-03-28) and pretty much every package from source successfully. However, when trying to install feather via devtools, I get the following. Please note that somehow, c++0x is being passed even though my .R/Makevars has CXXFLAGS = -std=c++11 (which manifests properly in every other package, such as Rcpp). Would that have anything to do with the issue?

Also, as it seems to have an issue with api.h, does it matter that the file is actually at "feather/cpp/src/feather/api.h" and not in the feather/R subdirectory?

Thank you.

> devtools::install_github("wesm/feather/R")
Downloading GitHub repo wesm/feather@master
from URL https://api.github.com/repos/wesm/feather/zipball/master
Installing feather
"F:/R/RCurrent/R-32~1.4PA/bin/x64/R" --no-site-file --no-environ --no-save --no-restore CMD INSTALL  \
  "F:/R/tmp/Rtmp8WR3lV/devtools52e047974bda/wesm-feather-a58e3be/R" --library="F:/R/RCurrent/R-3.2.4patched/library" --install-tests 

* installing *source* package 'feather' ...

   **********************************************
   WARNING: this package has a configure script
         It probably needs manual configuration
   **********************************************


** libs
F:/R/Rtools/mingw_64/bin/g++  -std=c++0x -I"F:/R/RCurrent/R-32~1.4PA/include" -DNDEBUG -I. -march=native -pipe  -I"F:/R/RCurrent/R-3.2.4patched/library/Rcpp/include" -I"F:/R/RLocalSoft/include"     -O2 -Wall  -march=native -pipe -c RcppExports.cpp -o RcppExports.o
F:/R/Rtools/mingw_64/bin/g++  -std=c++0x -I"F:/R/RCurrent/R-32~1.4PA/include" -DNDEBUG -I. -march=native -pipe  -I"F:/R/RCurrent/R-3.2.4patched/library/Rcpp/include" -I"F:/R/RLocalSoft/include"     -O2 -Wall  -march=native -pipe -c feather-read.cpp -o feather-read.o
feather-read.cpp:4:25: fatal error: feather/api.h: No such file or directory
 #include "feather/api.h"
                         ^
compilation terminated.
make: *** [feather-read.o] Error 1
Warning: running command 'make -f "Makevars" -f "F:/R/RCurrent/R-32~1.4PA/etc/x64/Makeconf" -f "F:/R/RCurrent/R-32~1.4PA/share/make/winshlib.mk" -f "E:/Users/Parents/Documents/.R/Makevars" CXX='$(CXX1X) $(CXX1XSTD)' CXXFLAGS='$(CXX1XFLAGS)' CXXPICFLAGS='$(CXX1XPICFLAGS)' SHLIB_LDFLAGS='$(SHLIB_CXX1XLDFLAGS)' SHLIB_LD='$(SHLIB_CXX1XLD)' SHLIB="feather.dll" WIN=64 TCLBIN=64 ' had status 2
ERROR: compilation failed for package 'feather'
* removing 'F:/R/RCurrent/R-3.2.4patched/library/feather'
Error: Command failed (1)

perf: interesting results

pandas 0.18.0 / feather a58e3be

mixed types

In [1]: df = pd.DataFrame({'A' : np.random.randn(1000000)})

In [2]: df['B'] = 'foo'

In [3]: df['C'] = pd.Timestamp('20130101')

In [4]: %timeit df.to_hdf('foo.h5', 'df')
1 loop, best of 3: 803 ms per loop

In [5]: %timeit pd.read_hdf('foo.h5', 'df')
1 loop, best of 3: 319 ms per loop

In [6]: import feather

In [7]: %timeit feather.write_dataframe(df, 'foo.fth')
10 loops, best of 3: 62.2 ms per loop

In [8]: %timeit feather.read_dataframe('foo.fth')
10 loops, best of 3: 56.8 ms per loop

In [9]: !ls -ltr foo*
-rw-rw-r--  1 jreback  staff  72487885 Mar 29 23:49 foo.h5
-rw-rw-r--  1 jreback  staff  23000356 Mar 29 23:50 foo.fth

In [10]: %timeit df.to_msgpack('foo.pak')
10 loops, best of 3: 160 ms per loop

In [12]: %timeit pd.read_msgpack('foo.pak')
10 loops, best of 3: 79.8 ms per loop

In [13]: %timeit df.to_msgpack('foo.pak', compress='blosc')
10 loops, best of 3: 139 ms per loop

In [14]: %timeit pd.read_msgpack('foo.pak')
10 loops, best of 3: 72 ms per loop

Just floats

In [20]: %timeit feather.write_dataframe(df[['A']], 'foo.fth')
100 loops, best of 3: 14.8 ms per loop

In [21]: %timeit feather.read_dataframe('foo.fth')
100 loops, best of 3: 7.47 ms per loop

In [22]: %timeit df[['A']].to_hdf('foo.h5', 'df')
10 loops, best of 3: 34 ms per loop

In [23]: %timeit pd.read_hdf('foo.h5', 'df')
100 loops, best of 3: 9.17 ms per loop

In [24]: %timeit df[['A']].to_msgpack('foo.pak', compress='blosc')
10 loops, best of 3: 37.3 ms per loop

In [25]: %timeit pd.read_msgpack('foo.pak')
100 loops, best of 3: 9.39 ms per loop

In [29]: !ls -ltr foo*
-rw-rw-r--  1 jreback  staff   8000152 Mar 29 23:55 foo.fth
-rw-rw-r--  1 jreback  staff  64487821 Mar 29 23:55 foo.h5
-rw-rw-r--  1 jreback  staff   8000310 Mar 30 00:00 foo.pak

Just some ad-hoc perf tests. floats about similar (but better than HDF5, slightly better than msgpack).
Interesting that feather is WAY faster on fixed length strings in HDF5. (Almost about 1/3 serialized size, which obviously makes writing faster). Note these are the same length strings.

These are slightly non-comparable, as the pandas routines are serializeing the index as well (so doing 2x the work for floats and 1 1/3 more for HDF5/msgpack).

Weird error on int64 column

I'm trying to save a Pandas DataFrame to the feather format and it fails on an int64 column. Even if I create a new DataFrame that only has one value form that column, it fails.

I'm not able to reproduce the error with a simple example. Spent an hour trying this. A more detailed error message would help. This is the error I get:

---------------------------------------------------------------------------
FeatherError                              Traceback (most recent call last)
<ipython-input-144-ec3e27a90474> in <module>()
      1 import feather
      2 feather.write_dataframe(merged2[['cycle_number']],
----> 3                         'bad.feather')

//anaconda/lib/python3.5/site-packages/feather/api.py in write_dataframe(df, path)
     33             name = str(name)
     34 
---> 35         writer.write_array(name, col)
     36 
     37     writer.close()

//anaconda/lib/python3.5/site-packages/feather/ext.pyx in feather.ext.FeatherWriter.write_array (feather/ext.cpp:2130)()

//anaconda/lib/python3.5/site-packages/feather/ext.pyx in feather.ext.FeatherWriter.write_primitive (feather/ext.cpp:2435)()

//anaconda/lib/python3.5/site-packages/feather/ext.pyx in feather.ext.FeatherWriter.write_ndarray (feather/ext.cpp:2742)()

//anaconda/lib/python3.5/site-packages/feather/ext.pyx in feather.ext.check_status (feather/ext.cpp:1546)()

FeatherError: Invalid: unsupported type 9

Blocked lz4 + shuffle compression using c-blosc

For compressed data storage we can create a tiny flatbuffers header for storing the compressed block sizes. The blocksize will be configurable (probably on the order of 1MB-10MB chunks will work pretty well)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.