Closed
Description
Py<Wrapper>
-
PyIterable
-
PyList
-
PyDict
-
PySet
-
PyBuffer
- General parsing of format strings.
- Unaligned types.
- Byte-reversed types.
-
PyArray
- Support the numpy array interface (
__array__
,__array_interface__
). - Allow conversion to/from tuples containing python objects.
- Support the numpy array interface (
-
PyPandasDataFrame
- Tables interface
- TableTraits interface
- Customise column types and index
- Convert
pandas.core.indexes.range.RangeIndex
to aStepRange{Int}
?
-
PyIO
- Currently limited to byte-based IO and extremely slow. Perhaps need to manually buffer each way?
-
PyObjectArray <: AbstractArray{PyObject}
, represented as an array ofCPyPtr
, used by default as output ofpyjulia(::AbstractArray).__array__()
.
pyjulia
- Sequence interface (tuples and vectors)
- Buffer protocol (strided arrays)
- Numpy array protocol (
__array_interface__
) - Numpy array conversion (
__array__
) returningPyObjectArray
by default unless__array_interface__
already supported. - Generalize
pytypestrformat
to work on any type. - Mapping interface (dicts, named tuples?)
- Set interface (sets)
- Number interface
- IO interface (IO=IOBase, then subclasses for raw, buffered and text IO)
- An argument parsing function or macro
- Separate
pyjlraw
frompyjl
- Have a
BufferedIterator
which iterates over 1024 (say) values at a time and saves them as a buffer ofPyObject
.
pyconvert
- dates, times
- ctypes
- to named tuple
- arrays (buffer protocol, array interface, and
__array__
) - IO
- numbers
- numpy scalars (
np.float32
etc)
Others
- README
- Documentation
- Logo
- Testing & CI
- Migrate CI away from Travis. GitHub Actions?
- Move configuration (finding libpython) all to run-time & dynamically load/cache function pointers as required.
- Multimedia display (MIMEs and corresponding
_repr_MIME_
methods from ipython) - Hook into Julia documentation system
-
QT_PLUGIN_PATH
hack - GUI event loops to support interactive plotting (e.g. with matplotlib)
-
@pyeval
,@pyexec
,py"..."
for callingpyeval
andpyexec
with Julia value interpolation -
?some_python_function
should show the function name and signature - Add GIL manipulation functions (
pygiloff
,pygilon
, etc) - When running inside an IPython kernel, change the default output display to go the kernel
- When running inside an IJulia kernel, change
sys.stdout
to go the the kernel - When running inside an IPython or IJulia kernel, start up the other kind of kernel and link them together.