{"id":20358218,"url":"https://github.com/irods/irods-protocol-cookbook","last_synced_at":"2026-03-10T07:05:36.166Z","repository":{"id":180961930,"uuid":"665967947","full_name":"irods/iRODS-Protocol-Cookbook","owner":"irods","description":"A Jupyter notebook which provides tutorial-documentation on basic iRODS operations from scratch using the wire-level protocol.","archived":false,"fork":false,"pushed_at":"2023-08-18T19:30:59.000Z","size":453,"stargazers_count":2,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-23T15:42:18.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-07-13T12:02:11.000Z","updated_at":"2023-12-11T14:35:44.000Z","dependencies_parsed_at":"2024-04-08T19:14:50.894Z","dependency_job_id":"77673622-f898-4db6-a7ef-04f2c990f4b9","html_url":"https://github.com/irods/iRODS-Protocol-Cookbook","commit_stats":null,"previous_names":["phdavis1027/irods-protocol-cookbook","irods/irods-protocol-cookbook"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/irods/iRODS-Protocol-Cookbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2FiRODS-Protocol-Cookbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2FiRODS-Protocol-Cookbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2FiRODS-Protocol-Cookbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2FiRODS-Protocol-Cookbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irods","download_url":"https://codeload.github.com/irods/iRODS-Protocol-Cookbook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2FiRODS-Protocol-Cookbook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30326893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"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":[],"created_at":"2024-11-14T23:25:59.152Z","updated_at":"2026-03-10T07:05:36.131Z","avatar_url":"https://github.com/irods.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iRODS Protocol Cookbook\n\nThis repository demonstrates key operations in the iRODS protocol. It shows protocol messages being\nconstructed as strings and sent over a TCP socket. This is intended to serve as a starting point\nfor writing client libraries and applications.\n\nThis repository also contains a .py file which executes the code in the notebook without a need for the \nIPython runtime or Jupyter.\n\n## Setup\n\nYou will need to install Jupyter to run the notebook. You also need an \ninstallation of the data processing library Pandas, and if you're \nusing a virtual environment (which you should be), you also need to \nlet the iPython kernel know about it. \n\n- [Jupyter installation instructions](https://jupyter.org/install)\n- [More Jupyter installation docs](https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/install.html#)\n- [Creating a virtulenv for Python](https://docs.python.org/3/library/venv.html)\n- [Configuring ipykernel for virtual environments](https://ipython.readthedocs.io/en/latest/install/kernel_install.html#kernel-install)\n\nOnce you have activated and configured your virtual environment, run the following command:\n\n```bash\npython -m pip install pandas\n```\n\n## iRODS\n\nThis notebook can be run without any local iRODS installation. The only requirement is the hostname of a \nvalid iRODS Catalog Provider and rodsadmin credentials. This could be a deployed iRODS installation, or a containerized iRODS test zone.\nThe fastest way of standing up such an instance is by cloning the [iRODS Testing Environment repository](https://github.com/irods/irods_testing_environment)\nand running something like the following script while in that repo's root directory:\n\n```bash\npython stand_it_up.py \\\n    --irods-package-directory path/to/packages\\\n    --project-directory path/to/project-dir\n```\n\nFurther instructions can be found in the introduction of the Notebook itself.\n\n## Miscellaneous Notes\n\n### Protocol/API Boundary\n\nDue in part to the plugin-oriented structure of iRODS, it is sometimes difficult to distinguish conceptually between the core iRODS protocol from some specific API.\nFor example, in this notebook, authentication is carried out by exchanging generic bytes buffers which are interpreted by the authentication framework introduced \nin 4.3.0. However, in previous iRODS releases (e.g., 4.2.12), authentication involves authentication-specific message types. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods-protocol-cookbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firods%2Firods-protocol-cookbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods-protocol-cookbook/lists"}