Skip to content

Todo list #1

Closed
Closed
@cjdoris

Description

@cjdoris

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.
  • PyPandasDataFrame
    • Tables interface
    • TableTraits interface
    • Customise column types and index
    • Convert pandas.core.indexes.range.RangeIndex to a StepRange{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 of CPyPtr, used by default as output of pyjulia(::AbstractArray).__array__().

pyjulia

  • Sequence interface (tuples and vectors)
  • Buffer protocol (strided arrays)
  • Numpy array protocol (__array_interface__)
  • Numpy array conversion (__array__) returning PyObjectArray 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 from pyjl
  • Have a BufferedIterator which iterates over 1024 (say) values at a time and saves them as a buffer of PyObject.

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 calling pyeval and pyexec 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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions