{"action":"created","issue":{"url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/6842","repository_url":"https://api.github.com/repos/conda-forge/staged-recipes","labels_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/6842/labels{/name}","comments_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/6842/comments","events_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/6842/events","html_url":"https://github.com/conda-forge/staged-recipes/pull/6842","id":370571179,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzMjE3NDk3","number":6842,"title":"WIP: Add tiffile, zisraw, imagecodecs, and dependencies (jxrlib, liblzf, libjpeg-turbo12 (12 bit build))","user":{"login":"csachs","id":8251055,"node_id":"MDQ6VXNlcjgyNTEwNTU=","avatar_url":"https://avatars1.githubusercontent.com/u/8251055?v=4","gravatar_id":"","url":"https://api.github.com/users/csachs","html_url":"https://github.com/csachs","followers_url":"https://api.github.com/users/csachs/followers","following_url":"https://api.github.com/users/csachs/following{/other_user}","gists_url":"https://api.github.com/users/csachs/gists{/gist_id}","starred_url":"https://api.github.com/users/csachs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/csachs/subscriptions","organizations_url":"https://api.github.com/users/csachs/orgs","repos_url":"https://api.github.com/users/csachs/repos","events_url":"https://api.github.com/users/csachs/events{/privacy}","received_events_url":"https://api.github.com/users/csachs/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":19,"created_at":"2018-10-16T11:43:56Z","updated_at":"2018-10-20T10:28:09Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/6842","html_url":"https://github.com/conda-forge/staged-recipes/pull/6842","diff_url":"https://github.com/conda-forge/staged-recipes/pull/6842.diff","patch_url":"https://github.com/conda-forge/staged-recipes/pull/6842.patch"},"body":"Okay, here's a bigger WIP PR. I do hope that it's possible to build multiple interdependent packages from one PR, otherwise I'll have to split this into multiple PRs…\r\n\r\nLittle background: The de-facto standard Python TIFF library is excellent `tifffile` (three f), developed by @cgohlke, currently in conda-forge in @conda-forge/tifffile .\r\n\r\n@cgohlke used to only publish his packages on his personal website, which were mirrored by @blink1073 in https://github.com/blink1073/tifffile and packaged for PyPI (Thanks for that!)\r\n\r\nHowever, recently new package `tiffile` (two f) appeared on PyPI, directly by @cgohlke (Thanks!)\r\n\r\nTherefore, here's a PR starting the work to get this into conda-forge…\r\n\r\nNow why the lot of packages? `tifffile` used to have a helper extension in C to decode certain codecs which can be found in some TIFF files. @cgohlke has spun this out into separate package `imagecodecs`, which has a quite sizable list of dependencies (including `jxrlib` and `liblzf` not currently in conda-forge) to support various image codecs.\r\n\r\nFurthermore, @cgohlke developed `czifile` (for Carl Zeiss ZISRAW files, a microscopy imaging format). `czifile` used to be not available in PyPI for many years, but was recently added by https://github.com/AllenCellModeling/czifile . However, @cgohlke has started upgrading `czifile` to new package `zisraw`, which – similar to `tiffile` – instead of its own little C helper extension relies on unified `imagecodecs`. Therefore, it'd be a candidate to add it with the other packages.\r\n\r\nThe PR here has been tested with Python 3 on Linux and Windows. Adding it here as WIP to test the other platforms/combinations via CI.\r\nTechnical details: `liblzf` does not come with Windows build files, as such I just compile the two `.c` files to a static library. `jxrlib` seems to have become abandoned/lost (?) and most links to it lead to the Glencoe Software github repository; as such I use this as download URL. `imagecodecs` uses mostly dynamic libraries under Windows. I'm not well-versed in conda-forge's conventions concerning Windows, should it? Or should it rather use static libraries and have as little run-time dependencies as possible? Furthermore, I'm adding an adapted but whole `setup.py` for `imagecodecs`. This is necessary as many libraries have slightly different names, furthermore adaptive patching is not possible, as current `patch` fails on Windows CR-LF line ends in upstream sources. \r\n\r\nPS: Sorry for all @ pinged users here, just mentioning you to inform you about these packages/PRs. If any of the current @conda-forge/tifffile maintainers would like to be added, just reply to this PR.\r\n\r\nBest regards,\r\nChristian"},"comment":{"url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/comments/431568542","html_url":"https://github.com/conda-forge/staged-recipes/pull/6842#issuecomment-431568542","issue_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/6842","id":431568542,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMTU2ODU0Mg==","user":{"login":"csachs","id":8251055,"node_id":"MDQ6VXNlcjgyNTEwNTU=","avatar_url":"https://avatars1.githubusercontent.com/u/8251055?v=4","gravatar_id":"","url":"https://api.github.com/users/csachs","html_url":"https://github.com/csachs","followers_url":"https://api.github.com/users/csachs/followers","following_url":"https://api.github.com/users/csachs/following{/other_user}","gists_url":"https://api.github.com/users/csachs/gists{/gist_id}","starred_url":"https://api.github.com/users/csachs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/csachs/subscriptions","organizations_url":"https://api.github.com/users/csachs/orgs","repos_url":"https://api.github.com/users/csachs/repos","events_url":"https://api.github.com/users/csachs/events{/privacy}","received_events_url":"https://api.github.com/users/csachs/received_events","type":"User","site_admin":false},"created_at":"2018-10-20T10:28:09Z","updated_at":"2018-10-20T10:28:09Z","author_association":"CONTRIBUTOR","body":"I'll be away today, but I plan on looking into the points Sunday/Monday…\r\n\r\n- Concerning buildability/runability on Linux/macOS: `imagecodecs` worked and run all tests (except for jpeg12 tests for which I had initially not added the library) fine on Linux. I can check the current build files on Linux and macOS.\r\nTheoretically, we could run the bundled tests in CI as well, but they might increase runtime somewhat, should we?\r\n- Concerning `jxrlib` source, I can check the different sources if there are any significant differences, and if it could work with the Debian variant. As @cgohlke is upstream author, I though think it is sensible to using his suggested version (Glencoe's).\r\n- Concerning libraries as run/buildtime dependencies; IIRC I had some troubles if the `.dll`s were not present at runtime in Windows. On a more general note: Should we link in as much as possible statically, reducing runtime dependencies, or should we keep as much as possible dynamically linked, @jakirkham ?\r\n- I'll remove `tiffile` from this PR then, rename `zisraw` to `czifile` and update the files. I've just seen that @regro-cf-autotick-bot has submitted an update PR to `tifffile`, but due to changed dependencies the recipe will need some more changes, I can submit a PR to that feedstock then."}}
{"actor":{"display_login":"csachs"}}