Skip to content

Commit 495b311

Browse files
committed
update docs
1 parent 7665956 commit 495b311

File tree

8 files changed

+15546
-15349
lines changed

8 files changed

+15546
-15349
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
2323

2424
- Added additional cmake build options with corresponding make targets
2525

26-
- Added the `pktpy2` external, based on v2.0.5 of the [pocketpy](https://pocketpy.dev) python3.x interpreter, which aims to be an alternative to [Lua](https://lua.org) for game scripting. Development is ongoing.
26+
- Added the `pktpy2` external, based on `v2.0.5` of the [pocketpy](https://pocketpy.dev) python3.x interpreter, which aims to be an alternative to [Lua](https://lua.org) for game scripting. Development is ongoing.
2727

2828
- Added [Python3-Externals-for-Max-MSP.pdf](https://github.com/shakfu/py-js/tree/main/source/docs/_book/Python3-Externals-for-Max-MSP.pdf) pdf book to the repository.
2929

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2024 Shakeeb Alireza
1+
Copyright (c) 2025 Shakeeb Alireza
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy
44
of this software and associated documentation files (the "Software"), to deal

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Note: networking (zmq-based) externals are not enabled by default since they req
7272
[jmx]: https://github.com/shakfu/py-js/tree/main/source/projects/jmx
7373
[zthread]: https://github.com/shakfu/py-js/tree/main/source/projects/zthread
7474

75-
The common objective in these externals is to help use and distribute python code and libraries in Max applications. Many can be considered experimental, with 80% of development time going to the first two externals (`py` and `pyjs`). Please see below for an overview and feature comparison.
75+
The common objective in these externals is to help use and distribute python code and libraries in Max applications. Many can be considered experimental, with 80% of development time going to the first two externals (`py` and `pyjs`), with `py` receiving most of recent attention, especially with respect to its builtin `api` module which uses cython to wrap an incrementally growing subset of the Max c-api. Please see below for an overview and feature comparison.
7676

7777
At the time of this writing, and since the switch to [max-sdk-base](https://github.com/cycling74/max-sdk-base), the project has the following compatibility profile:
7878

@@ -193,7 +193,7 @@ Look at the `Makefile` and the root `CMakeLists.txt` for further specialized bui
193193

194194
After doing the above, the recommended iterative development workflow is to make changes to the source code in the respective project and then `cd py-js/build` and `cmake --build .`. This will cause cmake to only build modified projects efficiently.
195195

196-
Note that for some of the less developed externals and more experimental features please don't be surprised if Max seg-faults (especially if you start experimenting with the cython wrapped `api` module which operates on the c-level of the Max SDK).
196+
Note that for some of the less developed externals and more experimental features please don't be surprised if Max occassionaly segfaults (especially if you start experimenting with the the more experimental parts of the cython wrapped `api` module which operates on the c-level of the Max SDK).
197197
198198
Also note that for `py` and `pyjs` externals the `cmake` build method described does not yet create self-contained python externals which can be used in Max Packages and Standalones. The [Building self-contained Python3 Externals for Packages and Standalones](https://github.com/shakfu/py-js/tree/main/source/projects/py#building-self-contained-python3-externals-for-packages-and-standalones) section addresses this requirement.
199199

TODO.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# TODO
22

3-
- [ ] Create project-level userguide (in-progress in `pyjs/source/docs`)
3+
- [x] Create project-level userguide (in-progress in `pyjs/source/docs`)
44

55
- [ ] Move `builder` to `py-js/source/scripts/builder`
66

source/projects/py/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [0.3.x]
44

5+
- Added `__repr__` methods to all extension classes.
6+
7+
- Added `api.MaxObject` attr-related methods: `add_attribute`, `remove_attribute`, `set_attr_value`, `get_attr_value`
8+
59
- Added optional optimization/stripping configuration which can reduce external sizes by 14%
610

711
- Added many unimplemented methods to `api.Table`

source/projects/py/TODO.md

+5-12
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
## api
1818

19-
### Core
19+
### Wrapper Class Features
2020

21-
### Usability
21+
- [ ] add [buffer control](https://cython.readthedocs.io/en/latest/src/userguide/buffer.html) support to `api.Matrix` to facilitate reading and writing to matrices along the lines of what was done with the `api.Buffer` wrapper.
2222

2323
### Extensibility
2424

@@ -32,8 +32,6 @@
3232

3333
### Testing
3434

35-
- [ ] convert `py_coll_tester` into bpatcher that can be fed by `py_repl`
36-
3735
- [ ] list remaining tests to implement
3836

3937
- [ ] complete comprehensive test suite
@@ -59,25 +57,20 @@
5957
### Max API Wrapper
6058

6159
- [x] add more tests and examples
60+
- [ ] complete tests for remaining extension classes
6261

6362
### Build System
6463

6564
- [ ] Change python variant product names to include python version and architecture (and platform), for example: `shared-ext-3711-x86`
6665

67-
- [ ] Normalize tiny-variant names: so `shared-tiny-ext` becomes `shared-ext-tiny` and `static-tiny-ext` becomes `static-ext-tiny`.
68-
6966
- [ ] Each python or pyjs build variant such as `shared-pkg` or `shared-ext`, should produce a unique output, and there should be a dependency mgmt solution which includes a clear dep graph and hashing and caching to minimize unecessary builds and rebuilds
7067

71-
- [ ] Develop a configuration based api for `builder` which can consume yaml, json or a python api.
68+
- [ ] Develop a configuration based api for `builder` which can consume yaml, json or similar simple configuration.
7269

73-
- [ ] add NUMPY_INCLUDE var to all xcode projects
74-
75-
- [ ] add `-framework MaxAudioAPI -framework JitterAPI` to OTHER_LDFLAGS in all xcode projects.
70+
- [x] add NUMPY_INCLUDE var to all xcode projects
7671

7772
- [ ] `min-setup.local` patch system needs to be organized and automated and linked to modules so that options lead to proper removal of extensions and modules with clear dependencies.
7873

79-
- [ ] If a patch is not found, default to a standard working path or no patch at all
80-
8174
- [ ] Add warning for `shared-ext` being opened up one after the other, Max will crash because it caches the former.
8275

8376
### Future Experiments

0 commit comments

Comments
 (0)