You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The 26 .yml + 2 .py configs in the repo-root pipelines/ directory ship in no artifact — not the 1.5.0 wheel, not the sdist, not pip install git+…@<sha> (PEP 517 builds the wheel). MANIFEST.in alone would not fix it: it governs the sdist, and include-package-data reaches the wheel only for files inside a package — recursive-include docs … ships nothing, include moabb/datasets/summary_*.csv ships all five.
So pipelines="./pipelines/" resolves only from a checkout, and the documented route to the reference pipelines is the GitHub link in plot_benchmark.py.
Downstream. Four cases, none of which produced an issue about the shared cause:
facebookresearch/neuroai — cov_ts_lr.yaml:10 cites TSLR.yml, then diverges in three steps.
People who want the reference approximate it, and the result is plausible enough to publish.
In-repo. Nothing exercises these configs — CI uses the FakePipeline fixtures. from:/name: resolve at runtime, so an upstream rename goes undetected until a user hits it; #1123 renamed imports one layer beneath them. All 28 still resolve against current deps, but nothing asserts it.
Proposal
Ship the configs as moabb/pipelines/configs/ — MANIFEST.in plus an explicit [tool.setuptools.package-data] entry; no __init__.py, so packages.find still ignores it.
moabb.pipelines.get_benchmark_pipelines(paradigm=None, dir_name=None) — parse_pipelines_from_directory over that directory, returning the list-of-dicts benchmark() has accepted since Easier handling of pipelines for benchmark() #826. Mirrors moabb.datasets.base.get_summary_table.
benchmark(pipelines=None) and run.py --pipelines default to it, with a DeprecationWarning when ./pipelines/ exists and nothing was passed — rather than CWD-dependent resolution. Partly addresses Add moabb.run as installed script #175.
Move or mirror?git mv pipelines moabb/pipelines/configs is simpler and removes the CWD question in (3), but breaks external blob/develop/pipelines/<file> links. The alternative keeps pipelines/ canonical plus a synced copy, costing a pre-commit hook and an identity test. I lean move; your call.
The 26
.yml+ 2.pyconfigs in the repo-rootpipelines/directory ship in no artifact — not the 1.5.0 wheel, not the sdist, notpip install git+…@<sha>(PEP 517 builds the wheel).MANIFEST.inalone would not fix it: it governs the sdist, andinclude-package-datareaches the wheel only for files inside a package —recursive-include docs …ships nothing,include moabb/datasets/summary_*.csvships all five.So
pipelines="./pipelines/"resolves only from a checkout, and the documented route to the reference pipelines is the GitHub link inplot_benchmark.py.Downstream. Four cases, none of which produced an issue about the shared cause:
CSP+LDAmissed the published number; resolved with a link.CSP.ymlinto Python in a comment.pipelines="../pipelines", datasets skipped silently.cov_ts_lr.yaml:10citesTSLR.yml, then diverges in three steps.People who want the reference approximate it, and the result is plausible enough to publish.
In-repo. Nothing exercises these configs — CI uses the
FakePipelinefixtures.from:/name:resolve at runtime, so an upstream rename goes undetected until a user hits it; #1123 renamed imports one layer beneath them. All 28 still resolve against current deps, but nothing asserts it.Proposal
moabb/pipelines/configs/—MANIFEST.inplus an explicit[tool.setuptools.package-data]entry; no__init__.py, sopackages.findstill ignores it.moabb.pipelines.get_benchmark_pipelines(paradigm=None, dir_name=None)—parse_pipelines_from_directoryover that directory, returning the list-of-dictsbenchmark()has accepted since Easier handling of pipelines for benchmark() #826. Mirrorsmoabb.datasets.base.get_summary_table.benchmark(pipelines=None)andrun.py --pipelinesdefault to it, with aDeprecationWarningwhen./pipelines/exists and nothing was passed — rather than CWD-dependent resolution. Partly addresses Add moabb.run as installed script #175.parse_pipelines_from_directorygets a valid directory with zero configs; it currently returns[]silently, which is what Keras_DeepConvNet.yml and Keras_ShallowConvNet.yml pipelines skipping datasets silently #1072 hit. Its.pybranch also does an unguardedfoo.PIPELINE.In use:
Move or mirror?
git mv pipelines moabb/pipelines/configsis simpler and removes the CWD question in (3), but breaks externalblob/develop/pipelines/<file>links. The alternative keepspipelines/canonical plus a synced copy, costing a pre-commit hook and an identity test. I lean move; your call.Happy to implement.