PHPackages                             islandora/crayfish - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. islandora/crayfish

ActiveProject[Utility &amp; Helpers](/categories/utility)

islandora/crayfish
==================

Collection of Islandora microservices, lovingly known as Crayfish.

4.1.0(1y ago)1059928[2 issues](https://github.com/Islandora/Crayfish/issues)[1 PRs](https://github.com/Islandora/Crayfish/pulls)1MITPHPCI failing

Since May 13Pushed 11mo ago32 watchersCompare

[ Source](https://github.com/Islandora/Crayfish)[ Packagist](https://packagist.org/packages/islandora/crayfish)[ Docs](https://github.com/Islandora/Crayfish)[ RSS](/packages/islandora-crayfish/feed)WikiDiscussions 4.x Synced 3w ago

READMEChangelog (10)DependenciesVersions (30)Used By (1)Security (2)

[![Crayfish](https://cloud.githubusercontent.com/assets/2371345/15409657/2dfb463a-1dec-11e6-9089-06df94ef3f37.png)](https://cloud.githubusercontent.com/assets/2371345/15409657/2dfb463a-1dec-11e6-9089-06df94ef3f37.png) Crayfish
==================================================================================================================================================================================================================================

[](#-crayfish)

[![Minimum PHP Version](https://camo.githubusercontent.com/7f91fd16f805b376c8b9137ddc479aabdc9f79d19807832f85606cb3b74409c4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e302d3838393242462e7376673f7374796c653d666c61742d737175617265)](https://php.net/)[![Build Status](https://github.com/islandora/crayfish/actions/workflows/build-dev.yml/badge.svg)](https://github.com/Islandora/Crayfish/actions)[![Contribution Guidelines](https://camo.githubusercontent.com/00be726fac5762979d2c8a7428f28d9526d61eb290fc6d54b7031511d9445940/687474703a2f2f696d672e736869656c64732e696f2f62616467652f434f4e545249425554494e472d47756964656c696e65732d626c75652e737667)](./CONTRIBUTING.md)[![LICENSE](https://camo.githubusercontent.com/942e017bf0672002dd32a857c95d66f28c5900ab541838c6c664442516309c8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c61742d737175617265)](./LICENSE)[![codecov](https://camo.githubusercontent.com/680c2c0d0d1edd228c5e445382148f269d1278b70680abcd0a49f2263615f73f/68747470733a2f2f636f6465636f762e696f2f67682f49736c616e646f72612f43726179666973682f6272616e63682f6465762f6772617068732f62616467652e7376673f6272616e63683d646576)](https://codecov.io/gh/Islandora/Crayfish)

Introduction
------------

[](#introduction)

A collection of Islandora 8 microservices, lovingly known as Crayfish. Some of the microservices are built specifically for use with a Fedora Repository and API-X, while others are just for general use within Islandora 8.

Requirements
------------

[](#requirements)

The minimum requirements for any microservice are

- PHP 8.0+
- [Composer](https://getcomposer.org/)

Many microservices have extra installation requirements. Please see the README of each microservice for additional details.

Services
--------

[](#services)

Crayfish contains the following services

- [CrayFits](./CrayFits): FITS as a microservice.
- [Homarus](./Homarus): FFmpeg as a microservice.
- [Houdini](./Houdini): ImageMagick as a microservice.
- [Hypercube](./Hypercube): Tesseract as a microservice.
- [Milliner](./Milliner): Microservice that converts Drupal entities into Fedora resources.
- [Recast](./Recast): Microservice that remaps Drupal URIs to add Fedora to Fedora links based on associated Drupal URIs in RDF.

See the individual services for more information on their endpoints.

Security
--------

[](#security)

Crayfish microservices use JWTs to handle authentication like the rest of the Islandora 8. It is disabled by default. To enable, set `security enabled` to `true` in `cfg/cfg.php` for any microservice. You can also set the path to an xml configuration file for security a la [Syn](https://github.com/Islandora/Syn/blob/main/conf/syn-settings.example.xml) with the `security config` parameter.

Development
-----------

[](#development)

If you would like to contribute, please get involved by attending our weekly [Tech Call](https://github.com/Islandora/documentation/wiki). We love to hear from you!

If you would like to contribute code to the project, you need to be covered by an Islandora Foundation [Contributor License Agreement](http://islandora.ca/sites/default/files/islandora_cla.pdf) or [Corporate Contributor License Agreement](http://islandora.ca/sites/default/files/islandora_ccla.pdf). Please see the [Contributors](http://islandora.ca/resources/contributors) pages on Islandora.ca for more information.

We recommend using the [islandora-playbook](https://github.com/Islandora-Devops/islandora-playbook) to get started. If you want to pull down the submodules for development, don't forget to run `git submodule update --init --recursive` after cloning.

Maintainers
-----------

[](#maintainers)

- [Jonathan Green](https://github.com/jonathangreen)

This project has been sponsored by:

- American Philosophical Society
- Born-Digital
- discoverygarden inc.
- LYRASIS
- McMaster University
- PALS
- University of Limerick
- University of Manitoba
- UPEI
- Simon Fraser University
- York University

License
-------

[](#license)

[MIT](https://opensource.org/licenses/MIT)

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance42

Moderate activity, may be stable

Popularity26

Limited adoption so far

Community34

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~120 days

Recently: every ~239 days

Total

29

Last Release

330d ago

Major Versions

1.1.1 → 2.0.02021-07-14

2.1.0 → 3.0.02022-09-16

2.x-dev → 3.x-dev2022-12-15

3.x-dev → 4.0.02023-05-05

4.1.0 → 5.x-dev2025-05-16

### Community

Maintainers

![](https://www.gravatar.com/avatar/dc118c68d9516f27679fe7e89cfc422f6ae03d121a55a748ea645778cbc423d8?d=identicon)[ruebot](/maintainers/ruebot)

![](https://www.gravatar.com/avatar/9e6875ca967e30c512a9e14c6f05bba3199759ff56393ccf338ffddea4549e93?d=identicon)[Islandora](/maintainers/Islandora)

---

Top Contributors

[![whikloj](https://avatars.githubusercontent.com/u/2857697?v=4)](https://github.com/whikloj "whikloj (52 commits)")[![dannylamb](https://avatars.githubusercontent.com/u/20773151?v=4)](https://github.com/dannylamb "dannylamb (38 commits)")[![DiegoPino](https://avatars.githubusercontent.com/u/6946023?v=4)](https://github.com/DiegoPino "DiegoPino (26 commits)")[![ruebot](https://avatars.githubusercontent.com/u/218561?v=4)](https://github.com/ruebot "ruebot (25 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (15 commits)")[![daniel-dgi](https://avatars.githubusercontent.com/u/2521309?v=4)](https://github.com/daniel-dgi "daniel-dgi (10 commits)")[![jonathangreen](https://avatars.githubusercontent.com/u/569437?v=4)](https://github.com/jonathangreen "jonathangreen (8 commits)")[![manez](https://avatars.githubusercontent.com/u/2371345?v=4)](https://github.com/manez "manez (7 commits)")[![Natkeeran](https://avatars.githubusercontent.com/u/1827166?v=4)](https://github.com/Natkeeran "Natkeeran (4 commits)")[![rosiel](https://avatars.githubusercontent.com/u/1943338?v=4)](https://github.com/rosiel "rosiel (3 commits)")[![elizoller](https://avatars.githubusercontent.com/u/5439169?v=4)](https://github.com/elizoller "elizoller (3 commits)")[![adam-vessey](https://avatars.githubusercontent.com/u/607975?v=4)](https://github.com/adam-vessey "adam-vessey (3 commits)")[![kayakr](https://avatars.githubusercontent.com/u/208184?v=4)](https://github.com/kayakr "kayakr (2 commits)")[![acoburn](https://avatars.githubusercontent.com/u/1265883?v=4)](https://github.com/acoburn "acoburn (2 commits)")[![seth-shaw-unlv](https://avatars.githubusercontent.com/u/29869988?v=4)](https://github.com/seth-shaw-unlv "seth-shaw-unlv (1 commits)")[![xurizaemon](https://avatars.githubusercontent.com/u/105608?v=4)](https://github.com/xurizaemon "xurizaemon (1 commits)")[![ysuarez](https://avatars.githubusercontent.com/u/725449?v=4)](https://github.com/ysuarez "ysuarez (1 commits)")[![ajs6f](https://avatars.githubusercontent.com/u/110994?v=4)](https://github.com/ajs6f "ajs6f (1 commits)")[![ajstanley](https://avatars.githubusercontent.com/u/494887?v=4)](https://github.com/ajstanley "ajstanley (1 commits)")[![alxp](https://avatars.githubusercontent.com/u/82412?v=4)](https://github.com/alxp "alxp (1 commits)")

---

Tags

islandora

### Embed Badge

![Health badge](/badges/islandora-crayfish/health.svg)

```
[![Health](https://phpackages.com/badges/islandora-crayfish/health.svg)](https://phpackages.com/packages/islandora-crayfish)
```

###  Alternatives

[evercodelab/dependent-select-bundle

This bundle helps to create dependent AJAX fields for Symfony forms

1617.8k](/packages/evercodelab-dependent-select-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
