comparison README.md @ 429:c8543d9a4bff draft default tip @

Empty the repository, leave a note about where development has been moved
author Mike Miller <mtmiller@octave.org>
date Fri, 25 Oct 2019 13:53:09 -0700
parents 14b134ffdc24
children
comparison
equal deleted inserted replaced
428:3af3665348a1 429:c8543d9a4bff
1 Octave Python Interface 1 Octave Python Interface
2 ======================= 2 =======================
3 3
4 This project is for development of a native Python calling interface for 4 Development on the Python language interface continues in the Pythonic package!
5 [GNU Octave](http://www.octave.org).
6 5
7 Goals 6 This repository has been converted and moved, the current development
8 ----- 7 repository can be found at https://gitlab.com/mtmiller/octave-pythonic
9 8
10 The goals of this extension include 9 * https://gitlab.com/mtmiller/octave-pythonic
11 10 * https://wiki.octave.org/Pythonic
12 * call any loadable Python modules, classes, and functions
13 * automatic translation of certain Octave data types into Python
14 arguments
15 * hold reference to and performing operations on any Python data type as
16 Octave variables
17 * automatic translation of certain Python data types into Octave return
18 values
19 * be as compatible as possible with Matlab's own Python calling
20 interface
21
22 Examples
23 --------
24
25 A few examples are listed here to give a brief introduction to how the
26 Python runtime is translated to Octave.
27
28 Add a directory to the Python module search path
29
30 py.sys.path.insert (int32 (0), "/path/to/module");
31
32 Use a vectorized NumPy function
33
34 x = py.numpy.sqrt (1:10);
35
36 Call a function with keyword arguments
37
38 a = py.int ("5ba0", pyargs ("base", int32 (16)));
39
40 Read an entire text file into a string
41
42 s = py.str ().join (py.open ("/etc/passwd").readlines ());
43
44 Installation
45 ------------
46
47 There is currently no support for installing this project as an Octave
48 package or in a system or user directory for regular use. This is
49 intentional, since the project is still being developed and is not
50 stable enough for actual use yet.
51
52 What is supported is building and running the project from the build
53 directory. Building requires Octave and Python development libraries and
54 GNU autotools.
55
56 1. `hg clone https://bitbucket.org/mtmiller/pytave`
57 2. `cd pytave`
58 3. `autoreconf -i`
59 4. `./configure`
60 5. `make`
61 6. Run Octave with the build directory added to the load path
62
63 Development
64 -----------
65
66 We welcome all contributors, bug reports, test results, and ideas for
67 improvement. Contributions in any of the following forms, in no
68 particular order, are needed and appreciated.
69
70 * Testing on different operating systems and in different environments
71 * Testing for full functionality with a variety of Python libraries
72 * Bug reports detailing problems encountered or unexpected behavior
73 * Code contributions
74 * Documentation in the form of examples, improvements to help texts, or
75 some sort of user manual
76
77 Other Resources
78 ---------------
79
80 Please discuss or ask questions about this project on the Octave
81 [maintainers mailing list](https://lists.gnu.org/mailman/listinfo/octave-maintainers).
82
83 The [wiki page](http://wiki.octave.org/Python_interface) contains more
84 examples and ideas about the project.