{"id":43537889,"url":"https://github.com/modsim/mycelyso","last_synced_at":"2026-02-03T17:17:39.139Z","repository":{"id":55074291,"uuid":"78109679","full_name":"modsim/mycelyso","owner":"modsim","description":"MYCEelium anaLYsis SOftware","archived":false,"fork":false,"pushed_at":"2021-03-06T01:01:02.000Z","size":33256,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-27T16:46:24.738Z","etag":null,"topics":["bioinformatics","image-analysis","microfluidics","mycelium","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/modsim.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-05T12:06:45.000Z","updated_at":"2021-10-06T03:11:22.000Z","dependencies_parsed_at":"2022-08-14T11:10:44.332Z","dependency_job_id":null,"html_url":"https://github.com/modsim/mycelyso","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/modsim/mycelyso","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modsim%2Fmycelyso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modsim%2Fmycelyso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modsim%2Fmycelyso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modsim%2Fmycelyso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modsim","download_url":"https://codeload.github.com/modsim/mycelyso/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modsim%2Fmycelyso/sbom","scorecard":{"id":656075,"data":{"date":"2025-08-11","repo":{"name":"github.com/modsim/mycelyso","commit":"8af386c6e7f02f1c83ca8136487c9f3c05605fc8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.rst:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE.rst:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating continuumio/miniconda3:4.9.2-alpine to continuumio/miniconda3:4.9.2-alpine@sha256:82bd96b0e95188e152d137f6c9834ea731bfc78e5c5f27b3c90f2be31e9e61d8","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T14:40:00.627Z","repository_id":55074291,"created_at":"2025-08-21T14:40:00.627Z","updated_at":"2025-08-21T14:40:00.627Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29050341,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","image-analysis","microfluidics","mycelium","python"],"created_at":"2026-02-03T17:17:38.604Z","updated_at":"2026-02-03T17:17:39.131Z","avatar_url":"https://github.com/modsim.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. If you read this on hub.docker.com, maybe visit the github page https://github.com/modsim/mycelyso\n.. as dockerhub currently has problems displaying reStructuredText properly.\n.. image:: docs/_static/mycelyso-banner.png\n\nmycelyso Readme\n===============\n\n.. image:: https://img.shields.io/pypi/v/mycelyso.svg\n   :target: https://pypi.python.org/pypi/mycelyso\n\n.. image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat\n   :target: https://mycelyso.readthedocs.io/en/latest/\n\n.. image:: https://travis-ci.org/modsim/mycelyso.svg?branch=main\n   :target: https://travis-ci.org/modsim/mycelyso\n\n.. image:: https://ci.appveyor.com/api/projects/status/0jcyc25y81tp4iua/branch/main?svg=true\n   :target: https://ci.appveyor.com/project/csachs/mycelyso/branch/main\n\n.. image:: https://img.shields.io/docker/build/modsim/mycelyso.svg\n   :target: https://hub.docker.com/r/modsim/mycelyso\n\n.. image:: https://img.shields.io/pypi/l/mycelyso.svg\n   :target: https://opensource.org/licenses/BSD-2-Clause\n\n.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.376281.svg\n   :target: https://dx.doi.org/10.5281/zenodo.376281\n\n.. image:: https://zenodo.org/badge/doi/10.1186/s12859-019-3004-1.svg\n   :target: https://dx.doi.org/10.1186/s12859-019-3004-1\n\nFrontmatter\n-----------\n\nScreenshot\n##########\n\n.. image:: https://modsim.github.io/mycelyso/screenshot.png\n   :target: https://modsim.github.io/mycelyso/demo/static/index.htm\n\n`To quickly get a grasp what results can be generated with mycelyso, please\ntake a look at the static demo page of mycelyso Inspector generated with the example dataset. \u003chttps://modsim.github.io/mycelyso/demo/static/\u003e`_\n\n\nInstallation and Analysis Tutorial Videos\n#########################################\n\n.. raw:: html\n\n    \u003ca href=\"https://modsim.github.io/mycelyso/DemoInstallation.mp4\"\u003e\u003cimg src=\"https://modsim.github.io/mycelyso/DemoInstallation.png\" width=\"45%\"\u003e\u003c/a\u003e\u0026nbsp;\u003ca href=\"https://modsim.github.io/mycelyso/DemoAnalysis.mp4\"\u003e\u003cimg src=\"https://modsim.github.io/mycelyso/DemoAnalysis.png\" width=\"45%\"\u003e\u003c/a\u003e\n\nThese videos shows how to download and unpack *mycelyso* as well as to run a test analysis using the pre-packages Windows version of *mycelyso*.\n\nPublication\n###########\nWhen using *mycelyso* for scientific applications, please cite our publication:\n\n    Sachs CC, Koepff J, Wiechert W, Grünberger A, Nöh K (2019)\n    mycelyso – high-throughput analysis of Streptomyces mycelium live cell imaging data\n    BMC Bioinformatics, volume 20, 452, doi: 10.1186/s12859-019-3004-1\n\nIt is available on the *BMC Bioinformatics* homepage at `DOI: 10.1186/s12859-019-3004-1 \u003chttps://dx.doi.org/10.1186/s12859-019-3004-1\u003e`_\n\nDocumentation\n#############\nDocumentation can be built using sphinx, but is available online as well at `Read the Docs \u003chttps://mycelyso.readthedocs.io/en/latest/\u003e`_.\n\nLicense\n#######\n*mycelyso* is free/libre open source software under the 2-clause BSD License. See :doc:`license`\n\nGetting mycelyso and Datasets\n-----------------------------\n\nExample Datasets\n################\nYou can find an example dataset deposited at zenodo `DOI: 10.5281/zenodo.376281 \u003chttps://dx.doi.org/10.5281/zenodo.376281\u003e`_.\n\nWays to install mycelyso\n########################\n\nPre-Bundled Windows Application\n-------------------------------\n\nIf you don't have a Python 3 installation ready, and want to just run *mycelyso*, we you can download a pre-packaged version\nfor 64-bit versions of Windows (mycelyso-win64.zip) from `AppVeyor \u003chttps://ci.appveyor.com/project/csachs/mycelyso/branch/main/artifacts\u003e`_.\n\nPlease note, that, instead of :code:`python -m mycelyso` or :code:`python -m mycelyso_inspector`, the calls would then be :code:`mycelyso.exe` or :code:`mycelyso_inspector.exe`.\n\nDocker\n------\n\nPlease see the Docker_ section near the end.\n\nPackages for the conda Package manager\n--------------------------------------\n\nWhile *mycelyso* is a pure Python package, it has some dependencies which are a bit more complex to build and might\nnot be present in the PyPI (Python Package Index). Thankfully the conda Package manager / Anaconda environment\nprovides all packages necessary in an easy to use manner. To use it, please `download Anaconda \u003chttps://www.continuum.io/downloads\u003e`_ (Miniconda could be downloaded\nas well, but as most packages included in Anaconda are needed anyways, it does hardly provide a size benefit).\n\nYou have to enable the necessary channels:\n\n.. code-block:: bash\n\n    \u003e conda config --add channels conda-forge\n    \u003e conda config --add channels modsim\n\n    \u003e conda install -y mycelyso mycelyso-inspector\n\nPlease note that this readme assumes you are starting with a fresh install of Anaconda/Miniconda.\nIf you start with an existing installation, individual dependency packages might need to be updated.\n\nPackages from PyPI (for advanced users)\n---------------------------------------\n\nIf you have a working Python 3 installation and can eventually fix missing dependencies, you can as well use the PyPI version:\n\n.. code-block:: bash\n\n    \u003e pip install --user mycelyso mycelyso-inspector\n\n\nDirectly from github (for advanced users)\n-----------------------------------------\n\n.. code-block:: bash\n\n    \u003e pip install --user https://github.com/modsim/mycelyso/archive/main.zip mycelyso-inspector\n\n\nmycelyso Quickstart\n-------------------\n\n*mycelyso* is packaged as a Python module, to run it, use the following syntax:\n\n.. code-block:: bash\n\n   \u003e python -m mycelyso\n\nWhich will produce the help screen:\n\n.. code-block:: none\n\n   mycelyso INFO\n     MYCElium   anaLYsis __ SOftware\n     ___   __ _________ / /_ _____ ___         Developed  2015 - 2021 by\n    /  ' \\/ // / __/ -_) / // (_-\u003c/ _ \\ __\n   /_/_/_/\\_, /\\__/\\__/_/\\_, /___/\\___/'  \\.   Christian   C.  Sachs  at\n         /___/          /___/              |\n               \\    `           __     ,''''   Modeling\u0026Simulation Group\n                \\    `----._ _,'  `'  _/\n                 ---'       ''      `-'        Research  Centre  Juelich\n\n                  For more information visit: github.com/modsim/mycelyso\n\n   If you use this software in a publication, please cite our paper:\n\n   Sachs CC, Koepff J, Wiechert W, Grünberger A, Nöh K (2019)\n   mycelyso – high-throughput analysis of Streptomyces mycelium live cell imaging data\n   BMC Bioinformatics, volume 20, 452, doi: 10.1186/s12859-019-3004-1\n\n   usage: __main__.py [-h] [-m MODULES] [-n PROCESSES] [--prompt]\n                      [-tp TIMEPOINTS] [-mp POSITIONS] [-t TUNABLE]\n                      [--tunables-show] [--tunables-load TUNABLES_LOAD]\n                      [--tunables-save TUNABLES_SAVE] [--meta META]\n                      [--interactive] [--output OUTPUT]\n                      input\n\n   positional arguments:\n     input                 input file\n\n   optional arguments:\n     -h, --help            show this help message and exit\n     -m MODULES, --module MODULES\n     -n PROCESSES, --processes PROCESSES\n     --prompt, --prompt\n     -tp TIMEPOINTS, --timepoints TIMEPOINTS\n     -mp POSITIONS, --positions POSITIONS\n     -t TUNABLE, --tunable TUNABLE\n     --tunables-show\n     --tunables-load TUNABLES_LOAD\n     --tunables-save TUNABLES_SAVE\n     --meta META, --meta META\n     --interactive, --interactive\n     --output OUTPUT, --output OUTPUT\n\nTo run an analysis, just pass the appropriate filename as a parameter. The desired timepoints can be selected via the\n:code:`--timepoints` switch, and if the file contains multiple positions, they can be selected with :code:`--positions`.\nSupported file formats are TIFF, OME-TIFF, Nikon ND2 and Zeiss CZI.\n\nThe analysis will use all cores present by default. While this is generally desirable, it might lead to consuming\ntoo much memory (as each parallel acting process needs a certain additionally amount of memory).\nIf you notice that *mycelyso* takes up too much memory, try limiting the number of processes via :code:`-n`.\nIf you choose :code:`-n 0`, the code will additionally not use the parallel subsystem (:code:`multiprocessing`).\n\nRunning an analysis\n###################\n\nTo analyze the example dataset, run:\n(:code:`-t BoxDetection=1` is used, as the spores were grown in rectangular growth chambers, which are to be detected.\nOtherwise, the software will use the whole image, or cropping values as set via :code:`-t CropWidth=...`/:code:`-t CropHeight=...`.\nIf the data is pre-segmented (i.e. input is a binary image stack), choose :code:`-t SkipBinarization=1`.\n\n.. code-block:: bash\n\n   \u003e python -m mycelyso S_lividans_TK24_Complex_Medium_nd046_138.ome.tiff -t BoxDetection=1\n\nOptionally, you can inspect the segmentation and produced graph on a per-frame basis before running a complete analysis, by\nadding the :code:`--interactive` flag, in which case *mycelyso* will start an interactive viewer.\n\n*mycelyso* stores all data compressed in HDF5 files, by default it will write a file called :code:`output.h5` (can be changed with :code:`--output`).\n\n.. code-block:: bash\n\n   \u003e ls -lh --time-style=+\n   total 1.3G\n   -rw-rw-r-- 1 sachs sachs 5.4M  output.h5\n   -rw-rw-r-- 1 sachs sachs 1.5G  S_lividans_TK24_Complex_Medium_nd046_138.ome.tiff\n\nMultiple datasets/positions can be stored in the same file, it will only make problems if the same position is about\nto be analyzed twice.\nBinary masks/skeletons are stored in the HDF5 file, as well as GraphML representations of the tracking graphs.\nThe HDF5 file can be investigated with standard HDF5 tools, tabular data is to be opened with `pandas \u003chttps://pandas.pydata.org\u003e`_, as it is stored with its format.\n\nResults visualization using mycelyso Inspector\n##############################################\n\nHowever, since the raw data is only interesting if you want to perform custom analyses, it is much more straightforward to use the integrated\nvisualization tool *mycelyso Inspector* as a helper to take a look at the results:\n\n.. code-block:: bash\n\n   \u003e python -m mycelyso_inspector\n\n*mycelyso Inspector* will output the URL it is serving content at, and by default automatically open a browser window\nwith it.\n\nIn *mycelyso Inspector*, you have various information displays: On the top, the HDF5 file / analyzed dataset / position can be selected.\nOn the left, there is a list of graphs available. In the middle, there is the currently selected graph displayed. On the right, there is general information\nabout the whole position (colony level statistics), below the main part is a table with information about individual tracks, and scrolled further down\nis the possibility to show individual graph tracking in 2D or a colony growth oversight in 3D. Sticky at the bottom is binarized or skeletonized timeline of the position.\n\nThe data to all graphs can be downloaded as tab separated text by pressing the right mouse button on a certain graph link (in the left menu) and choosing 'Save As'.\n\n**Information**: Occasional warnings in the console about invalid values are due to missing/invalid data points, and are of no particular concern.\n\n**WARNING**: *mycelyso Inspector* will serve results from all HDF5 (:code:`.h5`) files found in the current directory via an embedded webserver.\nFurthermore as a research tool, no special focus was laid on security, as such, you are assumed to prevent unauthorized\naccess to the tool if you choose to use an address accessible by third parties.\n\nSetting calibration data for TIFF files\n#######################################\n\nTIFF files provide no standard way to set temporal information per frame. To set these parameters manually, e.g.\na pixel size of 0.09 µm/pixel and an acquisition interval of 600 s (10 min) use:\n\n.. code-block:: bash\n\n   \u003e python -m mycelyso \"the_file.tif?calibration=0.09;interval=600\"\n\nTunable Parameters\n##################\n\nThe analysis' internal workings are dependent upon some tunable parameters.\nAll tunables are listed in the :doc:`tunables \u003cmycelyso.tunables\u003e` documentation subpage. To check their current value, you can\nview them all using the :code:`--tunables-show` command line option, which will as well print documentation.\nTo set individual ones to a different values one can use :code:`-t SomeTunable=NewValue`.\nIndividual tunables are documented within the API documentation as well.\n\n.. code-block:: bash\n\n   \u003e python -m mycelyso --tunables-show\n   \u003e python -m mycelyso -t SomeTunable=42\n\nDocker\n------\n\n`Docker \u003chttps://www.docker.com/\u003e`_ a tool allowing for software to be run in pre-defined, encapsulated environments called containers.\nTo run *mycelyso* via Docker, an image is used which is a self-contained Linux system with *mycelyso* installed, which can either be preloaded or will be downloaded on the fly.\n\nUse the following commands to run mycelyso via Docker:\n\nTo analyze:\n\n.. code-block:: bash\n\n   \u003e docker run --tty --interactive --rm --volume `pwd`:/data --user `id -u` modsim/mycelyso \u003cparameters ...\u003e\n\nTo run *mycelyso Inspector*:\n\n.. code-block:: bash\n\n   \u003e docker run --tty --interactive --rm --volume `pwd`:/data --user `id -u` --publish 8888:8888 --entrypoint python modsim/mycelyso -m mycelyso_inspector \u003cparameters ...\u003e\n\nTo run interactive mode (display on local X11, under Linux):\n\n.. code-block:: bash\n\n   \u003e docker run --tty --interactive --rm --volume `pwd`:/data --user `id -u` --env DISPLAY=$DISPLAY --volume /tmp/.X11-unix:/tmp/.X11-unix modsim/mycelyso --interactive \u003cparameters ...\u003e\n\nGeneral remarks: :code:`--tty` is used to allocate a tty, necessary for interactive usage, like :code:`--interactive` which connects to stdin/stdout.\nThe :code:`--rm` switch tells docker to remove the container (not image) again after use.\nAs aforementioned, docker is containerized, i.e. unless explicitly stated, no communication with the outside is possible.\nTherefore via :code:`--volume` the current working directory is mapped into the container.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodsim%2Fmycelyso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodsim%2Fmycelyso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodsim%2Fmycelyso/lists"}