Clean up leapsecond furnishing needs/environment variables
- Dominant language
- Python
- Stars
- 4
- Forks
- 2
- Avg merge
- 18d 23h
- Merged PRs (30d)
- 1
Description
If a user does not set the LEAPSECOND_FILE_ENV, but instead furnishes a leapsecond kernel then there is a curryer error:
`RuntimeError: Static kernel creation failed: Unable to find the default leapsecond kernel file. Searched directory:`
This comes from ` write_from_json` in create.py line 150 on the `properties = properties_cls(**properties_def["properties"], relative_dir=parent_dir)` call.
From my initial investigation there is an inherent looking through "generic" kernels and relative folder paths that implicitly happens in the background in some of the setup commands for curryer.
How to recreate:
In libera_utils repo. Comment out the environment variable setting in the KernelManger class `kernel_manager.py` and then run the `test_static_kernels_loading` integration test in `integration/test_kernel_manager.py` The kernel manager will explicitly furnish the leapsecond kernel in the _create_static_kernels method, but without the environment variable this errors out.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with _create_static_kernels in kernel_manager.py and reproduce the failure using integration/test_kernel_manager.py:test_static_kernels_loading with the leapsecond environment variable setting commented out. Trace the write_from_json call at create.py line 150, including generic kernel lookup and relative directory handling. Done means the explicitly furnished leapsecond kernel loads without LEAPSECOND_FILE_ENV and the integration test passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100