File: README.md

package info (click to toggle)
python-feather-format 0.3.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 892 kB
  • sloc: cpp: 4,558; python: 495; makefile: 8
file content (79 lines) | stat: -rw-r--r-- 1,913 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
## Python interface to the Apache Arrow-based Feather File Format

Feather efficiently stores pandas DataFrame objects on disk.

## Installing

```shell
pip install feather-format
```

From [conda-forge][1]:

```shell
conda install feather-format -c conda-forge
```

#### Mac notes

Anaconda uses a default 10.5 deployment target which does not have C++11
properly available. This can be fixed by setting:

```
export MACOSX_DEPLOYMENT_TARGET=10.9
```

Deployments targets as early as 10.7 can be used if the compiler supports
C++11 and the correct mode is selected. For example using the following:

```
export MACOSX_DEPLOYMENT_TARGET=10.7
export CFLAGS="${CXXFLAGS} -stdlib=libc++ -std=c++11"
export CXXFLAGS="${CXXFLAGS} -stdlib=libc++ -std=c++11"
```

This may be necessary in some other OS X environments.

## Build

Building Feather requires a C++11 compiler. We've simplified the PyPI packaging
to include libfeather (the C++ core library) to be built statically as part of
the Python extension build, but this may change in the future.

### Static builds for easier packaging

At the moment, the libfeather sources are being built and linked with the
Cython extension, rather than building the `libfeather` shared library and
linking to that.

While we continue to do this, building from source requires you to symlink (or
copy) the C++ sources. See:

```shell
# Symlink the C++ library for the static build
ln -s ../cpp/src src
python setup.py build

# To install it locally
python setup.py install

# Source distribution
python setup.py sdist
```

To change this and instead link to an installed `libfeather.so`, look in
`setup.py` and make the following change:

```python
FEATHER_STATIC_BUILD = False
```

## Limitations

Some features of pandas are not supported in Feather:

* Non-string column names
* Row indexes
* Object-type columns with non-homogeneous data

[1]: https://conda-forge.github.io