lib/ramble/spack/cmd/create.py (55 lines): - line 45: # please first remove this boilerplate and all FIXME comments. - line 64: """FIXME: Put a proper description of your package here.""" - line 66: # FIXME: Add a proper url for your package's homepage here. - line 70: # FIXME: Add a list of GitHub accounts to - line 90: # FIXME: Add dependencies if required. - line 123: # FIXME: Unknown build system - line 143: # FIXME: Add arguments other than --prefix - line 144: # FIXME: If not needed delete this function - line 161: # FIXME: Add additional dependencies if required. - line 166: # FIXME: Modify the autoreconf method as necessary - line 170: # FIXME: Add arguments other than --prefix - line 171: # FIXME: If not needed delete this function - line 183: # FIXME: Add arguments other than - line 184: # FIXME: CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE - line 185: # FIXME: If not needed delete this function - line 197: # FIXME: Add arguments to `luarocks make` other than rockspec path - line 198: # FIXME: If not needed delete this function - line 218: # FIXME: If not needed delete this function - line 230: # FIXME: If not needed delete this function - line 242: # FIXME: If not needed delete this function - line 253: # FIXME: Add arguments to pass to build. - line 254: # FIXME: If not needed delete this function - line 265: # FIXME: Override configure_args(), build_args(), - line 273: # FIXME: Add additional dependencies if required. - line 278: # FIXME: Add logic to build and install here. - line 287: # FIXME: set the proper location from which to fetch your package - line 292: # FIXME: Add dependencies if required. Only add the racket dependency - line 298: # FIXME: specify the name of the package, - line 301: # FIXME: set to true if published on pkgs.racket-lang.org - line 303: # FIXME: specify path to the root directory of the - line 323: # FIXME: Only add the python/pip/wheel dependencies if you need specific versions - line 330: # FIXME: Add a build backend, usually defined in pyproject.toml. If no such file - line 336: # FIXME: Add additional dependencies if required. - line 341: # FIXME: Add options to pass to setup.py - line 342: # FIXME: If not needed, delete this function - line 347: # FIXME: Add options to pass to setup.py install - line 348: # FIXME: If not needed, delete this function - line 402: # FIXME: ensure the package is not available through PyPI. If it is, - line 414: # FIXME: Add dependencies if required. - line 419: # FIXME: Add arguments to pass to install via --configure-args - line 420: # FIXME: If not needed delete this function - line 460: # FIXME: Add dependencies if required: - line 465: # FIXME: Add non-standard arguments - line 466: # FIXME: If not needed delete this function - line 486: # FIXME: Add additional dependencies if required: - line 498: # FIXME: Add additional dependencies if required. - line 518: # FIXME: Add dependencies if required. Only add the ruby dependency - line 526: # FIXME: If not needed delete this function - line 547: # FIXME: Edit the Makefile if necessary - line 548: # FIXME: If not needed delete this function - line 559: # FIXME: Override `setup_environment` if necessary.""" - line 569: # FIXME: Add arguments other than --bindir and --destdir - line 570: # FIXME: If not needed delete this function - line 813: # FIXME: Add proper versions and checksums here. - line 818: # FIXME: Add proper versions here. lib/ramble/spack/spec.py (32 lines): - line 1404: # FIXME: - line 1504: # FIXME: In the case of multiple parents this property does not - line 1505: # FIXME: make sense. Should we revisit the semantics? - line 1528: TODO: revisit this -- might need to use a separate namespace and - line 1777: # TODO: currently we strip build dependencies by default. Rethink - line 2188: # FIXME: Monkey patches mvar to store patches order - line 2595: # TODO: may break if in-place on self but - line 2636: # TODO: could this and the stuff in _dup be cleaned up? - line 2654: # place. TODO: make this more efficient. - line 2728: # TODO: Refactor this into a common method to build external specs - line 2729: # TODO: or turn external_path into a lazy property - line 2741: # TODO: this needs rethinking, as currently we can only express - line 2742: # TODO: internal configuration conflicts within one package. - line 2765: # FIXME: _patches_in_order_of_appearance is attached after concretization - line 2766: # FIXME: to store the order of patches. - line 2767: # FIXME: Probably needs to be refactored in a cleaner way. - line 2835: # FIXME: Monkey patches mvar to store patches order - line 2902: # TODO: Consolidate this code with similar code in solve.py - line 3293: TODO: normalize should probably implement some form of cycle - line 3358: # FIXME: this function should be lazy, and collect all the errors - line 3359: # FIXME: before raising the exceptions, instead of being greedy and - line 3360: # FIXME: raise just the first one encountered - line 3471: # TODO: Check out the logic here - line 3530: # TODO: might want more detail than this, e.g. specific deps - line 3748: TODO: this only checks in the package; it doesn't resurrect old - line 3814: # FIXME: we manage _patches_in_order_of_appearance specially here - line 4357: TODO: allow, e.g., ``$6#`` to customize short hash length - line 4358: TODO: allow, e.g., ``$//`` for full hash. - line 4683: TODO: Extend this for non-concrete Specs. - line 4694: # TODO: sanity check and error raise here for other.name not in self - line 5193: # TODO: Remove parser dependency on active environment and database. - line 5510: # TODO: get rid of this and be more specific about particular incompatible lib/ramble/ramble/reports.py (15 lines): - line 312: # TODO: prep_draw method in subclass ScalingPlotGenerator, not this class - line 333: # TODO: the plot can get very compressed for log weak scaling plots - line 374: # FIXME: DRY THIS - line 428: # TODO: this needs to support a list for split_by - line 429: # TODO: this currently gets overwritten by series, below - line 433: # TODO: this would be nicer as a group by - line 442: # TODO: this needs to account for repeats in a more elegant way - line 648: # TODO: dry bar plot drawing - line 661: # TODO: this should leverage the available min/max to add candle sticks - line 675: # FIXME: Rotate to prevent long x-axis labels overlapping. This can make the chart - line 698: # FIXME: this has a hard time fitting well on screen - line 738: # TODO: remove pivot? - line 777: # TODO: add suffix 'higher/lower is better' to chart title based on better_direction - line 781: # TODO: prep_draw method in subclass ScalingPlotGenerator, not this class - line 815: # TODO: the plot can get very compressed for log weak scaling plots lib/ramble/spack/database.py (15 lines): - line 54: # TODO: Provide an API automatically retyring a build after detecting and - line 55: # TODO: clearing a failure. - line 644: # TODO: fix this before we support multiple install locations. - line 647: # TODO: move this to a top-level _meta section if we ever - line 648: # TODO: bump the DB version to 7 - line 774: # TODO: better version checking semantics. - line 819: # TODO: would a more immmutable spec implementation simplify - line 1181: # TODO: ensure that spec is concrete? - line 1207: # TODO: print something here? DB is corrupt, but - line 1386: # TODO: conditional way to do this instead of catching exceptions - line 1484: # TODO: Specs are a lot like queries. Should there be a - line 1485: # TODO: wildcard spec object, and should specs have attributes - line 1486: # TODO: like installed and known that can be queried? Or are - line 1487: # TODO: these really special cases that only belong here? - line 1491: # TODO: handling of hashes restriction is not particularly elegant. lib/ramble/spack/solver/asp.py (10 lines): - line 1256: # TODO: do this with consistent suffixes. - line 1289: # TODO: use better semantics. - line 1354: # TODO: Eventually distinguish 2 deps on the same pkg (build and link) - line 1484: # TODO: OS should really be more than just a label -- rework this. - line 1586: i = 0 # TODO compute per-target offset? - line 1979: # FIXME: is there a way not to special case 'dev_path' everywhere? - line 2036: # TODO: assertion to be removed when cross-compilation is handled correctly - line 2044: # TODO: This assumes that each solve unifies dependencies - line 2262: # TODO: update mirror configuration so it can indicate that the - line 2263: # TODO: source cache (or any mirror really) doesn't have binaries. lib/ramble/ramble/stage.py (9 lines): - line 54: # TODO: (dwjacobsen) Remove when owner_uid is removed below - line 103: # TODO: (dwjacobsen) Remove at some point - line 167: # TODO (dwj): If we want to support multiple mirrors, we'll need to - line 265: # TODO: fetch/stage coupling needs to be reworked -- the logic - line 266: # TODO: here is convoluted and not modular enough. - line 412: # TODO: move mirror logic out of here and clean it up! - line 413: # TODO: Or @alalazo may have some ideas about how to use a - line 414: # TODO: CompositeFetchStrategy here. - line 812: # TODO (dwj): Need to add checksums for inputs. lib/ramble/spack/stage.py (8 lines): - line 272: # TODO: fetch/stage coupling needs to be reworked -- the logic - line 273: # TODO: here is convoluted and not modular enough. - line 290: # TODO: This uses a protected member of tempfile, but seemed the only - line 291: # TODO: way to get a temporary name. It won't be the same as the - line 292: # TODO: temporary stage area in _stage_root. - line 422: # TODO: move mirror logic out of here and clean it up! - line 423: # TODO: Or @alalazo may have some ideas about how to use a - line 424: # TODO: CompositeFetchStrategy here. lib/ramble/ramble/uploader.py (7 lines): - line 24: # TODO: should the class store the base uri? - line 26: # TODO: move content checking to __init__ ? - line 67: # FIXME: this is no longer strictly needed since it is just a concat of known properties - line 86: # TODO: this might be better as a hash of something we intuitively - line 180: # TODO: what is the nice way to deal with the distinction between - line 198: # TODO: check on value to make sure it's a number - line 303: # TODO: Generating an id based on the max in use id is dangerous, and lib/ramble/spack/environment/shell.py (7 lines): - line 20: # TODO: figure out how to make color work for csh - line 41: # TODO: Color - line 43: # TODO: despacktivate - line 44: # TODO: prompt - line 78: # TODO: Color - line 80: # TODO: despacktivate - line 81: # TODO: prompt lib/ramble/spack/package.py (7 lines): - line 664: # FIXME: this is a bad object-oriented design, should be moved to Clang. - line 1120: # Construct a mirror path (TODO: get this out of package.py) - line 1346: # TODO: allow more than one active extendee. - line 1356: # TODO: do something sane here with more than one extendee - line 1370: # TODO: allow multiple extendees. - line 1694: # TODO: resources - line 2847: # TODO: this all eventually goes away lib/ramble/llnl/util/filesystem.py (6 lines): - line 288: # TODO: handle these cases one day? - line 843: # TODO: if caching big files becomes an issue, convert this to - line 844: # TODO: read in chunks. Currently it's used only for testing - line 845: # TODO: purposes. - line 1027: # TODO: for symlinks, os.path.isdir looks for the link target. If the - line 1211: # TODO: generate stages etc. with write permissions wherever lib/ramble/spack/provider_index.py (6 lines): - line 19: # TODO: this is pretty darned nasty, and inefficient, but there - line 20: # TODO: are not that many vdeps in most specs. - line 142: TODO: rename this. It is intended to keep things as broad - line 143: TODO: as possible without overly restricting results, so it is - line 144: TODO: not the best name. - line 179: # TODO: fix this comment. lib/ramble/spack/build_systems/intel.py (6 lines): - line 730: # TODO: When is 'libtbbmalloc' needed? - line 736: # TODO: clang(?) - line 757: # TODO: Confirm that this covers clang (needed on Linux only) - line 940: # TODO: Confirm - line 1051: # TODO: fix check above when compilers are dependencies - line 1080: # TODO: Why is setup_run_environment() lib/ramble/ramble/workspace/shell.py (6 lines): - line 22: # TODO: figure out how to make color work for csh - line 39: # TODO: Color - line 41: # TODO: prompt - line 72: # TODO: Color - line 74: # TODO: despacktivate - line 75: # TODO: prompt lib/ramble/spack/target.py (6 lines): - line 67: # TODO: In the future it would be convenient to say - line 68: # TODO: `spec.architecture.target < other.architecture.target` - line 69: # TODO: and change the semantic of the comparison operators - line 85: # TODO: From a dict we actually retrieve much more information than - line 86: # TODO: just the name. We can use that information to reconstruct an - line 87: # TODO: "old" micro-architecture or check the current definition. lib/ramble/spack/ci.py (5 lines): - line 148: osarch: Architecture TODO: (this is a spack.spec.ArchSpec, - line 536: # TODO: This will only find changed packages from the last - line 537: # TODO: commit. While this may work for single merge commits - line 538: # TODO: when merging the topic branch into the base, it will - line 539: # TODO: require more thought outside of that narrow case. lib/ramble/spack/bootstrap.py (5 lines): - line 334: # TODO: undo installations that didn't complete? - line 404: # TODO: remove when the old concretizer is deprecated - line 797: # TODO: patchelf is restricted to v0.13 since earlier versions have - line 798: # TODO: bugs that we don't to deal with, while v0.14 requires a C++17 - line 799: # TODO: which may not be available on all platforms. lib/ramble/spack/version.py (5 lines): - line 637: # TODO: See note in intersection() about < and in discrepancy. - line 645: # TODO: See note in intersection() about < and in discrepancy. - line 667: # TODO: does this make sense? - line 857: # TODO: make this faster. This is O(n^2). - line 1107: # TODO: we need to update the local tags if they changed on the lib/ramble/ramble/fetch_strategy.py (5 lines): - line 206: TODO: Remove this class by refactoring resource handling and the link - line 1488: TODO: make this return appropriate fetch strategies for other - line 1570: # TODO: refactor this logic into its own method or function - line 1571: # TODO: to avoid duplication - line 1701: # TODO: Don't catch BaseException here! Be more specific. lib/ramble/spack/cmd/modules/__init__.py (4 lines): - line 149: # FIXME : during module file creation nodes seem to be visited - line 150: # FIXME : multiple times even if cover='nodes' is given. This - line 151: # FIXME : work around permits to get a unique list of spec anyhow. - line 152: # FIXME : (same problem as in spack/modules.py) lib/ramble/ramble/util/file_cache.py (4 lines): - line 122: # TODO: this nested context manager adds a lot of complexity and - line 123: # TODO: is pretty hard to reason about in llnl.util.lock. At some - line 124: # TODO: point we should just replace it with functions and simplify - line 125: # TODO: the locking code. lib/ramble/spack/compilers/__init__.py (4 lines): - line 36: # TODO: Caches at module level make it difficult to mock configurations in - line 37: # TODO: unit tests. It might be worth reworking their implementation. - line 435: # TODO: Check if this exception handling makes sense, or if we - line 436: # TODO: need to change / refactor tests lib/ramble/spack/modules/common.py (4 lines): - line 143: # FIXME : during module file creation nodes seem to be visited multiple - line 144: # FIXME : times even if cover='nodes' is given. This work around permits - line 145: # FIXME : to get a unique list of spec anyhow. Do we miss a merge - line 146: # FIXME : step among nodes that refer to the same package? lib/ramble/spack/directives.py (4 lines): - line 356: # TODO: There could be a cache warming strategy that would allow us to - line 613: # TODO: we can consider treating 'default' differently from other - line 614: # TODO: attributes and let a packager decide whether to use the fluent - line 615: # TODO: interface or the directive argument lib/ramble/spack/audit.py (4 lines): - line 162: # TODO: For the generic check to be useful for end users, - line 163: # TODO: we need to implement hooks like described in - line 164: # TODO: https://github.com/spack/spack/pull/23053/files#r630265011 - line 371: # the platform, TODO change this back to add an error. lib/ramble/llnl/util/lang.py (4 lines): - line 772: # TODO: the implementation below doesn't account for the case where we - line 773: # TODO: have different base classes of ObjectWrapper, say A and B, and - line 774: # TODO: we want to wrap an instance of A with B. - line 957: TODO: replace with contextlib.nullcontext() if we ever require python 3.7. lib/ramble/spack/util/file_cache.py (4 lines): - line 127: # TODO: this nested context manager adds a lot of complexity and - line 128: # TODO: is pretty hard to reason about in llnl.util.lock. At some - line 129: # TODO: point we should just replace it with functions and simplify - line 130: # TODO: the locking code. lib/ramble/spack/repo.py (4 lines): - line 652: # TODO: patches can change under a package and we should handle - line 653: # TODO: it, but we currently punt. This should be refactored to - line 654: # TODO: check whether patches changed each time a package loads, - line 655: # TODO: tell the RepoIndex to reindex them. lib/ramble/spack/environment/environment.py (4 lines): - line 1295: # TODO: revisit this print as soon as darwin is parallel too - line 1366: # TODO: Redo name-based comparison for old style envs - line 1965: # TODO: rethink where this needs to happen along with - line 2304: # TODO: we don't handle `use_env_repo` here. lib/ramble/spack/build_environment.py (3 lines): - line 269: # TODO : add additional kwargs for better diagnostics, like requestor, - line 522: # TODO: make these build deps that can be installed if not found. - line 633: # TODO: Compiler arguments should not be hardcoded but provided by lib/ramble/spack/relocate.py (3 lines): - line 415: # TODO: revisit the use of --force-rpath as it might be conditional - line 416: # TODO: if we want to support setting RUNPATH from binary packages - line 645: # TODO: Can we deduce `rel` from the original RPATHs? lib/ramble/ramble/expander.py (3 lines): - line 773: # TODO: Remove when we drop support for 3.6 - line 944: # TODO: Remove `or` logic after 3.6 & 3.7 series python are unsupported - line 1020: # TODO: Remove after support for python 3.9 is dropped lib/ramble/spack/installer.py (3 lines): - line 541: # FIXME : this potentially catches too many things... - line 1608: # TODO: this should also be for the task.pkg, but we don't - line 1728: # TODO: sort out this and SpackError.print_context() lib/ramble/ramble/config.py (3 lines): - line 683: # TODO: Currently only handles maps. Think about lists if needed. - line 842: # TODO: do we need the configuration here from Spack? - line 1216: # TODO Ensure the correct scoping for different sections. lib/ramble/ramble/repository.py (3 lines): - line 894: # TODO: DWJ - Maybe we don't need this? Are we going to have virtual - line 1022: # TODO: DWJ - Do we need this? - line 1512: # TODO: since every Ramble object already has a containing directory, lib/ramble/spack/variant.py (3 lines): - line 814: # TODO: The factories below are used by package writers to set values of - line 815: # TODO: multi-valued variants. It could be worthwhile to gather them in - line 816: # TODO: a common namespace (like 'multi') in the future. lib/ramble/spack/fetch_strategy.py (3 lines): - line 203: TODO: Remove this class by refactoring resource handling and the link - line 1483: TODO: make this return appropriate fetch strategies for other - line 1706: # TODO: Don't catch BaseException here! Be more specific. lib/ramble/spack/cmd/info.py (3 lines): - line 278: # TODO Refactor START - line 284: # TODO: this all eventually goes away - line 290: # TODO Refactor END lib/ramble/spack/binary_distribution.py (3 lines): - line 84: TODO: What's the cost if, e.g., we realize in the middle of a spack - line 1173: # TODO: This seems to be an easy target for task - line 1174: # TODO: distribution using a parallel pool lib/ramble/spack/cmd/bootstrap.py (3 lines): - line 384: # TODO: Here we are adding gnuconfig manually, but this can be fixed - line 385: # TODO: as soon as we have an option to add to a mirror all the possible - line 386: # TODO: dependencies of a spec lib/ramble/spack/concretize.py (3 lines): - line 14: TODO: make this customizable and allow users to configure - line 184: TODO: In many cases we probably want to look for installed - line 357: # TODO: something better than picking first lib/ramble/spack/abi.py (2 lines): - line 97: # TODO: Can we move the specialized ABI matching stuff - line 98: # TODO: into compiler classes? lib/ramble/spack/patch.py (2 lines): - line 43: # TODO: Decouple Spack's patch support on Windows from Git - line 307: # TODO: handle this more gracefully. lib/ramble/spack/paths.py (2 lines): - line 65: # TODO: Deprecate these, as we want a read-only spack prefix by default. - line 66: # TODO: These should probably move to user cache, or some other location. lib/ramble/spack/build_systems/rocm.py (2 lines): - line 126: # TODO: add a bunch of lines like: - line 132: # TODO: add conflicts statements along the lines of lib/ramble/spack/cmd/ci.py (2 lines): - line 468: # TODO: when compilers are dependencies, we should include --no-add - line 472: # TODO: once we have the concrete spec registry, use the DAG hash lib/ramble/ramble/main.py (2 lines): - line 487: # TODO (dwj): Do we need this? - line 907: # TODO (dwj): Do we need this? lib/ramble/spack/cmd/gpg.py (2 lines): - line 165: # TODO: Support the package format Spack creates. - line 194: # TODO: Support the package format Spack creates. lib/ramble/spack/cmd/tags.py (2 lines): - line 95: # TODO: Remove the sorting once we're sure noone has an old - line 96: # TODO: tag cache since it can accumulate duplicates. lib/ramble/spack/detection/path.py (2 lines): - line 118: # TODO consolidate this with by_executable - line 257: # TODO: multiple instances of a package can live in the same lib/ramble/ramble/cmd/style.py (2 lines): - line 380: # TODO: DRY this duplication - line 398: # TODO: make these repeated blocks a function? lib/ramble/ramble/mirror.py (2 lines): - line 297: # TODO: Clean up this message... - line 298: # TODO: Add extension to input files... lib/ramble/spack/build_systems/cuda.py (2 lines): - line 32: # FIXME: keep cuda and cuda_arch separate to make usage easier until - line 189: # TODO: add missing conflicts for %apple-clang cuda@:10 lib/ramble/spack/util/path.py (1 line): - line 8: TODO: this is really part of spack.config. Consolidate it. lib/ramble/spack/build_systems/autotools.py (1 line): - line 136: # TODO: Expand this to select the 'config.sub'-compatible architecture lib/ramble/spack/build_systems/python.py (1 line): - line 44: # FIXME: technically wheel is only needed when building from source, not when lib/ramble/spack/cmd/activate.py (1 line): - line 52: # TODO: refactor FilesystemView.add_extension and use that here (so there lib/ramble/spack/config.py (1 line): - line 636: # TODO: Currently only handles maps. Think about lists if needed. lib/ramble/ramble/experiment_result.py (1 line): - line 42: # TODO: would be better to use dataclass after 3.6 support is dropped lib/ramble/spack/mirror.py (1 line): - line 252: # TODO: this isn't called anywhere lib/ramble/spack/schema/spec.py (1 line): - line 8: TODO: This needs to be updated? Especially the hashes under properties. var/ramble/repos/builtin/applications/hostname/application.py (1 line): - line 21: # TODO: Remove in the future. local should be replaced by serial in all cases. lib/ramble/spack/verify.py (1 line): - line 191: # TODO: make this stricter for non-linux systems that use symlink var/ramble/repos/builtin/modifiers/pyxis-enroot/modifier.py (1 line): - line 214: # TODO: Decide on backing up sqsh files. var/ramble/repos/builtin/modifiers/ethtool/modifier.py (1 line): - line 80: # TODO: extend to support multiple vNICs var/ramble/repos/builtin/package_managers/spack-lightweight/package_manager.py (1 line): - line 456: # TODO: Put spack packages based on their original namespaces lib/ramble/ramble/cmd/edit.py (1 line): - line 49: # TODO: Update this once a `ramble create` command exists lib/ramble/llnl/util/lock.py (1 line): - line 483: # TODO: we may need to return two values: whether we got lib/ramble/spack/util/pattern.py (1 line): - line 119: # FIXME : inherit from interface if we start to use ABC classes? lib/ramble/spack/cmd/buildcache.py (1 line): - line 498: # TODO: Remove after v0.18.0 release lib/ramble/ramble/util/imp/__init__.py (1 line): - line 22: # TODO: (dwjacobsen) This logic matches spack v0.16.0. lib/ramble/spack/filesystem_view.py (1 line): - line 80: # TODO: Not sure which one to use... var/ramble/repos/builtin/applications/intel-mpi-benchmarks/application.py (1 line): - line 131: # FIXME: should default just be denoted by the lib/ramble/spack/rewiring.py (1 line): - line 42: # TODO: May want to change this at least for the root spec... var/ramble/repos/builtin/package_managers/pip/package_manager.py (1 line): - line 257: # TODO: should this "parse" function have a unified interface? lib/ramble/spack/platforms/_platform.py (1 line): - line 77: # TODO: Check if we can avoid using strings here var/ramble/repos/builtin/modifiers/tunables/modifier.py (1 line): - line 30: # TODO: add a "write" mode to manage some of the tunables. var/ramble/repos/builtin/applications/iperf2/application.py (1 line): - line 102: # TODO: add success_criteria(.. lib/ramble/spack/cray_manifest.py (1 line): - line 96: # TODO: also ensure that the variant value is valid? lib/ramble/spack/cmd/common/arguments.py (1 line): - line 122: # TODO: merge constraint and installed_specs lib/ramble/spack/build_systems/lua.py (1 line): - line 41: # TODO: figure out how to scope this better lib/ramble/spack/platforms/darwin.py (1 line): - line 57: TODO: it may be necessary to add SYSTEM_VERSION_COMPAT for older share/ramble/setup-env.fish (1 line): - line 471: # -> TODO: This should throw and error but leave as is lib/ramble/spack/cmd/install.py (1 line): - line 280: # TODO: unify args.verbose? lib/ramble/spack/extensions.py (1 line): - line 23: # TODO: For consistency we should use spack.cmd.python_name(), but lib/ramble/spack/util/unparse/unparser.py (1 line): - line 14: # TODO: if we require Python 3.7, use its `nullcontext()` lib/ramble/ramble/util/path.py (1 line): - line 11: TODO: this is really part of ramble.config. Consolidate it. lib/ramble/spack/spec_list.py (1 line): - line 20: self._reference = reference # TODO: Do we need defensive copy here? lib/ramble/ramble/cmd/results.py (1 line): - line 110: # TODO: should this make it into the final cut? Only applies to multi line -- remove