Skip to content

Commit 0774c02

Browse files
committed
doc(CHANGES) mv TODOs --> wiki
1 parent b8b5eff commit 0774c02

File tree

1 file changed

+1
-187
lines changed

1 file changed

+1
-187
lines changed

CHANGES.rst

Lines changed: 1 addition & 187 deletions
Original file line numberDiff line numberDiff line change
@@ -14,193 +14,7 @@ Graphtik Changelog
1414

1515
TODOs
1616
%%%%%
17-
18-
- [+] ENH: planning reports unsatisfied node modus, for plotting
19-
- [+] ENH: Plan accepts previous solutions
20-
21-
- [+] fix: FnOp.compute() should (or should not?) accept Pipeline.compute() args.
22-
- [+] FEAT: ``compute(solution, recompute_from=["input_1"])``
23-
- [ ] **+++REFACT: Merge Config+Operation+Authographed to simplify them**
24-
25-
Configs
26-
=======
27-
28-
- [ ] FEAT: drop MANY contextvars with 1 cfg-dict in contextvars?
29-
- [ ] FEAT: drop contextvars, use merging-dicts on (cfg, pipe, op) instead?
30-
BUT then cannot change configs amidst run, unless next todo ...
31-
- [ ] FEAT: configs & op attributes accept 2-tuples: (flag, priority)
32-
default priorities: cfg, fnop
33-
(+cat: Compose)
34-
- [ ] FEAT: Config DEBUG flags:
35-
36-
- [ ] skip - evictions(drop config)
37-
- [ ] keep SFX in outputs
38-
39-
Compose
40-
=======
41-
42-
- [+] ++refact: change :term:`accessor` diacritic `` from ``$`` to @``.
43-
- [+] +++feat: add a real ``implicit`` modifier.
44-
- [+] ++feat: ``^`` diacritic for implicits
45-
- [-] ++refact: change keyword diacritic to ``**``.
46-
- NO, ``dep>kword`` is better.
47-
- [+] refact: rename modifier sfx --> token
48-
- [+] refact: introduce diacritic for sfx ``$`` (vs ``sfx()``).
49-
- [ ] refact: change (or separate) jsonp diacritic (from accessor) to ``/`` (``@``)?
50-
- [?] REFACT: separate op-decorator from factory (to facilitate defining conveyor operations).
51-
- [?] `cwd()` modifier:
52-
Isn't already working with relative jsonps?
53-
54-
- `implicit` with only the 2nd arg should work on cwd, no?
55-
56-
- [ ] :func:`.get_accessor()` should return a partial on the dependency.
57-
- [ ] ++FEAT: Teach pipelines how to accept positional arguments with a tuple with their names
58-
- [ ] ++FEAT: +1 merge method for pipelines: nest=False: treat Pipelines as Operations
59-
(need pipeline feat for positional-args, above).
60-
- [ ] enh(modifier): augment :func:`keyword` to hold an "informative" value
61-
read from the function-default.
62-
- [ ] break/enh(modifier): augment modifier table with ``implicits`` for REPR.
63-
- [ ] BREAK(modif): "stuffy" names for ``is_xxx(modifier)`` funcs returning stuff.
64-
- [ ] modifier || jsonp --> pandalone.pstep (flexible syntax for a modifier on each step)
65-
66-
Autograph
67-
---------
68-
69-
- [ ] +++FEAT: Autograph functions by type-annotations
70-
(PY39 :pep:`593` e.g. ``Annotated[int, CWD]``)
71-
- [ ] ++feat: populate :func:`keyword` "informative" value from inspect-signature.
72-
(see also keyword-"informative" value, above)
73-
74-
75-
Planning
76-
========
77-
78-
- [ ] FEAT: break cycles with dijkstra; +weights?
79-
- [ ] ++ENH: link graph inputs/outputs to virtual root-nodes, to replace custom visiting algos
80-
(eg unsatisfied-ops, prune-by-outs)
81-
- [ ] FEAT: per-operation EVICTs
82-
(+cat: Compose)
83-
- [ ] ++DROP PARALLEL: always produce a list of "parallelizable batches",
84-
to hook with other executors, and keep here just the single-process implementation.
85-
(+cat: Execution)
86-
- [ ] +++FEAT: Identify any jsonp-needs already in the given-inputs as sub-docs.
87-
88-
Execute
89-
=======
90-
91-
- [+] FEAT: +2 callbacks before marshalling: (pre_batch, post_batch) (olds: pre_op, post_op).
92-
93-
- PARTIAL: moved existing x2 callbacks to be called before marshalling.
94-
95-
- [?] refact: named_inputs --> sol
96-
- [ ] ++ENH/REFACT: use Signature.Param from `inspect` module to match needs & zip provides
97-
and support already there ``...``.
98-
- [ ] Solution-retriever modifier `opcb()`;
99-
100-
- WONTFIX: easier and more generic to access solution from Op-context.
101-
- REINSTATED: bc it's simpler and does not have any threading issues....
102-
103-
- [ ] ++FEAT(fnop): vararg(s) for Outs collect all outs to the very end
104-
- [ ] BREAK/FEAT: allow marking SFX-LIST items:
105-
106-
1. Implicits (default), to be checked/resolved downstream (see "FEAT: +2 callbacks"), or
107-
2. Sfx (pure), as they are now).
108-
109-
- [ ] +++BREAK/DROP accessors for `jsonp` (move all functionality in solution)
110-
111-
- REJECTED already used for hcat()/vcat()
112-
- REINSTATED as "ACCESSOR per jsonp-PART"! (h/vcat should have been like that)
113-
by default applied to the last part (or use ``[acc, ...]`` syntax for specific parts)
114-
115-
- [ ] RENAME ``Solution --> DataTree``
116-
- [ ] move dep_prefixed() as a top-level `modifier` utility (to prefix also Accessors)
117-
- [ ] revive "stable sort paths" branch on solution updates
118-
- [ ] hdf/vdf accessor example-utilities for typical level-0 resolving multi-indexed slices.
119-
- [ ] Drop int/attribute indexers from resolve-jsonp, accessors-per-part can do that.
120-
- [ ] Interoperate with *Dask,* *Vaex,* *Modin* etc
121-
(see https://12ft.io/proxy?&q=https%3A%2F%2Ftowardsdatascience.com%2F4-libraries-that-can-parallelize-the-existing-pandas-ecosystem-f46e5a257809)
122-
- [ ] replace in-house `jetsam` with :pep:`678` for exception notes on PY3.11+.
123-
124-
Solution
125-
--------
126-
127-
- [+] DROP/ENH: Solution updates GivenInputs only, yet still layers jsonp-refer to its values.
128-
- [+] FEAT: ``pd.concat()`` --> modifier+accessor, to avoid sfxed for multi-column updates.
129-
- [+] FEAT: + `post_callback` with `pre_callback` --> `callbacks` tuple
130-
(+cat: Compose)
131-
132-
- [+] ENH(jsonp): mass-concat (not one-by-one).
133-
- [+] ENH: validate Implicits indeed added (in `post_op_callback`)?
134-
- [ ] FEAT: VALIDATE (by user) items on Solution-Insert (with a `post_callback`?):
135-
- auto-assertions ``{jsonp--> validators}``
136-
- compare overwrites while recomputing
137-
- check implicits exist (??not done above??)
138-
139-
Plotting
140-
========
141-
142-
- [+] Badges on Data
143-
- [ ] generate legend dynamically
144-
- [ ] Draw nested graphs as such (hiding internal nodes)
145-
- [ ] SPHINXEXT: autodoc Pipelines & Ops
146-
- [ ] sphinxext: extend standard ``doctest`` or *doctest* module (instead of sphinx-builder)
147-
- [ ] FEAT/REFACT: dogfood when constructing graphviz graphs.
148-
- [ ] FEAT: add another `dagviz <https://wimyedema.medium.com/drawing-dags-5cadcb452115>`_
149-
plot-backend.
150-
151-
Docs
152-
====
153-
154-
- [ ] REFACT: move GitHub organization `pygraphkit --> pygraphtik` (+Travis, +RTD)
155-
- [ ] Merge tutorial (operations + composition)
156-
- [ ] +++DOC: explain Implicits in tutorial; mention ovunque.
157-
158-
- [ ] TCs: Test DEBUG
159-
160-
161-
DROPPED
162-
=======
163-
164-
- [X] `solution.executed` pre-populated with all operations
165-
- [X] parallel batches restart from last position in steps
166-
- [X] covert custom op classes & modifiers directly into mergeable networkx graphs;
167-
168-
- WONTFIX bc foreign function would not work with merged deps.
169-
170-
- [X] conditionals
171-
172-
- WONTFIX bc it permits pipelines with too complex execution flow to debug.
173-
174-
- [X] DROP accessors:
175-
176-
- REJECTED already used for hcat()/vcat() (but to be dropped for jsnop).
177-
178-
v9.0.0
179-
------
180-
181-
- [X] Accept jsonp inputs & outputs,
182-
183-
- WONTFIX user's business to expand into given Inputs, Outputs already working.
184-
185-
- [X] REVERT rename subdocs;
186-
187-
- WONTFIX bc eventually made it work correctly and added TC.
188-
189-
- [X] REFACT: separate op-decorator from factory
190-
(to facilitate defining conveyor operations):
191-
192-
- NO, simplify passing fn=None.
193-
194-
- [X] Nest-rename subdocs: not by default, possible by renamer/nester.
195-
- [X] accessors accept default (not to search x2 contain+get_path)
196-
197-
- WONTFIX bc not worth it.
198-
199-
- [X] Simplify Task-context by injecting it in a parametric argument of `fn`.
200-
201-
- NO, `opcb` modifier works without `inspect` module.
202-
203-
- See :gg:`1`.
17+
:TODOs in the wiki: `the wiki <https://github.com/pygraphkit/graphtik/wiki/TODOs>`_.
20418

20519

20620
Changelog

0 commit comments

Comments
 (0)