Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

moved _parse_species_list function to tardis.io.util.py #2837

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

rudrakshnalbalwar
Copy link

@rudrakshnalbalwar rudrakshnalbalwar commented Oct 2, 2024

📝 Description

Type: 🎢 infrastructure

Relocated species list parsing logic from liv_plot.py to util.py to improve file organization and maintainability. No changes to functionality were made; the parsing logic remains the same but is now centralized in a more appropriate file.

📌 Resources

image

🚦 Testing

How did you test these changes?

  • Testing pipeline
  • Other method (describe)
  • My changes can't be tested (explain why)

☑️ Checklist

  • I requested two reviewers for this pull request
  • I updated the documentation according to my changes
  • I built the documentation by applying the build_docs label

Note: If you are not allowed to perform any of these actions, ping (@) a contributor.

@tardis-bot
Copy link
Contributor

tardis-bot commented Oct 2, 2024

*beep* *bop*
Hi human,
I ran ruff on the latest commit (a265f30).
Here are the outputs produced.
Results can also be downloaded as artifacts here.
Summarised output:

40	W293  	[*] Blank line contains whitespace
25	W291  	[*] Trailing whitespace
22	F401  	[*] `astropy.units` imported but unused
19	G004  	[ ] Logging statement uses f-string
18	UP008 	[*] Use `super()` instead of `super(__class__, self)`
17	I001  	[*] Import block is un-sorted or un-formatted
12	RET505	[ ] Unnecessary `elif` after `return` statement
12	E999  	[ ] SyntaxError: Expected a statement
8	E402  	[ ] Module level import not at top of cell
8	D202  	[*] No blank lines allowed after function docstring (found 1)
8	F405  	[ ] `HiddenPlasmaProperty` may be undefined, or defined from star imports
7	RET506	[ ] Unnecessary `elif` after `raise` statement
6	UP015 	[*] Unnecessary open mode parameters
6	UP032 	[*] Use f-string instead of `format` call
5	E722  	[ ] Do not use bare `except`
4	E712  	[*] Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
3	F811  	[*] Redefinition of unused `npt` from line 2
2	C416  	[*] Unnecessary `list` comprehension (rewrite using `list()`)
2	ISC003	[ ] Explicitly concatenated string should be implicitly concatenated
2	FLY002	[*] Consider `f"{hash_string}_{nlte_prop}"` instead of string join
2	E902  	[ ] No such file or directory (os error 2)
2	F403  	[ ] `from tardis.plasma.properties.base import *` used; unable to detect undefined names
2	F821  	[ ] Undefined name `atomic_number2element_symbol`
1	S605  	[ ] Starting a process with a shell: seems safe, but may be changed in the future; consider rewriting without `shell`
1	G001  	[ ] Logging statement uses `str.format`
1	PIE808	[*] Unnecessary `start` argument in `range`
1	N812  	[ ] Lowercase `__path__` imported as non-lowercase `TARDIS_PATH`
1	E701  	[ ] Multiple statements on one line (colon)
1	W292  	[*] No newline at end of file
1	PGH004	[ ] Use specific rule codes when using `noqa`
1	UP004 	[*] Class `NLTEExcitationData` inherits from `object`
1	UP009 	[*] UTF-8 encoding declaration is unnecessary
1	UP030 	[*] Use implicit references for positional format fields
1	UP034 	[*] Avoid extraneous parentheses
1	TRY300	[ ] Consider moving this statement to an `else` block

Complete output(might be large):

.github/workflows/benchmarks.yml:3:4: E999 SyntaxError: Expected an expression
.github/workflows/benchmarks.yml:20:5: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:81:49: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:111:81: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:112:54: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:199:1: W293 [*] Blank line contains whitespace
.github/workflows/benchmarks.yml:218:22: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:219:170: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:221:84: W291 [*] Trailing whitespace
.github/workflows/benchmarks.yml:238:1: W293 [*] Blank line contains whitespace
.github/workflows/pre-release.yml:7:4: E999 SyntaxError: Expected an expression
.github/workflows/release.yml:7:4: E999 SyntaxError: Expected an expression
.github/workflows/release.yml:16:7: E701 Multiple statements on one line (colon)
.github/workflows/release.yml:57:1: W293 [*] Blank line contains whitespace
.github/workflows/release.yml:59:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:3:4: E999 SyntaxError: Expected an expression
.github/workflows/stardis-tests.yml:22:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:39:11: W291 [*] Trailing whitespace
.github/workflows/stardis-tests.yml:51:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:58:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:64:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:69:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:75:32: W291 [*] Trailing whitespace
.github/workflows/stardis-tests.yml:76:20: W292 [*] No newline at end of file
.mailmap:1:38: E999 SyntaxError: Expected an expression
docs/conf.py:1:1: UP009 [*] UTF-8 encoding declaration is unnecessary
docs/conf.py:27:1: I001 [*] Import block is un-sorted or un-formatted
docs/conf.py:30:8: F401 [*] `tardis` imported but unused
docs/conf.py:36:43: PGH004 Use specific rule codes when using `noqa`
docs/conf.py:46:6: UP015 [*] Unnecessary open mode parameters
docs/conf.py:67:1: F405 `exclude_patterns` may be undefined, or defined from star imports
docs/conf.py:68:1: F405 `exclude_patterns` may be undefined, or defined from star imports
docs/conf.py:69:1: F405 `exclude_patterns` may be undefined, or defined from star imports
docs/conf.py:70:1: F405 `exclude_patterns` may be undefined, or defined from star imports
docs/conf.py:71:1: F405 `exclude_patterns` may be undefined, or defined from star imports
docs/conf.py:138:1: W293 Blank line contains whitespace
docs/conf.py:173:1: W293 Blank line contains whitespace
docs/conf.py:190:13: UP030 Use implicit references for positional format fields
docs/conf.py:190:13: UP032 [*] Use f-string instead of `format` call
docs/conf.py:217:1: E402 Module level import not at top of file
docs/conf.py:290:4: E712 Avoid equality comparisons to `True`; use `if toml_config_tool_dict["tardis"]['edit_on_github']:` for truth checks
docs/conf.py:351:1: E402 Module level import not at top of file
docs/conf.py:366:10: UP015 [*] Unnecessary open mode parameters, use ""w""
docs/conf.py:381:10: UP015 [*] Unnecessary open mode parameters, use ""w""
docs/contributing/development/known_projects.inc:1:1: E999 SyntaxError: Expected a statement
docs/contributing/tools/hdf_writer.ipynb:cell 3:9:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/hdf_writer.ipynb:cell 8:3:11: E999 SyntaxError: Simple statements must be separated by newlines or semicolons
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:1:1: I001 [*] Import block is un-sorted or un-formatted
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:1:8: F401 [*] `tardis` imported but unused
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:5:38: F401 [*] `tardis.io.atom_data.base.AtomData` imported but unused
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:7:20: F811 [*] Redefinition of unused `run_tardis` from cell 2, line 2
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:11:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:11:1: I001 [*] Import block is un-sorted or un-formatted
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:12:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:13:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:13:30: F401 [*] `astropy.units` imported but unused
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:14:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:15:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:16:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:2:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:8:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:12:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:17:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:22:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:24:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:26:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:32:21: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:35:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:37:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:44:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:54:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:57:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:63:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:68:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:75:5: RET505 Unnecessary `elif` after `return` statement
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:1:32: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:2:35: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:3:37: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:4:41: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:5:31: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:6:31: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:8:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:11:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:13:112: W291 Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:15:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:49:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:54:33: UP032 [*] Use f-string instead of `format` call
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:56:33: UP032 [*] Use f-string instead of `format` call
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:57:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:9:6: UP015 [*] Unnecessary open mode parameters
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:12:6: UP015 [*] Unnecessary open mode parameters
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:16:19: C416 Unnecessary `list` comprehension (rewrite using `list()`)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:17:23: C416 Unnecessary `list` comprehension (rewrite using `list()`)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 9:2:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 9:4:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 9:11:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:2:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:4:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:18:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:30:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:44:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:45:43: UP032 [*] Use f-string instead of `format` call
docs/index.rst:1:1: E999 SyntaxError: Expected a statement
docs/index.rst:21:51: W291 [*] Trailing whitespace
docs/index.rst:43:76: W291 [*] Trailing whitespace
docs/index.rst:44:64: W291 [*] Trailing whitespace
docs/index.rst:45:71: W291 [*] Trailing whitespace
docs/index.rst:46:69: W291 [*] Trailing whitespace
docs/index.rst:47:68: W291 [*] Trailing whitespace
docs/index.rst:66:1: W293 [*] Blank line contains whitespace
docs/index.rst:79:1: W293 [*] Blank line contains whitespace
docs/index.rst:102:1: W293 [*] Blank line contains whitespace
docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb:cell 6:1:1: I001 [*] Import block is un-sorted or un-formatted
docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb:cell 6:1:17: F401 [*] `numpy` imported but unused
docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb:cell 6:4:8: F401 [*] `json` imported but unused
docs/io/configuration/components/models/csvy_full_rad.csvy:1:4: E999 SyntaxError: Expected an expression
docs/physics/tardisgamma/index.rst:1:1: E902 No such file or directory (os error 2)
docs/physics/tardisgamma/packetinitialization.rst:1:1: E902 No such file or directory (os error 2)
docs/resources/code_comparison/toy_models/blondin_compare.csvy:1:4: E999 SyntaxError: Expected an expression
docs/resources/code_comparison/toy_models/blondin_compare_01.csvy:1:4: E999 SyntaxError: Expected an expression
docs/resources/code_comparison/toy_models/blondin_compare_06.csvy:1:4: E999 SyntaxError: Expected an expression
tardis/io/util.py:18:20: N812 Lowercase `__path__` imported as non-lowercase `TARDIS_PATH`
tardis/io/util.py:179:17: F821 Undefined name `atomic_number2element_symbol`
tardis/io/util.py:189:60: W291 [*] Trailing whitespace
tardis/io/util.py:190:1: W293 [*] Blank line contains whitespace
tardis/io/util.py:289:9: RET506 Unnecessary `else` after `raise` statement
tardis/io/util.py:382:21: G004 Logging statement uses f-string
tardis/io/util.py:466:13: G004 Logging statement uses f-string
tardis/plasma/__init__.py:2:63: W291 Trailing whitespace
tardis/plasma/__init__.py:5:32: F401 `tardis.plasma.base.BasePlasma` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/base.py:11:1: F403 `from tardis.plasma.properties.base import *` used; unable to detect undefined names
tardis/plasma/base.py:45:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/base.py:46:18: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/base.py:53:9: RET506 Unnecessary `else` after `raise` statement
tardis/plasma/base.py:54:18: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/base.py:111:17: E722 Do not use bare `except`
tardis/plasma/base.py:144:44: F405 `PreviousIterationProperty` may be undefined, or defined from star imports
tardis/plasma/base.py:153:46: F405 `Input` may be undefined, or defined from star imports
tardis/plasma/base.py:273:13: G004 Logging statement uses f-string
tardis/plasma/base.py:296:20: F401 [*] `pygraphviz` imported but unused
tardis/plasma/base.py:297:9: E722 Do not use bare `except`
tardis/plasma/base.py:306:16: E712 Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
tardis/plasma/base.py:327:16: E712 Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
tardis/plasma/base.py:333:16: E712 Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
tardis/plasma/base.py:383:9: E722 Do not use bare `except`
tardis/plasma/base.py:429:35: F405 `HiddenPlasmaProperty` may be undefined, or defined from star imports
tardis/plasma/base.py:447:29: E722 Do not use bare `except`
tardis/plasma/properties/atomic.py:6:28: F401 [*] `radioactivedecay` imported but unused
tardis/plasma/properties/atomic.py:11:33: F401 [*] `tardis.constants` imported but unused
tardis/plasma/properties/atomic.py:379:17: UP032 [*] Use f-string instead of `format` call
tardis/plasma/properties/atomic.py:558:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/atomic.py:589:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/atomic.py:602:17: G004 Logging statement uses f-string
tardis/plasma/properties/atomic.py:643:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/base.py:78:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/base.py:117:25: G004 Logging statement uses f-string
tardis/plasma/properties/base.py:135:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/base.py:163:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/base.py:178:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/continuum_processes/__init__.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/continuum_processes/__init__.py:2:5: F401 `tardis.plasma.properties.continuum_processes.photo_ion_rate_coeff.PhotoIonRateCoeff` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/__init__.py:4:1: F403 `from tardis.plasma.properties.continuum_processes.rates import *` used; unable to detect undefined names
tardis/plasma/properties/continuum_processes/__init__.py:6:5: F401 `tardis.plasma.properties.continuum_processes.recomb_rate_coeff.StimRecombRateFactor` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/__init__.py:7:5: F401 `tardis.plasma.properties.continuum_processes.recomb_rate_coeff.SpontRecombRateCoeff` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/__init__.py:8:5: F401 `tardis.plasma.properties.continuum_processes.recomb_rate_coeff.StimRecombRateCoeff` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/fast_array_util.py:3:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/general.py:4:30: F401 [*] `astropy.units` imported but unused
tardis/plasma/properties/general.py:33:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/general.py:74:21: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/general.py:118:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/helium_nlte.py:53:13: UP034 [*] Avoid extraneous parentheses
tardis/plasma/properties/helium_nlte.py:130:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/helium_nlte.py:182:21: E722 Do not use bare `except`
tardis/plasma/properties/helium_nlte.py:185:29: G004 Logging statement uses f-string
tardis/plasma/properties/helium_nlte.py:218:23: S605 Starting a process with a shell: seems safe, but may be changed in the future; consider rewriting without `shell`
tardis/plasma/properties/helium_nlte.py:235:18: UP015 [*] Unnecessary open mode parameters
tardis/plasma/properties/helium_nlte.py:238:36: PIE808 [*] Unnecessary `start` argument in `range`
tardis/plasma/properties/helium_nlte.py:261:69: F821 Undefined name `s1`
tardis/plasma/properties/ion_population.py:206:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/ion_population.py:291:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/ion_population.py:370:25: G004 Logging statement uses f-string
tardis/plasma/properties/ion_population.py:424:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/ion_population.py:495:25: G004 Logging statement uses f-string
tardis/plasma/properties/level_population.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/level_population.py:28:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/nlte.py:2:8: F401 [*] `os` imported but unused
tardis/plasma/properties/nlte.py:4:17: F401 [*] `numpy` imported but unused
tardis/plasma/properties/nlte.py:10:53: F401 [*] `tardis.plasma.properties.ion_population.PhiSahaNebular` imported but unused
tardis/plasma/properties/nlte_excitation_data.py:8:26: UP004 [*] Class `NLTEExcitationData` inherits from `object`
tardis/plasma/properties/nlte_rate_equation_solver.py:302:25: UP032 [*] Use f-string instead of `format` call
tardis/plasma/properties/nlte_rate_equation_solver.py:302:25: G001 Logging statement uses `str.format`
tardis/plasma/properties/nlte_rate_equation_solver.py:311:25: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/partition_function.py:145:9: RET505 Unnecessary `elif` after `return` statement
tardis/plasma/properties/partition_function.py:161:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/partition_function.py:181:25: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:192:21: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:199:21: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:252:21: RET506 Unnecessary `else` after `raise` statement
tardis/plasma/properties/partition_function.py:395:21: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/plasma_input.py:2:5: F401 [*] `tardis.plasma.properties.base.ArrayInput` imported but unused
tardis/plasma/properties/radiative_properties.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/radiative_properties.py:42:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/radiative_properties.py:178:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/rate_matrix_index.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/tests/test_complete_plasmas.py:149:27: FLY002 Consider `f"{hash_string}_{prop}"` instead of string join
tardis/plasma/tests/test_complete_plasmas.py:154:39: FLY002 Consider `f"{hash_string}_{nlte_prop}"` instead of string join
tardis/plasma/tests/test_hdf_plasma.py:1:17: F401 [*] `numpy` imported but unused
tardis/plasma/tests/test_nlte_excitation.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/tests/test_nlte_excitation.py:5:27: F401 [*] `numpy.testing.assert_allclose` imported but unused
tardis/plasma/tests/test_nlte_solver.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/tests/test_nlte_solver.py:5:25: F811 [*] Redefinition of unused `npt` from line 2
tardis/plasma/tests/test_plasma_continuum.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/simulation/base.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/simulation/base.py:155:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/simulation/base.py:199:13: RET506 Unnecessary `else` after `raise` statement
tardis/simulation/base.py:263:17: G004 Logging statement uses f-string
tardis/simulation/base.py:270:9: RET505 Unnecessary `else` after `return` statement
tardis/simulation/base.py:451:13: G004 Logging statement uses f-string
tardis/simulation/base.py:549:13: G004 Logging statement uses f-string
tardis/simulation/base.py:656:25: G004 Logging statement uses f-string
tardis/simulation/base.py:659:13: G004 Logging statement uses f-string
tardis/simulation/base.py:664:13: G004 Logging statement uses f-string
tardis/simulation/base.py:715:13: TRY300 Consider moving this statement to an `else` block
tardis/simulation/base.py:717:26: G004 Logging statement uses f-string
tardis/visualization/tools/liv_plot.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/visualization/tools/liv_plot.py:3:25: F401 [*] `matplotlib.cm` imported but unused
tardis/visualization/tools/liv_plot.py:26:9: D202 [*] No blank lines allowed after function docstring (found 1)
tardis/visualization/tools/liv_plot.py:49:9: D202 [*] No blank lines allowed after function docstring (found 1)
tardis/visualization/tools/liv_plot.py:305:13: RET506 Unnecessary `elif` after `raise` statement
tardis/visualization/tools/sdec_plot.py:202:9: RET505 Unnecessary `elif` after `return` statement
tardis/visualization/tools/sdec_plot.py:343:13: RET505 Unnecessary `elif` after `return` statement
tardis/visualization/tools/sdec_plot.py:460:9: RET505 Unnecessary `else` after `return` statement
tardis/visualization/tools/sdec_plot.py:496:9: RET505 Unnecessary `elif` after `return` statement
tardis/visualization/tools/sdec_plot.py:531:13: RET506 Unnecessary `else` after `raise` statement
tardis/visualization/tools/sdec_plot.py:699:13: RET506 Unnecessary `else` after `raise` statement
tardis/visualization/tools/tests/test_liv_plot.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/visualization/tools/tests/test_liv_plot.py:128:1: W293 [*] Blank line contains whitespace
tardis/visualization/tools/tests/test_liv_plot.py:132:1: W293 [*] Blank line contains whitespace
tardis/visualization/tools/tests/test_liv_plot.py:143:1: W293 [*] Blank line contains whitespace
tardis/visualization/tools/tests/test_liv_plot.py:363:29: ISC003 Explicitly concatenated string should be implicitly concatenated
tardis/visualization/tools/tests/test_sdec_plot.py:2:1: I001 [*] Import block is un-sorted or un-formatted
tardis/visualization/tools/tests/test_sdec_plot.py:326:29: ISC003 Explicitly concatenated string should be implicitly concatenated
tardis/visualization/tools/tests/test_sdec_plot.py:381:9: F811 Redefinition of unused `test_generate_plot_mpl` from line 292
Found 244 errors.
[*] 112 fixable with the `--fix` option (41 hidden fixes can be enabled with the `--unsafe-fixes` option).

If species list contains invalid entries.

"""
from tardis.util.base import atomic_number2element_symbol
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this should be here

tardis/io/util.py Outdated Show resolved Hide resolved
@rudrakshnalbalwar rudrakshnalbalwar marked this pull request as draft October 2, 2024 08:45
@rudrakshnalbalwar rudrakshnalbalwar marked this pull request as ready for review October 2, 2024 08:50
@tardis-bot
Copy link
Contributor

tardis-bot commented Oct 2, 2024

*beep* *bop*
Hi human,
I ran benchmarks as you asked comparing master (3b6084f) and the latest commit (a265f30).
Here are the logs produced by ASV.
Results can also be downloaded as artifacts here.

Significantly changed benchmarks:

All benchmarks:

Benchmarks that have stayed the same:

| Change   | Before [b3af2456] <master>   | After [a265f30e]    | Ratio   | Benchmark (Parameter)                                                                                                               |
|----------|------------------------------|---------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------|
|          | 43.7±30μs                    | 55.1±20μs           | ~1.26   | transport_montecarlo_interaction.BenchmarkTransportMontecarloInteraction.time_line_scatter                                          |
|          | 1.93±1μs                     | 2.38±1μs            | ~1.23   | transport_montecarlo_estimators_radfield_estimator_calcs.BenchmarkMontecarloMontecarloNumbaPacket.time_update_line_estimators       |
|          | 66.4±0.3ms                   | 74.3±3ms            | ~1.12   | transport_montecarlo_packet_trackers.BenchmarkTransportMontecarloPacketTrackers.time_rpacket_trackers_to_dataframe                  |
|          | 541±200ns                    | 491±200ns           | ~0.91   | opacities_opacity.BenchmarkMontecarloMontecarloNumbaOpacities.time_compton_opacity_calculation                                      |
|          | 3.01±0.1ms                   | 2.60±0ms            | ~0.87   | opacities_opacity_state.BenchmarkOpacitiesOpacityState.time_opacity_state_initialize('scatter')                                     |
|          | 2.20±0.4μs                   | 1.65±0.5μs          | ~0.75   | transport_geometry_calculate_distances.BenchmarkTransportGeometryCalculateDistances.time_calculate_distance_line                    |
|          | 31.8±10μs                    | 23.4±6μs            | ~0.74   | transport_montecarlo_packet_trackers.BenchmarkTransportMontecarloPacketTrackers.time_generate_rpacket_last_interaction_tracker_list |
|          | 5.70±0.7ms                   | 3.76±0ms            | ~0.66   | opacities_opacity_state.BenchmarkOpacitiesOpacityState.time_opacity_state_initialize('macroatom')                                   |
|          | 571±200ns                    | 601±100ns           | 1.05    | opacities_opacity.BenchmarkMontecarloMontecarloNumbaOpacities.time_photoabsorption_opacity_calculation                              |
|          | 40.6±20μs                    | 42.1±20μs           | 1.04    | transport_montecarlo_interaction.BenchmarkTransportMontecarloInteraction.time_line_emission                                         |
|          | 541±200ns                    | 551±100ns           | 1.02    | opacities_opacity.BenchmarkMontecarloMontecarloNumbaOpacities.time_pair_creation_opacity_calculation                                |
|          | 31.2±0.02μs                  | 31.8±0.01μs         | 1.02    | transport_montecarlo_packet_trackers.BenchmarkTransportMontecarloPacketTrackers.time_generate_rpacket_tracker_list                  |
|          | 735±0.6ns                    | 742±0.5ns           | 1.01    | transport_montecarlo_interaction.BenchmarkTransportMontecarloInteraction.time_thomson_scatter                                       |
|          | 2.09±0m                      | 2.08±0m             | 1.00    | spectrum_formal_integral.BenchmarkTransportMontecarloFormalIntegral.time_FormalIntegrator_functions                                 |
|          | 1.67±0ms                     | 1.68±0.03ms         | 1.00    | transport_montecarlo_main_loop.BenchmarkTransportMontecarloMontecarloMainLoop.time_montecarlo_main_loop                             |
|          | 2.79±0.6ms                   | 2.77±0.5ms          | 0.99    | transport_montecarlo_single_packet_loop.BenchmarkTransportMontecarloSinglePacketLoop.time_single_packet_loop                        |
|          | 1.04±0m                      | 1.02±0m             | 0.98    | run_tardis.BenchmarkRunTardis.time_run_tardis_rpacket_tracking                                                                      |
|          | 1.24±0μs                     | 1.20±0μs            | 0.97    | transport_geometry_calculate_distances.BenchmarkTransportGeometryCalculateDistances.time_calculate_distance_boundary                |
|          | 7.55±2μs                     | 7.36±2μs            | 0.97    | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_vpacket_volley                                    |
|          | 215±0.3ns                    | 208±0.3ns           | 0.96    | spectrum_formal_integral.BenchmarkTransportMontecarloFormalIntegral.time_intensity_black_body                                       |
|          | 3.44±0.6μs                   | 3.29±0.7μs          | 0.96    | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_vpacket_within_shell                              |
|          | 39.3±0.1s                    | 37.5±0.1s           | 0.95    | run_tardis.BenchmarkRunTardis.time_run_tardis                                                                                       |
|          | 3.66±0.6μs                   | 3.46±0.4μs          | 0.95    | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_bad_vpacket                                       |
|          | 7.41±1μs                     | 6.81±0.7μs          | 0.92    | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_vpacket                                           |

If you want to see the graph of the results, you can check it here

@rudrakshnalbalwar rudrakshnalbalwar changed the title moved _parse_species_list function to tardis.io.util.py moved _parse_species_list function to tardis.io.util.py for #2764 Oct 2, 2024
@rudrakshnalbalwar rudrakshnalbalwar changed the title moved _parse_species_list function to tardis.io.util.py for #2764 moved _parse_species_list function to tardis.io.util.py Oct 2, 2024
@jvshields
Copy link
Contributor

Thanks for the contribution! This is a good change, but I think you need to double check where this function is used in the codebase, and change any imports or function calls to point to the right location. I believe that this function is used in the LIV and SDEC plot classes. https://github.com/search?q=repo%3Atardis-sn%2Ftardis%20_parse_species_list&type=code

@rudrakshnalbalwar
Copy link
Author

@jvshields I made the changes as you mentioned , I’ve removed the underscore from the parse_species_list function name as requested. However, I did not change the name of the test function test_parse_species_list, since it already follows the convention for testing this function. And I noticed that there were no explicit imports for the _parse_species_list function previously. Since the function is used within the same class/module, an import doesn't seem necessary in this case. Therefore, I haven't added an import for parse_species_list either.

@rudrakshnalbalwar
Copy link
Author

Also one more thing do I have to make changes here too ?
tardis/.pytest_cache/v/cache/nodeids
@jvshields , @atharva-2001 , @andrewfullard

@@ -508,7 +508,7 @@ def from_hdf(cls, hdf_fpath, packets_mode=None):
}
)

def _parse_species_list(self, species_list):
def parse_species_list(self, species_list):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this being imported?

@@ -172,7 +172,7 @@ def test_parse_species_list(self, request, plotter, attribute):
species : list
"""
# THIS NEEDS TO BE RUN FIRST. NOT INDEPENDENT TESTS
plotter._parse_species_list(self.species_list[0])
plotter.parse_species_list(self.species_list[0])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this needs to be tested elsewhere

@Knights-Templars Knights-Templars marked this pull request as draft October 14, 2024 14:55
@jvshields
Copy link
Contributor

Please double check that the tests are passing.

I believe that the full refactor here should look like this.

First, move the parse_species_list() function to the util file. (You have done this and it looks good)

Next, remove the function definition from the sdec plot and liv plot classes. Import the more generic function from the util file.

Finally, wherever the function is used in those classes, make sure that it's working properly with the new imported function.
The tests here will tell you if everything is hooked up correctly.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants