Expand directory-based initialization options
- Dominant language
- Python
- Stars
- 534
- Forks
- 95
- PR merge metrics
- No merged PRs in 30d
Description
Currently if you give `imagej.init(...)` a directory it assumes it's a Fiji/ImageJ installation and always looks in `jars` and `plugins` subdirctories. For completeness it may be useful to provide an option where the user completely configures their own environment.
This would be done through `scyjava`, adding jars to the classpath explicitly. We may want to add a public [_search_for_jars](https://github.com/imagej/pyimagej/blob/a8c5261ebf12d583d71696fba7db4f76a95a7906/imagej/__init__.py#L65) to `scyjava`.
Most importantly we would need a mechanism to prevent the automatic endpoint and/or classpath modification.. perhaps a `populate_classpath` flag in [the init()](https://github.com/imagej/pyimagej/blob/a8c5261ebf12d583d71696fba7db4f76a95a7906/imagej/__init__.py#L98) method that defaults to `True`, and if `False` skips the [bulk of init()](https://github.com/imagej/pyimagej/blob/a8c5261ebf12d583d71696fba7db4f76a95a7906/imagej/__init__.py#L122-L172).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with imagej/__init__.py, especially _search_for_jars and init() around the linked lines, then review how scyjava handles explicit jars and endpoint or classpath changes. Done means directory initialization can use a user-configured environment, including explicit classpath setup and a way to skip automatic population when requested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100