Octave-Forge
Octave-Forge (http://octave.sf.net) is a community project for collaborative development of GNU Octave extensions. If you have a large package that you want to open up to collaborative development, or a couple of m-files that you want to contribute to an existing package, Octave-Forge is the place to do it. Tiny helper functions (the equivalent of e.g., shell aliases) should go in the Tips and tricks page.
GNU Octave also needs the equivalent of CPAN so that packages such as epstk which have been developed elsewhere can be archived. Agora Octave is a fledgeling proposal to do that (talk to JordiGH about it). Before that is possible we need a packaging system which works for both Octave and Matlab (and maybe Scilab if you are feeling ambitious) without too much work on the either the developers or the users end, even for users working in a tool desert such as Windows. Feel free to expand on the definition of such a system on this page.
Installing packages
You can find the list of packages on the Octave-Forge website. The recommended method for package installation is using your system package manager. See also the FAQ for the most common issues.
If for some reason you need to install a package from the Octave Forge, simply type at the Octave prompt pkg install -forge package_name
. If your Octave version is too old (before 3.4.0), you'll have to download the package file manually, and use pkg install package_file_name.tar.gz
.
Contributing via the Agora website
This is work in progress.
You can upload your code to Agora. The code is classified according the following criteria.
- Single file
- The file is full responsibility of the uploader.
- Octave and Agora do not check or support this submissions.
- Bundle of files
- The file(s) is(are) full responsibility of the uploader.
- The bundle passes a structure check to see if it is compatible with the builtin Octave installer. This doesn't mean the bundle with install flawlessly.
- Octave and Agora do not check or support this submissions.
- Forge
- The file(s) is(are) responsibility of its maintainer and the Agora maintainers community.
- This package will install using the builtin Octave installer.
The Forge packages have must comply with
- At least one package maintainer.
- Must install and work with the latest Octave release.
- The must be released under a GPL compatible license.
- All functions (except private ones) must be documented using Texinfo.
- The package must have all the required files.
- If the package has a doc folder it should be written in Texinfo.
These packages are also recommended to comply with
- No shadowing of Octave core functions.
- No direct inclusion of external dependencies.
Suggested new features
- Install directory
- Install from URL
- Build HTML / PDF docs
GNU Octave 4.0 compatibility assessment
The 4.0 release shall contain preinstalled packages in the official Microsoft Windows build (mxe-octave). Therefore, the available Octave Forge packages have been tested for compatibility with both, Octave 4.0 and Microsoft Windows.
If you are a package user or maintainer, please update the status.
Package | Version | State | Installable (Win7) | Included in installer | Test results (Win7 64bit, Octave 4.0rc3 Logs) | Test results (Win7 32bit, Octave 4.0rc2) | Public m-files | Comments (known bugs/patches) | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pass | Fail | XFail | Pass | Fail | XFail | w/o tests | total | ||||||
bim | 1.1.5 | ok | ✓ | 92 | 0 | 0 | 15 | 47 | |||||
cgi | 0.1.0 | unknown | ✓ | 0 | 0 | 0 | 6 | 6 | |||||
communications | 1.2.1 | ok | ✓ | ✓ | 457 | 0 | 0 | 19 | 115 | ||||
control | 2.8.1 | ok | ✓ | ✓ | 330 | 0 | 0 | 317 | 13 | 0 | 229 | 287 | some tests fail when using OpenBLAS (default BLAS lib) |
data-smoothing | 1.3.0 | unknown | ✓ | ✓ | 0 | 0 | 0 | 4 | 4 | ||||
database | 2.3.2 | unknown | ✓ | ✓ | 0 | 1 | 0 | 5 | 6 | %!test should be %!xtest, test fails as no postgres server to connect to | |||
dataframe | 1.1.0 | broken | ✓ | ✓ | 3 | 9 | 0 | 101 | 101 | errors in provate function - see task #12561, patched in mxe. | |||
dicom | 0.1.1 | broken | — | ✓ | ✓ | Bug #44624, patched in mxe | |||||||
divand | 1.1.2 | unknown | ✓ | 1 | 0 | 0 | 115 | 116 | |||||
econometrics | 1.1.1 | unknown | ✓ | 0 | 0 | 0 | 28 | 28 | |||||
fem-fenics | 0.0.3 | can't bundle with mxe-octave | — | Missing eigen3 lib in mxe-octave | |||||||||
financial | 0.4.0 | broken | ✓ | ✓ | 158 | 9 | 0 | 23 | 57 | Several deprecation warnings during install, bug 44851, patched in mxe. | |||
fits | 1.0.5 | unknown | ✓ | ✓ | 0 | 0 | 0 | 0 | 0 | ||||
fl-core | 1.0.0 | broken | — | Bug #41214 | |||||||||
fpl | 1.3.4 | unknown | ✓ | 0 | 5 | 0 | 10 | 10 | deprecated tests? | ||||
fuzzy-logic-toolkit | 0.4.5 | unknown | ✓ | ✓ | 0 | 0 | 0 | 50 | 50 | Several deprecation warnings during install | |||
ga | 0.10.0 | ok | ✓ | ✓ | 79 | 0 | 0 | 16 | 22 | Several deprecation warnings during install | |||
general | 1.3.4 | deprecated | ✓ | ✓ | 25 | 0 | 1 | 24 | 28 | shadows newer functions in 4.0 | |||
generate_html | 0.1.8 | unknown | ✓ | ✓ | 0 | 0 | 0 | 8 | 8 | ||||
geometry | 2.0.0 | unknown | ✓ | ✓ | 282 | 3 | 0 | 188 | 233 | %!test should be %!xtest, missing python in mxe-octave, warning on printf args - warn on cant cleanup after self | |||
image | 2.4.0 | ok | ✓ | ✓ | 632 | 4 | 21 | 632 | 5 | 20 | 54 | 137 | |
image-acquisition | 0.2.1 | can't bundle with mxe-octave | — | Missing v4l in mxe-octave | |||||||||
instrument-control | 0.2.1 | unknown | ✓ | ✓ | 0 | 0 | 0 | 27 | 27 | currently uses only tcp and serial in mxe-octave | |||
interval | 0.2.0 | ok | ✓ | 9626 | 0 | 24 | 0 | 260 | XFails are caused by bug #44334 | ||||
io | 2.2.7 | ok for 32-bit Octave | ✓ | ✓ | 11 | 0 | 0 | 30 | 32 | Has dedicated test scripts for spreadsheet I/O as those functions depend on external SW. Some binary functions broken in 64-bit Octave (bug #44662) | |||
java | deprecated | part of core now | |||||||||||
level-set | 0.2.0 | ok | ✓ | 197 | 7 | 0 | 198 | 6 | 0 | 2 | 31 | Tests seem to be deprecated | |
linear-algebra | 2.2.2 | unknown | ✓ | ✓ | 20 | 0 | 0 | 57 | 69 | warnings on abstract class types | |||
lssa | 0.1.2 | ok | ✓ | ✓ | 16 | 0 | 0 | 0 | 7 | ||||
ltfat | 2.1.0 | broken | — | ✓ | 0 | 0 | 0 | 534 | 534 | ||||
mechanics | 1.3.1 | broken | — | Bug #44804 | |||||||||
miscellaneous | 1.2.1 | broken | ✓ | ✓ | 384 | 9 | 0 | 16 | 30 | errors in private functions - see task #12561 | |||
mpi | 1.2.0 | can't bundle with mxe-octave | — | Missing mpi lib in mxe-octave | |||||||||
msh | 1.0.10 | ok | ✓ | 28 | 1 | 0 | 9 | 21 | Tests seem to be deprecated and don't cleanup temporary files (circle.geo) | ||||
mvn | 1.1.0 | unknown | ✓ | 1 | 0 | 0 | 18 | 19 | |||||
nan | 2.7.4 | broken | - | 65 | 81 | Bug #44859. Version 2.7.1 would install. | |||||||
ncarray | 1.0.3 | unknown | ✓ | 0 | 0 | 0 | 45 | 45 | |||||
netcdf | 1.0.6 | unknown | ✓ | ✓ | 0 | 0 | 0 | 10 | 10 | ||||
nurbs | 1.3.9 | broken | — | ✓ | 24 | 52 | 0 | 41 | 67 | Bug #44651, patched in mxe | |||
ocs | 0.1.3 | unknown | ✓ | 0 | 0 | 0 | 22 | 22 | |||||
octcdf | 1.1.8 | ok | ✓ | ✓ | 23 | 0 | 0 | 30 | 31 | ||||
octclip | 1.0.3 | ok | ✓ | 5 | 0 | 0 | 0 | 1 | printf format warnings | ||||
octproj | 1.1.2 | can't bundle with mxe-octave | — | Missing libproj in mxe-octave | |||||||||
odepkg | 0.8.5 | ok | ✓ | ✓ | 404 | 0 | 0 | 20 | 36 | ||||
optics | 0.1.1 | ok | ✓ | 166 | 2 | 0 | 163 | 3 | 0 | 0 | 43 | %!test should be %!error | |
optim | 1.4.1 | unknown | ✓ | ✓ | 16 | 0 | 0 | 49 | 54 | ||||
optiminterp | 0.3.4 | unknown | ✓ | 0 | 0 | 0 | 9 | 9 | |||||
parallel | 2.2.1 | broken | — | Bug #41148 | |||||||||
quaternion | 2.4.0 | unknown | ✓ | ✓ | 23 | 0 | 0 | 60 | 76 | ||||
queueing | 1.2.3 | broken | ✓ | ✓ | 263 | 2 | 3 | 261 | 4 | 3 | 23 | 101 | 2 failed tests are private function tests |
secs1d | 0.0.9 | unknown | ✓ | 0 | 0 | 0 | 5 | 5 | |||||
secs2d | 0.0.8 | broken | — | Bug #44803 | |||||||||
secs3d | 0.0.1 | unknown | ✓ | 0 | 0 | 0 | 39 | 39 | |||||
signal | 1.3.1 | ok | ✓ | ✓ | 472 | 0 | 0 | 78 | 146 | Tests may fail if affected by bug #44814 | |||
sockets | 1.2.0 | ok | ✓ | ✓ | 0 | 0 | 0 | 0 | 0 | has been tested manually | |||
specfun | 1.1.0 | deprecated | ✓ | ✓ | 6 | 0 | 0 | 17 | 19 | shadows newer functions in 4.0 - bug #44533 | |||
splines | 1.2.8 | ok | ✓ | ✓ | 75 | 0 | 0 | 5 | 12 | ||||
statistics | 1.2.4 | broken | ✓ | ✓ | 219 | 25 | 0 | 52 | 117 | Tests don't cleanup temporary files, errors reported on bug #44863 | |||
stk | 2.2.1 | ok | ✓ | ✓ | 881 | 0 | 0 | 81 | 220 | ||||
strings | 1.1.0 | broken | — | ✓ | 12 | 0 | 0 | 2 | 5 | Tested when patched by Bug #44640, patched in mxe | |||
struct | 1.0.11 | ok | ✓ | ✓ | 9 | 0 | 1 | 0 | 3 | ||||
symbolic | 2.1.0 | can't bundle with mxe-octave | ✓ | Untestable without python + sympy | |||||||||
tsa | 4.2.9 | unknown | ✓ | ✓ | 17 | 0 | 0 | 50 | 55 | ||||
vrml | 1.0.13 | unknown | ✓ | 0 | 0 | 0 | 44 | 44 | deprecation warnings during install. dev sources warnings appear fixed. | ||||
windows | 1.2.1 | broken | — | ✓ | 0 | 0 | 0 | 5 | 5 | Bug #44180 - patched in mxe. Crashes in windows octave 64. |