Skip to content

Todo list #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
44 of 54 tasks
cjdoris opened this issue Nov 8, 2020 · 0 comments
Closed
44 of 54 tasks

Todo list #1

cjdoris opened this issue Nov 8, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@cjdoris
Copy link
Collaborator

cjdoris commented Nov 8, 2020

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.
@cjdoris cjdoris self-assigned this Nov 8, 2020
@cjdoris cjdoris added the enhancement New feature or request label Nov 8, 2020
@cjdoris cjdoris closed this as completed Sep 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant